diff options
author | Tanner Carter <exlixe@me.com> | 2013-08-06 16:53:45 +0100 |
---|---|---|
committer | Nay <dnpd.dd@gmail.com> | 2013-08-06 16:53:45 +0100 |
commit | 0253a7618a666bb57fef8363ea1765fa0d3fb36b (patch) | |
tree | 9fd693cc7551e85668534ba158953227209d62ff | |
parent | 8dccf610054d579d65a80f415b9dce19bb95bc2b (diff) |
Battlegrounds/IC: Fix achiev Back Door Job
giggity
Closes #10043
Closes #3776
Closes #3194
-rw-r--r-- | src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp | 18 | ||||
-rw-r--r-- | src/server/game/Battlegrounds/Zones/BattlegroundIC.h | 1 |
2 files changed, 18 insertions, 1 deletions
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp index d9708ac5d84..cf63b0505d7 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp @@ -326,11 +326,27 @@ void BattlegroundIC::RemovePlayer(Player* player, uint64 /*guid*/, uint32 /*team } } -void BattlegroundIC::HandleAreaTrigger(Player* /*Source*/, uint32 /*Trigger*/) +void BattlegroundIC::HandleAreaTrigger(Player* player, uint32 trigger) { // this is wrong way to implement these things. On official it done by gameobject spell cast. if (GetStatus() != STATUS_IN_PROGRESS) return; + + /// @hack: this spell should be cast by npc 22515 (World Trigger) and not by the player + if (trigger == 5555 && player->GetTeamId() == TEAM_HORDE) + { + if (GateStatus[BG_IC_A_FRONT] != BG_IC_GATE_DESTROYED + && GateStatus[BG_IC_A_WEST] != BG_IC_GATE_DESTROYED + && GateStatus[BG_IC_A_EAST] != BG_IC_GATE_DESTROYED) + player->CastSpell(player, SPELL_BACK_DOOR_JOB_ACHIEVEMENT, true); + } + else if (trigger == 5535 && player->GetTeamId() == TEAM_ALLIANCE) + { + if (GateStatus[BG_IC_H_FRONT] != BG_IC_GATE_DESTROYED + && GateStatus[BG_IC_H_WEST] != BG_IC_GATE_DESTROYED + && GateStatus[BG_IC_H_EAST] != BG_IC_GATE_DESTROYED) + player->CastSpell(player, SPELL_BACK_DOOR_JOB_ACHIEVEMENT, true); + } } void BattlegroundIC::UpdatePlayerScore(Player* Source, uint32 type, uint32 value, bool doAddHonor) diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.h b/src/server/game/Battlegrounds/Zones/BattlegroundIC.h index f25fbe297b3..e8249dc777a 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.h @@ -661,6 +661,7 @@ enum Spells SPELL_PARACHUTE = 66656, SPELL_SLOW_FALL = 12438, SPELL_DESTROYED_VEHICLE_ACHIEVEMENT = 68357, + SPELL_BACK_DOOR_JOB_ACHIEVEMENT = 68502, SPELL_DRIVING_CREDIT_DEMOLISHER = 68365, SPELL_DRIVING_CREDIT_GLAIVE = 68363, SPELL_DRIVING_CREDIT_SIEGE = 68364, |