Battlegrounds/IC: Fix achiev Back Door Job

giggity

Closes #10043
Closes #3776
Closes #3194
This commit is contained in:
Tanner Carter
2013-08-06 16:53:45 +01:00
committed by Nay
parent 8dccf61005
commit 0253a7618a
2 changed files with 18 additions and 1 deletions

View File

@@ -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)

View File

@@ -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,