mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 08:28:32 +01:00
Battlegrounds/IC: Fix achiev Back Door Job
giggity Closes #10043 Closes #3776 Closes #3194
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user