From 073c14eb4e5080f229661278b1be09e2f39179cc Mon Sep 17 00:00:00 2001 From: Trond B Krokli Date: Tue, 27 Jan 2015 06:31:44 +0100 Subject: [PATCH 01/36] Fix Cooldown for Raise Dead (Ghoul) @joschiwald: Fix written on 31 Jan 2014. @Nyeriah: suggested null pointer check. @ariel-: supplied code for null pointer check. @ccrs: supplied code (cat && spellInfo->CategoryRecoveryTime) to replace (cat && catRec) @Dduarte: cleanup of bad edit based on my misinterpretation Fixes issue #11538 Replaces #13941 and #13924 --- src/server/game/Entities/Player/Player.cpp | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 63580b355a4..b5e6e865531 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -22138,6 +22138,34 @@ void Player::SendCooldownEvent(SpellInfo const* spellInfo, uint32 itemId /*= 0*/ data << uint32(spellInfo->Id); data << uint64(GetGUID()); SendDirectMessage(&data); + + uint32 cat = spellInfo->GetCategory(); + if (cat && spellInfo->CategoryRecoveryTime) + { + SpellCategoryStore::const_iterator ct = sSpellsByCategoryStore.find(cat); + if (ct != sSpellsByCategoryStore.end()) + { + SpellCategorySet const& catSet = ct->second; + for (SpellCooldowns::const_iterator i = m_spellCooldowns.begin(); i != m_spellCooldowns.end(); ++i) + { + if (i->first == spellInfo->Id) // skip main spell, already handled above + continue; + + SpellInfo const* spellInfo2 = sSpellMgr->GetSpellInfo(i->first); + if (!spellInfo2 || !spellInfo2->IsCooldownStartedOnEvent()) + continue; + + if (catSet.find(i->first) != catSet.end()) + { + // Send activate cooldown timer (possible 0) at client side + WorldPacket data(SMSG_COOLDOWN_EVENT, 4 + 8); + data << uint32(i->first); + data << uint64(GetGUID()); + SendDirectMessage(&data); + } + } + } + } } void Player::UpdatePotionCooldown(Spell* spell) From c86761ccd6bf3bbbf03dad9d38ea90a292f1d24f Mon Sep 17 00:00:00 2001 From: Rushor Date: Mon, 9 Feb 2015 12:24:17 +0100 Subject: [PATCH 02/36] Scripts/Redridge Mountains: Corporal Keeshan - Complete Escortquest for all Groupmember closes #13711 --- src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp index 898e3f9a2cb..ecfd705cf4d 100644 --- a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp +++ b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp @@ -92,7 +92,7 @@ public: me->SetWalk(false); break; case 115: - player->AreaExploredOrEventHappens(QUEST_MISSING_IN_ACTION); + player->GroupEventHappens(QUEST_MISSING_IN_ACTION, me); timer = 2000; phase = 4; break; From f0e4f6441782f84e3b6697d2ae6249067f17325b Mon Sep 17 00:00:00 2001 From: arks Date: Tue, 10 Feb 2015 15:06:18 -0300 Subject: [PATCH 03/36] Arena shouldn't reset 10 min or longer CDs Closes #13449 --- src/server/game/Entities/Player/Player.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 63580b355a4..3ee0719e912 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -4218,7 +4218,7 @@ void Player::RemoveSpellCategoryCooldown(uint32 cat, bool update /* = false */) void Player::RemoveArenaSpellCooldowns(bool removeActivePetCooldowns) { - // remove cooldowns on spells that have <= 10 min CD + // remove cooldowns on spells that have < 10 min CD SpellCooldowns::iterator itr, next; for (itr = m_spellCooldowns.begin(); itr != m_spellCooldowns.end(); itr = next) @@ -4226,10 +4226,10 @@ void Player::RemoveArenaSpellCooldowns(bool removeActivePetCooldowns) next = itr; ++next; SpellInfo const* entry = sSpellMgr->GetSpellInfo(itr->first); - // check if spellentry is present and if the cooldown is less or equal to 10 min + // check if spellentry is present and if the cooldown is less than 10 min if (entry && - entry->RecoveryTime <= 10 * MINUTE * IN_MILLISECONDS && - entry->CategoryRecoveryTime <= 10 * MINUTE * IN_MILLISECONDS) + entry->RecoveryTime < 10 * MINUTE * IN_MILLISECONDS && + entry->CategoryRecoveryTime < 10 * MINUTE * IN_MILLISECONDS) { // remove & notify RemoveSpellCooldown(itr->first, true); From e25336ae2c28dafa310e300365522e810273ac84 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Wed, 11 Feb 2015 09:08:37 +0100 Subject: [PATCH 04/36] DB/Creature: Scavenge-bot 004-A8 By Rushor, closes #14095 --- sql/updates/world/2015_02_11_00_world.sql | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 sql/updates/world/2015_02_11_00_world.sql diff --git a/sql/updates/world/2015_02_11_00_world.sql b/sql/updates/world/2015_02_11_00_world.sql new file mode 100644 index 00000000000..271a5b8be94 --- /dev/null +++ b/sql/updates/world/2015_02_11_00_world.sql @@ -0,0 +1,12 @@ +-- +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry`=49947; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 49947, 0, 0, 31, 0, 3, 19871, 0, 0, 0, 0, '', 'Laser - only targets Bunny'); + +-- Scavenge-bot 004-A8 SAI +SET @ENTRY := 25752; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id` >=3; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,3,0,1,0,100,0,5000,5000,15000,20000,11,49947,0,0,0,0,0,19,19871,25,0,0,0,0,0,"Scavenge-bot 004-A8 - Out of Combat - Cast 'Cutting Laser'"), +(@ENTRY,0,4,0,1,0,100,0,20000,25000,35000,40000,5,35,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scavenge-bot 004-A8 - Out of Combat - Play Emote 35"); From 61b116efb6a2289889197339a7dc3234964bf427 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Wed, 11 Feb 2015 09:11:25 +0100 Subject: [PATCH 05/36] DB/Creature: Stonebreaker - Waypoints and Keb'ezil's tweak By Kittnz, closes #14100 --- sql/updates/world/2015_02_11_01_world.sql | 100 ++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 sql/updates/world/2015_02_11_01_world.sql diff --git a/sql/updates/world/2015_02_11_01_world.sql b/sql/updates/world/2015_02_11_01_world.sql new file mode 100644 index 00000000000..5932d48ef5e --- /dev/null +++ b/sql/updates/world/2015_02_11_01_world.sql @@ -0,0 +1,100 @@ +-- Pathing for Stonebreaker Grunt Entry: 18973 'TDB FORMAT' +SET @NPC := 68131; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2562.284,`position_y`=4397.473,`position_z`=58.68661 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2562.284,4397.473,58.68661,0,0,0,0,100,0), +(@PATH,2,-2551.224,4407.652,53.44283,0,0,0,0,100,0), +(@PATH,3,-2547.335,4405.842,52.35535,0,0,0,0,100,0), +(@PATH,4,-2543.202,4397.742,52.17545,0,0,0,0,100,0), +(@PATH,5,-2547.734,4388.876,52.18408,0,0,0,0,100,0), +(@PATH,6,-2556.611,4386.977,52.1886,0,0,0,0,100,0), +(@PATH,7,-2556.627,4386.753,51.9386,0,0,0,0,100,0), +(@PATH,8,-2556.481,4387.06,52.1886,0,0,0,0,100,0), +(@PATH,9,-2543.486,4397,52.17455,0,0,0,0,100,0), +(@PATH,10,-2547.152,4405.732,52.17457,0,0,0,0,100,0), +(@PATH,11,-2558.628,4405.742,57.89645,0,0,0,0,100,0), +(@PATH,12,-2562.429,4397.533,58.73559,0,0,0,0,100,0), +(@PATH,13,-2562.816,4394.701,58.72124,0,0,0,0,100,0), +(@PATH,14,-2547.645,4388.162,58.39926,0,0,0,0,100,0), +(@PATH,15,-2545.306,4391.472,58.38942,0,0,0,0,100,0), +(@PATH,16,-2543.268,4397.77,58.69866,0,0,0,0,100,0), +(@PATH,17,-2543.174,4397.481,58.44216,0,0,0,0,100,0), +(@PATH,18,-2545.374,4391.247,58.40757,0,0,0,0,100,0), +(@PATH,19,-2554.22,4387.671,58.65759,0,0,0,0,100,0), +(@PATH,20,-2562.223,4394.01,58.45053,0,0,0,0,100,0), +(@PATH,21,-2562.396,4397.497,58.69535,0,0,0,0,100,0), +(@PATH,22,-2551.103,4407.721,53.44612,0,0,0,0,100,0), +(@PATH,23,-2547.447,4405.818,52.24909,0,0,0,0,100,0), +(@PATH,24,-2543.19,4397.657,52.17642,0,0,0,0,100,0), +(@PATH,25,-2547.777,4388.548,52.18584,0,0,0,0,100,0), +(@PATH,26,-2556.725,4387.103,52.1886,0,0,0,0,100,0), +(@PATH,27,-2556.627,4386.753,51.9386,0,0,0,0,100,0), +(@PATH,28,-2556.351,4386.949,52.1886,0,0,0,0,100,0), +(@PATH,29,-2543.485,4397.102,52.17455,0,0,0,0,100,0), +(@PATH,30,-2547.133,4405.784,52.17457,0,0,0,0,100,0), +(@PATH,31,-2558.618,4405.514,57.89614,0,0,0,0,100,0), +(@PATH,32,-2562.308,4397.42,58.72334,0,0,0,0,100,0), +(@PATH,33,-2562.909,4394.518,58.71896,0,0,0,0,100,0), +(@PATH,34,-2547.697,4388.187,58.39987,0,0,0,0,100,0), +(@PATH,35,-2545.525,4391.353,58.41209,0,0,0,0,100,0), +(@PATH,36,-2543.177,4397.777,58.7028,0,0,0,0,100,0), +(@PATH,37,-2543.174,4397.481,58.44216,0,0,0,0,100,0), +(@PATH,38,-2545.295,4391.392,58.40459,0,0,0,0,100,0), +(@PATH,39,-2554.367,4387.682,58.65977,0,0,0,0,100,0), +(@PATH,40,-2562.382,4393.967,58.45837,0,0,0,0,100,0); +-- 0x1C3930424012874000002C0003BF2EBC .go -2562.284 4397.473 58.68661 + +-- Pathing for Stonebreaker Grunt Entry: 18973 'TDB FORMAT' +SET @NPC := 68132; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2582.699,`position_y`=4367.507,`position_z`=27.14433 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2582.699,4367.507,27.14433,240000,0,0,0,100,0), +(@PATH,2,-2595.828,4382.915,29.9575,0,0,0,0,100,0), +(@PATH,3,-2613.849,4391.314,33.12907,0,0,0,0,100,0), +(@PATH,4,-2632.729,4386.462,35.28672,0,0,0,0,100,0), +(@PATH,5,-2636.813,4385.448,35.57519,0,0,0,0,100,0), +(@PATH,6,-2667.237,4407.722,35.60794,0,0,0,0,100,0), +(@PATH,7,-2701.92,4386.847,28.3668,0,0,0,0,100,0), +(@PATH,8,-2708.737,4383.311,26.62656,0,0,0,0,100,0), +(@PATH,9,-2671.687,4406.917,35.27893,0,0,0,0,100,0), +(@PATH,10,-2638.984,4412.332,35.20811,0,0,0,0,100,0), +(@PATH,11,-2613.415,4394.945,33.2278,0,0,0,0,100,0), +(@PATH,12,-2591.59,4381.07,29.3395,0,0,0,0,100,0); +-- 0x1C3930424012874000002C00023F2EBA .go -2582.699 4367.507 27.14433 + +-- Pathing for Stonebreaker Peon Entry: 19048 'TDB FORMAT' +SET @NPC := 68353; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2607.763,`position_y`=4381.312,`position_z`=33.58602 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,69, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2607.763,4381.312,33.58602,0,0,0,0,100,0), +(@PATH,2,-2633.11,4379.769,35.77549,0,0,0,0,100,0), +(@PATH,3,-2634.318,4379.514,35.83887,0,0,0,0,100,0), +(@PATH,4,-2647.237,4382.08,36.08328,0,240000,0,0,100,0), +(@PATH,5,-2642.319,4381.9,35.72264,0,0,0,0,100,0), +(@PATH,6,-2642.08,4381.872,35.9688,0,0,0,0,100,0), +(@PATH,7,-2607.333,4387.602,31.9885,0,0,0,0,100,0), +(@PATH,8,-2603.056,4389.318,31.18134,0,0,0,0,100,0), +(@PATH,9,-2598.985,4391.519,30.64458,0,240000,0,0,100,0), +(@PATH,10,-2592.19,4391.983,30.50177,0,240000,0,0,100,0), +(@PATH,11,-2568.814,4388.118,33.5708,0,0,0,0,100,0), +(@PATH,12,-2567.081,4387.359,34.20564,0,240000,0,0,100,0); +-- 0x1C39304240129A0000002C00023F2EBC .go -2607.763 4381.312 33.58602 + +-- Update Keb'ezil's movement, he should be running around as an imp. +UPDATE `creature` SET `MovementType`=1 WHERE `guid`=66944; +UPDATE `creature` SET `spawndist`=5 WHERE `guid`=66944; + +-- Update coordinates of Ru'zah +UPDATE `creature` SET `position_x`=-2627.9, `position_y`=4486.034, `position_z`=36.21471 WHERE `guid`=74329; From 244c09db86c171ebd17930ff340074e51a9a0c86 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Wed, 11 Feb 2015 09:13:27 +0100 Subject: [PATCH 06/36] DB/Creature: Terokkar waypoints 1 By Kittnz,closes #14102 --- sql/updates/world/2015_02_11_02_world.sql | 153 ++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 sql/updates/world/2015_02_11_02_world.sql diff --git a/sql/updates/world/2015_02_11_02_world.sql b/sql/updates/world/2015_02_11_02_world.sql new file mode 100644 index 00000000000..8db79bc0c8f --- /dev/null +++ b/sql/updates/world/2015_02_11_02_world.sql @@ -0,0 +1,153 @@ +-- Urdak SAI +SET @ENTRY := 18541; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,1,0,100,1,0,0,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Out of Combat - Enable Combat Movement (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,1,0,0,0,0,11,32924,1,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - In Combat - Cast 'Power of Kran'aish' (No Repeat)"), +(@ENTRY,0,2,3,4,0,100,1,0,0,0,0,11,38465,0,0,0,0,0,2,0,0,0,0,0,0,0,"Urdak - On Aggro - Cast 'Lightning Bolt' (No Repeat)"), +(@ENTRY,0,3,0,61,0,100,0,0,0,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - On Aggro - Increment Phase By 1 (No Repeat)"), +(@ENTRY,0,4,0,9,1,100,0,0,40,2400,3800,11,38465,0,0,0,0,0,2,0,0,0,0,0,0,0,"Urdak - Within 0-40 Range - Cast 'Lightning Bolt' (No Repeat)"), +(@ENTRY,0,5,6,3,1,100,1,0,15,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Between 0-15% Mana - Enable Combat Movement (Phase 1) (No Repeat)"), +(@ENTRY,0,6,0,61,1,100,0,0,0,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Between 0-15% Mana - Increment Phase By 1 (Phase 1) (No Repeat)"), +(@ENTRY,0,7,0,9,1,100,1,35,80,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Within 35-80 Range - Enable Combat Movement (Phase 1) (No Repeat)"), +(@ENTRY,0,8,0,9,1,100,1,5,15,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Within 5-15 Range - Disable Combat Movement (Phase 1) (No Repeat)"), +(@ENTRY,0,9,0,9,1,100,1,0,5,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Within 0-5 Range - Enable Combat Movement (Phase 1) (No Repeat)"), +(@ENTRY,0,10,0,3,2,100,0,30,100,100,100,23,0,1,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Between 30-100% Mana - Decrement Phase By 1 (Phase 1) (No Repeat)"), +(@ENTRY,0,11,0,0,0,100,0,6000,10000,12000,16000,11,32907,1,0,0,0,0,2,0,0,0,0,0,0,0,"Urdak - In Combat - Cast 'Arakkoa Blast' (Phase 1) (No Repeat)"), +(@ENTRY,0,12,0,0,0,100,0,10000,14000,18000,25000,11,6728,1,0,0,0,0,6,0,0,0,0,0,0,0,"Urdak - In Combat - Cast 'Enveloping Winds' (Phase 1) (No Repeat)"), +(@ENTRY,0,13,14,2,0,100,1,0,15,0,0,22,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Between 0-15% Health - Set Event Phase 3 (No Repeat)"), +(@ENTRY,0,14,15,61,0,100,0,0,0,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Between 0-15% Health - Enable Combat Movement (No Repeat)"), +(@ENTRY,0,15,0,61,0,100,0,0,0,0,0,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Urdak - Between 0-15% Health - Flee For Assist (No Repeat)"); + +-- Pathing for Urdak Entry: 18541 'TDB FORMAT' +SET @NPC := 66701; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2531.757,`position_y`=5367.723,`position_z`=27.48038 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2531.757,5367.723,27.48038,0,0,0,0,100,0), +(@PATH,2,-2522.244,5363.866,27.5043,0,0,0,0,100,0), +(@PATH,3,-2511.568,5370.136,27.19551,0,0,0,0,100,0), +(@PATH,4,-2509.842,5376.426,27.17996,0,0,0,0,100,0), +(@PATH,5,-2514.843,5388.665,27.42471,0,0,0,0,100,0), +(@PATH,6,-2525.896,5389.706,27.21724,0,0,0,0,100,0), +(@PATH,7,-2531.956,5386.355,27.44649,0,0,0,0,100,0), +(@PATH,8,-2535.825,5377.078,27.48491,0,0,0,0,100,0); +-- 0x1C39304240121B400000D00000395D5F .go -2531.757 5367.723 27.48038 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=66960; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES +(66960, 66960, 0, 0, 2), +(66960, 57334, 3, 270, 2); + +-- Pathing for Shadowy Hunter Entry: 18718 'TDB FORMAT' +SET @NPC := 66960; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2399.251,`position_y`=4948.647,`position_z`=33.51818 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2399.251,4948.647,33.51818,0,0,0,0,100,0), +(@PATH,2,-2382.013,4957.111,36.26661,0,0,0,0,100,0), +(@PATH,3,-2386.387,4964.082,33.5477,0,0,0,0,100,0), +(@PATH,4,-2396.421,4967.332,32.63216,0,0,0,0,100,0), +(@PATH,5,-2404.207,4968.344,32.13279,0,0,0,0,100,0), +(@PATH,6,-2411.476,4973.782,31.9511,0,0,0,0,100,0), +(@PATH,7,-2419.75,5004.045,29.51139,0,0,0,0,100,0), +(@PATH,8,-2423.043,5009.497,29.88427,0,0,0,0,100,0), +(@PATH,9,-2425.305,5012.542,29.87346,0,0,0,0,100,0), +(@PATH,10,-2452.268,5014.185,28.21556,0,0,0,0,100,0), +(@PATH,11,-2455.99,5026.977,25.38416,0,0,0,0,100,0), +(@PATH,12,-2461.66,5046.541,20.78516,0,0,0,0,100,0), +(@PATH,13,-2468.601,5062.008,17.91999,0,0,0,0,100,0), +(@PATH,14,-2471.484,5074.755,15.08363,0,0,0,0,100,0), +(@PATH,15,-2462.648,5034.314,23.94722,0,0,0,0,100,0), +(@PATH,16,-2458.38,5013.544,27.85468,0,0,0,0,100,0), +(@PATH,17,-2460.833,5004.856,28.65945,0,0,0,0,100,0), +(@PATH,18,-2468.316,4978.999,31.72539,0,0,0,0,100,0), +(@PATH,19,-2469.694,4960.631,33.31852,0,0,0,0,100,0), +(@PATH,20,-2466.243,4944.808,34.89827,0,0,0,0,100,0), +(@PATH,21,-2466.676,4930.218,36.72472,0,0,0,0,100,0), +(@PATH,22,-2473.81,4922.928,38.69386,0,0,0,0,100,0), +(@PATH,23,-2476.339,4921.196,39.03951,0,0,0,0,100,0), +(@PATH,24,-2486.696,4911.087,38.99028,0,0,0,0,100,0), +(@PATH,25,-2488.085,4899.312,39.16518,0,0,0,0,100,0), +(@PATH,26,-2466.59,4887.837,36.24532,0,0,0,0,100,0), +(@PATH,27,-2459.039,4893.131,34.30416,0,0,0,0,100,0), +(@PATH,28,-2456.6,4895.325,33.89172,0,0,0,0,100,0), +(@PATH,29,-2455.763,4912.572,33.6131,0,0,0,0,100,0), +(@PATH,30,-2459.973,4922.549,33.84817,0,0,0,0,100,0), +(@PATH,31,-2454.409,4941.216,34.89568,0,0,0,0,100,0), +(@PATH,32,-2453.032,4942.258,34.88249,0,0,0,0,100,0), +(@PATH,33,-2441.288,4944.204,34.91498,0,0,0,0,100,0), +(@PATH,34,-2424.706,4957.187,34.11639,0,0,0,0,100,0), +(@PATH,35,-2420.334,4960.088,33.7532,0,0,0,0,100,0), +(@PATH,36,-2399.827,4949.04,33.55933,0,0,0,0,100,0); +-- 0x1C393042401247800000D80000395139 .go -2399.251 4948.647 33.51818 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=66959; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES +(66959, 66959, 0, 0, 2), +(66959, 57324, 3, 270, 2); + +-- Pathing for Shadowy Hunter Entry: 18718 'TDB FORMAT' +SET @NPC := 66959; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2458.59,`position_y`=4883.933,`position_z`=34.63649 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2458.59,4883.933,34.63649,0,0,0,0,100,0), +(@PATH,2,-2454.139,4881.942,34.18031,0,0,0,0,100,0), +(@PATH,3,-2441.338,4867.939,34.96668,0,0,0,0,100,0), +(@PATH,4,-2447.259,4881.18,33.54724,0,0,0,0,100,0), +(@PATH,5,-2454.204,4888.805,33.82166,0,0,0,0,100,0), +(@PATH,6,-2455.784,4897.667,33.77719,0,0,0,0,100,0), +(@PATH,7,-2455.145,4910.682,33.57897,0,0,0,0,100,0), +(@PATH,8,-2459.188,4921.684,33.73078,0,0,0,0,100,0), +(@PATH,9,-2455.591,4939.817,34.61909,0,0,0,0,100,0), +(@PATH,10,-2453.116,4941.684,35.0243,0,0,0,0,100,0), +(@PATH,11,-2443.437,4943.616,34.76263,0,0,0,0,100,0), +(@PATH,12,-2431.095,4940.732,36.18304,0,0,0,0,100,0), +(@PATH,13,-2422.104,4931.316,35.36322,0,0,0,0,100,0), +(@PATH,14,-2418.187,4924.916,36.3769,0,0,0,0,100,0), +(@PATH,15,-2425.994,4937.722,36.55001,0,0,0,0,100,0), +(@PATH,16,-2430.061,4945.802,35.26893,0,0,0,0,100,0), +(@PATH,17,-2429.3,4947.917,34.86908,0,0,0,0,100,0), +(@PATH,18,-2424.078,4963.271,33.09982,0,0,0,0,100,0), +(@PATH,19,-2421.393,4974.704,31.43381,0,0,0,0,100,0), +(@PATH,20,-2421.332,4975.644,31.21901,0,0,0,0,100,0), +(@PATH,21,-2418.137,5000.565,30.00104,0,0,0,0,100,0), +(@PATH,22,-2417.527,5002.019,29.37036,0,0,0,0,100,0), +(@PATH,23,-2416.402,5010.205,29.2325,0,0,0,0,100,0), +(@PATH,24,-2417.669,5014.722,28.97691,0,0,0,0,100,0), +(@PATH,25,-2428.226,5012.224,29.9898,0,0,0,0,100,0), +(@PATH,26,-2444.966,5008.044,29.51899,0,0,0,0,100,0), +(@PATH,27,-2453.993,5013.485,28.19345,0,0,0,0,100,0), +(@PATH,28,-2456.664,5023.554,26.07574,0,0,0,0,100,0), +(@PATH,29,-2459.761,5038.568,22.79576,0,0,0,0,100,0), +(@PATH,30,-2465.731,5053.402,19.17121,0,0,0,0,100,0), +(@PATH,31,-2467.348,5032.213,24.09672,0,0,0,0,100,0), +(@PATH,32,-2467.405,5023.126,25.73068,0,0,0,0,100,0), +(@PATH,33,-2467.814,5012.714,28.07976,0,0,0,0,100,0), +(@PATH,34,-2470.525,4997.041,29.28029,0,0,0,0,100,0), +(@PATH,35,-2471.126,4980.461,31.38793,0,0,0,0,100,0), +(@PATH,36,-2477.811,4974.808,32.3695,0,0,0,0,100,0), +(@PATH,37,-2497.777,4966.848,35.28411,0,0,0,0,100,0), +(@PATH,38,-2506.064,4953.317,38.70324,0,0,0,0,100,0), +(@PATH,39,-2510.001,4942.142,39.95487,0,0,0,0,100,0), +(@PATH,40,-2510.834,4938.938,40.30884,0,0,0,0,100,0), +(@PATH,41,-2510.035,4921.547,39.56293,0,0,0,0,100,0), +(@PATH,42,-2510.577,4918.453,39.31087,0,0,0,0,100,0), +(@PATH,43,-2507.691,4905.567,39.31522,0,0,0,0,100,0), +(@PATH,44,-2500.221,4899.546,39.09933,0,0,0,0,100,0), +(@PATH,45,-2490.795,4896.659,39.47167,0,0,0,0,100,0); +-- 0x1C393042401247800000D800003955BB .go -2458.59 4883.933 34.63649 + +-- Remove 1 too many 'Shadowy Executioner' +DELETE FROM `creature` WHERE `guid`=57323; From 1b2eac60ef5aaf7f88017fd922a23de86a5d92c4 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Wed, 11 Feb 2015 12:29:34 +0100 Subject: [PATCH 07/36] DB/Quest: Crushing the Crown By Rushor, closes #14105 --- sql/updates/world/2015_02_11_03_world.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 sql/updates/world/2015_02_11_03_world.sql diff --git a/sql/updates/world/2015_02_11_03_world.sql b/sql/updates/world/2015_02_11_03_world.sql new file mode 100644 index 00000000000..d748355d624 --- /dev/null +++ b/sql/updates/world/2015_02_11_03_world.sql @@ -0,0 +1,5 @@ +-- +DELETE FROM `disables` WHERE `sourceType` =0 AND `entry` IN (71599, 71024) AND `flags`=64; +INSERT INTO `disables` (`sourceType`, `entry`, `flags`, `params_0`, `params_1`, `comment`) VALUES +(0, 71599, 64, '', '', 'Ignore LOS for Cosmetic - Explosion (Chemical Wagon)'), +(0, 71024, 64, '', '', 'Ignore LOS for Throw Bomb'); From 884bccef5863bee737a3336eff11575ff4765a80 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Wed, 11 Feb 2015 13:54:15 +0100 Subject: [PATCH 08/36] DB/Quest: Finding the Phylactery By Rushor, closes #10777 --- sql/updates/world/2015_02_11_04_world.sql | 44 +++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 sql/updates/world/2015_02_11_04_world.sql diff --git a/sql/updates/world/2015_02_11_04_world.sql b/sql/updates/world/2015_02_11_04_world.sql new file mode 100644 index 00000000000..f94edb80882 --- /dev/null +++ b/sql/updates/world/2015_02_11_04_world.sql @@ -0,0 +1,44 @@ +-- +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=26191; +INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES +(26191, 46978, 2, 0); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=18 AND `SourceGroup`=26191 AND `SourceEntry`=46978; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(18, 26191, 46978, 0, 0, 9, 0, 11956, 0, 0, 0, 0, 0, '', 'Required quest ''Finding the Phylactery'' active for spellclick'); + +UPDATE `creature_template` SET `minlevel`=80, `maxlevel`=80, `rank`=3, `speed_walk`=2.5, `speed_run`=2.5 WHERE `entry`=28182; + +-- Dusk SAI +SET @ENTRY := 28182; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,54,0,100,0,0,0,0,0,53,1,28182,0,0,0,0,1,0,0,0,0,0,0,0,"Dusk - On Just Summoned - Start Waypoint"), +(@ENTRY,0,1,0,40,0,100,0,21,28182,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dusk - On Waypoint 21 Reached - Despawn Instant"), +(@ENTRY,0,2,0,54,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dusk - On Just Summoned - Set Reactstate Passive"), +(@ENTRY,0,3,0,28,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dusk - On Passenger Removed - Despawn Instant"); + +DELETE FROM `waypoints` WHERE `entry`=28182; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(28182, 1,3137.103,3835.605,23.80482, 'Dusk'), +(28182, 2,3151.105,3841.837,26.15598, 'Dusk'), +(28182, 3,3190.882,3844.668,28.8679, 'Dusk'), +(28182, 4,3232.1,3838.992,27.33721, 'Dusk'), +(28182, 5,3282.762,3832.855,27.20968, 'Dusk'), +(28182, 6,3307.908,3829.667,28.43119, 'Dusk'), +(28182, 7,3340.627,3826.012,25.35527, 'Dusk'), +(28182, 8,3352.079,3823.348,27.22523, 'Dusk'), +(28182, 9,3399.218,3818.613,27.66385, 'Dusk'), +(28182, 10,3439.386,3828.509,27.79152, 'Dusk'), +(28182, 11,3456.517,3835.027,29.58427, 'Dusk'), +(28182, 12,3482.749,3841.445,32.40864, 'Dusk'), +(28182, 13,3531.002,3843.39,33.53048, 'Dusk'), +(28182, 14,3549.508,3830.051,39.22393, 'Dusk'), +(28182, 15,3561.163,3818.268,40.28746, 'Dusk'), +(28182, 16,3573.922,3785.856,36.752, 'Dusk'), +(28182, 17,3574.622,3781.316,36.74898, 'Dusk'), +(28182, 18,3583.712,3758.963,36.55262, 'Dusk'), +(28182, 19,3603.148,3712.664,36.74012, 'Dusk'), +(28182, 20,3605.655,3702.697,36.80239, 'Dusk'), +(28182, 21,3618.601,3670.745,35.97186, 'Dusk'); From 81dab5bd4d4544386bd05048f92133a61796befb Mon Sep 17 00:00:00 2001 From: Dr-J Date: Wed, 11 Feb 2015 14:17:18 +0000 Subject: [PATCH 09/36] DB/Misc: Sealed Vial of Poison Add condition to bag of fishing treasures to prevent Vialed Seal of Poison from dropping if player has already completed the quest it starts since it this item which was responsible for the bag bugging out and remaining in inventory but unclickable after player removed all visible items. Also slight update for Mission Plague This as with previous update was failing to display gossip menu options and was just behaving as flight master. --- sql/updates/world/2015_02_11_05_world.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 sql/updates/world/2015_02_11_05_world.sql diff --git a/sql/updates/world/2015_02_11_05_world.sql b/sql/updates/world/2015_02_11_05_world.sql new file mode 100644 index 00000000000..3f0d52d3054 --- /dev/null +++ b/sql/updates/world/2015_02_11_05_world.sql @@ -0,0 +1,4 @@ +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=10 AND `SourceGroup`=10016 AND `SourceEntry`=46004; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(10, 10016, 46004, 0, 0, 8, 0, 13845, 0, 0, 1, 0, 0, '', 'Sealed vial of poison only drops if player is not rewarded for quest sealed vial of poison'); +UPDATE `gossip_menu_option` SET `npc_option_npcflag`=1 WHERE `menu_id`=9546 AND `id`=1; From 80d9524b1cd31327195ce4f358a53c9fc8939f44 Mon Sep 17 00:00:00 2001 From: Noeliel Date: Wed, 11 Feb 2015 16:16:20 +0100 Subject: [PATCH 10/36] Scripts/ScarletEnclave: Add missing WorldObject parameter for Talk() overload (player race contained in some spoken texts) --- src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index 3db0e1092fd..326360428d2 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -174,7 +174,7 @@ public: anchor->GetContactPoint(me, anchorX, anchorY, z, 1.0f); playerGUID = target->GetGUID(); - Talk(SAY_EVENT_START); + Talk(SAY_EVENT_START, target); } void UpdateAI(uint32 diff) override From c25ad02c541c2621ef818ddc444812d30e14a143 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Thu, 12 Feb 2015 06:00:14 +0100 Subject: [PATCH 11/36] DB/Creature: Fix SAI target_type for Scarlet Peasant By Noeliel, closes #14108 --- sql/updates/world/2015_02_12_00_world.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2015_02_12_00_world.sql diff --git a/sql/updates/world/2015_02_12_00_world.sql b/sql/updates/world/2015_02_12_00_world.sql new file mode 100644 index 00000000000..ee05a6eb020 --- /dev/null +++ b/sql/updates/world/2015_02_12_00_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `smart_scripts` SET `target_type`=2 WHERE `entryorguid`=28557 AND `source_type`=0 AND `id`=0; From 16eb49270d2dc1ce4201d3a290a026a044155e86 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Thu, 12 Feb 2015 06:52:02 +0100 Subject: [PATCH 12/36] DB/Misc: Wintergrasp teleporter in dalaran By Gooyeth, closes #13719 --- sql/updates/world/2015_02_12_01_world.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 sql/updates/world/2015_02_12_01_world.sql diff --git a/sql/updates/world/2015_02_12_01_world.sql b/sql/updates/world/2015_02_12_01_world.sql new file mode 100644 index 00000000000..8ce5742c7a3 --- /dev/null +++ b/sql/updates/world/2015_02_12_01_world.sql @@ -0,0 +1,4 @@ +-- Fix 'Teleport to Lake Wintergrasp' +DELETE FROM `spell_scripts` WHERE `id`=58622; +INSERT INTO `spell_scripts` (`id`, `effIndex`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES +(58622, 0, 1, 6, 571, 0, 0, 5386.05, 2840.97, 418.675, 3.14159); From f6491b4ac869af83f07af186070137d1e6715643 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Thu, 12 Feb 2015 06:58:35 +0100 Subject: [PATCH 13/36] DB/Quest: Gammothra the Tormentor By Rushor, closes #10228 --- sql/updates/world/2015_02_12_02_world.sql | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 sql/updates/world/2015_02_12_02_world.sql diff --git a/sql/updates/world/2015_02_12_02_world.sql b/sql/updates/world/2015_02_12_02_world.sql new file mode 100644 index 00000000000..8b9ed71efea --- /dev/null +++ b/sql/updates/world/2015_02_12_02_world.sql @@ -0,0 +1,6 @@ +-- Magnataur Huntress SAI +SET @ENTRY := 24469; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`=2; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,2,0,8,0,100,0,46012,0,0,0,36,25788,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magnataur Huntress - On Spellhit 'Bloodspore Poison' - Update Template To 'Weakened Magnataur Huntress'"); From ccdffeb711ab5c67b710a03b64c3b66117528745 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Thu, 12 Feb 2015 07:03:00 +0100 Subject: [PATCH 14/36] DB/Quest: By Fire Be Purged By Fearless18 and Rushor, closes #10223 --- sql/updates/world/2015_02_12_03_world.sql | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 sql/updates/world/2015_02_12_03_world.sql diff --git a/sql/updates/world/2015_02_12_03_world.sql b/sql/updates/world/2015_02_12_03_world.sql new file mode 100644 index 00000000000..e8759e9037a --- /dev/null +++ b/sql/updates/world/2015_02_12_03_world.sql @@ -0,0 +1,14 @@ +-- Festering Corpse SAI +SET @ENTRY := 31130; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,8,0,100,1,58641,0,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Festering Corpse - On Spellhit 'Olakin's Torch' - Run Script (No Repeat)"); + +-- Actionlist SAI +SET @ENTRY := 3113000; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,11,59216,0,0,0,0,0,1,0,0,0,0,0,0,0,"Festering Corpse - On Script - Cast 'Burning Corpse'"), +(@ENTRY,9,1,0,0,0,100,0,1000,1000,0,0,33,31130,0,0,0,0,0,7,0,0,0,0,0,0,0,"Festering Corpse - On Script - Quest Credit 'By Fire Be Purged'"), +(@ENTRY,9,2,0,0,0,100,0,6000,9000,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Festering Corpse - On Script - Despawn Instant"); From 8460559b5a70d03c2a2f2df9ecc303fec0b70422 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Thu, 12 Feb 2015 07:09:50 +0100 Subject: [PATCH 15/36] DB/Quest: Becoming a Shadoweave Tailor By Ariel-, closes #13806 --- sql/updates/world/2015_02_12_04_world.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 sql/updates/world/2015_02_12_04_world.sql diff --git a/sql/updates/world/2015_02_12_04_world.sql b/sql/updates/world/2015_02_12_04_world.sql new file mode 100644 index 00000000000..d841e98f914 --- /dev/null +++ b/sql/updates/world/2015_02_12_04_world.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `event_scripts` WHERE `id` = 14394; +INSERT INTO `event_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`dataint`,`x`,`y`,`z`,`o`) VALUES +(14394,0,8,22395,0,0,0,0,0,0); From 08bf8859160199e48e8206d1edf880a15b1a5bec Mon Sep 17 00:00:00 2001 From: Aokromes Date: Thu, 12 Feb 2015 07:15:52 +0100 Subject: [PATCH 16/36] DB/Quest: Street "Cred" By Rushor, closes #11881 --- sql/updates/world/2015_02_12_05_world.sql | 37 +++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 sql/updates/world/2015_02_12_05_world.sql diff --git a/sql/updates/world/2015_02_12_05_world.sql b/sql/updates/world/2015_02_12_05_world.sql new file mode 100644 index 00000000000..1d7d3bb3cf7 --- /dev/null +++ b/sql/updates/world/2015_02_12_05_world.sql @@ -0,0 +1,37 @@ +-- +UPDATE `creature_template` SET `npcflag`=16777217, `InhabitType`=4 WHERE `entry`=27923; + +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=27923; +INSERT INTO `npc_spellclick_spells` (`npc_entry`,`spell_id`,`cast_flags`,`user_type`) VALUES +(27923,46598,1,1); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9045 AND `SourceEntry`=0 AND `SourceId`=0 AND `ElseGroup`=0 AND `ConditionTypeOrReference`=8 AND `ConditionTarget`=0 AND `ConditionValue1`=11509 AND `ConditionValue2`=0 AND `ConditionValue3`=0; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9045 AND `SourceEntry`=0 AND `SourceId`=0 AND `ElseGroup`=1 AND `ConditionTypeOrReference`=28 AND `ConditionTarget`=0 AND `ConditionValue1`=11509 AND `ConditionValue2`=0 AND `ConditionValue3`=0; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES (15, 9045, 0, 0, 0, 8, 0, 11509, 0, 0, 0, 0, 0, '', 'Lou the Cabin Boy - Show gossip option only if player has taken quest 11509'); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES (15, 9045, 0, 0, 1, 28, 0, 11509, 0, 0, 0, 0, 0, '', 'Lou the Cabin Boy - Show gossip option only if player has taken quest 11509'); + +-- Lou the Cabin Boy SAI +SET @ENTRY := 27923; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,54,0,100,0,0,0,0,0,53,1,27923,0,0,0,0,1,0,0,0,0,0,0,0,"Lou the Cabin Boy - On Just Summoned - Start Waypoint"), +(@ENTRY,0,1,0,28,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Lou the Cabin Boy - On Passenger Removed - Despawn Instant"), +(@ENTRY,0,2,0,54,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Lou the Cabin Boy - On Just Summoned - Set Reactstate Passive"), +(@ENTRY,0,3,0,40,0,100,0,13,27923,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Lou the Cabin Boy - On Waypoint 13 Reached - Despawn Instant"); + +DELETE FROM `waypoints` WHERE `entry`=27923; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(27923, 1, 556.8802, -2811.598, -0.076807, 'Lou'), +(27923, 2, 482.0306, -2834.213, -0.049029, 'Lou'), +(27923, 3, 454.4951, -2891.859, -0.049029, 'Lou'), +(27923, 4, 335.4129, -2946.441, -0.049029, 'Lou'), +(27923, 5, 262.8804, -3016.949, -0.021251, 'Lou'), +(27923, 6, 147.2193, -3176.037, -0.049029, 'Lou'), +(27923, 7, 86.28928, -3239.844, -0.021251, 'Lou'), +(27923, 8, -22.49794, -3241.448, -0.076807, 'Lou'), +(27923, 9, -151.2886, -3296.966, 0.006526, 'Lou'), +(27923, 10, -195.9667, -3366.19, -0.132362, 'Lou'), +(27923, 11, -255.5049, -3519.14, -0.021251, 'Lou'), +(27923, 12, -217.6928, -3555.593, -0.076807, 'Lou'), +(27923, 13, -201.783, -3548.484, -0.021251, 'Lou'); From c5dac48436c8a00d40640af9aecaaa71d549135a Mon Sep 17 00:00:00 2001 From: Aokromes Date: Thu, 12 Feb 2015 08:21:18 +0100 Subject: [PATCH 17/36] DB/Quest: Will of the Titans By Rushor, closes #14040 --- sql/updates/world/2015_02_12_06_world.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2015_02_12_06_world.sql diff --git a/sql/updates/world/2015_02_12_06_world.sql b/sql/updates/world/2015_02_12_06_world.sql new file mode 100644 index 00000000000..d6eaf64d14e --- /dev/null +++ b/sql/updates/world/2015_02_12_06_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature_template` SET `spell1`=52331,`spell2`=52358,`spell3`=53032,`spell4`=52327,`spell5`=52321 WHERE `entry`=28115; From b1a4a8f435d2ba03e45f3a579c6ec48baf2a7cfb Mon Sep 17 00:00:00 2001 From: Aokromes Date: Thu, 12 Feb 2015 15:04:13 +0100 Subject: [PATCH 18/36] DB/NPC: Isle of Quel'Danas - Movement By Rushor, closes #14061 --- sql/updates/world/2015_02_12_07_world.sql | 53 +++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 sql/updates/world/2015_02_12_07_world.sql diff --git a/sql/updates/world/2015_02_12_07_world.sql b/sql/updates/world/2015_02_12_07_world.sql new file mode 100644 index 00000000000..7fc438ed015 --- /dev/null +++ b/sql/updates/world/2015_02_12_07_world.sql @@ -0,0 +1,53 @@ +-- Dawnblade Marksman SAI +SET @ENTRY := 24979; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,10,0,100,0,0,70,7000,13000,11,45101,0,0,0,0,0,7,0,0,0,0,0,0,0,"Dawnblade Marksman - Within 0-70 Range Out of Combat LoS - Cast 'Flaming Arrow'"), +(@ENTRY,0,1,0,1,0,100,0,3000,3000,5000,5000,11,45101,0,0,0,0,0,19,5202,26,0,0,0,0,0,"Dawnblade Marksman - Out of Combat - Cast 'Flaming Arrow'"); + +-- Pathing for Entry: 25001 'TDB FORMAT' +SET @NPC := 93967; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=12616.02,`position_y`=-6826.477,`position_z`=13.30631 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,12616.02,-6826.477,13.30631,0,0,0,0,100,0), +(@PATH,2,12615.95,-6826.547,13.58466,0,0,0,0,100,0), +(@PATH,3,12607.38,-6830.652,13.76608,0,0,0,0,100,0), +(@PATH,4,12591.51,-6834.896,13.87594,0,0,0,0,100,0), +(@PATH,5,12566.56,-6827.448,16.54662,0,0,0,0,100,0), +(@PATH,6,12579.94,-6832.642,14.98803,0,0,0,0,100,0), +(@PATH,7,12584.21,-6834.116,14.20888,0,0,0,0,100,0), +(@PATH,8,12591.75,-6834.886,13.74139,0,0,0,0,100,0), +(@PATH,9,12607.81,-6830.203,13.69277,0,0,0,0,100,0), +(@PATH,10,12616.39,-6826.547,13.49831,0,0,0,0,100,0), +(@PATH,11,12616.02,-6826.477,13.30631,0,0,0,0,100,0), +(@PATH,12,12615.95,-6826.547,13.5846,0,0,0,0,100,0), +(@PATH,13,12607.6,-6830.664,13.76679,0,0,0,0,100,0), +(@PATH,14,12591.65,-6834.927,13.87652,0,0,0,0,100,0), +(@PATH,15,12566.47,-6827.438,16.55291,0,0,0,0,100,0), +(@PATH,16,12579.94,-6832.642,14.98803,0,0,0,0,100,0), +(@PATH,17,12584.21,-6834.114,14.20937,0,0,0,0,100,0), +(@PATH,18,12591.73,-6834.884,13.74244,0,0,0,0,100,0), +(@PATH,19,12607.78,-6830.21,13.69292,0,0,0,0,100,0), +(@PATH,20,12616.38,-6826.549,13.49841,0,0,0,0,100,0), +(@PATH,21,12616.02,-6826.477,13.30631,0,0,0,0,100,0), +(@PATH,22,12615.95,-6826.547,13.58466,0,0,0,0,100,0), +(@PATH,23,12607.59,-6830.418,13.76704,0,0,0,0,100,0); +-- 0x1C09084240186A4000002E000055E86A .go 12616.02 -6826.477 13.30631 + +-- Pathing for Entry: 25001 'TDB FORMAT' +SET @NPC := 93966; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=12488.71,`position_y`=-6887.34,`position_z`=16.40788 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,12488.71,-6887.34,16.40788,0,0,0,0,100,0), +(@PATH,2,12495.96,-6887.744,16.62086,0,0,0,0,100,0), +(@PATH,3,12491.32,-6874.924,17.07642,0,0,0,0,100,0); +-- 0x1C09084240186A4000002E0000558FDB .go 12488.71 -6887.34 16.40788 From 015d984b79e69129f10a468d8fd4ed757eb8e4e6 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Thu, 12 Feb 2015 19:17:09 +0100 Subject: [PATCH 19/36] DB/Quest: Delivering the Message By Killyana, closes #1484 --- sql/updates/world/2015_02_12_08_world.sql | 68 +++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 sql/updates/world/2015_02_12_08_world.sql diff --git a/sql/updates/world/2015_02_12_08_world.sql b/sql/updates/world/2015_02_12_08_world.sql new file mode 100644 index 00000000000..70c51199c8c --- /dev/null +++ b/sql/updates/world/2015_02_12_08_world.sql @@ -0,0 +1,68 @@ +-- +SET @Ameer :=20482; -- Image of Commander Ameer +SET @SpellSummon:=35679; -- Summons Protectorate. +SET @Protectorate:=20802; -- Protectorate Demolitionist +SET @Cleave :=30619; -- Protectorate Demolitionist's Cleave +SET @Hamstring :=31553; -- Protectorate Demolitionist's Hamstring +SET @Strike :=16856; -- Protectorate Demolitionist's Mortal Striket +SET @Stalker :=20474; -- Ethereum Nexus-Stalker +SET @Sshadowtouched:=36515; -- Ethereum Nexus-Stalker's Shadowtouched +SET @Sshadowsurge:=36517; -- Ethereum Nexus-Stalker's Shadowsurge + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@Ameer,@Protectorate,@Stalker); +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`= @Ameer AND id IN (5,6); +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid` IN (@Protectorate,@Stalker); +DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid` IN (@Protectorate*100); +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@Ameer,0,5,0,19,0,100,0,10406,0,0,0,85,@SpellSummon,2,0,0,0,0,7,0,0,0,0,0,0,0,'Image of Commander Ameer - On Quest 10406 accepted - Cast Summon Protectorate Demolitionist'), +(@Ameer,0,6,0,20,0,100,0,10406,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Image of Commander Ameer - On Quest 10406 accepted - Cast Summon Protectorate Demolitionist'), +(@Protectorate,0,0,0,54,0,100,0,0,0,0,0,1,0,4000,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Just Summoned - Say 0'), +(@Protectorate,0,1,0,52,0,100,0,0,@Protectorate,0,0,53,0,@Protectorate,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Text Over - Start Wp'), +(@Protectorate,0,2,3,40,0,100,0,3,@Protectorate,0,0,54,4000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Reached WP 3 - Pause Wp'), +(@Protectorate,0,3,0,61,0,100,0,0,0,0,0,1,1,5000,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Link Event - Say 1'), +(@Protectorate,0,4,5,40,0,100,0,5,@Protectorate,0,0,54,4000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Reached WP 5 - Pause Wp'), +(@Protectorate,0,5,0,61,0,100,0,0,0,0,0,1,2,4000,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Link Event - Say 2'), +(@Protectorate,0,6,7,40,0,100,0,7,@Protectorate,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Reached WP 7 - Pause Wp'), +(@Protectorate*100,9,0,0,0,0,100,0,0,0,0,0,1,3,14000,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Script - Say 3'), +(@Protectorate*100,9,1,0,0,0,100,0,500,500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Script - Emote Work'), +(@Protectorate*100,9,2,0,0,0,100,0,3500,3500,0,0,12,@Stalker,2,30000,1,0,0,8,0,0,0,3866.837402,2321.753418,113.736206,0.120686,'Protectorate Demolitionist - Script - Summon Nexus-Stalker'), +(@Protectorate*100,9,3,0,0,0,100,0,0,0,0,0,12,@Stalker,2,30000,1,0,0,8,0,0,0,3879.268799,2321.939209,115.065338,3.137270,'Protectorate Demolitionist - Script - Summon Nexus-Stalker'), +(@Protectorate*100,9,4,0,0,0,100,0,6000,6000,0,0,1,4,4000,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Script - Say 4'), +(@Protectorate*100,9,5,0,0,0,100,0,0,0,0,0,59,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Script - Run'), +(@Protectorate*100,9,6,0,0,0,100,0,0,0,0,0,65,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Script - Resume WP'), +(@Protectorate*100,9,7,0,0,0,100,0,0,0,0,0,5,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Script - Emote Work'), +(@Protectorate,0,7,0,61,0,100,0,0,0,0,0,80,@Protectorate*100,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Link - Start Script'), +(@Protectorate,0,8,9,40,0,100,0,8,@Protectorate,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Reached WP 8 - Pause Wp'), +(@Protectorate,0,9,10,61,0,100,0,0,0,0,0,1,5,6000,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Link - Say 5'), +(@Protectorate,0,10,0,61,0,100,0,0,0,0,0,15,10406,0,0,0,0,0,21,15,0,0,0,0,0,0,'Protectorate Demolitionist - Link - Complete Quest'), +(@Protectorate,0,11,12,52,0,100,0,5,@Protectorate,0,0,11,35517,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Text Over - cast teleportaion visual'), +(@Protectorate,0,12,0,61,0,100,0,0,0,0,0,41,2000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Text Over - despawn'), +(@Protectorate,0,13,0,4,0,100,0,0,0,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - On aggro - talk'), +(@Stalker,0,0,0,54,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ethereum Nexus-Stalker - On respawn - Say 0'), +(@Stalker,0,1,0,0,0,100,0,200,200,5000,5000,11,@Sshadowtouched,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ethereum Nexus-Stalker - IC - Cast Shadowtouched'), +(@Stalker,0,2,0,0,0,100,0,500,2000,10000,12000,11,@Sshadowsurge,0,0,0,0,0,2,0,0,0,0,0,0,0,'Ethereum Nexus-Stalker -IC - Cast Shadowsurge'); + +DELETE FROM `creature_text` WHERE `entry` IN (@Protectorate,@Stalker, @Ameer); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextID`) VALUES +(@Protectorate,0,0,'Let''s do this... Just keep me covered and I''ll deliver the package.',12,0,100,0,0,0,'Protectorate Demolitionist - Comienza escort', 18432), +(@Protectorate,1,0,'By the second sun of K''aresh, look at this place! I can only imagine what Salhadaar is planning. Come on, let''s keep going.',12,0,100,0,0,0,'Protectorate Demolitionist - Waypoint 1', 18433), +(@Protectorate,2,0,'Look there, fleshling! Salhadaar''s conduits! He''s keeping well fed...',12,0,100,0,0,0,'Protectorate Demolitionist - Waypoint 4', 18435), +(@Protectorate,3,0,'Alright, keep me protected while I plant this disruptor. This shouldn''t take very long..',12,0,100,0,0,0,'Protectorate Demolitionist - Waypoint 6', 18436), +(@Protectorate,4,0,'Done! Back up! Back up!',12,0,100,0,0,0,'Protectorate Demolitionist - Disruptor', 18437), +(@Protectorate,5,0,'Looks like my work here is done. Report to the holo-image of Ameer over at the transporter.',12,0,100,0,0,0,'Protectorate Demolitionist - Waypoint 7', 18442), +(@Protectorate,6,0,'I''m under attack! I repeat, I am under attack!',12,0,100,0,0,0,'Protectorate Demolitionist - Being attacked', 18439), +(@Protectorate,6,1,'Keep these things off me!',12,0,100,0,0,0,'Protectorate Demolitionist - Being attacked', 18438), +(@Stalker,0,0,'Protect the conduit! Stop the intruders!',12,0,100,0,0,0,'Ethereum Nexus-Stalker - Protect Conduct',18441), +(@Ameer,0,0,'Hostiles detected. Ending transmission.',12,0,100,15,0,0,'Image of Commander Ameer - On aggro', 18190), +(@Ameer,1,0,'Protectorate transmission complete.',12,0,100,0,0,0,'Ameer - Quest rewarded',18191); + +DELETE FROM `waypoints` WHERE `entry`=@Protectorate; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(@Protectorate,1,4006.368652,2323.582520,111.407501,'Protectorate Demolitionist'), +(@Protectorate,2,3946.502441,2329.601074,113.647179,'Protectorate Demolitionist'), +(@Protectorate,3,3934.442383,2333.215088,110.971733,'Protectorate Demolitionist'), +(@Protectorate,4,3912.811035,2339.968018,113.876434,'Protectorate Demolitionist'), +(@Protectorate,5,3887.416748,2408.539063,113.081406,'Protectorate Demolitionist'), +(@Protectorate,6,3863.596191,2348.160645,115.446754,'Protectorate Demolitionist'), +(@Protectorate,7,3872.944580,2321.384766,114.501541,'Protectorate Demolitionist'), +(@Protectorate,8,3859.826416,2360.402588,114.603340,'Protectorate Demolitionist'); From 554e0c2e5d85a57646f8236bba959686212d65d8 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Thu, 12 Feb 2015 19:20:20 +0100 Subject: [PATCH 20/36] DB/Creature: Magrin Rivermane By Rushor, closes #14121 --- sql/updates/world/2015_02_12_09_world.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2015_02_12_09_world.sql diff --git a/sql/updates/world/2015_02_12_09_world.sql b/sql/updates/world/2015_02_12_09_world.sql new file mode 100644 index 00000000000..36c11d35ee8 --- /dev/null +++ b/sql/updates/world/2015_02_12_09_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE creature_template SET npcflag=0 WHERE entry=6776; From 62001360dd1d08b2f33fba0f20425867b1b0a069 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Wed, 11 Feb 2015 22:42:46 +0100 Subject: [PATCH 21/36] Shared/Database: Improve dead-lock error handling Improve dead-lock error handling by making sure only 1 thread at time retries to execute a transaction so they don't keep dead-locking each other. --- src/server/shared/Database/Transaction.cpp | 4 ++++ src/server/shared/Database/Transaction.h | 1 + 2 files changed, 5 insertions(+) diff --git a/src/server/shared/Database/Transaction.cpp b/src/server/shared/Database/Transaction.cpp index b83b787a106..9f36d198bde 100644 --- a/src/server/shared/Database/Transaction.cpp +++ b/src/server/shared/Database/Transaction.cpp @@ -19,6 +19,8 @@ #include "Transaction.h" #include +std::mutex TransactionTask::_deadlockLock; + //- Append a raw ad-hoc query to the transaction void Transaction::Append(const char* sql) { @@ -81,6 +83,8 @@ bool TransactionTask::Execute() if (errorCode == ER_LOCK_DEADLOCK) { + // Make sure only 1 async thread retries a transaction so they don't keep dead-locking each other + std::lock_guard lock(_deadlockLock); uint8 loopBreaker = 5; // Handle MySQL Errno 1213 without extending deadlock to the core itself for (uint8 i = 0; i < loopBreaker; ++i) if (!m_conn->ExecuteTransaction(m_trans)) diff --git a/src/server/shared/Database/Transaction.h b/src/server/shared/Database/Transaction.h index cf6aa98b386..83d59006ddc 100644 --- a/src/server/shared/Database/Transaction.h +++ b/src/server/shared/Database/Transaction.h @@ -66,6 +66,7 @@ class TransactionTask : public SQLOperation bool Execute() override; SQLTransaction m_trans; + static std::mutex _deadlockLock; }; #endif From adfd8a6172f1140c4ecf07e1bc71003148d677d1 Mon Sep 17 00:00:00 2001 From: Rushor Date: Thu, 12 Feb 2015 23:42:43 +0100 Subject: [PATCH 22/36] Scripts/Mulgore: The Plains Vision - Move Corescrript to SAI --- sql/updates/world/2015_02_12_10_world.sql | 62 +++++++++ src/server/scripts/Kalimdor/zone_mulgore.cpp | 128 ------------------- 2 files changed, 62 insertions(+), 128 deletions(-) create mode 100644 sql/updates/world/2015_02_12_10_world.sql diff --git a/sql/updates/world/2015_02_12_10_world.sql b/sql/updates/world/2015_02_12_10_world.sql new file mode 100644 index 00000000000..cb8f0e95b39 --- /dev/null +++ b/sql/updates/world/2015_02_12_10_world.sql @@ -0,0 +1,62 @@ +-- +UPDATE `creature_template` SET `ScriptName`='' WHERE `entry`=2983; +-- The Plains Vision SAI +SET @ENTRY := 2983; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,54,0,100,0,0,0,0,0,53,1,2983,0,0,0,0,1,0,0,0,0,0,0,0,"The Plains Vision - On Just Summoned - Start Waypoint"), +(@ENTRY,0,1,0,40,0,100,0,50,2983,0,0,41,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,"The Plains Vision - On Waypoint 50 Reached - Despawn In 1000 ms"); + +DELETE FROM `waypoints` WHERE `entry`=@ENTRY; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(@ENTRY, 1, -2226.32, -408.095, -9.36235, 'The Plains Vision'), +(@ENTRY, 2, -2203.04, -437.212, -5.72498, 'The Plains Vision'), +(@ENTRY, 3, -2163.91, -457.851, -7.09049, 'The Plains Vision'), +(@ENTRY, 4, -2123.87, -448.137, -9.29591, 'The Plains Vision'), +(@ENTRY, 5, -2104.66, -427.166, -6.49513, 'The Plains Vision'), +(@ENTRY, 6, -2101.48, -422.826, -5.3567, 'The Plains Vision'), +(@ENTRY, 7, -2097.56, -417.083, -7.16716, 'The Plains Vision'), +(@ENTRY, 8, -2084.87, -398.626, -9.88973, 'The Plains Vision'), +(@ENTRY, 9, -2072.71, -382.324, -10.2488, 'The Plains Vision'), +(@ENTRY, 10, -2054.05, -356.728, -6.22468, 'The Plains Vision'), +(@ENTRY, 11, -2051.8, -353.645, -5.35791, 'The Plains Vision'), +(@ENTRY, 12, -2049.08, -349.912, -6.15723, 'The Plains Vision'), +(@ENTRY, 13, -2030.6, -310.724, -9.59302, 'The Plains Vision'), +(@ENTRY, 14, -2002.15, -249.308, -10.8124, 'The Plains Vision'), +(@ENTRY, 15, -1972.85, -195.811, -10.6316, 'The Plains Vision'), +(@ENTRY, 16, -1940.93, -147.652, -11.7055, 'The Plains Vision'), +(@ENTRY, 17, -1888.06, -81.943, -11.4404, 'The Plains Vision'), +(@ENTRY, 18, -1837.05, -34.0109, -12.258, 'The Plains Vision'), +(@ENTRY, 19, -1796.12, -14.6462, -10.3581, 'The Plains Vision'), +(@ENTRY, 20, -1732.61, -4.27746, -10.0213, 'The Plains Vision'), +(@ENTRY, 21, -1688.94, -0.829945, -11.7103, 'The Plains Vision'), +(@ENTRY, 22, -1681.32, 13.0313, -9.48056, 'The Plains Vision'), +(@ENTRY, 23, -1677.04, 36.8349, -7.10318, 'The Plains Vision'), +(@ENTRY, 24, -1675.2, 68.559, -8.95384, 'The Plains Vision'), +(@ENTRY, 25, -1676.57, 89.023, -9.65104, 'The Plains Vision'), +(@ENTRY, 26, -1678.16, 110.939, -10.1782, 'The Plains Vision'), +(@ENTRY, 27, -1677.86, 128.681, -5.73869, 'The Plains Vision'), +(@ENTRY, 28, -1675.27, 144.324, -3.47916, 'The Plains Vision'), +(@ENTRY, 29, -1671.7, 163.169, -1.23098, 'The Plains Vision'), +(@ENTRY, 30, -1666.61, 181.584, 5.26145, 'The Plains Vision'), +(@ENTRY, 31, -1661.51, 196.154, 8.95252, 'The Plains Vision'), +(@ENTRY, 32, -1655.47, 210.811, 8.38727, 'The Plains Vision'), +(@ENTRY, 33, -1647.07, 226.947, 5.27755, 'The Plains Vision'), +(@ENTRY, 34, -1621.65, 232.91, 2.69579, 'The Plains Vision'), +(@ENTRY, 35, -1600.23, 237.641, 2.98539, 'The Plains Vision'), +(@ENTRY, 36, -1576.07, 242.546, 4.66541, 'The Plains Vision'), +(@ENTRY, 37, -1554.57, 248.494, 6.60377, 'The Plains Vision'), +(@ENTRY, 38, -1547.53, 259.302, 10.6741, 'The Plains Vision'), +(@ENTRY, 39, -1541.7, 269.847, 16.4418, 'The Plains Vision'), +(@ENTRY, 40, -1539.83, 278.989, 21.0597, 'The Plains Vision'), +(@ENTRY, 41, -1540.16, 290.219, 27.8247, 'The Plains Vision'), +(@ENTRY, 42, -1538.99, 298.983, 34.0032, 'The Plains Vision'), +(@ENTRY, 43, -1540.38, 307.337, 41.3557, 'The Plains Vision'), +(@ENTRY, 44, -1536.61, 314.884, 48.0179, 'The Plains Vision'), +(@ENTRY, 45, -1532.42, 323.277, 55.6667, 'The Plains Vision'), +(@ENTRY, 46, -1528.77, 329.774, 61.1525, 'The Plains Vision'), +(@ENTRY, 47, -1525.65, 333.18, 63.2161, 'The Plains Vision'), +(@ENTRY, 48, -1517.01, 350.713, 62.4286, 'The Plains Vision'), +(@ENTRY, 49, -1511.39, 362.537, 62.4539, 'The Plains Vision'), +(@ENTRY, 50, -1508.68, 366.822, 62.733, 'The Plains Vision'); diff --git a/src/server/scripts/Kalimdor/zone_mulgore.cpp b/src/server/scripts/Kalimdor/zone_mulgore.cpp index 0d0ef218885..c13082f31c1 100644 --- a/src/server/scripts/Kalimdor/zone_mulgore.cpp +++ b/src/server/scripts/Kalimdor/zone_mulgore.cpp @@ -25,7 +25,6 @@ EndScriptData */ /* ContentData npc_kyle_frenzied -npc_plains_vision EndContentData */ #include "ScriptMgr.h" @@ -173,134 +172,7 @@ public: }; -/*##### -# npc_plains_vision -######*/ - -Position const wpPlainVision[50] = -{ - {-2226.32f, -408.095f, -9.36235f, 0.0f}, - {-2203.04f, -437.212f, -5.72498f, 0.0f}, - {-2163.91f, -457.851f, -7.09049f, 0.0f}, - {-2123.87f, -448.137f, -9.29591f, 0.0f}, - {-2104.66f, -427.166f, -6.49513f, 0.0f}, - {-2101.48f, -422.826f, -5.3567f, 0.0f}, - {-2097.56f, -417.083f, -7.16716f, 0.0f}, - {-2084.87f, -398.626f, -9.88973f, 0.0f}, - {-2072.71f, -382.324f, -10.2488f, 0.0f}, - {-2054.05f, -356.728f, -6.22468f, 0.0f}, - {-2051.8f, -353.645f, -5.35791f, 0.0f}, - {-2049.08f, -349.912f, -6.15723f, 0.0f}, - {-2030.6f, -310.724f, -9.59302f, 0.0f}, - {-2002.15f, -249.308f, -10.8124f, 0.0f}, - {-1972.85f, -195.811f, -10.6316f, 0.0f}, - {-1940.93f, -147.652f, -11.7055f, 0.0f}, - {-1888.06f, -81.943f, -11.4404f, 0.0f}, - {-1837.05f, -34.0109f, -12.258f, 0.0f}, - {-1796.12f, -14.6462f, -10.3581f, 0.0f}, - {-1732.61f, -4.27746f, -10.0213f, 0.0f}, - {-1688.94f, -0.829945f, -11.7103f, 0.0f}, - {-1681.32f, 13.0313f, -9.48056f, 0.0f}, - {-1677.04f, 36.8349f, -7.10318f, 0.0f}, - {-1675.2f, 68.559f, -8.95384f, 0.0f}, - {-1676.57f, 89.023f, -9.65104f, 0.0f}, - {-1678.16f, 110.939f, -10.1782f, 0.0f}, - {-1677.86f, 128.681f, -5.73869f, 0.0f}, - {-1675.27f, 144.324f, -3.47916f, 0.0f}, - {-1671.7f, 163.169f, -1.23098f, 0.0f}, - {-1666.61f, 181.584f, 5.26145f, 0.0f}, - {-1661.51f, 196.154f, 8.95252f, 0.0f}, - {-1655.47f, 210.811f, 8.38727f, 0.0f}, - {-1647.07f, 226.947f, 5.27755f, 0.0f}, - {-1621.65f, 232.91f, 2.69579f, 0.0f}, - {-1600.23f, 237.641f, 2.98539f, 0.0f}, - {-1576.07f, 242.546f, 4.66541f, 0.0f}, - {-1554.57f, 248.494f, 6.60377f, 0.0f}, - {-1547.53f, 259.302f, 10.6741f, 0.0f}, - {-1541.7f, 269.847f, 16.4418f, 0.0f}, - {-1539.83f, 278.989f, 21.0597f, 0.0f}, - {-1540.16f, 290.219f, 27.8247f, 0.0f}, - {-1538.99f, 298.983f, 34.0032f, 0.0f}, - {-1540.38f, 307.337f, 41.3557f, 0.0f}, - {-1536.61f, 314.884f, 48.0179f, 0.0f}, - {-1532.42f, 323.277f, 55.6667f, 0.0f}, - {-1528.77f, 329.774f, 61.1525f, 0.0f}, - {-1525.65f, 333.18f, 63.2161f, 0.0f}, - {-1517.01f, 350.713f, 62.4286f, 0.0f}, - {-1511.39f, 362.537f, 62.4539f, 0.0f}, - {-1508.68f, 366.822f, 62.733f, 0.0f} -}; - -class npc_plains_vision : public CreatureScript -{ -public: - npc_plains_vision() : CreatureScript("npc_plains_vision") { } - - CreatureAI* GetAI(Creature* creature) const override - { - return new npc_plains_visionAI(creature); - } - - struct npc_plains_visionAI : public ScriptedAI - { - npc_plains_visionAI(Creature* creature) : ScriptedAI(creature) - { - Initialize(); - } - - void Initialize() - { - WayPointId = 0; - newWaypoint = true; - amountWP = 49; - } - - bool newWaypoint; - uint8 WayPointId; - uint8 amountWP; - - void Reset() override - { - Initialize(); - } - - void EnterCombat(Unit* /*who*/) override { } - - void MovementInform(uint32 type, uint32 id) override - { - if (type != POINT_MOTION_TYPE) - return; - - if (id < amountWP) - { - ++WayPointId; - newWaypoint = true; - } - else - { - me->setDeathState(JUST_DIED); - me->RemoveCorpse(); - } - } - - void UpdateAI(uint32 /*diff*/) override - { - if (newWaypoint) - { - me->GetMotionMaster()->MovePoint(WayPointId, wpPlainVision[WayPointId]); - newWaypoint = false; - } - } - }; - -}; - -/*##### -# -######*/ - void AddSC_mulgore() { new npc_kyle_frenzied(); - new npc_plains_vision(); } From 69d016d0fe2bb0d47df1e56b36877e5f28c2034e Mon Sep 17 00:00:00 2001 From: Nyeriah Date: Fri, 13 Feb 2015 03:28:44 -0200 Subject: [PATCH 23/36] Scripts/ForgeOfSouls: Fix an indentation issue on Bronham's script --- .../Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp index 97c4372f0e6..9797ace2f8d 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp @@ -82,10 +82,10 @@ class boss_bronjahm : public CreatureScript instance->SetBossState(DATA_BRONJAHM, NOT_STARTED); } - void JustReachedHome() override - { - DoCast(me, SPELL_SOULSTORM_CHANNEL, true); - } + void JustReachedHome() override + { + DoCast(me, SPELL_SOULSTORM_CHANNEL, true); + } void EnterCombat(Unit* /*who*/) override { From 94a97974b99bdc05ae1906d0a1f37662d05d9982 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Fri, 13 Feb 2015 07:18:22 +0100 Subject: [PATCH 24/36] DB/Quest: The Black Knight's Fall By Killyana, closes #11043 --- sql/updates/world/2015_02_13_00_world.sql | 58 +++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 sql/updates/world/2015_02_13_00_world.sql diff --git a/sql/updates/world/2015_02_13_00_world.sql b/sql/updates/world/2015_02_13_00_world.sql new file mode 100644 index 00000000000..c36958c180d --- /dev/null +++ b/sql/updates/world/2015_02_13_00_world.sql @@ -0,0 +1,58 @@ +SET @NPC_BLACK_KNIGHT := 33785; +SET @NPC_CAVIN := 33522; +SET @SPELL_CHARGE := 63003; +SET @SPELL_SHIELD_BREAKER := 65147; +SET @SPELL_DARK_SHIELD := 64505; +SET @SPELL_BLACK_NIGHT_TRANSFORM := 64490; -- Apply Aura: Change Model (34104) +SET @SPELL_BLACK_NIGHT_TRANSFORM_2 := 64498; -- Apply Aura: Increase Max Health +SET @SPELL_FULL_HEAL := 25840; +SET @GOSSIP := 10383; + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@NPC_BLACK_KNIGHT, @NPC_CAVIN); +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@NPC_BLACK_KNIGHT; +DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid`=@NPC_BLACK_KNIGHT*100; +DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid`=@NPC_BLACK_KNIGHT*100+1; +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@NPC_CAVIN; +DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid`=@NPC_CAVIN*100; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(@NPC_CAVIN,0,0,1,62,0,100,0,@GOSSIP,0,0,0,80,@NPC_CAVIN*100,0,2,0,0,0,1,0,0,0,0,0,0,0,'Cavin - On gossip option select - Run script'), +(@NPC_CAVIN,0,1,2,61,0,100,0,0,0,0,0,12,@NPC_BLACK_KNIGHT,1,120000,0,0,0,8,0,0,0,8482.370117, 964.506653, 547.292908, 3.253865,'Cavin - On gossip option select - Summon the Black Knight'), +(@NPC_CAVIN,0,2,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Cavin - On gossip option select - Close gossip'), +(@NPC_CAVIN*100,9,0,0,0,0,100,0,0,0,0,0,81,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cavin - On Script - Turn off Gossip & Gossip flags'), +(@NPC_CAVIN*100,9,1,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Cavin - On Script - Say text 0'), +(@NPC_CAVIN*100,9,2,0,0,0,100,0,5000,5000,0,0,1,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Cavin - On Script - Say text 1'), +(@NPC_BLACK_KNIGHT,0,0,0,54,0,100,1,0,0,0,0,80,@NPC_BLACK_KNIGHT*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - Just Summoned - Mount to entry'), +(@NPC_BLACK_KNIGHT*100+1,9,0,0,0,0,100,0,0,0,0,0,69,0,0,0,0,0,0,8,0,0,0,8426.153320, 962.307861, 544.675293, 6.273711,'Blackknight - On Script - MOVE TO POS'), +(@NPC_BLACK_KNIGHT*100+1,9,1,0,0,0,100,0,10000,10000,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - REMOVE IMMUNE TO PC'), +(@NPC_BLACK_KNIGHT*100+1,9,2,0,0,0,100,0,0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - REMOVE IMMUNE TO PC'), +(@NPC_BLACK_KNIGHT*100+1,9,3,0,0,0,100,0,0,0,0,0,49,0,0,0,0,0,0,19,33782,25,0,0,0,0,0,'Blackknight - On Script - attack'), +(@NPC_BLACK_KNIGHT,0,1,0,4,0,100,0,0,0,0,0,11,@SPELL_CHARGE,0,0,0,0,0,2,0,0,0,0,0,0,0,'Blackknight - On Aggro - Cast Charge'), +(@NPC_BLACK_KNIGHT,0,2,0,4,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Aggro - Set Phase 1'), +(@NPC_BLACK_KNIGHT,0,3,0,0,1,100,0,10000,10000,15000,15000,25,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - In Phase 1 - Flee for assist'), +(@NPC_BLACK_KNIGHT,0,4,0,9,1,100,0,5,30,1000,1000,11,@SPELL_CHARGE,0,0,0,0,0,2,0,0,0,0,0,0,0,'Blackknight - In Phase 1& On Range - Cast Charge'), +(@NPC_BLACK_KNIGHT,0,5,0,9,1,100,0,3,30,1500,2000,11,@SPELL_SHIELD_BREAKER,0,0,0,0,0,2,0,0,0,0,0,0,0,'Blackknight - In Phase 1 & On Range - Cast Shield Breaker'), +(@NPC_BLACK_KNIGHT,0,6,0,6,0,100,0,0,0,0,0,81,1,0,0,0,0,0,10,85140,@NPC_CAVIN,0,0,0,0,0,'Blackknight - On Death - Turn on Gossip & Gossip flags on Cavin'), +(@NPC_BLACK_KNIGHT,0,7,8,1,0,100,0,20000,20000,20000,20000,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - Out Of Combat after 20s - Despawn'), +(@NPC_BLACK_KNIGHT,0,8,0,61,0,100,0,0,0,0,0,81,1,0,0,0,0,0,10,85140,@NPC_CAVIN,0,0,0,0,0,'Blackknight - Out Of Combat after 20s - Turn on Gossip & Gossip flags on Cavin'), +(@NPC_BLACK_KNIGHT,0,9,0,2,1,100,1,0,25,0,0,80,@NPC_BLACK_KNIGHT*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On 25% health - Run script'), +(@NPC_BLACK_KNIGHT*100,9,0,0,0,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - State passive'), +(@NPC_BLACK_KNIGHT*100,9,1,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - Say text 0'), +(@NPC_BLACK_KNIGHT*100,9,2,0,0,0,100,0,0,0,0,0,43,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - Unmount'), +(@NPC_BLACK_KNIGHT*100,9,3,0,0,0,100,0,0,0,0,0,51,0,0,0,0,0,0,19,33782,30,0,0,0,0,0,'Blackknight - On Script - Unmount player'), +(@NPC_BLACK_KNIGHT*100,9,4,0,0,0,100,0,0,0,0,0,11,@SPELL_DARK_SHIELD,2,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - Cast Dark Shield'), +(@NPC_BLACK_KNIGHT*100,9,5,0,0,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Aggro - Set Phase 0'), +(@NPC_BLACK_KNIGHT*100,9,6,0,0,0,100,0,6000,6000,0,0,11,@SPELL_BLACK_NIGHT_TRANSFORM,2,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - Apply Aura'), +(@NPC_BLACK_KNIGHT*100,9,7,0,0,0,100,0,0,0,0,0,11,@SPELL_FULL_HEAL,2,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - Full hp'), +(@NPC_BLACK_KNIGHT*100,9,8,0,0,0,100,0,1000,1000,0,0,11,@SPELL_BLACK_NIGHT_TRANSFORM_2,2,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - Increase Max Health'), +(@NPC_BLACK_KNIGHT*100,9,9,0,0,0,100,0,0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - State Aggresive'), +(@NPC_BLACK_KNIGHT*100,9,10,0,0,0,100,0,1000,1000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - Say text 1'), +(@NPC_BLACK_KNIGHT*100,9,11,0,0,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,15,0,0,0,0,0,0,'Blackknight - On Script - Start Attack'); + +DELETE FROM `creature_text` WHERE `entry`IN (@NPC_BLACK_KNIGHT, @NPC_CAVIN); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextID`) VALUES +(@NPC_BLACK_KNIGHT,0,0,'Get off that horse and fight me man-to-man!',14,0,100,0,0,0,'yell',34169), +(@NPC_BLACK_KNIGHT,1,0,'I will not fail you, master!',14,0,100,0,0,0,'yell',34185), +(@NPC_CAVIN,0,0,'$N challenges the Black Knight to trial by combat!',14,0,100,0,0,0,'yell',33803), +(@NPC_CAVIN,1,0,'Good luck, $N.',12,0,100,0,0,0,'say',33804); + +UPDATE `conditions` SET `ConditionValue2`=1 WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=10383 AND `SourceEntry`=0 AND `ElseGroup`=0 AND `ConditionTypeOrReference`=1 AND `ConditionValue1`=63663; From d0d9a5b8e6cb1660e446096a8a22225d676248c7 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Fri, 13 Feb 2015 07:20:48 +0100 Subject: [PATCH 25/36] DB/Quest: Whispers of the Raven God By Killyana, closes #3234 --- sql/updates/world/2015_02_13_01_world.sql | 66 +++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 sql/updates/world/2015_02_13_01_world.sql diff --git a/sql/updates/world/2015_02_13_01_world.sql b/sql/updates/world/2015_02_13_01_world.sql new file mode 100644 index 00000000000..03b117efc12 --- /dev/null +++ b/sql/updates/world/2015_02_13_01_world.sql @@ -0,0 +1,66 @@ +-- +SET @KC_FIRST_PROPHECY := 22798; +SET @KC_SECOND_PROPHECY := 22799; +SET @KC_THIRD_PROPHECY := 22800; +SET @KC_FOURTH_PROPHECY := 22801; +SET @QUEST_WHISPERS_RAVEN_GOD := 10607; +SET @NPC_VISION_RAVEN_GOD := 21861; +SET @SPELL_UNDERSTANDING_RAVENSPEECH := 37466; +SET @AURA_UNDERSTANDING_RAVENSPEECH := 37642; +SET @Falconwing := 19988; +SET @Harbinger := 19989; +SET @Scorncrow := 19990; + +UPDATE `creature_template` SET `exp`='1', `minlevel`='67', `maxlevel`='67', `unit_flags`='768', `type`='7' WHERE `entry`=@NPC_VISION_RAVEN_GOD; + +DELETE FROM `creature_text` WHERE `entry`=@NPC_VISION_RAVEN_GOD; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextId`) VALUES +(@NPC_VISION_RAVEN_GOD,0,0,'From the darkest night shall rise again the raven, shall take flight in the shadows, shall reveal the nature of its kind. Prepare yourself for its coming, for the faithful shall be elevated to take flight with the raven, the rest be forgotten to walk upon the ground, clipped wings and shame.',15,0,100,0,0,0,'The Voice of the Raven God - The First Prophecy', 19475), +(@NPC_VISION_RAVEN_GOD,1,0,'Steel your minds and guard your thoughts. The dark wings will cloud and consume the minds of the weak, a flock of thralls whose feet may never leave the ground.', 15,0,100,0,0,0,'The Voice of the Raven God - The Second Prophecy', 19476), +(@NPC_VISION_RAVEN_GOD,2,0,'The Old blood will flow once again with the coming of the raven, the return of the darkness in the skies. Scarlet night, and the rise of the old.', 15,0,100,0,0,0,'The Voice of the Raven God - The Third Prophecy', 19477), +(@NPC_VISION_RAVEN_GOD,3,0,'The raven was struck down once for flying too high, unready. The eons have prepared the Dark Watcher for its ascent, to draw the dark cloak across the horizon.', 15,0,100,0,0,0,'The Voice of the Raven God - The Fourth Prophecy', 19478); + +UPDATE creature_template SET AIName="SmartAI" WHERE entry IN (@Falconwing, @Harbinger, @Scorncrow,@NPC_VISION_RAVEN_GOD); +UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry` IN (184950,184967,184968,184969); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Falconwing, @Harbinger, @Scorncrow,@NPC_VISION_RAVEN_GOD) AND `source_type`=0; -- Npcs +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (184950,184967,184968,184969) AND `source_type`=1; -- Gameobjects (totems) +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +-- Npcs a matar para que te den el buff +(@Falconwing,0,0,0,0,0,100,0,2500,5500,10000,11000,11,37587,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0,"Grishna Falconwing - In Combat - Cast Bestial Wrath"), +(@Falconwing,0,1,0,6,0,35,0,0,0,0,0,85,@SPELL_UNDERSTANDING_RAVENSPEECH,2,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,"Grishna Falconwing - On Death - Cast Understanding Ravenspeech"), +(@Harbinger,0,0,0,0,0,100,0,2500,5500,20000,21000,11,37589,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0,"Grishna Harbinger - In Combat - Cast Shriveling Gaze"), +(@Harbinger,0,1,0,0,0,100,0,1000,6000,10000,15000,11,9532,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0,"Grishna Harbinger - In Combat - Cast Lightning Bolt"), +(@Harbinger,0,2,0,6,0,35,0,0,0,0,0,85,@SPELL_UNDERSTANDING_RAVENSPEECH,2,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,"Grishna Harbringer - On Death - Cast Understanding Ravenspeech"), +(@Scorncrow,0,0,0,0,0,100,0,2500,5500,10000,11000,11,35321,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0,"Grishna Scorncrow - In Combat - Cast Gushing Wound"), +(@Scorncrow,0,1,0,6,0,35,0,0,0,0,0,85,@SPELL_UNDERSTANDING_RAVENSPEECH,2,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,"Grishna Scorncrow - On Death - Cast Understanding Ravenspeech"), +-- Vision Of Raven God +(@NPC_VISION_RAVEN_GOD,0,0,1,38,0,100,0,1,1,0,0,33,@KC_FIRST_PROPHECY,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Call Killedmonster"), +(@NPC_VISION_RAVEN_GOD,0,1,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 0"), +(@NPC_VISION_RAVEN_GOD,0,2,3,38,0,100,0,1,2,0,0,33,@KC_SECOND_PROPHECY,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Call Killedmonster"), +(@NPC_VISION_RAVEN_GOD,0,3,0,61,0,100,0,0,0,0,0,1,1,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 1"), +(@NPC_VISION_RAVEN_GOD,0,4,5,38,0,100,0,1,3,0,0,33,@KC_THIRD_PROPHECY ,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Call Killedmonster"), +(@NPC_VISION_RAVEN_GOD,0,5,0,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 2"), +(@NPC_VISION_RAVEN_GOD,0,6,7,38,0,100,0,1,4,0,0,33,@KC_FOURTH_PROPHECY,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Call Killedmonster"), +(@NPC_VISION_RAVEN_GOD,0,7,0,61,0,100,0,0,0,0,0,1,3,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 3"), +-- GOB Totems +(184950,1,0,1,64,0,100,0,0,0,0,0,12,@NPC_VISION_RAVEN_GOD,3,6000,0,0,0,8,0,0,0,3779.987061,6729.603027,180.498413,5.71490,"First Prophecy - On Gossip Hello - Summon Whisper Raven God"), +(184950,1,1,0,61,0,100,0,0,0,0,0,45,1,1,0,0,0,0,11,@NPC_VISION_RAVEN_GOD,20,0,0,0,0,0,"First Prophecy - Link - Set Data 1 to Raven God"), +(184967,1,0,1,64,0,100,0,0,0,0,0,12,@NPC_VISION_RAVEN_GOD,3,6000,0,0,0,8,0,0,0,3629.285889,6542.140137,155.004669,2.56267,"Second Prophecy - On Gossip Hello - Summon Whisper Raven God"), +(184967,1,1,0,61,0,100,0,0,0,0,0,45,1,2,0,0,0,0,11,@NPC_VISION_RAVEN_GOD,20,0,0,0,0,0,"Second Prophecy - Link - Set Data 2 to Raven God"), +(184968,1,0,1,64,0,100,0,0,0,0,0,12,@NPC_VISION_RAVEN_GOD,3,6000,0,0,0,8,0,0,0,3736.950439,6640.749023,133.674530,3.33629,"Third Prophecy - On Gossip Hello - Summon Whisper Raven God"), +(184968,1,1,0,61,0,100,0,0,0,0,0,45,1,3,0,0,0,0,11,@NPC_VISION_RAVEN_GOD,20,0,0,0,0,0,"Third Prophecy - Link - Set Data 3 to Raven God"), +(184969,1,0,1,64,0,100,0,0,0,0,0,12,@NPC_VISION_RAVEN_GOD,3,6000,0,0,0,8,0,0,0,3572.574219,6669.196289,128.455444,5.62290,"Four Prophecy - On Gossip Hello - Summon Whisper Raven God"), +(184969,1,1,0,61,0,100,0,0,0,0,0,45,1,4,0,0,0,0,11,@NPC_VISION_RAVEN_GOD,20,0,0,0,0,0,"Fourth Prophecy - Link - Set Data 4 to Raven God"); + +DELETE FROM `conditions` WHERE `ConditionValue1`=@AURA_UNDERSTANDING_RAVENSPEECH AND `sourcetypeorreferenceid`=22; +DELETE FROM `conditions` WHERE `ConditionValue1`=@NPC_VISION_RAVEN_GOD AND `sourcetypeorreferenceid`=22; +DELETE FROM `conditions` WHERE `SourceEntry`=@NPC_VISION_RAVEN_GOD AND `sourcetypeorreferenceid`=22; +INSERT INTO `conditions` (SourceTypeOrReferenceId,SourceGroup,SourceEntry,SourceId,ElseGroup,ConditionTypeOrReference,ConditionTarget,ConditionValue1,ConditionValue2,ConditionValue3,NegativeCondition,ErrorType,ErrorTextId,ScriptName,`Comment`) VALUES +(22,1,184950,1,0,1 ,0,@AURA_UNDERSTANDING_RAVENSPEECH,0,0,0,0,0,'','GOb First Prophecy - SAI 1, only if player has aura Understanding Ravenspeech'), +(22,1,184950,1,0,29,0,@NPC_VISION_RAVEN_GOD,20,0,1,0,0,'','GOb First Prophecy - SAI 1, only if Raven God is not near'), +(22,1,184967,1,0,1 ,0,@AURA_UNDERSTANDING_RAVENSPEECH,0,0,0,0,0,'','GOb Second Prophecy - SAI 1, only if player has aura Understanding Ravenspeech'), +(22,1,184967,1,0,29,0,@NPC_VISION_RAVEN_GOD,20,0,1,0,0,'','GOb Second Prophecy - SAI 1, only if Raven God is not near'), +(22,1,184968,1,0,1 ,0,@AURA_UNDERSTANDING_RAVENSPEECH,0,0,0,0,0,'','GOb Third Prophecy - SAI 1, only if player has aura Understanding Ravenspeech'), +(22,1,184968,1,0,29,0,@NPC_VISION_RAVEN_GOD,20,0,1,0,0,'','GOb Third Prophecy - SAI 1, only if Raven God is not near'), +(22,1,184969,1,0,1 ,0,@AURA_UNDERSTANDING_RAVENSPEECH,0,0,0,0,0,'','GOb Fourth Prophecy - SAI 1, only if player has aura Understanding Ravenspeech'), +(22,1,184969,1,0,29,0,@NPC_VISION_RAVEN_GOD,20,0,1,0,0,'','GOb Fourth Prophecy - SAI 1, only if Raven God is not near'); From 46280a1bb7dcb8cbf508ec8b334cc1b05103c826 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Fri, 13 Feb 2015 09:00:09 +0100 Subject: [PATCH 26/36] DB/Misc: Startup errors By Rushor & Killyana, updates #13707 --- sql/updates/world/2015_02_13_02_world.sql | 144 ++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 sql/updates/world/2015_02_13_02_world.sql diff --git a/sql/updates/world/2015_02_13_02_world.sql b/sql/updates/world/2015_02_13_02_world.sql new file mode 100644 index 00000000000..1780a238dca --- /dev/null +++ b/sql/updates/world/2015_02_13_02_world.sql @@ -0,0 +1,144 @@ +-- +DELETE FROM `areatrigger_scripts` WHERE `ScriptName` IN ('at_twiggy_flathead','at_madrigosa','at_eye_of_eternity_improvised_floor'); + +UPDATE `gameobject_template` SET `ScriptName`='' WHERE `ScriptName` IN ('go_defias_cannon','go_door_lever_dm','go_kael_orb','go_movie_orb'); + +UPDATE `item_template` SET `ScriptName`='' WHERE `ScriptName`='internalitemhandler'; + +UPDATE `creature_template` SET `ScriptName`='' WHERE `ScriptName` IN ('do_nothing','npc_aran_blizzard','npc_bladespire_ogre','npc_blaze','npc_crystalline_tangler','npc_demon_fire','npc_flame_crash','npc_generic_harpoon_cannon','npc_homunculus','npc_invis_legion_teleporter','npc_magnetic_core','npc_mindless_skeleton','npc_nether_vapor','npc_novos_minion','npc_sliver','npc_thuzadin_acolyte','npc_tracy_proudwell','npc_vereth_the_cunning','npc_void_zone','npc_yauj_brood'); + +DELETE FROM `spell_script_names` WHERE `scriptname` IN ('spell_ex_463', 'spell_ex_5581', 'spell_ex_66244', 'spell_ex_absorb_aura', 'spell_mimiron_flame_suppressant'); + +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=37120 AND `source_type`=0 AND `id`=3 AND `link`=7; + +-- Grand Necrolord Antiok SAI +SET @ENTRY := 28006; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,0,0,100,0,7000,7000,18000,18000,11,32863,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grand Necrolord Antiok - In Combat - Cast 'Seed of Corruption'"), +(@ENTRY,0,1,0,0,0,100,0,1100,1100,20000,20000,11,50455,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grand Necrolord Antiok - In Combat - Cast 'Shadow Bolt'"), +(@ENTRY,0,2,0,1,0,100,0,10000,10000,40000,40000,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grand Necrolord Antiok - Out of Combat - Say Line 1"), +(@ENTRY,0,3,0,2,0,100,1,0,25,0,0,11,50497,1,0,0,0,0,2,0,0,0,0,0,0,0,"Grand Necrolord Antiok - Between 0-25% Health - Cast 'Scream of Chaos' (No Repeat)"), +(@ENTRY,0,4,0,6,0,100,0,0,0,0,0,11,50472,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grand Necrolord Antiok - On Just Died - Cast 'Drop Scythe of Antiok'"), +(@ENTRY,0,5,6,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grand Necrolord Antiok - On Aggro - Say Line 0"), +(@ENTRY,0,6,0,61,0,100,0,0,0,0,0,11,55984,1,0,0,0,0,2,0,0,0,0,0,0,0,"Grand Necrolord Antiok - On Aggro - Cast 'Shadow Bolt'"), +(@ENTRY,0,7,8,4,0,100,0,0,0,0,0,51,0,0,0,0,0,0,19,27996,20,0,0,0,0,0,"Grand Necrolord Antiok - On Aggro - Kill Target"), +(@ENTRY,0,8,0,61,0,100,0,0,0,0,0,28,50494,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grand Necrolord Antiok - On Aggro - Remove Aura 'Shroud of Lightning'"); + +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=27987 AND `source_type`=0 AND `id`=0 AND `link`=1; +UPDATE `smart_scripts` SET `link`=11 WHERE `entryorguid`=27788 AND `source_type`=0 AND `id`=2 AND `link`=12; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=26701 AND `source_type`=0 AND `id`=0 AND `link`=1; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=24035 AND `source_type`=0 AND `id`=0 AND `link`=1; + +-- Ara Technician SAI +SET @ENTRY := 20438; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,1,38,0,100,0,4,4,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Data Set 4 4 - Set Reactstate Defensive"), +(@ENTRY,0,1,0,61,0,100,0,4,4,0,0,87,2043900,2043901,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Data Set 4 4 - Run Random Script"), +(@ENTRY,0,2,0,1,1,100,1,12000,12000,0,0,45,1,1,0,0,0,0,20,184312,0,0,0,0,0,0,"Ara Technician - Out of Combat - Set Data 1 1 (Phase 1) (No Repeat)"), +(@ENTRY,0,3,4,40,0,100,0,1,0,0,0,11,35176,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Waypoint 1 Reached - Cast 'Interrupt Shutdown'"), +(@ENTRY,0,4,0,61,0,100,0,1,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Waypoint 1 Reached - Set Event Phase 1"), +(@ENTRY,0,5,6,4,0,100,0,1,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Aggro - Set Event Phase 0"), +(@ENTRY,0,6,7,61,0,100,0,1,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Aggro - Set Reactstate Aggressive"), +(@ENTRY,0,7,8,61,0,100,0,1,0,0,0,20,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Aggro - Start Attacking"), +(@ENTRY,0,8,0,61,0,100,0,1,0,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Aggro - Enable Combat Movement"), +(@ENTRY,0,9,0,7,0,100,0,0,0,0,0,45,1,1,0,0,0,0,20,184312,0,0,0,0,0,0,"Ara Technician - On Evade - Set Data 1 1"); + +-- Audrid SAI +SET @ENTRY := 18903; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,11,0,100,0,0,0,0,0,53,0,18903,1,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Respawn - Start Waypoint"), +(@ENTRY,0,1,11,40,0,100,0,4,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 4 Reached - Pause Waypoint"), +(@ENTRY,0,2,12,40,0,100,0,9,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 9 Reached - Pause Waypoint"), +(@ENTRY,0,3,13,40,0,100,0,11,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 11 Reached - Pause Waypoint"), +(@ENTRY,0,4,14,40,0,100,0,12,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 12 Reached - Pause Waypoint"), +(@ENTRY,0,5,15,40,0,100,0,13,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 13 Reached - Pause Waypoint"), +(@ENTRY,0,6,16,40,0,100,0,14,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 14 Reached - Pause Waypoint"), +(@ENTRY,0,7,17,40,0,100,0,17,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 17 Reached - Pause Waypoint"), +(@ENTRY,0,8,18,40,0,100,0,22,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 22 Reached - Pause Waypoint"), +(@ENTRY,0,9,19,40,0,100,0,25,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 25 Reached - Pause Waypoint"), +(@ENTRY,0,10,20,40,0,100,0,28,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 28 Reached - Pause Waypoint"), +(@ENTRY,0,11,21,61,0,100,0,4,18903,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 4 Reached - Run Script"), +(@ENTRY,0,12,22,61,0,100,0,9,18903,0,0,80,@ENTRY*100+01,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 9 Reached - Run Script"), +(@ENTRY,0,13,22,61,0,100,0,11,18903,0,0,80,@ENTRY*100+02,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 11 Reached - Run Script"), +(@ENTRY,0,14,23,61,0,100,0,12,18903,0,0,80,@ENTRY*100+03,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 12 Reached - Run Script"), +(@ENTRY,0,15,21,61,0,100,0,13,18903,0,0,80,@ENTRY*100+04,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 13 Reached - Run Script"), +(@ENTRY,0,16,24,61,0,100,0,14,18903,0,0,80,@ENTRY*100+05,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 14 Reached - Run Script"), +(@ENTRY,0,17,22,61,0,100,0,17,18903,0,0,80,@ENTRY*100+06,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 17 Reached - Run Script"), +(@ENTRY,0,18,21,61,0,100,0,22,18903,0,0,80,@ENTRY*100+07,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 22 Reached - Run Script"), +(@ENTRY,0,19,21,61,0,100,0,25,18903,0,0,80,@ENTRY*100+08,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 25 Reached - Run Script"), +(@ENTRY,0,20,21,61,0,100,0,28,18903,0,0,80,@ENTRY*100+09,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 28 Reached - Run Script"), +(@ENTRY,0,21,0,61,0,100,0,4,18903,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.5,"Audrid - On Waypoint 4 Reached - Set Orientation 1,5"), +(@ENTRY,0,22,0,61,0,100,0,9,18903,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,3,"Audrid - On Waypoint 9 Reached - Set Orientation 3"), +(@ENTRY,0,23,0,61,0,100,0,12,18903,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,4.5,"Audrid - On Waypoint 12 Reached - Set Orientation 4,5"), +(@ENTRY,0,24,0,61,0,100,0,14,18903,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,6,"Audrid - On Waypoint 14 Reached - Set Orientation 6"); + +UPDATE `smart_scripts` SET `event_type`=61 WHERE `entryorguid`=26670 AND `source_type`=0 AND `id`=19 AND `link`=20; +UPDATE `smart_scripts` SET `link`=20 WHERE `entryorguid`=17892 AND `source_type`=0 AND `id`=19 AND `link`=0; +UPDATE `smart_scripts` SET `link`=7 WHERE `entryorguid`=17892 AND `source_type`=0 AND `id`=6 AND `link`=0; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=37952 AND `source_type`=0 AND `id`=1 AND `link`=2; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=26787 AND `source_type`=0 AND `id`=0 AND `link`=1; + +-- Mad Voidwalker SAI +SET @ENTRY := 15146; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,11,0,100,0,0,0,0,0,89,10,0,0,0,0,0,1,0,0,0,0,0,0,0,"Mad Voidwalker - On Respawn - Start Random Movement"), +(@ENTRY,0,1,0,0,0,100,2,7000,9000,11000,13000,11,24614,0,0,0,0,0,2,0,0,0,0,0,0,0,"Mad Voidwalker - In Combat - Cast 'Consuming Shadows' (Normal Dungeon)"), +(@ENTRY,0,2,0,0,0,100,2,3000,4000,8000,8000,11,24616,0,0,0,0,0,2,0,0,0,0,0,0,0,"Mad Voidwalker - In Combat - Cast 'Shadow Shock' (Normal Dungeon)"), +(@ENTRY,0,3,0,1,0,100,0,0,0,0,0,41,180000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Mad Voidwalker - Out of Combat - Despawn In 180000 ms"); + +UPDATE `smart_scripts` SET `link`=9 WHERE `entryorguid`=12236 AND `source_type`=0 AND `id`=8 AND `link`=0; +UPDATE `smart_scripts` SET `link`=9 WHERE `entryorguid`=13196 AND `source_type`=0 AND `id`=8 AND `link`=0; + +-- Scarlet Curate SAI +SET @ENTRY := 9450; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,9,0,100,0,0,40,3400,4800,11,25054,64,0,0,0,0,2,0,0,0,0,0,0,0,"Scarlet Curate - Within 0-40 Range - Cast 'Holy Smite'"), +(@ENTRY,0,1,0,15,0,100,1,0,0,30,0,11,17201,1,0,0,0,0,7,0,0,0,0,0,0,0,"Scarlet Curate - On Friendly Crowd Controlled - Cast 'Dispel Magic' (No Repeat)"), +(@ENTRY,0,2,0,74,0,100,0,0,40,25000,35000,11,17201,1,0,0,0,0,9,0,0,0,0,0,0,0,"Scarlet Curate - On Friendly Between 0-40% Health - Cast 'Dispel Magic'"), +(@ENTRY,0,3,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scarlet Curate - Between 0-15% Health - Flee For Assist (No Repeat)"); + +UPDATE `smart_scripts` SET `link`=25 WHERE `entryorguid`=4880 AND `source_type`=0 AND `id`=24 AND `link`=26; +UPDATE `smart_scripts` SET `link`=22, `event_type`=61 WHERE `entryorguid`=4880 AND `source_type`=0 AND `id`=21 AND `link`=0; +UPDATE `smart_scripts` SET `link`=16 WHERE `entryorguid`=31279 AND `source_type`=0 AND `id`=15 AND `link`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=1535 AND `source_type`=0 AND `id`=0 AND `link`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=2719 AND `source_type`=0 AND `id`=0 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=4484 AND `source_type`=0 AND `id`=24 AND `link`=25; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=13601 AND `source_type`=0 AND `id`=2 AND `link`=0; + +-- Short John Mithril SAI +SET @ENTRY := 14508; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,68,0,100,0,16,0,0,0,53,0,14508,0,0,0,0,1,0,0,0,0,0,0,0,"Short John Mithril - On Game Event 16 Started - Start Waypoint"), +(@ENTRY,0,1,0,40,0,100,0,1,14508,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Short John Mithril - On Waypoint 1 Reached - Say Line 0"), +(@ENTRY,0,2,3,40,0,100,0,16,14508,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Short John Mithril - On Waypoint 16 Reached - Say Line 1"), +(@ENTRY,0,3,0,61,0,100,0,16,14508,0,0,11,23176,0,0,0,0,0,1,0,0,0,0,0,0,0,"Short John Mithril - On Waypoint 16 Reached - Cast 'Summon Pirate Booty (DND)'"), +(@ENTRY,0,4,0,40,0,100,0,33,14508,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,4.41568,"Short John Mithril - On Waypoint 33 Reached - Set Orientation 4,41568"); + +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=15324 AND `source_type`=0 AND `id`=3 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=15526 AND `source_type`=0 AND `id`=2 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=17397 AND `source_type`=0 AND `id`=0 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=18554 AND `source_type`=0 AND `id`=9 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=18554 AND `source_type`=0 AND `id`=13 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=18554 AND `source_type`=0 AND `id`=14 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=18938 AND `source_type`=0 AND `id`=2 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5 WHERE `entryorguid`=19354 AND `source_type`=0 AND `id`=4 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=23669 AND `source_type`=0 AND `id`=3 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=24198 AND `source_type`=0 AND `id`=3 AND `link`=4; +UPDATE `smart_scripts` SET `action_type`=11, `action_param1`=55036 WHERE `entryorguid`=29903 AND `source_type`=0 AND `id`=6 AND `link`=7; +UPDATE `smart_scripts` SET `action_type`=11, `action_param1`=58190 WHERE `entryorguid`=30894 AND `source_type`=0 AND `id`=2 AND `link`=3; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=30945 AND `source_type`=0 AND `id`=9 AND `link`=0; + +UPDATE `creature_template_addon` SET`auras`="" WHERE`entry` IN (26608, 31306); -- vehicle auras appear only when the npc ride a vehicle or when he's mounted +UPDATE `creature_template` SET `npcflag`=16777216 WHERE `entry`=35427; From f060b8f6b82f74f21a7e7d1812bc94336ebadb52 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Fri, 13 Feb 2015 12:48:26 +0100 Subject: [PATCH 27/36] DB/Quest: Root samples By Rushor, closes #14137 --- sql/updates/world/2015_02_13_03_world.sql | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 sql/updates/world/2015_02_13_03_world.sql diff --git a/sql/updates/world/2015_02_13_03_world.sql b/sql/updates/world/2015_02_13_03_world.sql new file mode 100644 index 00000000000..0b0548c3f78 --- /dev/null +++ b/sql/updates/world/2015_02_13_03_world.sql @@ -0,0 +1,12 @@ +DELETE FROM `gameobject_loot_template` WHERE `entry`IN (1414,1415,1417,1418,1419,1420,1421,1733,1734,2513) AND `item`=5056; +INSERT INTO `gameobject_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES +(1414, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1415, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1417, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1418, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1419, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1420, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1421, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1733, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1734, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(2513, 5056, 0, 100, 1, 1, 0, 1, 1, NULL); From f7e2fe766d372e6d69e4b8025b495d2ce282dd34 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Fri, 13 Feb 2015 13:15:08 +0100 Subject: [PATCH 28/36] DB/Misc: Fix 3 startup errors Updates #13707 --- sql/updates/world/2015_02_13_04_world.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 sql/updates/world/2015_02_13_04_world.sql diff --git a/sql/updates/world/2015_02_13_04_world.sql b/sql/updates/world/2015_02_13_04_world.sql new file mode 100644 index 00000000000..96db7cbf845 --- /dev/null +++ b/sql/updates/world/2015_02_13_04_world.sql @@ -0,0 +1,4 @@ +-- +UPDATE `smart_scripts` SET `target_o`=0 WHERE `entryorguid`=177490 AND `source_type`=1 AND `id`=0; +UPDATE `smart_scripts` SET `target_o`=0 WHERE `entryorguid`=177490 AND `source_type`=1 AND `id`=2; +UPDATE `smart_scripts` SET `target_o`=0 WHERE `entryorguid`=2749200 AND `source_type`=9 AND `id`=5; From ee049b908ff8eb10b1a79032611e126d2e72acb8 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Fri, 13 Feb 2015 13:53:54 +0100 Subject: [PATCH 29/36] DB/Creature: Kyle - Move Corescript to SAI By Rushor and Kilyana --- sql/updates/world/2015_02_13_05_world.sql | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 sql/updates/world/2015_02_13_05_world.sql diff --git a/sql/updates/world/2015_02_13_05_world.sql b/sql/updates/world/2015_02_13_05_world.sql new file mode 100644 index 00000000000..ca9b648d5eb --- /dev/null +++ b/sql/updates/world/2015_02_13_05_world.sql @@ -0,0 +1,74 @@ +-- +UPDATE `creature_template` SET `ScriptName`='' WHERE `entry`=23616; +UPDATE `creature` SET `MovementType`=0 WHERE `guid`=24762; +DELETE FROM `creature_addon` WHERE `guid`=24762; +DELETE FROM `waypoint_data` WHERE `id`=247620; +DELETE FROM `waypoints` WHERE `entry`=23616; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(23616, 1, -2454.94, -482.136, -8.97948, 'Kyle'), +(23616, 2, -2445.34, -476.395, -8.92086, 'Kyle'), +(23616, 3, -2433.79, -468.785, -9.20522, 'Kyle'), +(23616, 4, -2422.01, -460.858, -9.1759, 'Kyle'), +(23616, 5, -2407.47, -451.07, -8.70993, 'Kyle'), +(23616, 6, -2395.98, -443.42, -8.42222, 'Kyle'), +(23616, 7, -2383.8, -436.212, -8.78844, 'Kyle'), +(23616, 8, -2367.83, -425.967, -9.38671, 'Kyle'), +(23616, 9, -2355.15, -413.835, -9.75652, 'Kyle'), +(23616, 10, -2345.39, -403.032, -8.87064, 'Kyle'), +(23616, 11, -2338.73, -387.213, -7.97681, 'Kyle'), +(23616, 12, -2330.27, -374.08, -8.37519, 'Kyle'), +(23616, 13, -2314.64, -365.663, -9.41672, 'Kyle'), +(23616, 14, -2295.45, -360.874, -9.42468, 'Kyle'), +(23616, 15, -2279.85, -357.148, -9.42468, 'Kyle'), +(23616, 16, -2263.83, -363.376, -9.42468, 'Kyle'), +(23616, 17, -2248.52, -370.238, -9.42468, 'Kyle'), +(23616, 18, -2226.43, -386.156, -9.42468, 'Kyle'), +(23616, 19, -2232.14, -416.578, -9.42205, 'Kyle'), +(23616, 20, -2247.29, -439.615, -9.42475, 'Kyle'), +(23616, 21, -2252.91, -448.416, -9.09973, 'Kyle'), +(23616, 22, -2257.71, -455.921, -8.15442, 'Kyle'), +(23616, 23, -2271.66, -475.713, -7.80418, 'Kyle'), +(23616, 24, -2293.85, -483.264, -7.86093, 'Kyle'), +(23616, 25, -2302.71, -490.694, -7.92982, 'Kyle'), +(23616, 26, -2306.74, -494.585, -8.44247, 'Kyle'), +(23616, 27, -2324.17, -516.494, -9.32393, 'Kyle'), +(23616, 28, -2340.11, -535.209, -9.2326, 'Kyle'), +(23616, 29, -2357.69, -538.25, -9.158, 'Kyle'), +(23616, 30, -2372.68, -528.41, -9.15687, 'Kyle'), +(23616, 31, -2391.28, -518.477, -8.4459, 'Kyle'), +(23616, 32, -2404.81, -514.866, -7.4283, 'Kyle'), +(23616, 33, -2418.06, -510.431, -6.09458, 'Kyle'), +(23616, 34, -2431.22, -505.672, -6.06301, 'Kyle'), +(23616, 35, -2443.9, -499.738, -7.60161, 'Kyle'), +(23616, 36, -2462.4, -488.247, -9.27003, 'Kyle'); + +SET @ENTRY := 23616; +SET @Friendly:= 23622; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`IN (@ENTRY, @Friendly); +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Friendly AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Friendly*100 AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,25,0,100,0,0,0,0,0,53,1,23616,1,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Frenzied - On Reset - Start Waypoint"), +(@ENTRY,0,1,2,8,0,100,0,42222,0,55000,55000,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Kyle the Frenzied - On Spellhit 'Lunch for Kyle' - Store Targetlist"), +(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Frenzied - On Spellhit 'Lunch for Kyle' - Run Script"); + +-- Actionlist SAI +SET @ENTRY := 2361600; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,54,55000,0,0,0,0,0,1,186265,50,0,0,0,0,0,"Kyle the Frenzied - On Script - Pause Waypoint"), +(@ENTRY,9,1,0,0,0,100,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Frenzied - On Script - Say Line 0 (No Repeat)"), +(@ENTRY,9,2,0,0,0,100,0,0,0,0,0,17,393,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Frenzied - On Script - Set Emote State 393"), +(@ENTRY,9,3,0,0,0,100,0,5000,5000,0,0,69,0,0,0,0,0,0,20,186265,50,0,0,0,0,0,"Kyle the Frenzied - On Script - Move To Closest Gameobject 'Kyle's Lunch'"), +(@ENTRY,9,4,0,0,0,100,0,3000,3000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Frenzied - On Script - Say Line 1"), +(@ENTRY,9,5,0,0,0,100,0,0,0,0,0,17,69,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Frenzied - On Script - Set Emote State 69"), +(@ENTRY,9,6,0,0,0,100,0,4000,4000,0,0,12,@Friendly,8,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Summon Kyle the Friendly"), +(@ENTRY,9,7,0,0,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Despawn"), + +(@Friendly,0,0,0,25,0,100,0,0,0,0,0,80,@Friendly*100,2,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Friendly - On Reset - Run Script"), +(@Friendly*100,9,0,0,0,0,100,0,5000,5000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Friendly - On Script - Say Line 2"), +(@Friendly*100,9,1,0,0,0,100,0,0,0,0,0,17,400,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Friendly - On Script - Set Emote State 400"), +(@Friendly*100,9,2,0,0,0,100,0,0,0,0,0,33,23616,0,0,0,0,0,21,10,0,0,0,0,0,0,"Kyle the Friendly - On Script - Quest Credit 'Kyle's Gone Missing!'"), +(@Friendly*100,9,3,0,0,0,100,0,30000,30000,0,0,70,0,0,0,0,0,0,10,24762,23616,0,0,0,0,0,"Kyle the Friendly - On Script - respawn Kyle the Frenzied"), +(@Friendly*100,9,4,0,0,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Friendly -On Script - Despawn"); From c21a6004787548c4c21d4ba30d67ad29924356e0 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Fri, 13 Feb 2015 13:54:45 +0100 Subject: [PATCH 30/36] Delete zone_mulgore.cpp --- src/server/scripts/Kalimdor/zone_mulgore.cpp | 178 ------------------- 1 file changed, 178 deletions(-) delete mode 100644 src/server/scripts/Kalimdor/zone_mulgore.cpp diff --git a/src/server/scripts/Kalimdor/zone_mulgore.cpp b/src/server/scripts/Kalimdor/zone_mulgore.cpp deleted file mode 100644 index c13082f31c1..00000000000 --- a/src/server/scripts/Kalimdor/zone_mulgore.cpp +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Copyright (C) 2008-2015 TrinityCore - * Copyright (C) 2006-2009 ScriptDev2 - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -/* ScriptData -SDName: Mulgore -SD%Complete: 100 -SDComment: Support for quest: 11129, 772 -SDCategory: Mulgore -EndScriptData */ - -/* ContentData -npc_kyle_frenzied -EndContentData */ - -#include "ScriptMgr.h" -#include "ScriptedCreature.h" -#include "ScriptedGossip.h" -#include "Player.h" -#include "SpellInfo.h" - -/*##### -# npc_kyle_frenzied -######*/ - -enum KyleFrenzied -{ - EMOTE_SEE_LUNCH = 0, - EMOTE_EAT_LUNCH = 1, - EMOTE_DANCE = 2, - - SPELL_LUNCH = 42222, - NPC_KYLE_FRENZIED = 23616, - NPC_KYLE_FRIENDLY = 23622, - POINT_ID = 1 -}; - -class npc_kyle_frenzied : public CreatureScript -{ -public: - npc_kyle_frenzied() : CreatureScript("npc_kyle_frenzied") { } - - CreatureAI* GetAI(Creature* creature) const override - { - return new npc_kyle_frenziedAI(creature); - } - - struct npc_kyle_frenziedAI : public ScriptedAI - { - npc_kyle_frenziedAI(Creature* creature) : ScriptedAI(creature) - { - Initialize(); - } - - void Initialize() - { - EventActive = false; - IsMovingToLunch = false; - PlayerGUID.Clear(); - EventTimer = 5000; - EventPhase = 0; - } - - bool EventActive; - bool IsMovingToLunch; - ObjectGuid PlayerGUID; - uint32 EventTimer; - uint8 EventPhase; - - void Reset() override - { - Initialize(); - - if (me->GetEntry() == NPC_KYLE_FRIENDLY) - me->UpdateEntry(NPC_KYLE_FRENZIED); - } - - void SpellHit(Unit* Caster, SpellInfo const* Spell) override - { - if (!me->GetVictim() && !EventActive && Spell->Id == SPELL_LUNCH) - { - if (Caster->GetTypeId() == TYPEID_PLAYER) - PlayerGUID = Caster->GetGUID(); - - if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == WAYPOINT_MOTION_TYPE) - { - me->GetMotionMaster()->MovementExpired(); - me->GetMotionMaster()->MoveIdle(); - me->StopMoving(); - } - - EventActive = true; - Talk(EMOTE_SEE_LUNCH); - me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_CREATURE_SPECIAL); - } - } - - void MovementInform(uint32 Type, uint32 PointId) override - { - if (Type != POINT_MOTION_TYPE || !EventActive) - return; - - if (PointId == POINT_ID) - IsMovingToLunch = false; - } - - void UpdateAI(uint32 diff) override - { - if (EventActive) - { - if (IsMovingToLunch) - return; - - if (EventTimer <= diff) - { - EventTimer = 5000; - ++EventPhase; - - switch (EventPhase) - { - case 1: - if (Unit* unit = ObjectAccessor::GetUnit(*me, PlayerGUID)) - { - if (GameObject* go = unit->GetGameObject(SPELL_LUNCH)) - { - IsMovingToLunch = true; - me->GetMotionMaster()->MovePoint(POINT_ID, go->GetPositionX(), go->GetPositionY(), go->GetPositionZ()); - } - } - break; - case 2: - Talk(EMOTE_EAT_LUNCH); - me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USE_STANDING); - break; - case 3: - if (Player* unit = ObjectAccessor::GetPlayer(*me, PlayerGUID)) - unit->TalkedToCreature(me->GetEntry(), me->GetGUID()); - - me->UpdateEntry(NPC_KYLE_FRIENDLY); - break; - case 4: - EventTimer = 30000; - Talk(EMOTE_DANCE); - me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_DANCESPECIAL); - break; - case 5: - me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_NONE); - Reset(); - me->GetMotionMaster()->Clear(); - break; - } - } - else - EventTimer -= diff; - } - } - }; - -}; - -void AddSC_mulgore() -{ - new npc_kyle_frenzied(); -} From 87f40a5ad322e7fff42d88a4289c292da6f8d756 Mon Sep 17 00:00:00 2001 From: Rushor Date: Fri, 13 Feb 2015 14:04:19 +0100 Subject: [PATCH 31/36] Scripts/Kalimdor: Remove Mulgorescripts --- src/server/game/Scripting/ScriptLoader.cpp | 2 -- src/server/scripts/Kalimdor/CMakeLists.txt | 1 - 2 files changed, 3 deletions(-) diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp index 025184ff6ef..7b4e272b3c1 100644 --- a/src/server/game/Scripting/ScriptLoader.cpp +++ b/src/server/game/Scripting/ScriptLoader.cpp @@ -356,7 +356,6 @@ void AddSC_dustwallow_marsh(); void AddSC_felwood(); void AddSC_feralas(); void AddSC_moonglade(); -void AddSC_mulgore(); void AddSC_orgrimmar(); void AddSC_silithus(); void AddSC_stonetalon_mountains(); @@ -1061,7 +1060,6 @@ void AddKalimdorScripts() AddSC_felwood(); AddSC_feralas(); AddSC_moonglade(); - AddSC_mulgore(); AddSC_orgrimmar(); AddSC_silithus(); AddSC_stonetalon_mountains(); diff --git a/src/server/scripts/Kalimdor/CMakeLists.txt b/src/server/scripts/Kalimdor/CMakeLists.txt index 9a68973b8d1..ce8d0cfbcfd 100644 --- a/src/server/scripts/Kalimdor/CMakeLists.txt +++ b/src/server/scripts/Kalimdor/CMakeLists.txt @@ -92,7 +92,6 @@ set(scripts_STAT_SRCS Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp Kalimdor/RuinsOfAhnQiraj/ruins_of_ahnqiraj.h Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp - Kalimdor/zone_mulgore.cpp Kalimdor/zone_bloodmyst_isle.cpp Kalimdor/zone_thunder_bluff.cpp Kalimdor/zone_azshara.cpp From ed08fcbaa7feaec829116836dc25581d38f9a106 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Fri, 13 Feb 2015 16:47:12 +0100 Subject: [PATCH 32/36] DB/Misc: Fix startup errors By Kilyana, updates #13707 --- sql/updates/world/2015_02_13_06_world.sql | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 sql/updates/world/2015_02_13_06_world.sql diff --git a/sql/updates/world/2015_02_13_06_world.sql b/sql/updates/world/2015_02_13_06_world.sql new file mode 100644 index 00000000000..8cc87843ad1 --- /dev/null +++ b/sql/updates/world/2015_02_13_06_world.sql @@ -0,0 +1,24 @@ +-- +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=34935; +INSERT INTO `npc_spellclick_spells` (`npc_entry`,`spell_id`,`cast_flags`,`user_type`) VALUES +(34935,43671,1,0); -- Horde Gunship Cannon - Ride Vehicle + +SET @NPC_VISION_RAVEN_GOD := 21861; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_VISION_RAVEN_GOD) AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@NPC_VISION_RAVEN_GOD,0,0,1,38,0,100,0,1,1,0,0,11,39426,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Cast credit"), +(@NPC_VISION_RAVEN_GOD,0,1,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 0"), +(@NPC_VISION_RAVEN_GOD,0,2,3,38,0,100,0,1,2,0,0,11,39428,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Cast credit"), +(@NPC_VISION_RAVEN_GOD,0,3,0,61,0,100,0,0,0,0,0,1,1,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 1"), +(@NPC_VISION_RAVEN_GOD,0,4,5,38,0,100,0,1,3,0,0,11,39430,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Cast credit"), +(@NPC_VISION_RAVEN_GOD,0,5,0,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 2"), +(@NPC_VISION_RAVEN_GOD,0,6,7,38,0,100,0,1,4,0,0,11,39431,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Cast credit"), +(@NPC_VISION_RAVEN_GOD,0,7,0,61,0,100,0,0,0,0,0,1,3,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 3"); + +SET @ENTRY := 24290; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,8,0,100,0,43404,0,0,0,11,43419,0,0,0,0,0,7,0,0,0,0,0,0,0,"New Agamand Plague Tank Bunny - On Spellhit 'Mission: Plague This!: Orehammer's Precision Bombs Dummy' - Quest Credit 'Mission: Plague This!'"); + +UPDATE `smart_scripts` SET `action_param1`=25068 WHERE `entryorguid`=24999 AND `source_type`=0 AND `id`=2 AND `link`=0; From 4132285ad3e6a257fb730006a973c4ee3666ad1b Mon Sep 17 00:00:00 2001 From: Aokromes Date: Fri, 13 Feb 2015 16:54:41 +0100 Subject: [PATCH 33/36] DB/Creature: Zuluhed the Whacked By Kilyana, closes #10039 --- sql/updates/world/2015_02_13_07_world.sql | 34 +++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 sql/updates/world/2015_02_13_07_world.sql diff --git a/sql/updates/world/2015_02_13_07_world.sql b/sql/updates/world/2015_02_13_07_world.sql new file mode 100644 index 00000000000..a46884162f4 --- /dev/null +++ b/sql/updates/world/2015_02_13_07_world.sql @@ -0,0 +1,34 @@ +-- +SET @Zuluhed := 11980; +SET @Portal := 22336; +SET @Arcubus := 22338; +SET @Infusion := 38853; +SET @SummonPortal := 38876; +SET @Rain := 19717; +SET @SummonArcubus := 38877; + +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (@Zuluhed, @Portal, @Arcubus); + +DELETE FROM `creature_text` WHERE `entry`=@Zuluhed; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextId`) VALUES +(@Zuluhed,0,0,'Indeed, the time has come to end this charade.',14,0,100,0,0,0,'Zuluhed the Whacked', 20128), +(@Zuluhed,1,0,'Destroy them! Destroy them all!', 14,0,100,0,0,0,'Zuluhed the Whacked', 20129), +(@Zuluhed,2,0,'Foolish mortals. Did you think that I would not strike you down for your transgressions?', 14,0,100,0,0,0,'Zuluhed the Whacked', 20127), +(@Zuluhed,3,0,'Lord Illidan, bless me with the power of the flight!', 14,0,100,0,0,0,'Zuluhed the Whacked', 20126); + +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Zuluhed, @Portal, @Arcubus) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Zuluhed*100, @Zuluhed*100+1, @Portal*100) AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@Zuluhed,0,0,0,54,0,100,0,0,0,0,0,80,@Zuluhed*100,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,"Zuluhed the Whacked - Just Summoned - action list"), +(@Zuluhed*100,9,0,0,0,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,"Zuluhed the Whacked - action list - text"), +(@Zuluhed*100,9,1,0,0,0,100,0,5000,5000,0,0,1,0,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,"Zuluhed the Whacked - action list - text"), +(@Zuluhed*100,9,2,0,0,0,100,0,4000,4000,0,0,1,1,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,"Zuluhed the Whacked - action list - text"), +(@Zuluhed,0,1,0,0,0,100,0,12000,12000,12000,12000,11,@Rain,0,0,0,0,0,5,0,0,0,0.0,0.0,0.0,0.0,"Zuluhed the Whacked - IC - Cast rain"), +(@Zuluhed,0,2,0,0,0,100,0,30000,30000,60000,60000,11,@SummonPortal,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,"Zuluhed the Whacked - IC - Summon portal"), +(@Zuluhed,0,3,0,2,0,100,1,0,25,0,0,80,@Zuluhed*100+1,2,0,0,0,0,1,0,0,0,0,0,0,0,'Zuluhed the Whacked - On 25% health - ActionList'), +(@Zuluhed*100+1,9,0,0,0,0,100,0,0,0,0,0,11,@Infusion,0,0,0,0,0,1,0,0,0,0,0,0,0,'Zuluhed the Whacked - ActionList - Cast Infusion'), +(@Zuluhed*100+1,9,1,0,0,0,100,0,0,0,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'Zuluhed the Whacked - ActionList - Text'), +(@Arcubus,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,10,0,0,0.0,0.0,0.0,0.0,"Zuluhed the Whacked - Just Summoned - Attack player on 10 yards"), +(@Portal,0,0,0,54,0,100,1,0,0,0,0,80,@Portal*100,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,"Portal - Just Summoned - action list"), +(@Portal*100,9,0,0,0,0,100,0,0,0,0,0,103,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Portal - ActionList - SET_ROOT'), +(@Portal*100,9,1,0,0,0,100,0,15000,15000,0,0,11,@SummonArcubus,0,0,0,0,0,1,0,0,0,0,0,0,0,'Portal - ActionList - Cast SummonArcubus'); From 5ead00b9fceefbd616b296e43f9fb95cc8b6db9b Mon Sep 17 00:00:00 2001 From: Aokromes Date: Fri, 13 Feb 2015 19:13:54 +0100 Subject: [PATCH 34/36] DB/Misc: Fix startup errors By Kilyana, updates #13707 --- sql/updates/world/2015_02_13_08_world.sql | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 sql/updates/world/2015_02_13_08_world.sql diff --git a/sql/updates/world/2015_02_13_08_world.sql b/sql/updates/world/2015_02_13_08_world.sql new file mode 100644 index 00000000000..7043a9cdff8 --- /dev/null +++ b/sql/updates/world/2015_02_13_08_world.sql @@ -0,0 +1,15 @@ +-- +UPDATE `smart_scripts` SET `action_param1`=25068 WHERE `entryorguid`=25002 AND `source_type`=0 AND `id`=0 AND `link`=0; + +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=35427; +INSERT INTO `npc_spellclick_spells` (`npc_entry`,`spell_id`,`cast_flags`,`user_type`) VALUES +(35427,43671,1,0); + +UPDATE `smart_scripts` SET `action_type`=11, `action_param1`=38162 WHERE `entryorguid`=19937 AND `source_type`=0 AND `id` IN (1, 3, 12); +UPDATE `smart_scripts` SET `action_type`=11, `action_param1`=70606 WHERE `entryorguid`=37826 AND `source_type`=0 AND `id` = 0; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=25359 AND `source_type`=0 AND `id`=1; +UPDATE `smart_scripts` SET `link`=6 WHERE `entryorguid`=25335 AND `source_type`=0 AND `id`=5; +UPDATE `smart_scripts` SET `link`=10 WHERE `entryorguid`=25335 AND `source_type`=0 AND `id`=9; +UPDATE `smart_scripts` SET `event_type`=61, `link`=0 WHERE `entryorguid`=4880 AND `source_type`=0 AND `id`=21; +UPDATE `smart_scripts` SET `event_param1`=0 WHERE `entryorguid`=4880 AND `source_type`=0 AND `id`=23; +UPDATE `smart_scripts` SET `link`=16 WHERE `entryorguid`=28122 AND `source_type`=0 AND `id`=15; From 6dfc35d13c7a6c85ae3a12a6751203869d5e8279 Mon Sep 17 00:00:00 2001 From: joschiwald Date: Fri, 13 Feb 2015 21:15:30 +0100 Subject: [PATCH 35/36] Scripts/FoS: improved bronjahm encounter, thanks @Grimton1337, @tkrokli Closes #14130 --- sql/updates/world/2015_02_13_09_world.sql | 3 + .../ForgeOfSouls/boss_bronjahm.cpp | 182 +++++++++--------- .../ForgeOfSouls/boss_devourer_of_souls.cpp | 22 +-- .../FrozenHalls/ForgeOfSouls/forge_of_souls.h | 52 ++--- .../ForgeOfSouls/instance_forge_of_souls.cpp | 15 +- 5 files changed, 127 insertions(+), 147 deletions(-) create mode 100644 sql/updates/world/2015_02_13_09_world.sql diff --git a/sql/updates/world/2015_02_13_09_world.sql b/sql/updates/world/2015_02_13_09_world.sql new file mode 100644 index 00000000000..7ed85568830 --- /dev/null +++ b/sql/updates/world/2015_02_13_09_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` = 12752 AND `type` = 11; +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`, `ScriptName`) VALUES +(12752, 11, 0, 0, 'achievement_bronjahm_soul_power'); diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp index 9797ace2f8d..0b829c2c6dd 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp @@ -27,7 +27,7 @@ enum Yells SAY_SLAY = 1, SAY_DEATH = 2, SAY_SOUL_STORM = 3, - SAY_CORRUPT_SOUL = 4, + SAY_CORRUPT_SOUL = 4 }; enum Spells @@ -39,9 +39,9 @@ enum Spells SPELL_TELEPORT = 68988, SPELL_FEAR = 68950, SPELL_SOULSTORM = 68872, - SPELL_SOULSTORM_CHANNEL = 69008, // pre-fight - SPELL_SOULSTORM_VISUAL = 68870, // pre-cast soulstorm - SPELL_PURPLE_BANISH_VISUAL = 68862 // Used by Soul Fragment (Aura) + SPELL_SOULSTORM_CHANNEL = 69008, // Pre-fight + SPELL_SOULSTORM_VISUAL = 68870, // Pre-cast Soulstorm + SPELL_PURPLE_BANISH_VISUAL = 68862 // Used by Soul Fragment (Aura) }; enum Events @@ -50,7 +50,7 @@ enum Events EVENT_SHADOW_BOLT = 2, EVENT_CORRUPT_SOUL = 3, EVENT_SOULSTORM = 4, - EVENT_FEAR = 5, + EVENT_FEAR = 5 }; enum CombatPhases @@ -59,6 +59,11 @@ enum CombatPhases PHASE_2 = 2 }; +enum Misc +{ + DATA_SOUL_POWER = 1 +}; + class boss_bronjahm : public CreatureScript { public: @@ -73,33 +78,30 @@ class boss_bronjahm : public CreatureScript void Reset() override { - events.Reset(); + _Reset(); events.SetPhase(PHASE_1); events.ScheduleEvent(EVENT_SHADOW_BOLT, 2000); events.ScheduleEvent(EVENT_MAGIC_BANE, urand(8000, 20000)); events.ScheduleEvent(EVENT_CORRUPT_SOUL, urand(25000, 35000), 0, PHASE_1); - - instance->SetBossState(DATA_BRONJAHM, NOT_STARTED); } void JustReachedHome() override { + _JustReachedHome(); DoCast(me, SPELL_SOULSTORM_CHANNEL, true); } void EnterCombat(Unit* /*who*/) override { + _EnterCombat(); Talk(SAY_AGGRO); me->RemoveAurasDueToSpell(SPELL_SOULSTORM_CHANNEL); - - instance->SetBossState(DATA_BRONJAHM, IN_PROGRESS); } void JustDied(Unit* /*killer*/) override { + _JustDied(); Talk(SAY_DEATH); - - instance->SetBossState(DATA_BRONJAHM, DONE); } void KilledUnit(Unit* who) override @@ -128,6 +130,23 @@ class boss_bronjahm : public CreatureScript summon->CastSpell(summon, SPELL_PURPLE_BANISH_VISUAL, true); } + uint32 GetData(uint32 type) const override + { + if (type == DATA_SOUL_POWER) + { + uint32 count = 0; + for (ObjectGuid const& guid : summons) + { + if (Creature* summon = ObjectAccessor::GetCreature(*me, guid)) + if (summon->GetEntry() == NPC_CORRUPTED_SOUL_FRAGMENT && summon->IsAlive()) + ++count; + } + return count; + } + + return 0; + } + void UpdateAI(uint32 diff) override { if (!UpdateVictim()) @@ -143,13 +162,21 @@ class boss_bronjahm : public CreatureScript switch (eventId) { case EVENT_MAGIC_BANE: - DoCastVictim(SPELL_MAGIC_S_BANE); + DoCastAOE(SPELL_MAGIC_S_BANE); events.ScheduleEvent(EVENT_MAGIC_BANE, urand(8000, 20000)); break; case EVENT_SHADOW_BOLT: - if (!me->IsWithinMeleeRange(me->GetVictim())) + if (events.IsInPhase(PHASE_2)) + { DoCastVictim(SPELL_SHADOW_BOLT); - events.ScheduleEvent(EVENT_SHADOW_BOLT, 2000); + events.ScheduleEvent(EVENT_SHADOW_BOLT, urand(1, 2) * IN_MILLISECONDS); + } + else + { + if (!me->IsWithinMeleeRange(me->GetVictim())) + DoCastVictim(SPELL_SHADOW_BOLT); + events.ScheduleEvent(EVENT_SHADOW_BOLT, 2 * IN_MILLISECONDS); + } break; case EVENT_CORRUPT_SOUL: if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true)) @@ -165,8 +192,7 @@ class boss_bronjahm : public CreatureScript me->CastSpell(me, SPELL_SOULSTORM, false); break; case EVENT_FEAR: - if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true)) - me->CastCustomSpell(SPELL_FEAR, SPELLVALUE_MAX_TARGETS, 1, target, false); + me->CastCustomSpell(SPELL_FEAR, SPELLVALUE_MAX_TARGETS, 1, nullptr, false); events.ScheduleEvent(EVENT_FEAR, urand(8000, 12000), 0, PHASE_2); break; default: @@ -174,7 +200,8 @@ class boss_bronjahm : public CreatureScript } } - DoMeleeAttackIfReady(); + if (!events.IsInPhase(PHASE_2)) + DoMeleeAttackIfReady(); } }; @@ -201,17 +228,11 @@ class npc_corrupted_soul_fragment : public CreatureScript if (type != CHASE_MOTION_TYPE) return; - if (TempSummon* summ = me->ToTempSummon()) - { - ObjectGuid BronjahmGUID(instance->GetGuidData(DATA_BRONJAHM)); - if (BronjahmGUID.GetCounter() != id) - return; + if (instance->GetGuidData(DATA_BRONJAHM).GetCounter() != id) + return; - if (Creature* bronjahm = ObjectAccessor::GetCreature(*me, BronjahmGUID)) - me->CastSpell(bronjahm, SPELL_CONSUME_SOUL, true); - - summ->UnSummon(); - } + me->CastSpell((Unit*)nullptr, SPELL_CONSUME_SOUL, true); + me->DespawnOrUnsummon(); } private: @@ -220,7 +241,7 @@ class npc_corrupted_soul_fragment : public CreatureScript CreatureAI* GetAI(Creature* creature) const override { - return GetInstanceAI(creature); + return GetInstanceAI(creature, FoSScriptName); } }; @@ -238,12 +259,10 @@ class spell_bronjahm_magic_bane : public SpellScriptLoader if (GetHitUnit()->getPowerType() != POWER_MANA) return; - const int32 maxDamage = GetCaster()->GetMap()->GetSpawnMode() == 1 ? 15000 : 10000; - int32 newDamage = GetHitDamage(); - newDamage += GetHitUnit()->GetMaxPower(POWER_MANA)/2; - newDamage = std::min(maxDamage, newDamage); + int32 const maxDamage = GetCaster()->GetMap()->IsHeroic() ? 15000 : 10000; + int32 newDamage = GetHitDamage() + (GetHitUnit()->GetMaxPower(POWER_MANA) / 2); - SetHitDamage(newDamage); + SetHitDamage(std::min(maxDamage, newDamage)); } void Register() override @@ -261,7 +280,7 @@ class spell_bronjahm_magic_bane : public SpellScriptLoader class spell_bronjahm_consume_soul : public SpellScriptLoader { public: - spell_bronjahm_consume_soul() : SpellScriptLoader("spell_bronjahm_consume_soul") { } + spell_bronjahm_consume_soul() : SpellScriptLoader("spell_bronjahm_consume_soul") { } class spell_bronjahm_consume_soul_SpellScript : public SpellScript { @@ -285,38 +304,22 @@ class spell_bronjahm_consume_soul : public SpellScriptLoader } }; -class spell_bronjahm_soulstorm_channel : public SpellScriptLoader +static uint32 const SoulstormVisualSpells[] = { - public: - spell_bronjahm_soulstorm_channel() : SpellScriptLoader("spell_bronjahm_soulstorm_channel") { } - - class spell_bronjahm_soulstorm_channel_AuraScript : public AuraScript - { - PrepareAuraScript(spell_bronjahm_soulstorm_channel_AuraScript); - - void HandlePeriodicTick(AuraEffect const* /*aurEff*/) - { - PreventDefaultAction(); - for (uint32 i = 68904; i <= 68907; ++i) - GetTarget()->CastSpell(GetTarget(), i, true); - } - - void Register() override - { - OnEffectPeriodic += AuraEffectPeriodicFn(spell_bronjahm_soulstorm_channel_AuraScript::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY); - } - }; - - AuraScript* GetAuraScript() const override - { - return new spell_bronjahm_soulstorm_channel_AuraScript(); - } + 68904, + 68886, + 68905, + 68896, + 68906, + 68897, + 68907, + 68898 }; class spell_bronjahm_soulstorm_visual : public SpellScriptLoader { public: - spell_bronjahm_soulstorm_visual() : SpellScriptLoader("spell_bronjahm_soulstorm_visual") { } + spell_bronjahm_soulstorm_visual(char const* scriptName) : SpellScriptLoader(scriptName) { } class spell_bronjahm_soulstorm_visual_AuraScript : public AuraScript { @@ -325,11 +328,7 @@ class spell_bronjahm_soulstorm_visual : public SpellScriptLoader void HandlePeriodicTick(AuraEffect const* aurEff) { PreventDefaultAction(); - if (aurEff->GetTickNumber()%5) - return; - GetTarget()->CastSpell(GetTarget(), 68886, true); - for (uint32 i = 68896; i <= 68898; ++i) - GetTarget()->CastSpell(GetTarget(), i, true); + GetTarget()->CastSpell(GetTarget(), SoulstormVisualSpells[aurEff->GetTickNumber() % 8], true); } void Register() override @@ -344,21 +343,6 @@ class spell_bronjahm_soulstorm_visual : public SpellScriptLoader } }; -class DistanceCheck -{ - public: - explicit DistanceCheck(Unit* _caster) : caster(_caster) { } - - bool operator() (WorldObject* unit) const - { - if (caster->GetExactDist2d(unit) <= 10.0f) - return true; - return false; - } - - Unit* caster; -}; - class spell_bronjahm_soulstorm_targeting : public SpellScriptLoader { public: @@ -368,25 +352,19 @@ class spell_bronjahm_soulstorm_targeting : public SpellScriptLoader { PrepareSpellScript(spell_bronjahm_soulstorm_targeting_SpellScript); - void FilterTargetsInitial(std::list& targets) + void FilterTargets(std::list& targets) { - targets.remove_if(DistanceCheck(GetCaster())); - sharedTargets = targets; - } - - // use the same target for first and second effect - void FilterTargetsSubsequent(std::list& targets) - { - targets = sharedTargets; + Unit* caster = GetCaster(); + targets.remove_if([caster](WorldObject* target) + { + return caster->GetExactDist2d(target) <= 10.0f; + }); } void Register() override { - OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_bronjahm_soulstorm_targeting_SpellScript::FilterTargetsInitial, EFFECT_1, TARGET_UNIT_DEST_AREA_ENEMY); - OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_bronjahm_soulstorm_targeting_SpellScript::FilterTargetsSubsequent, EFFECT_2, TARGET_UNIT_DEST_AREA_ENEMY); + OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_bronjahm_soulstorm_targeting_SpellScript::FilterTargets, EFFECT_ALL, TARGET_UNIT_DEST_AREA_ENEMY); } - - std::list sharedTargets; }; SpellScript* GetSpellScript() const override @@ -395,13 +373,25 @@ class spell_bronjahm_soulstorm_targeting : public SpellScriptLoader } }; +class achievement_bronjahm_soul_power : public AchievementCriteriaScript +{ + public: + achievement_bronjahm_soul_power() : AchievementCriteriaScript("achievement_bronjahm_soul_power") { } + + bool OnCheck(Player* /*source*/, Unit* target) override + { + return target && target->GetAI()->GetData(DATA_SOUL_POWER) >= 4; + } +}; + void AddSC_boss_bronjahm() { new boss_bronjahm(); new npc_corrupted_soul_fragment(); new spell_bronjahm_magic_bane(); new spell_bronjahm_consume_soul(); - new spell_bronjahm_soulstorm_channel(); - new spell_bronjahm_soulstorm_visual(); + new spell_bronjahm_soulstorm_visual("spell_bronjahm_soulstorm_channel"); + new spell_bronjahm_soulstorm_visual("spell_bronjahm_soulstorm_visual"); new spell_bronjahm_soulstorm_targeting(); + new achievement_bronjahm_soul_power(); } diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp index 2f1d4943019..d5f00757039 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp @@ -128,7 +128,7 @@ class boss_devourer_of_souls : public CreatureScript struct boss_devourer_of_soulsAI : public BossAI { - boss_devourer_of_soulsAI(Creature* creature) : BossAI(creature, DATA_DEVOURER_EVENT) + boss_devourer_of_soulsAI(Creature* creature) : BossAI(creature, DATA_DEVOURER_OF_SOULS) { Initialize(); beamAngle = 0.f; @@ -143,20 +143,17 @@ class boss_devourer_of_souls : public CreatureScript void Reset() override { + _Reset(); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE); me->SetDisplayId(DISPLAY_ANGER); me->SetReactState(REACT_AGGRESSIVE); - events.Reset(); - summons.DespawnAll(); - Initialize(); - - instance->SetData(DATA_DEVOURER_EVENT, NOT_STARTED); } void EnterCombat(Unit* /*who*/) override { + _EnterCombat(); Talk(SAY_FACE_AGGRO); if (!me->FindNearestCreature(NPC_CRUCIBLE_OF_SOULS, 60)) // Prevent double spawn @@ -166,8 +163,6 @@ class boss_devourer_of_souls : public CreatureScript events.ScheduleEvent(EVENT_WELL_OF_SOULS, 30000); events.ScheduleEvent(EVENT_UNLEASHED_SOULS, 20000); events.ScheduleEvent(EVENT_WAILING_SOULS, urand(60000, 70000)); - - instance->SetData(DATA_DEVOURER_EVENT, IN_PROGRESS); } void KilledUnit(Unit* victim) override @@ -175,7 +170,7 @@ class boss_devourer_of_souls : public CreatureScript if (victim->GetTypeId() != TYPEID_PLAYER) return; - int32 textId = 0; + uint8 textId = 0; switch (me->GetDisplayId()) { case DISPLAY_ANGER: @@ -197,14 +192,12 @@ class boss_devourer_of_souls : public CreatureScript void JustDied(Unit* /*killer*/) override { - summons.DespawnAll(); + _JustDied(); Position spawnPoint = {5618.139f, 2451.873f, 705.854f, 0}; Talk(SAY_FACE_DEATH); - instance->SetData(DATA_DEVOURER_EVENT, DONE); - int32 entryIndex; if (instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE) entryIndex = 0; @@ -402,11 +395,6 @@ class spell_devourer_of_souls_mirrored_soul_proc : public SpellScriptLoader return true; } - bool Load() override - { - return true; - } - bool CheckProc(ProcEventInfo& /*eventInfo*/) { return GetCaster() && GetCaster()->IsAlive(); diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h index 054e5d5a7bd..ddbc117e7fd 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h @@ -15,38 +15,44 @@ * with this program. If not, see . */ -#ifndef DEF_FORGE_OF_SOULS_H -#define DEF_FORGE_OF_SOULS_H +#ifndef FORGE_OF_SOULS_H_ +#define FORGE_OF_SOULS_H_ #define FoSScriptName "instance_forge_of_souls" #define DataHeader "FOS" +uint32 const EncounterCount = 2; + enum Data { - DATA_BRONJAHM = 0, - DATA_DEVOURER = 1, - DATA_DEVOURER_EVENT = 2, - DATA_TEAM_IN_INSTANCE = 3, + // Encounter states and GUIDs + DATA_BRONJAHM = 0, + DATA_DEVOURER_OF_SOULS = 1, + + // Additional Data + DATA_TEAM_IN_INSTANCE = 2 }; enum Creatures { - CREATURE_BRONJAHM = 36497, - CREATURE_DEVOURER = 36502, + NPC_BRONJAHM = 36497, + NPC_DEVOURER = 36502, + NPC_CORRUPTED_SOUL_FRAGMENT = 36535, - NPC_SYLVANAS_PART1 = 37596, - NPC_SYLVANAS_PART2 = 38161, - NPC_JAINA_PART1 = 37597, - NPC_JAINA_PART2 = 38160, - NPC_KALIRA = 37583, - NPC_ELANDRA = 37774, - NPC_LORALEN = 37779, - NPC_KORELN = 37582, - NPC_CHAMPION_1_HORDE = 37584, - NPC_CHAMPION_2_HORDE = 37587, - NPC_CHAMPION_3_HORDE = 37588, - NPC_CHAMPION_1_ALLIANCE = 37496, - NPC_CHAMPION_2_ALLIANCE = 37497, - NPC_CRUCIBLE_OF_SOULS = 37094, + NPC_SYLVANAS_PART1 = 37596, + NPC_SYLVANAS_PART2 = 38161, + NPC_JAINA_PART1 = 37597, + NPC_JAINA_PART2 = 38160, + NPC_KALIRA = 37583, + NPC_ELANDRA = 37774, + NPC_LORALEN = 37779, + NPC_KORELN = 37582, + NPC_CHAMPION_1_HORDE = 37584, + NPC_CHAMPION_2_HORDE = 37587, + NPC_CHAMPION_3_HORDE = 37588, + NPC_CHAMPION_1_ALLIANCE = 37496, + NPC_CHAMPION_2_ALLIANCE = 37497, + NPC_CRUCIBLE_OF_SOULS = 37094 }; -#endif + +#endif // FORGE_OF_SOULS_H_ diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp index 8b586ea7fc2..db7628ebada 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp @@ -20,13 +20,6 @@ #include "forge_of_souls.h" #include "Player.h" -#define MAX_ENCOUNTER 2 - -/* Forge of Souls encounters: -0- Bronjahm, The Godfather of Souls -1- The Devourer of Souls -*/ - class instance_forge_of_souls : public InstanceMapScript { public: @@ -37,7 +30,7 @@ class instance_forge_of_souls : public InstanceMapScript instance_forge_of_souls_InstanceScript(Map* map) : InstanceScript(map) { SetHeaders(DataHeader); - SetBossNumber(MAX_ENCOUNTER); + SetBossNumber(EncounterCount); teamInInstance = 0; } @@ -60,10 +53,10 @@ class instance_forge_of_souls : public InstanceMapScript switch (creature->GetEntry()) { - case CREATURE_BRONJAHM: + case NPC_BRONJAHM: bronjahm = creature->GetGUID(); break; - case CREATURE_DEVOURER: + case NPC_DEVOURER: devourerOfSouls = creature->GetGUID(); break; case NPC_SYLVANAS_PART1: @@ -100,7 +93,7 @@ class instance_forge_of_souls : public InstanceMapScript { case DATA_BRONJAHM: return bronjahm; - case DATA_DEVOURER: + case DATA_DEVOURER_OF_SOULS: return devourerOfSouls; default: break; From ca60ae6d199339a4d83857d040d97f474116cc16 Mon Sep 17 00:00:00 2001 From: Rushor Date: Fri, 13 Feb 2015 21:58:29 +0100 Subject: [PATCH 36/36] Scripts/ZulAman: Enable Script for Gazakroth *removes one more startuperror from #13707 --- .../EasternKingdoms/ZulAman/boss_hexlord.cpp | 85 ++++++++++--------- 1 file changed, 44 insertions(+), 41 deletions(-) diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp index 01ac3920082..1a98c081570 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp @@ -689,54 +689,57 @@ class boss_alyson_antille : public CreatureScript } }; -struct boss_gazakrothAI : public boss_hexlord_addAI +class boss_gazakroth : public CreatureScript { - boss_gazakrothAI(Creature* creature) : boss_hexlord_addAI(creature) - { - Initialize(); - } + public: - void Initialize() - { - firebolt_timer = 2000; - } - - uint32 firebolt_timer; - - void Reset() override - { - Initialize(); - boss_hexlord_addAI::Reset(); - } - - void AttackStart(Unit* who) override - { - if (!who) - return; - - if (who->isTargetableForAttack()) + boss_gazakroth() : CreatureScript("boss_gazakroth") { } + + struct boss_gazakrothAI : public boss_hexlord_addAI { - if (me->Attack(who, false)) + boss_gazakrothAI(Creature* creature) : boss_hexlord_addAI(creature) { - me->GetMotionMaster()->MoveChase(who, 20); - me->AddThreat(who, 0.0f); + Initialize(); } - } - } - void UpdateAI(uint32 diff) override - { - if (!UpdateVictim()) - return; + void Initialize() + { + firebolt_timer = 2 * IN_MILLISECONDS; + } + + void Reset() override + { + Initialize(); + boss_hexlord_addAI::Reset(); + } - if (firebolt_timer <= diff) + void AttackStart(Unit* who) override + { + AttackStartCaster(who, 20.0f); + } + + void UpdateAI(uint32 diff) override + { + if (!UpdateVictim()) + return; + + if (firebolt_timer <= diff) + { + DoCastVictim(SPELL_FIREBOLT, false); + firebolt_timer = 0.7 * IN_MILLISECONDS; + } else firebolt_timer -= diff; + + boss_hexlord_addAI::UpdateAI(diff); + } + + private: + uint32 firebolt_timer; + }; + + CreatureAI* GetAI(Creature* creature) const override { - DoCastVictim(SPELL_FIREBOLT, false); - firebolt_timer = 700; - } else firebolt_timer -= diff; - - boss_hexlord_addAI::UpdateAI(diff); - } + return GetInstanceAI(creature); + } }; class boss_lord_raadan : public CreatureScript @@ -1062,7 +1065,7 @@ void AddSC_boss_hex_lord_malacrass() { new boss_hexlord_malacrass(); new boss_thurg(); - // new boss_gazakroth(); + new boss_gazakroth(); new boss_lord_raadan(); new boss_darkheart(); new boss_slither();