diff options
| author | Kandera <KanderaDev@gmail.com> | 2012-04-03 13:49:51 -0400 |
|---|---|---|
| committer | Kandera <KanderaDev@gmail.com> | 2012-08-20 13:52:02 -0400 |
| commit | d6de7dec342d8e6f1dd316b18341e61705a55053 (patch) | |
| tree | 06fd6cc768740fe5a4ac0230036d4ae7b7ef7e5e /src/server/game | |
| parent | 2d45e260120445eaef310beed6cdd640919643cb (diff) | |
Core/Battlefield: few more updates to wintergrasp vehicle stuff.
Diffstat (limited to 'src/server/game')
| -rw-r--r-- | src/server/game/Battlefield/Zones/BattlefieldWG.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp index b98e3b52e83..8c68ee3f17e 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp @@ -524,7 +524,11 @@ void BattlefieldWG::OnCreatureCreate(Creature* creature) case NPC_WINTERGRASP_DEMOLISHER: { if (!creature->GetCreatorGUID() || !sObjectAccessor->FindPlayer(creature->GetCreatorGUID())) + { + creature->setDeathState(DEAD); + creature->RemoveFromWorld(); return; + } Player* creator = sObjectAccessor->FindPlayer(creature->GetCreatorGUID()); TeamId team = creator->GetTeamId(); @@ -533,7 +537,8 @@ void BattlefieldWG::OnCreatureCreate(Creature* creature) if (GetData(BATTLEFIELD_WG_DATA_VEHICLE_H) < GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_H)) { UpdateData(BATTLEFIELD_WG_DATA_VEHICLE_H, 1); - creature->CastSpell(creature, SPELL_HORDE_FLAG, true); + creature->AddAura(SPELL_HORDE_FLAG, creature); + creature->setFaction(creator->getFaction()); m_vehicles[team].insert(creature->GetGUID()); UpdateVehicleCountWG(); } @@ -549,7 +554,8 @@ void BattlefieldWG::OnCreatureCreate(Creature* creature) if (GetData(BATTLEFIELD_WG_DATA_VEHICLE_A) < GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_A)) { UpdateData(BATTLEFIELD_WG_DATA_VEHICLE_A, 1); - creature->CastSpell(creature, SPELL_ALLIANCE_FLAG, true); + creature->AddAura(SPELL_ALLIANCE_FLAG,creature); + creature->setFaction(creator->getFaction()); m_vehicles[team].insert(creature->GetGUID()); UpdateVehicleCountWG(); } @@ -561,8 +567,7 @@ void BattlefieldWG::OnCreatureCreate(Creature* creature) } } - if (creature->GetCreatorGUID() && sObjectAccessor->FindUnit(creature->GetCreatorGUID())) - creature->CastSpell(sObjectAccessor->FindUnit(creature->GetCreatorGUID()), SPELL_GRAB_PASSENGER, true); + creature->CastSpell(creator, SPELL_GRAB_PASSENGER, true); break; } } |
