mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 02:04:52 +01:00
Scripts/Icecrown Citadel: Teleporting to the Frozen Throne should now happen as on retail (with an areatrigger, not gossip), also added missing spawns to Frozen Throne and Tirion's gossip
NOTE: This does NOT mean The Lich King script is coming soon
This commit is contained in:
@@ -43,8 +43,6 @@ class icecrown_citadel_teleport : public GameObjectScript
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to the Upper Spire.", GOSSIP_SENDER_ICC_PORT, UPPER_SPIRE_TELEPORT);
|
||||
if (instance->GetBossState(DATA_VALITHRIA_DREAMWALKER) == DONE)
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to Sindragosa's Lair", GOSSIP_SENDER_ICC_PORT, SINDRAGOSA_S_LAIR_TELEPORT);
|
||||
if (instance->GetBossState(DATA_PROFESSOR_PUTRICIDE) == DONE && instance->GetBossState(DATA_BLOOD_QUEEN_LANA_THEL) == DONE && instance->GetBossState(DATA_SINDRAGOSA) == DONE)
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to The Frozen Throne", GOSSIP_SENDER_ICC_PORT, FROZEN_THRONE_TELEPORT);
|
||||
}
|
||||
|
||||
player->SEND_GOSSIP_MENU(player->GetGossipTextId(go->GetGOInfo()->GetGossipMenuId()), go->GetGUID());
|
||||
@@ -72,7 +70,23 @@ class icecrown_citadel_teleport : public GameObjectScript
|
||||
}
|
||||
};
|
||||
|
||||
class at_frozen_throne_teleport : public AreaTriggerScript
|
||||
{
|
||||
public:
|
||||
at_frozen_throne_teleport() : AreaTriggerScript("at_frozen_throne_teleport") { }
|
||||
|
||||
bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/)
|
||||
{
|
||||
if (InstanceScript* instance = player->GetInstanceScript())
|
||||
if (instance->GetBossState(DATA_PROFESSOR_PUTRICIDE) == DONE && instance->GetBossState(DATA_BLOOD_QUEEN_LANA_THEL) == DONE && instance->GetBossState(DATA_SINDRAGOSA) == DONE)
|
||||
player->CastSpell(player, FROZEN_THRONE_TELEPORT, true);
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_icecrown_citadel_teleport()
|
||||
{
|
||||
new icecrown_citadel_teleport();
|
||||
new at_frozen_throne_teleport();
|
||||
}
|
||||
|
||||
@@ -96,14 +96,14 @@ class instance_icecrown_citadel : public InstanceMapScript
|
||||
PlagueSigilGUID = 0;
|
||||
BloodwingSigilGUID = 0;
|
||||
FrostwingSigilGUID = 0;
|
||||
memset(PutricidePipeGUIDs, 0, 2*sizeof(uint64));
|
||||
memset(PutricideGateGUIDs, 0, 2*sizeof(uint64));
|
||||
memset(PutricidePipeGUIDs, 0, 2 * sizeof(uint64));
|
||||
memset(PutricideGateGUIDs, 0, 2 * sizeof(uint64));
|
||||
PutricideCollisionGUID = 0;
|
||||
FestergutGUID = 0;
|
||||
RotfaceGUID = 0;
|
||||
ProfessorPutricideGUID = 0;
|
||||
PutricideTableGUID = 0;
|
||||
memset(BloodCouncilGUIDs, 0, 3*sizeof(uint64));
|
||||
memset(BloodCouncilGUIDs, 0, 3 * sizeof(uint64));
|
||||
BloodCouncilControllerGUID = 0;
|
||||
BloodQueenLanaThelGUID = 0;
|
||||
CrokScourgebaneGUID = 0;
|
||||
@@ -198,6 +198,7 @@ class instance_icecrown_citadel : public InstanceMapScript
|
||||
case NPC_SE_HIGH_OVERLORD_SAURFANG:
|
||||
if (TeamInInstance == ALLIANCE)
|
||||
creature->UpdateEntry(NPC_SE_MURADIN_BRONZEBEARD, ALLIANCE, creature->GetCreatureData());
|
||||
// no break;
|
||||
case NPC_SE_MURADIN_BRONZEBEARD:
|
||||
DeathbringerSaurfangEventGUID = creature->GetGUID();
|
||||
creature->LastUsedScriptID = creature->GetScriptId();
|
||||
|
||||
Reference in New Issue
Block a user