aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/scripts/world_scripts_full.sql9
-rw-r--r--sql/updates/world/2011_07_02_00_world_areatrigger_scripts.sql3
-rw-r--r--sql/updates/world/2011_07_02_00_world_instance_misc.sql18
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp18
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp7
5 files changed, 46 insertions, 9 deletions
diff --git a/sql/scripts/world_scripts_full.sql b/sql/scripts/world_scripts_full.sql
index 140105371ee..02b59566830 100644
--- a/sql/scripts/world_scripts_full.sql
+++ b/sql/scripts/world_scripts_full.sql
@@ -9,7 +9,7 @@ UPDATE `gameobject_template` SET `ScriptName`='';
UPDATE `outdoorpvp_template` SET `ScriptName`='';
/* AREA TRIGGERS */
-DELETE FROM `areatrigger_scripts` WHERE `entry` IN (822,5284,5285,5286,5287,4871,4872,4873,5108,5332,5338,5334,5340,5369,5423,5633,5604,5698,5649,5729,5616,5617,5618);
+DELETE FROM `areatrigger_scripts` WHERE `entry` IN (822,5284,5285,5286,5287,4871,4872,4873,5108,5332,5338,5334,5340,5369,5423,5633,5604,5698,5649,5729,5616,5617,5618,5718);
DELETE FROM `areatrigger_scripts` WHERE `entry` BETWEEN 1726 AND 1740;
INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES
(822, 'at_map_chamber'),
@@ -47,9 +47,10 @@ INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES
(5698, 'at_icc_saurfang_portal'),
(5649, 'at_icc_shutdown_traps'),
(5729, 'at_icc_start_blood_quickening'),
-(5616,'at_icc_start_frostwing_gauntlet'),
-(5617,'at_icc_start_frostwing_gauntlet'),
-(5618,'at_icc_start_frostwing_gauntlet');
+(5616, 'at_icc_start_frostwing_gauntlet'),
+(5617, 'at_icc_start_frostwing_gauntlet'),
+(5618, 'at_icc_start_frostwing_gauntlet'),
+(5718, 'at_frozen_throne_teleport');
/* WORLD BOSS */
UPDATE `creature_template` SET `ScriptName`='boss_ysondre' WHERE `entry`=14887;
diff --git a/sql/updates/world/2011_07_02_00_world_areatrigger_scripts.sql b/sql/updates/world/2011_07_02_00_world_areatrigger_scripts.sql
new file mode 100644
index 00000000000..6a9a93e59c6
--- /dev/null
+++ b/sql/updates/world/2011_07_02_00_world_areatrigger_scripts.sql
@@ -0,0 +1,3 @@
+DELETE FROM `areatrigger_scripts` WHERE `entry`=5718;
+INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES
+(5718,'at_frozen_throne_teleport');
diff --git a/sql/updates/world/2011_07_02_00_world_instance_misc.sql b/sql/updates/world/2011_07_02_00_world_instance_misc.sql
new file mode 100644
index 00000000000..f8d37d99385
--- /dev/null
+++ b/sql/updates/world/2011_07_02_00_world_instance_misc.sql
@@ -0,0 +1,18 @@
+UPDATE `gameobject_template` SET `flags`=48 WHERE `entry`=202223; -- Scourge Transporter to the Frozen Throne
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry` IN (202242,202243,202244,202245,202235,202246); -- Scourge Transporters
+
+DELETE FROM `gameobject` WHERE `id` IN (202189,202188);
+INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES
+(151,202189,631,15,1,503.62,-2124.66,836.607,3.14159,0,0,0,1,6000,255,1),
+(153,202188,631,15,1,503.62,-2124.66,836.607,3.14159,0,0,0,1,6000,255,0);
+
+-- Highlord Tirion Fordring gossip
+UPDATE `creature_template` SET `gossip_menu_id`=10993 WHERE `entry`=38995;
+
+DELETE FROM `gossip_menu` WHERE `entry`=10993;
+INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES
+(10993,15290);
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=10993;
+INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES
+(10993,0,0,'We are prepared, Highlord. Let us battle for the fate of Azeroth! For the light of dawn!',1,1,0,0,0,0,'');
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();