diff options
-rw-r--r-- | src/game/Creature.cpp | 6 | ||||
-rw-r--r-- | src/game/ObjectMgr.cpp | 8 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index 2d70cec8ed9..c453217a77c 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -206,12 +206,6 @@ void Creature::SearchFormationAndPath() if(!lowguid) return; - if(isTrigger()) - { - SetDefaultMovementType(IDLE_MOTION_TYPE); - return; - } - bool usePath = (GetDefaultMovementType() == WAYPOINT_MOTION_TYPE); CreatureGroupInfoType::iterator frmdata = CreatureGroupMap.find(lowguid); if(frmdata != CreatureGroupMap.end()) diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index c5271429ddd..c60c5f43aef 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -1128,7 +1128,11 @@ void ObjectMgr::LoadCreatures() } // I do not know why but in db most display id are not zero - if(data.displayid == cInfo->Modelid_A1 || data.displayid == cInfo->Modelid_A2 + if(data.displayid == 11686) + { + (const_cast<CreatureInfo*>(cInfo))->flags_extra |= CREATURE_FLAG_EXTRA_TRIGGER; + } + else if(data.displayid == cInfo->Modelid_A1 || data.displayid == cInfo->Modelid_A2 || data.displayid == cInfo->Modelid_H1 || data.displayid == cInfo->Modelid_H2) data.displayid = 0; @@ -1172,6 +1176,8 @@ void ObjectMgr::LoadCreatures() sLog.outErrorDb("Table `creature` have creature (GUID: %u Entry: %u) with `MovementType`=1 (random movement) but with `spawndist`=0, replace by idle movement type (0).",guid,data.id ); data.movementType = IDLE_MOTION_TYPE; } + else if(cInfo->flags_extra & CREATURE_FLAG_EXTRA_TRIGGER) + data.movementType = IDLE_MOTION_TYPE; } else if(data.movementType == IDLE_MOTION_TYPE) { |