From 3ffeb5f5dddac4ec7314b28d9829f34f95b5f191 Mon Sep 17 00:00:00 2001 From: Trazom62 Date: Sun, 28 Feb 2010 20:30:20 +0100 Subject: Fix initialization of UnitMovementFlag from InhabitType. --HG-- branch : trunk --- src/game/Creature.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src/game/Creature.cpp') 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; -- cgit v1.2.3