diff options
author | Trazom62 <none@none> | 2010-02-28 20:30:20 +0100 |
---|---|---|
committer | Trazom62 <none@none> | 2010-02-28 20:30:20 +0100 |
commit | 3ffeb5f5dddac4ec7314b28d9829f34f95b5f191 (patch) | |
tree | 2838e64462a3ed5773736318d74d310f30b1eab7 /src/game/Creature.cpp | |
parent | fe3fa59839001d9a261ca4d69240b9ff94f61861 (diff) |
Fix initialization of UnitMovementFlag from InhabitType.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Creature.cpp')
-rw-r--r-- | src/game/Creature.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index 8f24f923b1e..bb93b844c1d 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -795,14 +795,17 @@ bool Creature::Create(uint32 guidlow, Map *map, uint32 phaseMask, uint32 Entry, SetByteValue(UNIT_FIELD_BYTES_0, 2, minfo->gender); } - switch(GetCreatureInfo()->InhabitType) + if (GetCreatureInfo()->InhabitType & INHABIT_AIR) { - case INHABIT_AIR: - AddUnitMovementFlag(MOVEMENTFLAG_FLY_MODE | MOVEMENTFLAG_FLYING); - break; - case INHABIT_WATER: - AddUnitMovementFlag(MOVEMENTFLAG_SWIMMING); - break; + if (GetDefaultMovementType() == IDLE_MOTION_TYPE) + AddUnitMovementFlag(MOVEMENTFLAG_FLY_MODE); + else + AddUnitMovementFlag(MOVEMENTFLAG_FLY_MODE|MOVEMENTFLAG_FLYING); + } + + if (GetCreatureInfo()->InhabitType & INHABIT_WATER) + { + AddUnitMovementFlag(MOVEMENTFLAG_SWIMMING); } } return bResult; |