aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTanner Carter <exlixe@me.com>2013-08-06 16:53:45 +0100
committerNay <dnpd.dd@gmail.com>2013-08-06 16:53:45 +0100
commit0253a7618a666bb57fef8363ea1765fa0d3fb36b (patch)
tree9fd693cc7551e85668534ba158953227209d62ff /src
parent8dccf610054d579d65a80f415b9dce19bb95bc2b (diff)
Battlegrounds/IC: Fix achiev Back Door Job
giggity Closes #10043 Closes #3776 Closes #3194
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp18
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundIC.h1
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,