diff options
author | Shauren <shauren.trinity@gmail.com> | 2011-07-02 12:36:48 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2011-07-02 12:38:07 +0200 |
commit | 65a40a5437eeb43897923ed44122d480d98da2af (patch) | |
tree | 74eb9d6b1d9bb03ef8e3188f0c35f7c53308bcfb /src | |
parent | b216522b3dbccfdc1d75f9d5900f02f40843d441 (diff) |
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
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp | 18 | ||||
-rwxr-xr-x | src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp | 7 |
2 files changed, 20 insertions, 5 deletions
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp index 8298444f4b1..9132031b89d 100755 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp @@ -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(); } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp index ece75fc0b9f..7890f2fd8fa 100755 --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp @@ -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(); |