diff options
-rw-r--r-- | src/game/CreatureAI.cpp | 4 | ||||
-rw-r--r-- | src/game/Vehicle.cpp | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/game/CreatureAI.cpp b/src/game/CreatureAI.cpp index e12baa137d5..fe7e0c1a2c5 100644 --- a/src/game/CreatureAI.cpp +++ b/src/game/CreatureAI.cpp @@ -23,6 +23,7 @@ #include "Creature.h" #include "World.h" #include "SpellMgr.h" +#include "Vehicle.h" //Disable CreatureAI when charmed void CreatureAI::OnCharmed(bool apply) @@ -211,6 +212,9 @@ void CreatureAI::EnterEvadeMode() me->GetMotionMaster()->MoveTargetedHome(); } + if(me->isVehicle()) + ((Vehicle*)me)->InstallAllAccessories(); + Reset(); } diff --git a/src/game/Vehicle.cpp b/src/game/Vehicle.cpp index 3398030e735..7dcff65fe06 100644 --- a/src/game/Vehicle.cpp +++ b/src/game/Vehicle.cpp @@ -254,8 +254,12 @@ void Vehicle::InstallAccessory(uint32 entry, int8 seatId) { // already installed if(passenger->GetEntry() == entry) + { + assert(passenger->GetTypeId() == TYPEID_UNIT); + if(IsInEvadeMode() && ((Creature*)passenger)->AI()) + ((Creature*)passenger)->AI()->EnterEvadeMode(); return; - + } passenger->ExitVehicle(); // this should not happen } |