Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

合并到官方~~~~https://github.com/Arkania/ArkCORE-4.3.4/ #2

Open
wants to merge 135 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
4fc23d4
Core/Spells: Fill SpellInfo files.
Jul 8, 2012
4396efe
remove some code.
Jul 8, 2012
37503bc
some fixes.
Jul 9, 2012
78aaf4a
Merge branch 'master' of github.com:Arkania/ArkCORE into spellinfo
Jul 12, 2012
58a5a74
Update spellmgr.
Jul 12, 2012
91de2ab
Merge branch 'master' of github.com:Arkania/ArkCORE into spellinfo
Jul 12, 2012
cdfe9b1
copyright fixes.
Jul 12, 2012
dbe54be
use SpellInfo in h files.
Jul 12, 2012
11a2dfd
more spellinfo changes.
Jul 12, 2012
f721e54
more spellinfo changes.
Jul 12, 2012
8284591
more fixes.
Jul 12, 2012
0d566ac
more fixes.
Jul 13, 2012
02df0ab
DB/Misc: Already applied on 3.7.0
Jul 14, 2012
377c719
DB/SAI: few scripts added
cooler-SAI Jul 14, 2012
dd48494
sql typo
wazy Jul 15, 2012
5369f58
DB/Base: Update sql with recent updates.
Jul 16, 2012
4da7116
remove unnedded inserts.
Jul 16, 2012
bc7fe45
Core/Guild: CRASH FOR SURE!: reverted some commits.
Jul 16, 2012
9d4b19f
Core/Player:
Jul 16, 2012
5ba4ae8
Merge branch 'master' of github.com:Arkania/ArkCORE into spellinfo
Jul 17, 2012
54555ff
Core/Spells:
Jul 17, 2012
b5c216a
Spellinfo: fixed more errors.
Jul 17, 2012
8069728
missing include.
Jul 17, 2012
5a363fc
more fixes.
Jul 17, 2012
3bde711
DB/SAI: added new scripts for Tanaris location
cooler-SAI Jul 17, 2012
c524fa3
Core/Guild: Adjustments.
Jul 17, 2012
8d46554
typo fix ,thanks to @maxsoon
cooler-SAI Jul 18, 2012
4322cd6
DB/SAI: more scripts for Tanaris
cooler-SAI Jul 18, 2012
2957f19
Core/Spells: Fixed some errors.
Jul 18, 2012
66fb7e6
Core/Spells: Fixed more errors.
Jul 18, 2012
c6ade8f
Core/Spells: Fixed more errors.
Jul 18, 2012
4563936
Core/Spells: Fixed more errors.
Jul 18, 2012
d0e9f0e
Merge branch 'master' of github.com:Arkania/ArkCORE
Jul 18, 2012
1bdd5a2
Merge branch 'master' of github.com:Arkania/ArkCORE into spellinfo
Jul 18, 2012
b9e61d7
fixed more errors.
Jul 18, 2012
8cd5559
more error fixes.
Jul 18, 2012
61d8ec9
CORE/GuildMgr Fix Error syntax
Jul 19, 2012
556dca1
CORE/Spell Unholy Presence
Jul 19, 2012
3c0a961
some fixes.
Jul 19, 2012
d768009
SQL/Smart_Script Fix error consol
Jul 19, 2012
2206fd3
Fixed more errors. 500 left.
Jul 19, 2012
cdc26e8
DB/smart_scripts Fix error console
Jul 19, 2012
9220d85
more spellinfo fixes.
Jul 19, 2012
995c5f2
CORE/Spell Fix error presence Thanks: LuisK
Jul 19, 2012
574a2b0
CORE/Spell Frost Presence
Jul 20, 2012
318aa65
DB/spell_script_names Aspect_of_the_hawk
Jul 20, 2012
297e640
DB/spell_script_names Fix error consol
Jul 20, 2012
dbdfd35
CORE/Boss professor_putricide Fix error consol.
Jul 20, 2012
dbc6bfa
CORE/Spell Mage Fix error consol
Jul 20, 2012
530cd2b
more errors fixed... 300 left.
Jul 20, 2012
64d130d
CORE/Spell Warlock fix error consol
Jul 20, 2012
b2ebb2f
DB/SAI: bigest script pack for Tanaris zone
cooler-SAI Jul 20, 2012
3e3a1bc
more error fixes.
Jul 20, 2012
b380e5f
more fixes.
Jul 21, 2012
e6b5ca0
fixes.
Jul 21, 2012
8a69bf0
235 errors.
Jul 21, 2012
cb2822f
fixed more errors.
Jul 21, 2012
780ca93
improvements.
Jul 21, 2012
df86503
more spellinfo fixes.
Jul 21, 2012
8f6ac7d
more errors fixed.
Jul 21, 2012
b12ffc2
more fixes.
Jul 21, 2012
195b985
typo fix, thanks to @Zeuh
cooler-SAI Jul 21, 2012
d5bd4ad
Core/Guild: More guild fixes.
Jul 21, 2012
ff3fdd9
Guilds: More improvements.
Jul 22, 2012
5bb0dcd
Merge branch 'master' of git://github.com/Arkania/ArkCORE
Jul 22, 2012
0806be3
Merge branch 'guilds' of git://github.com/Arkania/ArkCORE
Jul 22, 2012
a11ac43
Merge branch 'spellinfo' of git://github.com/Arkania/ArkCORE
Jul 22, 2012
2ca7ad6
errors fixes.
Jul 22, 2012
474f048
fixed compile errors.
Jul 22, 2012
966f110
fixes...
Jul 22, 2012
f416608
some more updates.
Jul 23, 2012
d3ed612
packetlog updates.
Jul 23, 2012
9a0cc26
pushed more packetlog stuff.
Jul 23, 2012
7139522
.
Jul 23, 2012
2d3d00a
Core/Add News Dungeon & Raids
Oracraft Jul 23, 2012
e5240f5
Core/Dungeon Zul-Gurub - delete old boss and add new boss
Oracraft Jul 23, 2012
d5176fb
Core/Dungeon Zul'Aman Delete old boss add new boss
Oracraft Jul 23, 2012
368247a
Core/Raid Add FireLands
Oracraft Jul 23, 2012
392fff5
More PacketLog changes
Jul 23, 2012
e8b47a1
Merge branch 'master' of github.com:Arkania/ArkCORE-4.3.4
Jul 23, 2012
3df07d3
Fixed a typo from last commit
Jul 23, 2012
6a538f9
Add new files
Jul 23, 2012
4e1b79f
implemented new way for updatefieldflags, thx shauren.
Jul 23, 2012
0233667
Core/Script Raid FireLands
Oracraft Jul 23, 2012
0a18762
Change copyright
Oracraft Jul 23, 2012
c8ce250
Change real copyright
Jul 23, 2012
98f5ee3
Readme Update version
Oracraft Jul 23, 2012
5bed77c
error fixes.
Jul 23, 2012
cacb697
Merge branch 'master' of github.com:Arkania/ArkCORE-4.3.4
Jul 23, 2012
817c4f1
more error fixes.
Jul 23, 2012
65726b4
more errors fixes.
Jul 23, 2012
c8b90c1
Add missing code, thanks wlasser.
Jul 23, 2012
529dad8
remove useless todo now.
Jul 23, 2012
78c3db9
typo
Jul 24, 2012
198367e
Update Auth for build 4.3.4 15595
Jul 24, 2012
223948e
Fix multi-folder part.I
Jul 24, 2012
e74b271
Fix multi folder part.II
Jul 24, 2012
01ea7db
Merge pull request #1 from kraven5/master
Jul 24, 2012
b5b0893
now add SetOwnerGUID to correct repo xD
Jul 24, 2012
24f590c
Spell.cpp error fixes.
Jul 24, 2012
45571c5
Spell.cpp is done, next is SpellEffects.cpp.
Jul 24, 2012
d8ea228
127 errors :D
Jul 24, 2012
d7d343b
add g3d includes to cmake.
Jul 24, 2012
b3ddde6
old movement system will replaced with splines system :)
Jul 24, 2012
0a0687e
98 errors.
Jul 24, 2012
197e368
update updatefields.
Jul 24, 2012
24f841b
62 errors.
Jul 24, 2012
359ecba
All SpellInfo errros fixed!!!
Jul 24, 2012
d1d096f
Re-enable anticheat check.
Jul 24, 2012
55afe1e
Fixed linker errors.
Jul 25, 2012
8d2ebe5
First changes for new spline system
Jul 25, 2012
b4ca69f
Second change ...
Jul 25, 2012
afddadf
First changes for new spline system
Jul 25, 2012
0c5e918
Rewrite BuildMovementUpdate for 4.3.4, with new spline system support…
Jul 25, 2012
979005e
more change ...
Jul 25, 2012
fc00b77
Core/Vehicles: Store guids in vehicleseat structures instead of point…
Jul 26, 2012
0c7712d
Core/Vehicles: Make vehicles with UNIT_FLAG_DISABLE_MOVE unable to mo…
Jul 26, 2012
c4d429b
More vehicle changes
Jul 26, 2012
2de568b
add new fields to vehicle_accessory.
Jul 26, 2012
da984e7
vehcile.
Jul 26, 2012
08ac94f
More vehicle changes 2
Jul 26, 2012
32857d8
refactor vehicle handling
Jul 26, 2012
491be8e
Core/Vehicles: Correct usage of npc_spellclick_spells instead of blat…
Jul 26, 2012
45ea784
refactor vehicle handling 2
Jul 26, 2012
e681025
more vehicle changes... no is not compileable.
Jul 26, 2012
efa53aa
remove duplicate functions.
Jul 26, 2012
5a66532
Fix some errors.
Jul 26, 2012
8c527e9
some compile bugs fixed.
Jul 26, 2012
5f22b48
more fixes.
Jul 27, 2012
eb5056b
more spline changes.
Jul 27, 2012
b77952c
rewrite movementgenerators.
Jul 27, 2012
2f0a2d9
rewrite rest of movement generator handlers... todo: waypointmvg.
Jul 27, 2012
cb8035a
fix some erros and disable scripts by default.
Jul 28, 2012
0ccb27b
Merged with TC
Oct 22, 2012
4748fe9
ADD Boss_ :
Oracraft Nov 12, 2012
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
First changes for new spline system
  • Loading branch information
Venugh committed Jul 25, 2012
commit 8d2ebe502dbf6894d469437f977fdb14ade35028
4 changes: 3 additions & 1 deletion src/server/game/Entities/Creature/Creature.h
Original file line number Diff line number Diff line change
Expand Up @@ -570,6 +570,9 @@ class Creature: public Unit, public GridObject<Creature>
return (CreatureAI*) i_AI;
}

void SetWalk(bool enable);
void SetLevitate(bool enable);

uint32 GetShieldBlockValue () const //dunno mob block value
{
return (getLevel() / 2 + uint32(GetStat(STAT_STRENGTH) / 20));
Expand Down Expand Up @@ -656,7 +659,6 @@ class Creature: public Unit, public GridObject<Creature>
const char* GetNameForLocaleIdx (LocaleConstant locale_idx) const;

void setDeathState (DeathState s); // overwrite virtual Unit::setDeathState
bool FallGround ();

bool LoadFromDB (uint32 guid, Map *map);
void SaveToDB ();
Expand Down
1 change: 1 addition & 0 deletions src/server/game/Entities/Object/Object.h
Original file line number Diff line number Diff line change
Expand Up @@ -963,6 +963,7 @@ class WorldObject: public Object, public WorldLocation
return (m_valuesCount > UNIT_FIELD_COMBATREACH) ? m_floatValues[UNIT_FIELD_COMBATREACH] : DEFAULT_WORLD_OBJECT_SIZE;
}
void UpdateGroundPositionZ (float x, float y, float &z) const;
void UpdateAllowedPositionZ(float x, float y, float &z) const;

void GetRandomPoint (const Position &srcPos, float distance, float &rand_x, float &rand_y, float &rand_z) const;
void GetRandomPoint (const Position &srcPos, float distance, Position &pos) const
Expand Down
1 change: 0 additions & 1 deletion src/server/game/Entities/Player/Player.h
Original file line number Diff line number Diff line change
Expand Up @@ -2217,7 +2217,6 @@ class Player: public Unit, public GridObject<Player>
Corpse *GetCorpse() const;
void SpawnCorpseBones();
void CreateCorpse();
bool FallGround(uint8 FallMode = 0);
void KillPlayer();
uint32 GetResurrectionSpellId();
void ResurrectPlayer(float restore_percent, bool applySickness = false);
Expand Down
117 changes: 54 additions & 63 deletions src/server/game/Entities/Unit/Unit.h
Original file line number Diff line number Diff line change
Expand Up @@ -320,19 +320,51 @@ enum BaseModType

enum DeathState
{
ALIVE = 0, JUST_DIED = 1, CORPSE = 2, DEAD = 3, JUST_ALIVED = 4, DEAD_FALLING = 5
ALIVE = 0, JUST_DIED = 1, CORPSE = 2, DEAD = 3, JUST_ALIVED = 4
};

enum UnitState
{
UNIT_STAT_DIED = 0x00000001, UNIT_STAT_MELEE_ATTACKING = 0x00000002, // player is melee attacking someone
UNIT_STAT_DIED = 0x00000001, // player has fake death aura
UNIT_STAT_MELEE_ATTACKING = 0x00000002, // player is melee attacking someone
//UNIT_STAT_MELEE_ATTACK_BY = 0x00000004, // player is melee attack by someone
UNIT_STAT_STUNNED = 0x00000008, UNIT_STAT_ROAMING = 0x00000010, UNIT_STAT_CHASE = 0x00000020,
UNIT_STAT_STUNNED = 0x00000008,
UNIT_STAT_ROAMING = 0x00000010,
UNIT_STAT_CHASE = 0x00000020,
//UNIT_STAT_SEARCHING = 0x00000040,
UNIT_STAT_FLEEING = 0x00000080, UNIT_STAT_IN_FLIGHT = 0x00000100, // player is in flight mode
UNIT_STAT_FOLLOW = 0x00000200, UNIT_STAT_ROOT = 0x00000400, UNIT_STAT_CONFUSED = 0x00000800, UNIT_STAT_DISTRACTED = 0x00001000, UNIT_STAT_ISOLATED = 0x00002000, // area auras do not affect other players
UNIT_STAT_ATTACK_PLAYER = 0x00004000, UNIT_STAT_CASTING = 0x00008000, UNIT_STAT_POSSESSED = 0x00010000, UNIT_STAT_CHARGING = 0x00020000, UNIT_STAT_JUMPING = 0x00040000, UNIT_STAT_ONVEHICLE = 0x00080000, UNIT_STAT_MOVE = 0x00100000, UNIT_STAT_ROTATING = 0x00200000, UNIT_STAT_EVADE = 0x00400000, UNIT_STAT_UNATTACKABLE = (UNIT_STAT_IN_FLIGHT | UNIT_STAT_ONVEHICLE), UNIT_STAT_MOVING = (UNIT_STAT_ROAMING | UNIT_STAT_CHASE), UNIT_STAT_CONTROLLED = (UNIT_STAT_CONFUSED | UNIT_STAT_STUNNED | UNIT_STAT_FLEEING), UNIT_STAT_LOST_CONTROL = (UNIT_STAT_CONTROLLED | UNIT_STAT_JUMPING | UNIT_STAT_CHARGING), UNIT_STAT_SIGHTLESS = (UNIT_STAT_LOST_CONTROL | UNIT_STAT_EVADE), UNIT_STAT_CANNOT_AUTOATTACK = (UNIT_STAT_LOST_CONTROL | UNIT_STAT_CASTING), UNIT_STAT_CANNOT_TURN = (UNIT_STAT_LOST_CONTROL | UNIT_STAT_ROTATING), UNIT_STAT_ALL_STATE = 0xffffffff
//(UNIT_STAT_STOPPED | UNIT_STAT_MOVING | UNIT_STAT_IN_COMBAT | UNIT_STAT_IN_FLIGHT)
UNIT_STAT_FLEEING = 0x00000080,
UNIT_STAT_IN_FLIGHT = 0x00000100, // player is in flight mode
UNIT_STAT_FOLLOW = 0x00000200,
UNIT_STAT_ROOT = 0x00000400,
UNIT_STAT_CONFUSED = 0x00000800,
UNIT_STAT_DISTRACTED = 0x00001000,
UNIT_STAT_ISOLATED = 0x00002000, // area auras do not affect other players
UNIT_STAT_ATTACK_PLAYER = 0x00004000,
UNIT_STAT_CASTING = 0x00008000,
UNIT_STAT_POSSESSED = 0x00010000,
UNIT_STAT_CHARGING = 0x00020000,
UNIT_STAT_JUMPING = 0x00040000,
UNIT_STAT_ONVEHICLE = 0x00080000,
UNIT_STAT_MOVE = 0x00100000,
UNIT_STAT_ROTATING = 0x00200000,
UNIT_STAT_EVADE = 0x00400000,
UNIT_STAT_ROAMING_MOVE = 0x00800000,
UNIT_STAT_CONFUSED_MOVE = 0x01000000,
UNIT_STAT_FLEEING_MOVE = 0x02000000,
UNIT_STAT_CHASE_MOVE = 0x04000000,
UNIT_STAT_FOLLOW_MOVE = 0x08000000,
UNIT_STAT_UNATTACKABLE = (UNIT_STAT_IN_FLIGHT | UNIT_STAT_ONVEHICLE),
//UNIT_STAT_MOVING = (UNIT_STAT_ROAMING | UNIT_STAT_CHASE),
// for real move using movegen check and stop (except unstoppable flight)
UNIT_STAT_MOVING = UNIT_STAT_ROAMING_MOVE | UNIT_STAT_CONFUSED_MOVE | UNIT_STAT_FLEEING_MOVE| UNIT_STAT_CHASE_MOVE | UNIT_STAT_FOLLOW_MOVE ,
UNIT_STAT_CONTROLLED = (UNIT_STAT_CONFUSED | UNIT_STAT_STUNNED | UNIT_STAT_FLEEING),
UNIT_STAT_LOST_CONTROL = (UNIT_STAT_CONTROLLED | UNIT_STAT_JUMPING | UNIT_STAT_CHARGING),
UNIT_STAT_SIGHTLESS = (UNIT_STAT_LOST_CONTROL | UNIT_STAT_EVADE),
UNIT_STAT_CANNOT_AUTOATTACK = (UNIT_STAT_LOST_CONTROL | UNIT_STAT_CASTING),
UNIT_STAT_CANNOT_TURN = (UNIT_STAT_LOST_CONTROL | UNIT_STAT_ROTATING),
// stay by different reasons
UNIT_STAT_NOT_MOVE = UNIT_STAT_ROOT | UNIT_STAT_STUNNED | UNIT_STAT_DIED | UNIT_STAT_DISTRACTED,
UNIT_STAT_ALL_STATE = 0xffffffff //(UNIT_STAT_STOPPED | UNIT_STAT_MOVING | UNIT_STAT_IN_COMBAT | UNIT_STAT_IN_FLIGHT)
};

enum UnitMoveType
Expand Down Expand Up @@ -472,28 +504,17 @@ enum MovementFlags2
// player only?
MOVEMENTFLAG2_INTERPOLATED = MOVEMENTFLAG2_INTERPOLATED_MOVEMENT | MOVEMENTFLAG2_INTERPOLATED_TURNING | MOVEMENTFLAG2_INTERPOLATED_PITCHING
};
enum SplineFlags
{
SPLINEFLAG_NONE = 0x00000000, SPLINEFLAG_FORWARD = 0x00000001, SPLINEFLAG_BACKWARD = 0x00000002, SPLINEFLAG_STRAFE_LEFT = 0x00000004, SPLINEFLAG_STRAFE_RIGHT = 0x00000008, SPLINEFLAG_LEFT = 0x00000010, SPLINEFLAG_RIGHT = 0x00000020, SPLINEFLAG_PITCH_UP = 0x00000040, SPLINEFLAG_PITCH_DOWN = 0x00000080, SPLINEFLAG_DONE = 0x00000100, SPLINEFLAG_FALLING = 0x00000200, SPLINEFLAG_NO_SPLINE = 0x00000400, SPLINEFLAG_TRAJECTORY = 0x00000800, SPLINEFLAG_WALKING = 0x00001000, SPLINEFLAG_FLYING = 0x00002000, SPLINEFLAG_KNOCKBACK = 0x00004000, SPLINEFLAG_FINAL_POINT = 0x00008000, SPLINEFLAG_FINAL_TARGET = 0x00010000, SPLINEFLAG_FINAL_FACING = 0x00020000, SPLINEFLAG_CATMULL_ROM = 0x00040000, SPLINEFLAG_CYCLIC = 0x00080000, SPLINEFLAG_ENTER_CIRCLE = 0x00100000, SPLINEFLAG_ANIMATIONTIER = 0x00200000, SPLINEFLAG_FROZEN = 0x00400000, SPLINEFLAG_TRANSPORT = 0x00800000, SPLINEFLAG_EXIT_VEHICLE = 0x01000000, SPLINEFLAG_UNKNOWN26 = 0x02000000, SPLINEFLAG_UNKNOWN27 = 0x04000000, SPLINEFLAG_MOVE_BACKWARDS = 0x08000000, SPLINEFLAG_USE_PATH_SMOOTHING = 0x10000000, SPLINEFLAG_ANIMATION = 0x20000000, SPLINEFLAG_UNCOMPRESSED_PATH = 0x40000000, SPLINEFLAG_UNKNOWN32 = 0x80000000,

SPLINEFLAG_GLIDE = SPLINEFLAG_WALKING | SPLINEFLAG_FLYING,
};

enum SplineMode
{
SPLINEMODE_LINEAR = 0, SPLINEMODE_CATMULL_ROM = 1, SPLINEMODE_BEZIER3 = 2
};

enum SplineType
{
SPLINETYPE_NORMAL = 0, SPLINETYPE_STOP = 1, SPLINETYPE_FACING_SPOT = 2, SPLINETYPE_FACING_TARGET = 3, SPLINETYPE_FACING_ANGLE = 4
};

enum UnitTypeMask
{
UNIT_MASK_NONE = 0x00000000, UNIT_MASK_SUMMON = 0x00000001, UNIT_MASK_MINION = 0x00000002, UNIT_MASK_GUARDIAN = 0x00000004, UNIT_MASK_TOTEM = 0x00000008, UNIT_MASK_PET = 0x00000010, UNIT_MASK_VEHICLE = 0x00000020, UNIT_MASK_PUPPET = 0x00000040, UNIT_MASK_HUNTER_PET = 0x00000080, UNIT_MASK_CONTROLABLE_GUARDIAN = 0x00000100, UNIT_MASK_ACCESSORY = 0x00000200,
};

namespace Movement
{
class MoveSpline;
}

enum DiminishingLevels
{
DIMINISHING_LEVEL_1 = 0, DIMINISHING_LEVEL_2 = 1, DIMINISHING_LEVEL_3 = 2, DIMINISHING_LEVEL_IMMUNE = 3, DIMINISHING_LEVEL_4 = 3, DIMINISHING_LEVEL_TAUNT_IMMUNE = 4,
Expand Down Expand Up @@ -1537,11 +1558,7 @@ class Unit: public WorldObject
void JumpTo (float speedXY, float speedZ, bool forward = true);
void JumpTo (WorldObject *obj, float speedZ);

void SetFacing (float ori, WorldObject* obj = NULL);
void SendMonsterStop (bool on_death = false);
void SendMonsterMove (float NewPosX, float NewPosY, float NewPosZ, uint32 Time, Player* player = NULL);
void SendMonsterMove (float NewPosX, float NewPosY, float NewPosZ, uint32 MoveFlags, uint32 time, float speedZ, Player *player = NULL);
void SendMonsterMove (MonsterMoveData const& moveData, Player* receiver = NULL);
void MonsterMoveWithSpeed(float x, float y, float z, float speed);
void SendMonsterMoveTransport (Unit *vehicleOwner);
void SendMonsterMoveWithSpeed (float x, float y, float z, uint32 transitTime = 0, Player* player = NULL);
void SendMonsterMoveWithSpeedToCurrentDestination (Player* player = NULL);
Expand All @@ -1557,8 +1574,9 @@ class Unit: public WorldObject
virtual bool SetWalk (bool enable);
virtual bool SetLevitate (bool enable);

template<typename PathElem, typename PathNode>
void SendMonsterMoveByPath (Path<PathElem, PathNode> const& path, uint32 start, uint32 end);
void SetInFront(Unit const* target);
void SetFacingTo(float ori);
void SetFacingToObject(WorldObject* pObject);

void SendChangeCurrentVictimOpcode (HostileReference* pHostileReference);
void SendClearThreatListOpcode ();
Expand Down Expand Up @@ -2046,13 +2064,7 @@ class Unit: public WorldObject
}

bool isInFrontInMap (Unit const* target, float distance, float arc = M_PI) const;
void SetInFront (Unit const* target)
{
if (!HasUnitState(UNIT_STAT_CANNOT_TURN))
SetOrientation(GetAngle(target));
}
bool isInBackInMap (Unit const* target, float distance, float arc = M_PI) const;
void SetFacingToObject (WorldObject* pObject);

// Visibility system
bool IsVisible () const
Expand Down Expand Up @@ -2533,6 +2545,10 @@ class Unit: public WorldObject
if (!_targetLocked)
SetUInt64Value(UNIT_FIELD_TARGET, guid);
}

// MovementInfo
Movement::MoveSpline* movespline;

protected:
explicit Unit ();

Expand Down Expand Up @@ -2615,6 +2631,7 @@ class Unit: public WorldObject

bool isAlwaysDetectableFor (WorldObject const* seer) const;

void DisableSpline();
private:
bool IsTriggeredAtSpellProcEvent (Unit *pVictim, Aura * aura, SpellInfo const * procSpell, uint32 procFlag, uint32 procExtra, WeaponAttackType attType, bool isVictim, bool active, SpellProcEventEntry const *& spellProcEvent);
bool HandleDummyAuraProc (Unit *pVictim, uint32 damage, AuraEffect* triggeredByAura, SpellInfo const *procSpell, uint32 procFlag, uint32 procEx, uint32 cooldown);
Expand Down Expand Up @@ -2642,6 +2659,7 @@ class Unit: public WorldObject
uint32 m_state; // Even derived shouldn't modify
uint32 m_CombatTimer;
uint32 m_lastManaUse; // msecs
TimeTrackerSmall m_movesplineTimer;

Spell* m_currentSpells[CURRENT_MAX_SPELL];

Expand Down Expand Up @@ -2704,31 +2722,4 @@ namespace Trinity
};
}

template<typename Elem, typename Node>
inline void Unit::SendMonsterMoveByPath (Path<Elem, Node> const& path, uint32 start, uint32 end)
{
uint32 traveltime = uint32(path.GetTotalLength(start, end) * 32);
uint32 pathSize = end - start;
WorldPacket data(SMSG_MONSTER_MOVE, (GetPackGUID().size() + 1 + 4 + 4 + 4 + 4 + 1 + 4 + 4 + 4 + pathSize * 4 * 3));
data.append(GetPackGUID());
data << uint8(0);
data << GetPositionX();
data << GetPositionY();
data << GetPositionZ();
data << uint32(getMSTime());
data << uint8(0);
uint32 splineflags = ((GetUnitMovementFlags() & MOVEMENTFLAG_LEVITATING) || isInFlight()) ? (SPLINEFLAG_FLYING | SPLINEFLAG_WALKING) : SPLINEFLAG_WALKING;
data << uint32(splineflags | SPLINEFLAG_USE_PATH_SMOOTHING | SPLINEFLAG_UNCOMPRESSED_PATH | SPLINEFLAG_UNKNOWN32 | SPLINEFLAG_UNKNOWN26 | SPLINEFLAG_ENTER_CIRCLE | SPLINEFLAG_CATMULL_ROM);
data << uint32(traveltime);
data << uint32(pathSize);

for (uint32 i = start; i < end; ++i)
{
data << float(path[i].x);
data << float(path[i].y);
data << float(path[i].z);
}

SendMessageToSet(&data, true);
}
#endif
2 changes: 2 additions & 0 deletions src/server/game/Maps/Map.h
Original file line number Diff line number Diff line change
Expand Up @@ -577,6 +577,8 @@ class Map: public GridRefManager<NGridType>
else
return NULL;
}

float GetWaterOrGroundLevel(float x, float y, float z, float* ground = NULL, bool swim = false) const;
private:
void LoadMapAndVMap (int gx, int gy);
void LoadVMap (int gx, int gy);
Expand Down
8 changes: 6 additions & 2 deletions src/server/game/Miscellaneous/Language.h
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ enum ArkCoreStrings
LANG_GAMEOBJECT_CURRENT = 523, //log
LANG_GAMEOBJECT_DETAIL = 524, LANG_GAMEOBJECT_ADD = 525,

LANG_MOVEGENS_LIST = 526, LANG_MOVEGENS_IDLE = 527, LANG_MOVEGENS_RANDOM = 528, LANG_MOVEGENS_WAYPOINT = 529, LANG_MOVEGENS_ANIMAL_RANDOM = 530, LANG_MOVEGENS_CONFUSED = 531, LANG_MOVEGENS_TARGETED_PLAYER = 532, LANG_MOVEGENS_TARGETED_CREATURE = 533, LANG_MOVEGENS_TARGETED_NULL = 534, LANG_MOVEGENS_HOME_CREATURE = 535, LANG_MOVEGENS_HOME_PLAYER = 536, LANG_MOVEGENS_FLIGHT = 537, LANG_MOVEGENS_UNKNOWN = 538,
LANG_MOVEGENS_LIST = 526, LANG_MOVEGENS_IDLE = 527, LANG_MOVEGENS_RANDOM = 528, LANG_MOVEGENS_WAYPOINT = 529, LANG_MOVEGENS_ANIMAL_RANDOM = 530, LANG_MOVEGENS_CONFUSED = 531, LANG_MOVEGENS_CHASE_PLAYER = 532, LANG_MOVEGENS_CHASE_CREATURE = 533, LANG_MOVEGENS_CHASE_NULL = 534, LANG_MOVEGENS_HOME_CREATURE = 535, LANG_MOVEGENS_HOME_PLAYER = 536, LANG_MOVEGENS_FLIGHT = 537, LANG_MOVEGENS_UNKNOWN = 538,

LANG_NPCINFO_CHAR = 539, LANG_NPCINFO_LEVEL = 540, LANG_NPCINFO_HEALTH = 541, LANG_NPCINFO_FLAGS = 542, LANG_NPCINFO_LOOT = 543, LANG_NPCINFO_POSITION = 544, LANG_NPCINFO_VENDOR = 545, LANG_NPCINFO_TRAINER = 546, LANG_NPCINFO_DUNGEON_ID = 547,

Expand Down Expand Up @@ -236,7 +236,11 @@ enum ArkCoreStrings

// Level 3 (continue)
LANG_ACCOUNT_SETADDON = 1100, LANG_MOTD_NEW = 1101, LANG_SENDMESSAGE = 1102, LANG_EVENT_ENTRY_LIST_CONSOLE = 1103, LANG_CREATURE_ENTRY_LIST_CONSOLE = 1104, LANG_ITEM_LIST_CONSOLE = 1105, LANG_ITEMSET_LIST_CONSOLE = 1106, LANG_GO_ENTRY_LIST_CONSOLE = 1107, LANG_QUEST_LIST_CONSOLE = 1108, LANG_SKILL_LIST_CONSOLE = 1109, LANG_CREATURE_LIST_CONSOLE = 1110, LANG_GO_LIST_CONSOLE = 1111, LANG_FILE_OPEN_FAIL = 1112, LANG_ACCOUNT_CHARACTER_LIST_FULL = 1113, LANG_DUMP_BROKEN = 1114, LANG_INVALID_CHARACTER_NAME = 1115, LANG_INVALID_CHARACTER_GUID = 1116, LANG_CHARACTER_GUID_IN_USE = 1117, LANG_ITEMLIST_GUILD = 1118, LANG_MUST_MALE_OR_FEMALE = 1119, LANG_YOU_CHANGE_GENDER = 1120, LANG_YOUR_GENDER_CHANGED = 1121, LANG_SKILL_VALUES = 1122, LANG_NO_PET_FOUND = 1123, LANG_WRONG_PET_TYPE = 1124, LANG_COMMAND_LEARN_PET_TALENTS = 1125, LANG_RESET_PET_TALENTS = 1126, LANG_RESET_PET_TALENTS_ONLINE = 1127, LANG_TAXINODE_ENTRY_LIST_CHAT = 1128, LANG_TAXINODE_ENTRY_LIST_CONSOLE = 1129, LANG_COMMAND_EXPORT_DELETED_CHAR = 1130, LANG_BANLIST_MATCHINGCHARACTER = 1131, LANG_BANLIST_CHARACTERS = 1132, LANG_BANLIST_CHARACTERS_HEADER = 1133, LANG_ALLOW_TICKETS = 1134, LANG_DISALLOW_TICKETS = 1135,
// Room for more level 3 1136-1199 not used
LANG_MOVEGENS_FOLLOW_PLAYER = 1139,
LANG_MOVEGENS_FOLLOW_CREATURE = 1140,
LANG_MOVEGENS_FOLLOW_NULL = 1141,
LANG_MOVEGENS_EFFECT = 1142,
// Room for more level 3 1143-1199 not used

// Debug commands
LANG_CINEMATIC_NOT_EXIST = 1200, LANG_MOVIE_NOT_EXIST = 1201, LANG_DEBUG_AREATRIGGER_ON = 1202, LANG_DEBUG_AREATRIGGER_OFF = 1203, LANG_DEBUG_AREATRIGGER_REACHED = 1204,
Expand Down
2 changes: 1 addition & 1 deletion src/server/shared/Utilities/Timer.h
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ struct TimeTracker {
struct TimeTrackerSmall {
public:

TimeTrackerSmall(uint32 expiry) :
TimeTrackerSmall(uint32 expiry = 0) :
i_expiryTime(expiry) {
}

Expand Down