aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2011-07-02 12:36:48 +0200
committerShauren <shauren.trinity@gmail.com>2011-07-02 12:38:07 +0200
commit65a40a5437eeb43897923ed44122d480d98da2af (patch)
tree74eb9d6b1d9bb03ef8e3188f0c35f7c53308bcfb /src
parentb216522b3dbccfdc1d75f9d5900f02f40843d441 (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-xsrc/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp18
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp7
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();