diff options
author | Spp <spp@jorge.gr> | 2012-11-21 12:36:00 +0100 |
---|---|---|
committer | Spp <spp@jorge.gr> | 2012-11-21 12:36:00 +0100 |
commit | 1d7adbfc7f788e5609803716195fe738fed7d41f (patch) | |
tree | 9b03d562b6435155747eedbec55ea05982982c39 /src | |
parent | 17071df235babe54c50dd72db9b44608ddc6d3be (diff) |
Core/AI: Fix crash in SmartScript
Closes 8340
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartScript.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index a22978632fe..2cd65c42f74 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -753,12 +753,16 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u } case SMART_ACTION_CALL_GROUPEVENTHAPPENS: { + if (!unit) + break; + if (IsPlayer(unit) && GetBaseObject()) { unit->ToPlayer()->GroupEventHappens(e.action.quest.quest, GetBaseObject()); sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_CALL_GROUPEVENTHAPPENS: Player %u, group credit for quest %u", unit->GetGUIDLow(), e.action.quest.quest); } + // Special handling for vehicles if (Vehicle* vehicle = unit->GetVehicleKit()) for (SeatMap::iterator it = vehicle->Seats.begin(); it != vehicle->Seats.end(); ++it) |