aboutsummaryrefslogtreecommitdiff
path: root/src/game/Creature.cpp
diff options
context:
space:
mode:
authorTrazom62 <none@none>2010-02-28 20:30:20 +0100
committerTrazom62 <none@none>2010-02-28 20:30:20 +0100
commit3ffeb5f5dddac4ec7314b28d9829f34f95b5f191 (patch)
tree2838e64462a3ed5773736318d74d310f30b1eab7 /src/game/Creature.cpp
parentfe3fa59839001d9a261ca4d69240b9ff94f61861 (diff)
Fix initialization of UnitMovementFlag from InhabitType.
--HG-- branch : trunk
Diffstat (limited to 'src/game/Creature.cpp')
-rw-r--r--src/game/Creature.cpp17
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;