diff options
author | Shauren <shauren.trinity@gmail.com> | 2011-04-18 11:43:50 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2011-04-18 11:43:50 +0200 |
commit | 0d477ab13293c9cf8f6b081a0a00f75a19a3a21c (patch) | |
tree | b4a418cfd622739d1fb95106e0e9db1139631276 | |
parent | 721f2f999eb77f493d18f173ad2b21b05d4d6abb (diff) |
Core/Creatures: Dismount creatures without CREATURE_TYPEFLAGS_MOUNTED_COMBAT when entering combat
-rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 3 | ||||
-rwxr-xr-x | src/server/game/Miscellaneous/SharedDefines.h | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 9bb23bd2ce6..719ff4a726d 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -11892,6 +11892,9 @@ void Unit::SetInCombatState(bool PvP, Unit* enemy) UpdateSpeed(MOVE_SWIM, true); UpdateSpeed(MOVE_FLIGHT, true); } + + if (!(ToCreature()->GetCreatureInfo()->type_flags & CREATURE_TYPEFLAGS_MOUNTED_COMBAT)) + Unmount(); } for (Unit::ControlList::iterator itr = m_Controlled.begin(); itr != m_Controlled.end(); ++itr) diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 05e00dba6b4..01b4d41169a 100755 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -2158,7 +2158,7 @@ enum CreatureTypeFlags CREATURE_TYPEFLAGS_HERBLOOT = 0x000100, // Can be looted by herbalist CREATURE_TYPEFLAGS_MININGLOOT = 0x000200, // Can be looted by miner CREATURE_TYPEFLAGS_UNK11 = 0x000400, - CREATURE_TYPEFLAGS_UNK12 = 0x000800, // ? Related to mounts in some way. If mounted, fight mounted, mount appear as independant when rider dies? + CREATURE_TYPEFLAGS_MOUNTED_COMBAT = 0x000800, // Creature can remain mounted when entering combat CREATURE_TYPEFLAGS_AID_PLAYERS = 0x001000, // ? Can aid any player in combat if in range? CREATURE_TYPEFLAGS_UNK14 = 0x002000, CREATURE_TYPEFLAGS_UNK15 = 0x004000, // ? Possibly not in use |