From 08be81caca0a694230a8db84d3d1399360cedb16 Mon Sep 17 00:00:00 2001 From: Lopin Date: Fri, 1 Jul 2011 18:04:00 +0200 Subject: Scripts/Ulduar: Fixed achievement Iron Dwarf, Medium Rare in Razorscale's encounter. Thanks to Shauren for help with this achievement --- sql/updates/world/2011_07_01_02_world_misc.sql | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 sql/updates/world/2011_07_01_02_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2011_07_01_02_world_misc.sql b/sql/updates/world/2011_07_01_02_world_misc.sql new file mode 100644 index 00000000000..ad831b12949 --- /dev/null +++ b/sql/updates/world/2011_07_01_02_world_misc.sql @@ -0,0 +1,18 @@ +DELETE FROM `spell_script_names` WHERE `spell_id` IN (63317,64021); +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) +VALUES +(63317,'spell_razorscale_flame_breath'), +(64021,'spell_razorscale_flame_breath'); + +DELETE FROM `disables` WHERE `sourceType`=4 AND `entry` IN (10066,10067); + +DELETE FROM `conditions` WHERE `SourceEntry`=63317; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`comment`) +VALUES +(13,0,63317,0,18,1,33388,0,0,'','Flame Breath - Dark Rune Guardian'); + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (10066,10067) AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(10066,11,0,0,'achievement_iron_dwarf_medium_rare'), +(10067,11,0,0,'achievement_iron_dwarf_medium_rare'); -- cgit v1.2.3 From 676967c9acfa4c2ea702ecc9bfcb470ae6457e2f Mon Sep 17 00:00:00 2001 From: horn Date: Fri, 1 Jul 2011 19:32:41 +0300 Subject: Core/Achievements: Fix The Sickly Gazelle Closes #2154 --- sql/scripts/world_scripts_full.sql | 1 + .../2011_07_01_03_world_achievement_criteria_data.sql | 4 ++++ sql/updates/world/2011_07_01_03_world_disables.sql | 1 + src/server/scripts/World/achievement_scripts.cpp | 19 +++++++++++++++++++ 4 files changed, 25 insertions(+) create mode 100644 sql/updates/world/2011_07_01_03_world_achievement_criteria_data.sql create mode 100644 sql/updates/world/2011_07_01_03_world_disables.sql (limited to 'sql') diff --git a/sql/scripts/world_scripts_full.sql b/sql/scripts/world_scripts_full.sql index 90a0522bef4..140105371ee 100644 --- a/sql/scripts/world_scripts_full.sql +++ b/sql/scripts/world_scripts_full.sql @@ -1844,6 +1844,7 @@ INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`, (1239,11,0,0, 'achievement_bg_control_all_nodes'), (5605,11,0,0, 'achievement_save_the_day'), (5606,11,0,0, 'achievement_save_the_day'), +(6800,11,0,0, 'achievement_sickly_gazelle'), (12993,11,0,0, 'achievement_doesnt_go_to_eleven'), (12778,11,0,0, 'achievement_ive_gone_and_made_a_mess'), (13036,11,0,0, 'achievement_ive_gone_and_made_a_mess'), diff --git a/sql/updates/world/2011_07_01_03_world_achievement_criteria_data.sql b/sql/updates/world/2011_07_01_03_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..c5a71295a8f --- /dev/null +++ b/sql/updates/world/2011_07_01_03_world_achievement_criteria_data.sql @@ -0,0 +1,4 @@ +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` = 6800; +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`, `ScriptName`) VALUES +(6800, 6, 3057, 0, ''), +(6800, 11, 0, 0, 'achievement_sickly_gazelle'); diff --git a/sql/updates/world/2011_07_01_03_world_disables.sql b/sql/updates/world/2011_07_01_03_world_disables.sql new file mode 100644 index 00000000000..d3572f54cd4 --- /dev/null +++ b/sql/updates/world/2011_07_01_03_world_disables.sql @@ -0,0 +1 @@ +DELETE FROM `disables` WHERE `sourceType` = 4 AND `entry` = 6800; diff --git a/src/server/scripts/World/achievement_scripts.cpp b/src/server/scripts/World/achievement_scripts.cpp index f26b34e6308..339d54d5450 100755 --- a/src/server/scripts/World/achievement_scripts.cpp +++ b/src/server/scripts/World/achievement_scripts.cpp @@ -188,6 +188,24 @@ class achievement_arena_kills : public AchievementCriteriaScript uint8 const _arenaType; }; +class achievement_sickly_gazelle : public AchievementCriteriaScript +{ +public: + achievement_sickly_gazelle() : AchievementCriteriaScript("achievement_sickly_gazelle") { } + + bool OnCheck(Player* /*source*/, Unit* target) + { + if (!target) + return false; + + if (Player* victim = target->ToPlayer()) + if (victim->IsMounted()) + return true; + + return false; + } +}; + void AddSC_achievement_scripts() { new achievement_storm_glory(); @@ -198,6 +216,7 @@ void AddSC_achievement_scripts() new achievement_bg_ic_glaive_grave(); new achievement_bg_ic_mowed_down(); new achievement_bg_sa_artillery(); + new achievement_sickly_gazelle(); new achievement_arena_kills("achievement_arena_2v2_kills", ARENA_TYPE_2v2); new achievement_arena_kills("achievement_arena_3v3_kills", ARENA_TYPE_3v3); new achievement_arena_kills("achievement_arena_5v5_kills", ARENA_TYPE_5v5); -- cgit v1.2.3 From 65a40a5437eeb43897923ed44122d480d98da2af Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 2 Jul 2011 12:36:48 +0200 Subject: 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 --- sql/scripts/world_scripts_full.sql | 9 +++++---- .../world/2011_07_02_00_world_areatrigger_scripts.sql | 3 +++ .../world/2011_07_02_00_world_instance_misc.sql | 18 ++++++++++++++++++ .../IcecrownCitadel/icecrown_citadel_teleport.cpp | 18 ++++++++++++++++-- .../IcecrownCitadel/instance_icecrown_citadel.cpp | 7 ++++--- 5 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 sql/updates/world/2011_07_02_00_world_areatrigger_scripts.sql create mode 100644 sql/updates/world/2011_07_02_00_world_instance_misc.sql (limited to 'sql') 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(); -- cgit v1.2.3