mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 09:17:36 +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:
@@ -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;
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
DELETE FROM `areatrigger_scripts` WHERE `entry`=5718;
|
||||
INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES
|
||||
(5718,'at_frozen_throne_teleport');
|
||||
18
sql/updates/world/2011_07_02_00_world_instance_misc.sql
Normal file
18
sql/updates/world/2011_07_02_00_world_instance_misc.sql
Normal file
@@ -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,'');
|
||||
@@ -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