From 6080234e98cbff62e4f508116a4ebbaa8f4516ad Mon Sep 17 00:00:00 2001 From: Rushor Date: Fri, 6 Feb 2015 21:17:04 +0100 Subject: [PATCH 01/54] Scripts/Grizzlyhills: Spell: Infected Worgen Bite - Apply Spellscript and Transformation closes #12165 --- sql/updates/world/2015_02_06_14_world.sql | 9 +++++ .../scripts/Northrend/zone_grizzly_hills.cpp | 39 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 sql/updates/world/2015_02_06_14_world.sql diff --git a/sql/updates/world/2015_02_06_14_world.sql b/sql/updates/world/2015_02_06_14_world.sql new file mode 100644 index 00000000000..29dd214f262 --- /dev/null +++ b/sql/updates/world/2015_02_06_14_world.sql @@ -0,0 +1,9 @@ +-- assign spellscript for Spell: 'Infected Worgen Bite' + +DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=53095; +INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES +(53095,-53094,2,'Infected Worgen Bite - Worgen\'s Call Immunity'); + +DELETE FROM `spell_script_names` WHERE `spell_id`=53094; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(53094,'spell_infected_worgen_bite'); diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp index dad71ab0c24..15fa6d836cd 100644 --- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp +++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp @@ -816,6 +816,44 @@ class spell_shredder_delivery : public SpellScriptLoader } }; +enum InfectedWorgenBite +{ + SPELL_INFECTED_WORGEN_BITE = 53094, + SPELL_WORGENS_CALL = 53095 +}; + +class spell_infected_worgen_bite : public SpellScriptLoader +{ + public: + spell_infected_worgen_bite() : SpellScriptLoader("spell_infected_worgen_bite") { } + + class spell_infected_worgen_bite_AuraScript : public AuraScript + { + PrepareAuraScript(spell_infected_worgen_bite_AuraScript); + + void HandleAfterEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) + { + Unit* target = GetTarget(); + if (target->GetTypeId() == TYPEID_PLAYER) + if (GetStackAmount() == GetSpellInfo()->StackAmount) + { + Remove(); + target->CastSpell(target, SPELL_WORGENS_CALL, true); + } + } + + void Register() override + { + AfterEffectApply += AuraEffectApplyFn(spell_infected_worgen_bite_AuraScript::HandleAfterEffectApply, EFFECT_1, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAPPLY); + } + }; + + AuraScript* GetAuraScript() const override + { + return new spell_infected_worgen_bite_AuraScript(); + } +}; + void AddSC_grizzly_hills() { new npc_emily(); @@ -827,4 +865,5 @@ void AddSC_grizzly_hills() new npc_venture_co_straggler(); new npc_lake_frog(); new spell_shredder_delivery(); + new spell_infected_worgen_bite(); } From f1101b145bab9ce24f39802c2f554d7f9d695dbd Mon Sep 17 00:00:00 2001 From: Rushor Date: Sat, 14 Feb 2015 13:37:41 +0100 Subject: [PATCH 02/54] Scripts/Bloodmyst Isle: Script Quest: Ending Their World closes #1815 * Add missing Waypoint * Improve Aggrobehaviour * Add BroascasttextIDs * Update to current GUID-Handling Original Patch by @trickerer --- sql/updates/world/2015_02_15_14149.sql | 121 +++ .../scripts/Kalimdor/zone_bloodmyst_isle.cpp | 718 ++++++++++++++++++ 2 files changed, 839 insertions(+) create mode 100644 sql/updates/world/2015_02_15_14149.sql diff --git a/sql/updates/world/2015_02_15_14149.sql b/sql/updates/world/2015_02_15_14149.sql new file mode 100644 index 00000000000..afd0d99691a --- /dev/null +++ b/sql/updates/world/2015_02_15_14149.sql @@ -0,0 +1,121 @@ +-- +SET @ADMETIUS := 17658; +SET @LEGOSO := 17982; +SET @SIRONAS := 17678; +SET @TESLA := 17979; + +-- Sironas +-- Equips +DELETE FROM `creature_equip_template` WHERE `entry`=@SIRONAS; +INSERT INTO `creature_equip_template` (`entry`, `id`, `itemEntry1`) VALUES +(@SIRONAS, 1, 2244); + +-- Spells & scriptname +UPDATE `creature_template` SET `spell1`=10966, `spell2`=12742, `spell3`=8282, `spell4`=0, `ScriptName`='npc_sironas' WHERE `entry`=@SIRONAS; +-- Text +DELETE FROM `creature_text` WHERE `entry`=@SIRONAS; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `probability`, `comment`, `BroadcastTextId`) VALUES +(@SIRONAS, 0, 0, 'Petulant children, pray to your gods for you are about to meet them!', 14, 100, 'Sironas SAY_SIRONAS_1 (pre aggro)',14666); + +-- Tesla targets +-- Disable movement +UPDATE `creature` SET `spawndist`=0, `MovementType`=0 WHERE `Id`=@TESLA; +-- Position fix +UPDATE `creature` SET `position_x`=-1964.13, `position_y`=-10538.7, `position_z`=198.928 WHERE `Id`=@TESLA AND `guid`=63627; +UPDATE `creature` SET `position_x`=-1926.01, `position_y`=-10577.4, `position_z`=194.301 WHERE `Id`=@TESLA AND `guid`=63628; +UPDATE `creature` SET `position_x`=-1921.15, `position_y`=-10583.0, `position_z`=213.888 WHERE `Id`=@TESLA AND `guid`=63629; +UPDATE `creature` SET `position_x`=-1886.11, `position_y`=-10534.5, `position_z`=199.901 WHERE `Id`=@TESLA AND `guid`=63630; + +-- Bloodmyst Tesla target condition +DELETE FROM `conditions` WHERE `SourceEntry`=31611; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`) VALUES +(13, 1, 31611, 0, 0, 31, 0, 3, @SIRONAS, 0); + +-- Legoso +-- Scriptname +UPDATE `creature_template` SET `ScriptName`='npc_demolitionist_legoso' WHERE `entry`=@LEGOSO; +-- Respawn time (this npc respawns very quickly, http://www.wowhead.com/npc=@LEGOSO#comments:id=752881:reply=111200) +UPDATE `creature` SET `spawntimesecs`=30 WHERE `id`=@LEGOSO; + +-- Text +DELETE FROM `creature_text` WHERE `entry`=@LEGOSO; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `probability`, `emote`, `comment`, `BroadcastTextId`) VALUES +(@LEGOSO, 0, 0, 'There''s no turning back now. Stay close and watch my back.', 12, 100, 1, 'npc_demolitionist_legoso SAY_LEGOSO_1',14648), +(@LEGOSO, 1, 0, 'There it is! Do you see where the large red crystal is jutting out from the Vector Coil? That''s where I need to plant the first set of explosives.', 12, 100, 25, 'npc_demolitionist_legoso SAY_LEGOSO_2',14649), +(@LEGOSO, 2, 0, 'Cover me!', 12, 100, 5, 'npc_demolitionist_legoso SAY_LEGOSO_3',14650), +(@LEGOSO, 3, 0, 'It won''t be much longer. Just keep them off me while I work.', 12, 100, 69, 'npc_demolitionist_legoso SAY_LEGOSO_4',14651), +(@LEGOSO, 4, 0, 'That''ll do it! Quickly, take cover!', 12, 100, 5, 'npc_demolitionist_legoso SAY_LEGOSO_5',14652), +(@LEGOSO, 5, 0, '3...', 12, 100, 0, 'npc_demolitionist_legoso SAY_LEGOSO_6',14653), +(@LEGOSO, 6, 0, '2...', 12, 100, 0, 'npc_demolitionist_legoso SAY_LEGOSO_7',14654), +(@LEGOSO, 7, 0, '1...', 12, 100, 0, 'npc_demolitionist_legoso SAY_LEGOSO_8',14655), +(@LEGOSO, 8, 0, 'Don''t get too excited, hero, that was the easy part. The challenge lies ahead! Let''s go.', 12, 100, 1, 'npc_demolitionist_legoso SAY_LEGOSO_9',14656), +(@LEGOSO, 9, 0, 'What in the Nether is that?!?!', 12, 100, 5, 'npc_demolitionist_legoso SAY_LEGOSO_10',14657), +(@LEGOSO, 10, 0, 'Be ready for anything.', 12, 100, 1, 'npc_demolitionist_legoso SAY_LEGOSO_11',14658), +(@LEGOSO, 11, 0, 'Blessed Light! She''s siphoning energy right out of the Vector Coil!', 12, 100, 53, 'npc_demolitionist_legoso SAY_LEGOSO_12',14659), +(@LEGOSO, 12, 0, 'Cover me, we have to do this quickly. Once I blow the support on this side, it will disrupt the energy beams and she''ll break out! I doubt very much that she''ll be happy to see us.', 12, 100, 1, 'npc_demolitionist_legoso SAY_LEGOSO_13',14660), +(@LEGOSO, 13, 0, 'I''ve almost got it! Just a little more time...', 12, 100, 0, 'npc_demolitionist_legoso SAY_LEGOSO_14',14661), +(@LEGOSO, 14, 0, 'Take cover and be ready for the fight of your life!', 12, 100, 5, 'npc_demolitionist_legoso SAY_LEGOSO_15',14662), +(@LEGOSO, 15, 0, '3...', 12, 100, 0, 'npc_demolitionist_legoso SAY_LEGOSO_16',14653), +(@LEGOSO, 16, 0, '2...', 12, 100, 0, 'npc_demolitionist_legoso SAY_LEGOSO_17',14654), +(@LEGOSO, 17, 0, '1...', 12, 100, 0, 'npc_demolitionist_legoso SAY_LEGOSO_18',14655), +(@LEGOSO, 18, 0, 'Holy mother of O''ros!', 12, 100, 5, 'npc_demolitionist_legoso SAY_LEGOSO_19',14663), +(@LEGOSO, 19, 0, 'I... I can''t believe it''s over. You did it! You''ve destoyed the blood elves and their leader!', 12, 100, 1, 'npc_demolitionist_legoso SAY_LEGOSO_20',14664), +(@LEGOSO, 20, 0, 'Get back to Blood Watch. I''ll see you there...', 12, 100, 1, 'npc_demolitionist_legoso SAY_LEGOSO_21',14665); + +-- Waypoints +DELETE FROM `script_waypoint` WHERE `entry`=@LEGOSO; +INSERT INTO `script_waypoint` (`entry`, `pointid`, `location_x`, `location_y`, `location_z`, `waittime`, `point_comment`) VALUES +(@LEGOSO, 1, -1773.64, -11073.9, 76.8923, 0, 'Legoso'), +(@LEGOSO, 2, -1784.13, -11051.1, 77.2078, 0, 'Legoso'), +(@LEGOSO, 3, -1793.02, -11047.5, 77.1118, 0, 'Legoso'), +(@LEGOSO, 4, -1792.87, -11036.8, 76.2142, 0, 'Legoso'), +(@LEGOSO, 5, -1804.07, -11023.6, 69.8951, 0, 'Legoso'), +(@LEGOSO, 6, -1826.2, -11003.5, 67.3465, 0, 'Legoso'), +(@LEGOSO, 7, -1855, -10992.3, 64.5101, 0, 'Legoso'), +(@LEGOSO, 8, -1888.95, -10966.4, 61.1596, 0, 'Legoso'), +(@LEGOSO, 9, -1913.87, -10935.6, 61.4501, 0, 'Legoso'), +(@LEGOSO, 10, -1927.65, -10907.8, 62.7226, 0, 'Legoso'), +(@LEGOSO, 11, -1932.9, -10868.6, 66.2437, 0, 'Legoso'), +(@LEGOSO, 12, -1940.75, -10853.8, 69.1475, 0, 'Legoso'), +(@LEGOSO, 13, -1934.66, -10821.3, 80.0018, 0, 'Legoso'), +(@LEGOSO, 14, -1940.5, -10807.7, 84.7886, 0, 'Legoso'), +(@LEGOSO, 15, -1966.12, -10791.9, 88.6942, 0, 'Legoso'), +(@LEGOSO, 16, -1977.82, -10778.2, 89.1746, 0, 'Legoso'), +(@LEGOSO, 17, -1980.04, -10757.3, 91.1206, 0, 'Legoso'), +(@LEGOSO, 18, -1959.13, -10739.6, 98.335, 0, 'Legoso'), +(@LEGOSO, 19, -1947.52, -10721.8, 108.46, 0, 'Legoso'), +(@LEGOSO, 20, -1947.04, -10711.1, 111.313, 0, 'Legoso'), +(@LEGOSO, 21, -1953.05, -10682.2, 110.582, 0, 'Legoso'), +(@LEGOSO, 22, -1955.6, -10669.8, 110.65, 0, 'Legoso'), +(@LEGOSO, 23, -1967.13, -10677.3, 111.37, 0, 'Legoso'), +(@LEGOSO, 24, -1987.29, -10701.7, 116.038, 0, 'Legoso'), +(@LEGOSO, 25, -2008.1, -10664.8, 120.99, 0, 'Legoso'), +(@LEGOSO, 26, -2021.77, -10648.8, 129.903, 0, 'Legoso'), +(@LEGOSO, 27, -2022.39, -10647.7, 130.624, 0, 'Legoso'), +(@LEGOSO, 28, -2039.34, -10632.7, 143, 0, 'Legoso'), +(@LEGOSO, 29, -2041.41, -10624.6, 145.187, 0, 'Legoso'), +(@LEGOSO, 30, -2036.49, -10617.1, 146.52, 0, 'Legoso'), +(@LEGOSO, 31, -2026.12, -10606.9, 150.263, 0, 'Legoso'), +(@LEGOSO, 32, -1993, -10613.7, 161.852, 0, 'Legoso'), +(@LEGOSO, 33, -1970.41, -10616.8, 163.838, 0, 'Legoso'), +(@LEGOSO, 34, -1953.78, -10590.9, 170.538, 0, 'Legoso'), +(@LEGOSO, 35, -1942.51, -10577.7, 175.276, 0, 'Legoso'), +(@LEGOSO, 36, -1937.517090, -10575.675781, 176.253082, 0, 'Legoso'), +(@LEGOSO, 37, -1926.401733, -10577.000977, 177.240952, 0, 'Legoso'), +(@LEGOSO, 38, -1920.892212, -10575.630859, 177.493637, 0, 'Legoso'), +(@LEGOSO, 39, -1913.378662, -10575, 178.044113, 0, 'Legoso'), +(@LEGOSO, 40, -1951.17, -10555, 177.33, 0, 'Legoso'), +(@LEGOSO, 41, -1946.9, -10557.8, 177.7, 0, 'Legoso'); + +-- Exarch Admetius +-- Text +DELETE FROM `creature_text` WHERE `entry`=@ADMETIUS; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `probability`, `emote`, `comment`, `BroadcastTextId`) VALUES +(@ADMETIUS, 0, 0, 'All hail $N, savior of Azuremyst and Bloodmyst. Hero of the Hand of Argus, champion of the draenei people!', 14, 100, 22, 'Exarch Admetius q9759 OnRewarded',14691); + +-- Exarch Admetius SAI +SET @ENTRY := 17658; +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,20,0,100,1,9759,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Exarch Admetius - On Quest 'Ending Their World' Finished - Say Line 0 (No Repeat)"); diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp index 390fd3e529f..82dabd2dd68 100644 --- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp @@ -27,6 +27,8 @@ EndScriptData */ npc_webbed_creature EndContentData */ +#include "Group.h" +#include "ScriptedEscortAI.h" #include "ScriptMgr.h" #include "ScriptedCreature.h" #include "Player.h" @@ -83,7 +85,723 @@ public: } }; +/*###### +## Quest 9759: Ending Their World +######*/ + +enum EndingTheirWorldMisc +{ + SAY_SIRONAS_1 = 0, + + SAY_LEGOSO_1 = 0, + SAY_LEGOSO_2 = 1, + SAY_LEGOSO_3 = 2, + SAY_LEGOSO_4 = 3, + SAY_LEGOSO_5 = 4, + SAY_LEGOSO_6 = 5, + SAY_LEGOSO_7 = 6, + SAY_LEGOSO_8 = 7, + SAY_LEGOSO_9 = 8, + SAY_LEGOSO_10 = 9, + SAY_LEGOSO_11 = 10, + SAY_LEGOSO_12 = 11, + SAY_LEGOSO_13 = 12, + SAY_LEGOSO_14 = 13, + SAY_LEGOSO_15 = 14, + SAY_LEGOSO_16 = 15, + SAY_LEGOSO_17 = 16, + SAY_LEGOSO_18 = 17, + SAY_LEGOSO_19 = 18, + SAY_LEGOSO_20 = 19, + SAY_LEGOSO_21 = 20, + + SPELL_BLOODMYST_TESLA = 31611, + SPELL_SIRONAS_CHANNELING = 31612, + + SPELL_UPPERCUT = 10966, + SPELL_IMMOLATE = 12742, + SPELL_CURSE_OF_BLOOD = 8282, + + SPELL_FROST_SHOCK = 8056, + SPELL_HEALING_SURGE = 8004, + SPELL_SEARING_TOTEM = 38116, + SPELL_STRENGTH_OF_EARTH_TOTEM = 31633, + + NPC_SIRONAS = 17678, + NPC_BLOODMYST_TESLA_COIL = 17979, + NPC_LEGOSO = 17982, + + GO_DRAENEI_EXPLOSIVES_1 = 182088, + GO_DRAENEI_EXPLOSIVES_2 = 182091, + GO_FIRE_EXPLOSION = 182071, + + ACTION_SIRONAS_CHANNEL_START = 1, + ACTION_SIRONAS_CHANNEL_STOP = 2, + + ACTION_LEGOSO_SIRONAS_KILLED = 1, + + EVENT_UPPERCUT = 1, + EVENT_IMMOLATE = 2, + EVENT_CURSE_OF_BLOOD = 3, + + EVENT_FROST_SHOCK = 1, + EVENT_HEALING_SURGE = 2, + EVENT_SEARING_TOTEM = 3, + EVENT_STRENGTH_OF_EARTH_TOTEM = 4, + + WP_START = 1, + WP_EXPLOSIVES_FIRST_POINT = 21, + WP_EXPLOSIVES_FIRST_PLANT = 22, + WP_EXPLOSIVES_FIRST_RUNOFF = 23, + WP_EXPLOSIVES_FIRST_DETONATE = 24, + WP_DEBUG_1 = 25, + WP_DEBUG_2 = 26, + WP_SIRONAS_HILL = 33, + WP_EXPLOSIVES_SECOND_BATTLEROAR = 35, + WP_EXPLOSIVES_SECOND_PLANT = 39, + WP_EXPLOSIVES_SECOND_DETONATE = 40, + + PHASE_NONE = 0, + PHASE_CONTINUE = -1, + PHASE_WP_26 = 1, + PHASE_WP_22 = 2, + PHASE_PLANT_FIRST_KNEEL = 3, + PHASE_PLANT_FIRST_STAND = 4, + PHASE_PLANT_FIRST_WORK = 5, + PHASE_PLANT_FIRST_FINISH = 6, + PHASE_PLANT_FIRST_TIMER_1 = 7, + PHASE_PLANT_FIRST_TIMER_2 = 8, + PHASE_PLANT_FIRST_TIMER_3 = 9, + PHASE_PLANT_FIRST_DETONATE = 10, + PHASE_PLANT_FIRST_SPEECH = 11, + PHASE_PLANT_FIRST_ROTATE = 12, + PHASE_PLANT_FIRST_POINT = 13, + PHASE_FEEL_SIRONAS_1 = 14, + PHASE_FEEL_SIRONAS_2 = 15, + PHASE_MEET_SIRONAS_ROAR = 16, + PHASE_MEET_SIRONAS_TURN = 17, + PHASE_MEET_SIRONAS_SPEECH = 18, + PHASE_PLANT_SECOND_KNEEL = 19, + PHASE_PLANT_SECOND_SPEECH = 20, + PHASE_PLANT_SECOND_STAND = 21, + PHASE_PLANT_SECOND_FINISH = 22, + PHASE_PLANT_SECOND_WAIT = 23, + PHASE_PLANT_SECOND_TIMER_1 = 24, + PHASE_PLANT_SECOND_TIMER_2 = 25, + PHASE_PLANT_SECOND_TIMER_3 = 26, + PHASE_PLANT_SECOND_DETONATE = 27, + PHASE_FIGHT_SIRONAS_STOP = 28, + PHASE_FIGHT_SIRONAS_SPEECH_1 = 29, + PHASE_FIGHT_SIRONAS_SPEECH_2 = 30, + PHASE_FIGHT_SIRONAS_START = 31, + PHASE_SIRONAS_SLAIN_SPEECH_1 = 32, + PHASE_SIRONAS_SLAIN_EMOTE_1 = 33, + PHASE_SIRONAS_SLAIN_EMOTE_2 = 34, + PHASE_SIRONAS_SLAIN_SPEECH_2 = 35, + + DATA_EVENT_STARTER_GUID = 0, + + MAX_EXPLOSIVES = 5, + + QUEST_ENDING_THEIR_WORLD = 9759 +}; + +Position const ExplosivesPos[2][MAX_EXPLOSIVES] = +{ + { + { -1954.946f, -10654.714f, 110.448f }, + { -1956.331f, -10654.494f, 110.869f }, + { -1955.906f, -10656.221f, 110.791f }, + { -1957.294f, -10656.000f, 111.219f }, + { -1954.462f, -10656.451f, 110.404f } + }, + { + { -1915.137f, -10583.651f, 178.365f }, + { -1914.006f, -10582.964f, 178.471f }, + { -1912.717f, -10582.398f, 178.658f }, + { -1915.056f, -10582.251f, 178.162f }, + { -1913.883f, -10581.778f, 178.346f } + } +}; + +/*###### +## npc_sironas +######*/ + +class npc_sironas : public CreatureScript +{ +public: + npc_sironas() : CreatureScript("npc_sironas") { } + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_sironasAI(creature); + } + + struct npc_sironasAI : public ScriptedAI + { + npc_sironasAI(Creature* creature) : ScriptedAI(creature) { } + + void Reset() override + { + _events.Reset(); + me->SetDisplayId(me->GetCreatureTemplate()->Modelid2); + } + + void EnterCombat(Unit* /*who*/) override + { + _events.ScheduleEvent(EVENT_UPPERCUT, 15 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_IMMOLATE, 10 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, 5 * IN_MILLISECONDS); + } + + void JustDied(Unit* killer) override + { + me->SetObjectScale(1.0f); + _events.Reset(); + if (Creature* legoso = me->FindNearestCreature(NPC_LEGOSO, SIZE_OF_GRIDS)) + { + Group* group = me->GetLootRecipientGroup(); + + if (killer->GetGUID() == legoso->GetGUID() || + (group && group->IsMember(killer->GetGUID())) || + killer->GetGUIDLow() == legoso->AI()->GetData(DATA_EVENT_STARTER_GUID)) + legoso->AI()->DoAction(ACTION_LEGOSO_SIRONAS_KILLED); + } + } + + void UpdateAI(uint32 diff) override + { + if (!UpdateVictim()) + return; + + _events.Update(diff); + + while (uint32 eventId = _events.ExecuteEvent()) + { + switch (eventId) + { + case EVENT_UPPERCUT: + DoCastVictim(SPELL_UPPERCUT); + _events.ScheduleEvent(EVENT_UPPERCUT, urand(10, 12) * IN_MILLISECONDS); + break; + case EVENT_IMMOLATE: + DoCastVictim(SPELL_IMMOLATE); + _events.ScheduleEvent(EVENT_IMMOLATE, urand(15, 20) * IN_MILLISECONDS); + break; + case EVENT_CURSE_OF_BLOOD: + DoCastVictim(SPELL_CURSE_OF_BLOOD); + _events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, urand(20, 25) * IN_MILLISECONDS); + break; + default: + break; + } + } + + DoMeleeAttackIfReady(); + } + + void DoAction(int32 param) override + { + switch (param) + { + case ACTION_SIRONAS_CHANNEL_START: + { + DoCast(me, SPELL_SIRONAS_CHANNELING); + std::list BeamList; + _beamGuidList.clear(); + me->GetCreatureListWithEntryInGrid(BeamList, NPC_BLOODMYST_TESLA_COIL, SIZE_OF_GRIDS); + for (std::list::iterator itr = BeamList.begin(); itr != BeamList.end(); ++itr) + { + _beamGuidList.push_back((*itr)->GetGUID()); + (*itr)->CastSpell(*itr, SPELL_BLOODMYST_TESLA); + } + break; + } + case ACTION_SIRONAS_CHANNEL_STOP: + { + me->InterruptNonMeleeSpells(true, SPELL_SIRONAS_CHANNELING); + std::list creatureList; + GetCreatureListWithEntryInGrid(creatureList, me, NPC_BLOODMYST_TESLA_COIL, 500.0f); + if (!creatureList.empty()) + for (std::list::iterator itr = creatureList.begin(); itr != creatureList.end(); ++itr) + (*itr)->InterruptNonMeleeSpells(true, SPELL_BLOODMYST_TESLA); + } + default: + break; + } + } + + private: + GuidList _beamGuidList; + EventMap _events; + }; +}; + +/*###### +## npc_demolitionist_legoso +######*/ + +class npc_demolitionist_legoso : public CreatureScript +{ +public: + npc_demolitionist_legoso() : CreatureScript("npc_demolitionist_legoso") { } + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_demolitionist_legosoAI(creature); + } + + struct npc_demolitionist_legosoAI : public npc_escortAI + { + npc_demolitionist_legosoAI(Creature* creature) : npc_escortAI(creature) { } + + void sQuestAccept(Player* player, Quest const* quest) override + { + if (quest->GetQuestId() == QUEST_ENDING_THEIR_WORLD) + { + SetData(DATA_EVENT_STARTER_GUID, player->GetGUIDLow()); + Start(true, true, player->GetGUID(), quest); + } + } + + uint32 GetData(uint32 id) const override + { + switch (id) + { + case DATA_EVENT_STARTER_GUID: + return _eventStarterGuidLow; + default: + return 0; + } + } + + void SetData(uint32 data, uint32 value) override + { + switch (data) + { + case DATA_EVENT_STARTER_GUID: + _eventStarterGuidLow = value; + break; + default: + break; + } + } + + void Reset() override + { + _phase = PHASE_NONE; + _moveTimer = 0; + _eventStarterGuidLow = 0; + me->SetCanDualWield(true); + + _events.Reset(); + _events.ScheduleEvent(EVENT_FROST_SHOCK, 1 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_HEALING_SURGE, 5 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_SEARING_TOTEM, 15 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_STRENGTH_OF_EARTH_TOTEM, 20 * IN_MILLISECONDS); + } + + void UpdateAI(uint32 diff) override + { + _events.Update(diff); + + if (UpdateVictim()) + { + while (uint32 eventId = _events.ExecuteEvent()) + { + switch (eventId) + { + case EVENT_FROST_SHOCK: + DoCastVictim(SPELL_FROST_SHOCK); + _events.DelayEvents(1 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_FROST_SHOCK, urand(10, 15) * IN_MILLISECONDS); + break; + case EVENT_SEARING_TOTEM: + DoCast(me, SPELL_SEARING_TOTEM); + _events.DelayEvents(1 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_SEARING_TOTEM, urand(110, 130) * IN_MILLISECONDS); + break; + case EVENT_STRENGTH_OF_EARTH_TOTEM: + DoCast(me, SPELL_STRENGTH_OF_EARTH_TOTEM); + _events.DelayEvents(1 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_STRENGTH_OF_EARTH_TOTEM, urand(110, 130) * IN_MILLISECONDS); + break; + case EVENT_HEALING_SURGE: + { + Unit* target = NULL; + if (me->GetHealthPct() < 85) + target = me; + else if (Player* player = GetPlayerForEscort()) + if (player->GetHealthPct() < 85) + target = player; + if (target) + { + DoCast(target, SPELL_HEALING_SURGE); + _events.ScheduleEvent(EVENT_HEALING_SURGE, 10 * IN_MILLISECONDS); + } + else + _events.ScheduleEvent(EVENT_HEALING_SURGE, 2 * IN_MILLISECONDS); + break; + } + default: + break; + } + } + + DoMeleeAttackIfReady(); + } + + if (HasEscortState(STATE_ESCORT_NONE)) + return; + + npc_escortAI::UpdateAI(diff); + + if (_phase) + { + if (_moveTimer <= diff) + { + switch (_phase) + { + case PHASE_WP_26: //debug skip path to point 26, buggy path calculation + me->GetMotionMaster()->MovePoint(WP_DEBUG_2, -2021.77f, -10648.8f, 129.903f, false); + _moveTimer = 2 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case PHASE_CONTINUE: // continue escort + SetEscortPaused(false); + _moveTimer = 0 * IN_MILLISECONDS; + _phase = PHASE_NONE; + break; + case PHASE_WP_22: //debug skip path to point 22, buggy path calculation + me->GetMotionMaster()->MovePoint(WP_EXPLOSIVES_FIRST_PLANT, -1958.026f, -10660.465f, 111.547f, false); + Talk(SAY_LEGOSO_3); + _moveTimer = 2 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_KNEEL; + break; + case PHASE_PLANT_FIRST_KNEEL: // plant first explosives stage 1 kneel + me->SetStandState(UNIT_STAND_STATE_KNEEL); + _moveTimer = 10 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_STAND; + break; + case PHASE_PLANT_FIRST_STAND: // plant first explosives stage 1 stand + me->SetStandState(UNIT_STAND_STATE_STAND); + _moveTimer = 0.5* IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_WORK; + break; + case PHASE_PLANT_FIRST_WORK: // plant first explosives stage 2 work + Talk(SAY_LEGOSO_4); + _moveTimer = 17.5 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_FINISH; + break; + case PHASE_PLANT_FIRST_FINISH: // plant first explosives finish + _explosivesGuids.clear(); + for (uint8 i = 0; i != MAX_EXPLOSIVES; ++i) + { + if (GameObject* explosive = me->SummonGameObject(GO_DRAENEI_EXPLOSIVES_1, ExplosivesPos[0][i].m_positionX, ExplosivesPos[0][i].m_positionY, ExplosivesPos[0][i].m_positionZ, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0)) + _explosivesGuids.push_back(explosive->GetGUID()); + } + me->HandleEmoteCommand(EMOTE_ONESHOT_NONE); // reset anim state + // force runoff movement so he will not screw up next waypoint + me->GetMotionMaster()->MovePoint(WP_EXPLOSIVES_FIRST_RUNOFF, -1955.6f, -10669.8f, 110.65f, false); + Talk(SAY_LEGOSO_5); + _moveTimer = 1.5 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case PHASE_PLANT_FIRST_TIMER_1: // first explosives detonate timer 1 + Talk(SAY_LEGOSO_6); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_TIMER_2; + break; + case PHASE_PLANT_FIRST_TIMER_2: // first explosives detonate timer 2 + Talk(SAY_LEGOSO_7); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_TIMER_3; + break; + case PHASE_PLANT_FIRST_TIMER_3: // first explosives detonate timer 3 + Talk(SAY_LEGOSO_8); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_DETONATE; + break; + case PHASE_PLANT_FIRST_DETONATE: // first explosives detonate finish + for (GuidList::iterator itr = _explosivesGuids.begin(); itr != _explosivesGuids.end(); ++itr) + { + if (GameObject* explosive = sObjectAccessor->GetGameObject(*me, *itr)) + me->RemoveGameObject(explosive, true); + } + _explosivesGuids.clear(); + me->HandleEmoteCommand(EMOTE_ONESHOT_CHEER); + _moveTimer = 2 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_SPEECH; + break; + case PHASE_PLANT_FIRST_SPEECH: // after detonation 1 speech + Talk(SAY_LEGOSO_9); + _moveTimer = 4 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_ROTATE; + break; + case PHASE_PLANT_FIRST_ROTATE: // after detonation 1 rotate to next point + me->SetFacingTo(2.272f); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_POINT; + break; + case PHASE_PLANT_FIRST_POINT: // after detonation 1 send point anim and go on to next point + me->HandleEmoteCommand(EMOTE_ONESHOT_POINT); + _moveTimer = 2 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case PHASE_FEEL_SIRONAS_1: // legoso exclamation before sironas 1.1 + Talk(SAY_LEGOSO_10); + _moveTimer = 4 * IN_MILLISECONDS; + _phase = PHASE_FEEL_SIRONAS_2; + break; + case PHASE_FEEL_SIRONAS_2: // legoso exclamation before sironas 1.2 + Talk(SAY_LEGOSO_11); + _moveTimer = 4 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case PHASE_MEET_SIRONAS_ROAR: // legoso exclamation before sironas 2.1 + Talk(SAY_LEGOSO_12); + _moveTimer = 4 * IN_MILLISECONDS; + _phase = PHASE_MEET_SIRONAS_TURN; + break; + case PHASE_MEET_SIRONAS_TURN: // legoso exclamation before sironas 2.2 + if (Player* player = GetPlayerForEscort()) + me->SetFacingToObject(player); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_MEET_SIRONAS_SPEECH; + break; + case PHASE_MEET_SIRONAS_SPEECH: // legoso exclamation before sironas 2.3 + Talk(SAY_LEGOSO_13); + _moveTimer = 7 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case PHASE_PLANT_SECOND_KNEEL: // plant second explosives stage 1 kneel + me->SetStandState(UNIT_STAND_STATE_KNEEL); + _moveTimer = 11 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_SPEECH; + break; + case PHASE_PLANT_SECOND_SPEECH: // plant second explosives stage 2 kneel + Talk(SAY_LEGOSO_14); + _moveTimer = 13 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_STAND; + break; + case PHASE_PLANT_SECOND_STAND: // plant second explosives finish + me->SetStandState(UNIT_STAND_STATE_STAND); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_FINISH; + break; + case PHASE_PLANT_SECOND_FINISH: // plant second explosives finish - create explosives + _explosivesGuids.clear(); + for (uint8 i = 0; i != MAX_EXPLOSIVES; ++i) + { + if (GameObject* explosive = me->SummonGameObject(GO_DRAENEI_EXPLOSIVES_2, ExplosivesPos[1][i].m_positionX, ExplosivesPos[1][i].m_positionY, ExplosivesPos[1][i].m_positionZ, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0)) + _explosivesGuids.push_back(explosive->GetGUID()); + } + Talk(SAY_LEGOSO_15); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_WAIT; + break; + case PHASE_PLANT_SECOND_WAIT: // plant second explosives finish - proceed to next point + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case PHASE_PLANT_SECOND_TIMER_1: // second explosives detonate timer 1 + Talk(SAY_LEGOSO_16); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_TIMER_2; + break; + case PHASE_PLANT_SECOND_TIMER_2: // second explosives detonate timer 2 + Talk(SAY_LEGOSO_17); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_TIMER_3; + break; + case PHASE_PLANT_SECOND_TIMER_3: // second explosives detonate timer 3 + Talk(SAY_LEGOSO_18); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_DETONATE; + break; + case PHASE_PLANT_SECOND_DETONATE: // second explosives detonate finish + for (GuidList::iterator itr = _explosivesGuids.begin(); itr != _explosivesGuids.end(); ++itr) + { + if (GameObject* explosive = sObjectAccessor->GetGameObject(*me, *itr)) + me->RemoveGameObject(explosive, true); + } + _explosivesGuids.clear(); + if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS)) + { + sironas->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); + me->SetFacingToObject(sironas); + } + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_FIGHT_SIRONAS_STOP; + break; + case PHASE_FIGHT_SIRONAS_STOP: // sironas channel stop + if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS)) + sironas->AI()->DoAction(ACTION_SIRONAS_CHANNEL_STOP); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_FIGHT_SIRONAS_SPEECH_1; + break; + case PHASE_FIGHT_SIRONAS_SPEECH_1: // sironas exclamation before aggro + if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS)) + sironas->AI()->Talk(SAY_SIRONAS_1); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_FIGHT_SIRONAS_SPEECH_2; + break; + case PHASE_FIGHT_SIRONAS_SPEECH_2: // legoso exclamation before aggro + if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS)) + sironas->SetObjectScale(3.0f); + Talk(SAY_LEGOSO_19); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_FIGHT_SIRONAS_START; + break; + case PHASE_FIGHT_SIRONAS_START: // legoso exclamation at aggro + if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS)) + { + Unit* target = GetPlayerForEscort(); + if (!target) + target = me; + + target->AddThreat(sironas, 0.001f); + sironas->Attack(target, true); + sironas->GetMotionMaster()->MoveChase(target); + } + _moveTimer = 10 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case PHASE_SIRONAS_SLAIN_SPEECH_1: // legoso exclamation after battle - stage 1.1 + Talk(SAY_LEGOSO_20); + _moveTimer = 2 * IN_MILLISECONDS; + _phase = PHASE_SIRONAS_SLAIN_EMOTE_1; + break; + case PHASE_SIRONAS_SLAIN_EMOTE_1: // legoso exclamation after battle - stage 1.2 + me->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION); + _moveTimer = 2 * IN_MILLISECONDS; + _phase = PHASE_SIRONAS_SLAIN_EMOTE_2; + break; + case PHASE_SIRONAS_SLAIN_EMOTE_2: // legoso exclamation after battle - stage 1.3 + if (Player* player = GetPlayerForEscort()) + player->GroupEventHappens(QUEST_ENDING_THEIR_WORLD, me); + me->HandleEmoteCommand(EMOTE_ONESHOT_CHEER); + _moveTimer = 5 * IN_MILLISECONDS; + _phase = PHASE_SIRONAS_SLAIN_SPEECH_2; + break; + case PHASE_SIRONAS_SLAIN_SPEECH_2: // legoso exclamation after battle - stage 2 + Talk(SAY_LEGOSO_21); + _moveTimer = 30 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + default: + break; + } + } + else if (!me->IsInCombat()) + _moveTimer -= diff; + } + } + + void WaypointReached(uint32 waypointId) override + { + Player* player = GetPlayerForEscort(); + if (!player) + return; + + switch (waypointId) + { + case WP_START: + SetEscortPaused(true); + me->SetFacingToObject(player); + Talk(SAY_LEGOSO_1); + _moveTimer = 2.5 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case WP_EXPLOSIVES_FIRST_POINT: + SetEscortPaused(true); + Talk(SAY_LEGOSO_2); + _moveTimer = 8 * IN_MILLISECONDS; + _phase = PHASE_WP_22; + break; + case WP_EXPLOSIVES_FIRST_PLANT: + me->SetFacingTo(1.46f); + break; + case WP_EXPLOSIVES_FIRST_DETONATE: + SetEscortPaused(true); + me->SetFacingTo(1.05f); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_TIMER_1; + break; + case WP_DEBUG_1: + SetEscortPaused(true); + _moveTimer = 0.5 * IN_MILLISECONDS; + _phase = PHASE_WP_26; + break; + case WP_SIRONAS_HILL: + { + SetEscortPaused(true); + + //Find Sironas and make it respawn if needed + Creature* sironas = NULL; + Trinity::AllCreaturesOfEntryInRange check(me, NPC_SIRONAS, SIZE_OF_GRIDS); + Trinity::CreatureSearcher searcher(me, sironas, check); + me->VisitNearbyObject(SIZE_OF_GRIDS, searcher); + + if (sironas) + { + if (!sironas->IsAlive()) + sironas->Respawn(true); + + sironas->AI()->DoAction(ACTION_SIRONAS_CHANNEL_START); + me->SetFacingToObject(sironas); + } + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_FEEL_SIRONAS_1; + break; + } + case WP_EXPLOSIVES_SECOND_BATTLEROAR: + SetEscortPaused(true); + _moveTimer = 0.2 * IN_MILLISECONDS; + _phase = PHASE_MEET_SIRONAS_ROAR; + break; + case WP_EXPLOSIVES_SECOND_PLANT: + SetEscortPaused(true); + _moveTimer = 0.5 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_KNEEL; + break; + case WP_EXPLOSIVES_SECOND_DETONATE: + SetEscortPaused(true); + me->SetFacingTo(5.7f); + _moveTimer = 2 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_TIMER_1; + break; + default: + break; + } + } + + void DoAction(int32 param) override + { + switch (param) + { + case ACTION_LEGOSO_SIRONAS_KILLED: + _phase = PHASE_SIRONAS_SLAIN_SPEECH_1; + _moveTimer = 5 * IN_MILLISECONDS; + break; + default: + break; + } + } + + private: + int8 _phase; + uint32 _moveTimer; + uint32 _eventStarterGuidLow; + GuidList _explosivesGuids; + EventMap _events; + }; +}; + void AddSC_bloodmyst_isle() { new npc_webbed_creature(); + new npc_sironas(); + new npc_demolitionist_legoso(); } From d1221e3433eb123c09f2670fdde1f06988dc0f02 Mon Sep 17 00:00:00 2001 From: tkrokli Date: Sun, 22 Mar 2015 02:46:02 +0100 Subject: [PATCH 03/54] [Core/Quest] Update quest Objective status Client side by @untaught; closes #12172 AreaExploredOrEventHappens does not update client side, only server side. Before adding this fix, it is necessary to complete the required number of kills to receive the "discovery" Quest Objective Credit in player's Quest Log and on screen. --- src/server/game/Entities/Player/Player.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index e46448df133..a68640f1fad 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -16373,6 +16373,8 @@ void Player::AreaExploredOrEventHappens(uint32 questId) { q_status.Explored = true; m_QuestStatusSave[questId] = QUEST_DEFAULT_SAVE_TYPE; + SetQuestSlotState(log_slot, QUEST_STATE_COMPLETE); + SendQuestComplete(questId); } } if (CanCompleteQuest(questId)) From 00195709a4695af93689699716e4caec278bdb26 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Sun, 22 Mar 2015 16:24:29 +0000 Subject: [PATCH 04/54] DB/Quest: The Cipher of Damnation Finished unless I find anything else that is missing or anything else that is needed in script. Closes #14422 --- sql/updates/world/2015_03_22_00_world.sql | 243 ++++++++++++++++++++++ 1 file changed, 243 insertions(+) create mode 100644 sql/updates/world/2015_03_22_00_world.sql diff --git a/sql/updates/world/2015_03_22_00_world.sql b/sql/updates/world/2015_03_22_00_world.sql new file mode 100644 index 00000000000..97ecb115bc2 --- /dev/null +++ b/sql/updates/world/2015_03_22_00_world.sql @@ -0,0 +1,243 @@ +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(21181,21310,17008,21052,21685,21686,21687,21738,21739,21740,21741,21049) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(2118100,2131000,2102401) AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid` =21024 AND `source_type`=0 AND `id`>1; + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE entry IN (21181, 17008, 21052, 21685, 21686, 21687, 21310,21738,21739,21740,21741,21049); + +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 +(21049, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Spirit of the Past - On spawn - set Phase 1'), +(21049, 0, 1, 0, 1, 1, 100, 0, 0, 180000, 90000, 180000, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Spirit of the Past - OOC (Phase 1) - Say Line 0'), +(21049, 0, 2, 0, 38, 0, 100, 0, 1, 1, 0, 0, 22, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Spirit of the Past - On Data Set 1 1 - set Phase 2'), +(21049, 0, 3, 0, 1, 2, 100, 0, 300000, 300000, 300000, 300000, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Spirit of the Past - OOC (Phase 2) - Set Phase 1'), +(21738, 0, 0, 0, 1, 0, 100, 1, 100, 100, 0, 0, 11, 25035, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redeemed Spirit of Air - OOC (No Repeat) - Cast Elemental Spawn-in'), +(21739, 0, 0, 0, 1, 0, 100, 1, 100, 100, 0, 0, 11, 25035, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redeemed Spirit of Earth - OOC (No Repeat) - Cast Elemental Spawn-in'), +(21740, 0, 0, 0, 1, 0, 100, 1, 100, 100, 0, 0, 11, 25035, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redeemed Spirit of Fire - OOC (No Repeat) - Cast Elemental Spawn-in'), +(21741, 0, 0, 0, 1, 0, 100, 1, 100, 100, 0, 0, 11, 25035, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redeemed Spirit of Water - OOC (No Repeat) - Cast Elemental Spawn-in'), +(21024, 0, 2, 0, 38, 1, 100, 0, 1, 1, 0, 0, 80, 2102401, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - On Data Set 1 1 - Run Script 2'), +(21181, 0, 0 ,0, 9, 0, 100, 0, 0,20,10000,15000,11,18945,2,0,0,0,0,7,0,0,0,0,0,0,0,'Cyrukh the Firelord - On Range - Cast Knock-Away'), +(21181, 0, 1 ,0, 0, 0, 100, 0, 3000,5000,5000,11000,11,39429,2,0,0,0,0,5,0,0,0,0,0,0,0,'Cyrukh the Firelord - IC - Cast Fel Flamestrike'), +(21181, 0, 2 ,0, 9, 0, 100, 0, 0,20,8000,13000,11,39425,2,0,0,0,0,5,0,0,0,0,0,0,0,'Cyrukh the Firelord - On Range - Cast Trample'), +(21181, 0, 3 ,0, 11, 0, 100, 0, 0,0,0,0,18,768,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cyrukh the Firelord - On Spawn - Set Unit Flags'), +(21181, 0, 4 ,0, 38, 0, 100, 0, 1,1,0,0,53,0,21181,0,0,0,0,1,0,0,0,0,0,0,0,'Cyrukh the Firelord - On Data Set 1 1 - Start WP'), +(21181, 0, 5 ,6, 40, 0, 100, 0, 1,21181,0,0,101,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cyrukh the Firelord - On Reached WP1 - Set Home Position'), +(21181, 0, 6 ,7, 61, 0, 100, 0, 0,0,0,0,19,768,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cyrukh the Firelord - On Reached WP1 - Set Unit Flags'), +(21181, 0, 7 ,8, 61, 0, 100, 0, 0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cyrukh the Firelord - On Reached WP1 - Set Aggresive'), +(21181, 0, 8 ,9, 61, 0, 100, 0, 0,0,0,0,49,0,0,0,0,0,0,19,21685,0,0,0,0,0,0,'Cyrukh the Firelord - On Reached WP1 - Start Attack'), +(21181, 0, 9 ,10, 61, 0, 100, 0, 0,0,0,0,45,2,2,0,0,0,0,19,21686,0,0,0,0,0,0,'Cyrukh the Firelord - On Reached WP1 - Start Attack'), +(21181, 0, 10 ,0, 61, 0, 100, 0, 0,0,0,0,45,2,2,0,0,0,0,19,21687,0,0,0,0,0,0,'Cyrukh the Firelord - On Reached WP1 - Start Attack'), +(21181, 0, 11 ,0, 1, 0, 100, 0, 0,0,15000,30000,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cyrukh the Firelord - IC - Say'), +(21181, 0, 12 ,0, 6, 0, 100, 0, 0,0,0,0,45,1,1,0,0,0,0,19,21024,0,0,0,0,0,0,'Cyrukh the Firelord - On Death - Set Data'), +(21181, 0, 13 ,0, 54, 0, 100, 0, 0,0,0,0,11,36329,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cyrukh the Firelord - On Just SUmmoned - Cast Cyrukh Fire Kit'), +(17008, 0, 0 ,0, 38, 0, 100, 0, 1,1,0,0,11,35996,0,0,0,0,0,1,0,0,0,0,0,0,0,'Guldan - On Data Set 1 1 - Cast Guldan Channel'), +(17008, 0, 1 ,0, 38, 0, 100, 0, 2,2,0,0,28,35996,0,0,0,0,0,1,0,0,0,0,0,0,0,'Guldan - On Data Set 2 2 - Remove Aura Guldan Channel'), +(17008, 0, 2 ,0, 38, 0, 100, 0, 3,3,0,0,66,0,0,0,0,0,0,19,21049,0,0,0,0,0,0,'Guldan - On Data Set 3 3 - Set Orientation'), +(17008, 0, 3 ,0, 38, 0, 100, 0, 4,4,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,4.95674,'Guldan - On Data Set 3 3 - Set Orientation'), +(21052, 0, 0 ,0, 1, 2, 100, 0, 0,0,500,1000,11,35997,0,0,0,0,0,1,0,0,0,0,0,0,0,'Camera Shaker - Altar of Damnation - OOC (Phase 2) - Cast Fel Flames'), +(21052, 0, 1 ,0, 1, 2, 100, 0, 30000,30000,30000,30000,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Camera Shaker - Altar of Damnation - OOC (Phase 2) - Set Phase 1'), +(21052, 0, 2 ,0, 1, 2, 100, 0, 0,1000,1000,3000,11,35757,0,0,0,0,0,1,0,0,0,0,0,0,0,'Camera Shaker - Altar of Damnation - OOC (Phase 2) - Cast Ultris Destroyed'), +(21052, 0, 3 ,0, 38, 0, 100, 0, 1,1,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Camera Shaker - Altar of Damnation -On Data Set 1 1 - Set Phase 2'), +(21685, 0, 0 ,0, 38, 0, 100, 0, 1,1,0,0,81,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Oronok Torn-heart - On Data Set 1 1 - Set NPC Flags Gossip'), +(21685, 0, 1 ,2, 62, 0, 100, 0, 8350,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Oronok Torn-heart - On Gossip Select - Store Targetlist'), +(21685, 0, 2 ,3, 61, 0, 100, 0, 0,0,0,0,81,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Oronok Torn-heart - On Gossip Select - Set NPC Flags None'), +(21685, 0, 3 ,4, 61, 0, 100, 0, 0,0,0,0,45,1,1,0,0,0,0,19,21686,0,0,0,0,0,0,'Oronok Torn-heart - On Gossip Select - Set Data'), +(21685, 0, 4 ,5, 61, 0, 100, 0, 0,0,0,0,45,1,1,0,0,0,0,19,21687,0,0,0,0,0,0,'Oronok Torn-heart - On Gossip Select - Set Data'), +(21685, 0, 5 ,0, 61, 0, 100, 0, 0,0,0,0,53,0,21685,0,0,0,0,1,0,0,0,0,0,0,0,'Oronok Torn-heart - On Gossip Select - Start WP'), +(21685, 0, 6 ,7, 40, 0, 100, 0, 12,21685,0,0,101,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Oronok Torn-heart - On Reached WP12 - Set Home Position'), +(21685, 0, 7 ,8, 61, 0, 100, 0, 0,0,0,0,19,768,0,0,0,0,0,1,0,0,0,0,0,0,0,'Oronok Torn-heart - On Reached WP12 - Set Unit Flags'), +(21685, 0, 8 ,9, 61, 0, 100, 0, 0,0,0,0,2,495,0,0,0,0,0,1,0,0,0,0,0,0,0,'Oronok Torn-heart - On Reached WP12 - Set Faction'), +(21685, 0, 9 ,10, 61, 0, 100, 0, 0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Oronok Torn-heart - On Reached WP12 - Set Aggresive'), +(21685, 0, 10 ,0, 61, 0, 100, 0, 0,0,0,0,45,1,1,0,0,0,0,19,21181,0,0,0,0,0,0,'Oronok Torn-heart - On Reached WP12 - Set Data on Cyrukh the Firelord '), +(21685, 0, 11 ,0, 0, 0, 100, 0, 0,0,8000,11000,11,16006,0,0,0,0,0,2,0,0,0,0,0,0,0,'Oronok Torn-heart - IC - Cast Chain Lightning'), +(21685, 0, 12 ,0, 0, 0, 100, 0, 0,0,6000,8000,11,12548,0,0,0,0,0,2,0,0,0,0,0,0,0,'Oronok Torn-heart - IC - Cast Frost Shock'), +(21685, 0, 13 ,0, 2, 0, 100, 0, 0,40,5000,8000,11,12491,0,0,0,0,0,1,0,0,0,0,0,0,0,'Oronok Torn-heart - On Less than 40% HP - Cast Healing Wave'), +(21685, 0, 14 ,0, 38, 0, 100, 0, 5,5,0,0,11,12491,0,0,0,0,0,19,21687,0,0,0,0,0,0,'Oronok Torn-heart - On Data Set - Cast Healing Wave'), +(21685, 0, 15 ,16, 38, 0, 100, 0, 6,6,0,0,71,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Oronok Torn-heart - On Data Set 6 6 - Unequip weapon'), +(21685, 0, 16 ,0, 61, 0, 100, 0, 0,0,0,0,15,10588,0,0,0,0,0,12,1,0,0,0,0,0,0,'Oronok Torn-heart - On Data Set 6 6 - Complete Quest - The Cipher of Damnation'), +(21685, 0, 17 ,0, 7, 0, 100, 0, 0,0,0,0,53,0,2168500,0,0,0,0,1,0,0,0,0,0,0,0,'Oronok Torn-heart - On Evade - Start WP (Path 2)'), +(21685, 0, 18 ,0, 40, 0, 100, 0, 1,2168500,0,0,66,0,0,0,0,0,0,19,21024,0,0,0,0,0,0,'Oronok Torn-heart - On Reached WP1 (Path 2) - Set Orientation'), +(21686, 0, 0 ,0, 38, 0, 100, 0, 1,1,0,0,53,0,21686,0,0,0,0,1,0,0,0,0,0,0,0,'Borak, Son of Oronok - On Data Set - Start WP'), +(21686, 0, 1 ,2, 40, 0, 100, 0, 18,21686,0,0,101,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Borak, Son of Oronok - On Reached WP18 - Set Home Position'), +(21686, 0, 2 ,3, 61, 0, 100, 0, 0,0,0,0,2,495,0,0,0,0,0,1,0,0,0,0,0,0,0,'Borak, Son of Oronok - On Reached WP18 - Set Faction'), +(21686, 0, 3 ,4, 61, 0, 100, 0, 0,0,0,0,19,768,0,0,0,0,0,1,0,0,0,0,0,0,0,'Borak, Son of Oronok - On Reached WP18 - Set Unit Flags'), +(21686, 0, 4 ,0, 61, 0, 100, 0, 0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Borak, Son of Oronok - On Reached WP18 - Set Aggresive'), +(21686, 0, 5 ,0, 38, 0, 100, 0, 2,2,0,0,49,0,0,0,0,0,0,19,21181,0,0,0,0,0,0,'Borak, Son of Oronok - On Data Set - Start Attack'), +(21686, 0, 6 ,0, 9, 0, 100, 0, 0,5,3000,6000,11,27611,0,0,0,0,0,1,0,0,0,0,0,0,0,'Borak, Son of Oronok - On Range - Cast Eviscerate'), +(21686, 0, 7 ,0, 9, 0, 100, 0, 0,5,15000,18000,11,30470,0,0,0,0,0,1,0,0,0,0,0,0,0,'Borak, Son of Oronok - On Range - Cast Slice and Dice'), +(21686, 0, 8 ,0, 38, 0, 100, 0, 3,3,0,0,71,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Borak, Son of Oronok - On Data Set 3 3 - Unequip weapon'), +(21686, 0, 9 ,0, 7, 0, 100, 0, 0,0,0,0,53,0,2168600,0,0,0,0,1,0,0,0,0,0,0,0,'Borak, Son of Oronok - On Evade - Start WP (Path 2)'), +(21686, 0, 10 ,0, 40, 0, 100, 0, 1,2168600,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.660839,'Borak, Son of Oronok - On Reached WP1 (Path 2) - Set Orientation'), +(21687, 0, 0 ,0, 38, 0, 100, 0, 1,1,0,0,53,0,21687,0,0,0,0,1,0,0,0,0,0,0,0,'Gromtor, Son of Oronok - On Data Set - Start WP'), +(21687, 0, 1 ,2, 40, 0, 100, 0, 17,21687,0,0,101,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gromtor, Son of Oronok - On Reached WP17 - Set Home Position'), +(21687, 0, 2 ,3, 61, 0, 100, 0, 0,0,0,0,19,768,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gromtor, Son of Oronok - On Reached WP17 - Set Unit Flags'), +(21687, 0, 3 ,4, 61, 0, 100, 0, 0,0,0,0,2,495,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gromtor, Son of Oronok - On Reached WP17 - Set Faction'), +(21687, 0, 4 ,0, 61, 0, 100, 0, 0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gromtor, Son of Oronok - On Reached WP17 - Set Aggresive'), +(21687, 0, 5 ,0, 38, 0, 100, 0, 2,2,0,0,49,0,0,0,0,0,0,19,21181,0,0,0,0,0,0,'Gromtor, Son of Oronok - On Data Set - Start Attack'), +(21687, 0, 6 ,0, 4, 0, 100, 0, 0,0,0,0,11,31403,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gromtor, Son of Oronok - On Agro - Cast Battle Shout'), +(21687, 0, 7 ,0, 9, 0, 100, 0, 0,5,3000,7000,11,29426,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gromtor, Son of Oronok - On Range - Cast Heroic Strike'), +(21687, 0, 8 ,0, 9, 0, 100, 0, 0,5,8000,13000,11,12169,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gromtor, Son of Oronok - On Range - Cast Shield Block'), +(21687, 0, 9 ,0, 9, 0, 100, 0, 0,5,18000,23000,11,15062,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gromtor, Son of Oronok - On Range - Cast Shield Wall'), +(21687, 0, 10 ,0, 0, 0, 100, 0, 0,5000,5000,8000,11,26281,0,0,0,0,0,2,0,0,0,0,0,0,0,'Gromtor, Son of Oronok - IC - Cast Taunt'), +(21687, 0, 11 ,0, 2, 0, 100, 0, 0,40,5000,8000,45,4,4,0,0,0,0,19,21685,0,0,0,0,0,0,'Gromtor, Son of Oronok - On Less than 40% HP - Set Data Oronok Torn-heart'), +(21687, 0, 12 ,0, 38, 0, 100, 0, 3,3,0,0,71,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gromtor, Son of Oronok - On Data Set 3 3 - Unequip weapon'), +(21687, 0, 13 ,0, 7, 0, 100, 0, 0,0,0,0,53,0,2168700,0,0,0,0,1,0,0,0,0,0,0,0,'Gromtor, Son of Oronok - On Evade - Start WP (Path 2)'), +(21687, 0, 14 ,0, 40, 0, 100, 0, 1,2168700,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.503118,'Gromtor, Son of Oronok - On Reached WP1 (Path 2) - Set Orientation'), +(21310, 0, 3 ,0, 54, 0, 100, 0, 0,0,0,0,80,2131000,2,0,0,0,0,1,0,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - On Spawn - Run Script'), +(2102401, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Set Phase 2'), +(2102401, 9, 1, 0, 0, 0, 100, 0, 15000, 15000, 0, 0, 1, 6, 0, 0, 0, 0, 0, 19, 21685, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Say Line 6 (Oronok Torn-heart)'), -- 18:45:48.094 +(2102401, 9, 2, 0, 0, 0, 100, 0, 20000, 20000, 0, 0, 1, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Say Line 11'), -- 18:46:05.594 +(2102401, 9, 3, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 107, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Summon Group 2'), -- 18:46:08.938 +(2102401, 9, 4, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 7, 0, 0, 0, 0, 0, 19, 21685, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Say Line 7 (Oronok Torn-heart)'), -- 18:46:13.844 +(2102401, 9, 5, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 21739, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Say Line 1 (Redeemed Spirit of Earth)'), -- 18:46:18.938 +(2102401, 9, 6, 0, 0, 0, 100, 0, 9000, 9000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 21740, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Say Line 0 (Redeemed Spirit of Fire)'), -- 18:46:27.953 +(2102401, 9, 7, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Say Line 8'), -- 18:46:34.235 +(2102401, 9, 8, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 21739, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Say Line 0 (Redeemed Spirit of Earth)'), -- 18:46:38.813 +(2102401, 9, 9, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 21685, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Say Line 1 (Oronok Torn-heart)'), -- 18:46:42.844 +(2102401, 9, 10, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, 21685, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Say Line 2 (Oronok Torn-heart)'), -- 18:46:42.844 +(2102401, 9, 11, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, 21685, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Say Line 3 (Oronok Torn-heart)'), -- 18:46:48.860 +(2102401, 9, 12, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 45, 6, 6, 0, 0, 0, 0, 19, 21685, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Set Data 6 6 Oronok Torn-heart'), -- 18:46:48.860 +(2102401, 9, 13, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 3, 3, 0, 0, 0, 0, 19, 21686, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Set Data 3 3 Borak, Son of Oronok'), -- 18:46:48.860 +(2102401, 9, 14, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 3, 3, 0, 0, 0, 0, 19, 21687, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Set Data 3 3 Gromtor, Son of Oronok'), -- 18:46:48.860 +(2102401, 9, 15, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 21685, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Despawn '), -- 18:46:48.860 +(2102401, 9, 16, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 21686, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Despawn'), -- 18:46:48.860 +(2102401, 9, 17, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 21687, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Despawn'), -- 18:46:48.860 +(2102401, 9, 18, 0, 0, 0, 100, 0, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Earthmender Torlok - Script 2 - Set Phase 1'), +(2131000, 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,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Say Line 1'), +(2131000, 9, 2 ,0, 0, 0, 100, 0, 0,0,0,0,45,3,3,0,0,0,0,19,17008,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Set Data 3 3 on Gul''Dan'), +(2131000, 9, 3 ,0, 0, 0, 100, 0, 3000,3000,0,0,1,0,0,0,0,0,0,19,17008,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Say Line 1 on Gul''Dan'), +(2131000, 9, 4 ,0, 0, 0, 100, 0, 0,0,0,0,45,1,1,0,0,0,0,9,21049,0,200,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Set Data 1 1 on Spirit of the Past'), +(2131000, 9, 5 ,0, 0, 0, 100, 0, 6000,6000,0,0,45,4,4,0,0,0,0,19,17008,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Set Data 4 4 on Gul''Dan'), +(2131000, 9, 6 ,0, 0, 0, 100, 0, 1000,1000,0,0,45,1,1,0,0,0,0,19,17008,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Set Data 1 1 on Gul''Dan'), +(2131000, 9, 7 ,0, 0, 0, 100, 0, 0,0,0,0,1,1,0,0,0,0,0,19,17008,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Say Line 2 on Gul''Dan'), +(2131000, 9, 8 ,0, 0, 0, 100, 0, 0,0,0,0,45,1,1,0,0,0,0,9,21052,0,200,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Set Data 1 1 on Camera Shaker - Altar of Damnation'), +(2131000, 9, 9 ,0, 0, 0, 100, 0, 3000,3000,0,0,1,2,0,0,0,0,0,19,17008,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Say Line 3 on Gul''Dan'), +(2131000, 9, 10 ,0, 0, 0, 100, 0, 4000,4000,0,0,12,21181,2,600000,0,0,0,1,0,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Summon Cyrukh the Firelord '), +(2131000, 9, 11 ,0, 0, 0, 100, 0, 0,0,0,0,1,3,0,0,0,0,0,19,17008,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Say Line 4 on Gul''Dan'), +(2131000, 9, 12 ,0, 0, 0, 100, 0, 1000,1000,0,0,1,0,0,0,0,0,0,19,21181,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Say Line 4 on Cyrukh the Firelord '), +(2131000, 9, 13 ,0, 0, 0, 100, 0, 3000,3000,0,0,107,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Summon Group'), +(2131000, 9, 14 ,0, 0, 0, 100, 0, 3000,3000,0,0,1,0,0,0,0,0,0,19,21685,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Say Line 1 on Oronok Torn-heart'), +(2131000, 9, 15 ,0, 0, 0, 100, 0, 3000,3000,0,0,1,4,0,0,0,0,0,19,17008,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Say Line 5 on Gul''Dan'), +(2131000, 9, 16 ,0, 0, 0, 100, 0, 6000,6000,0,0,1,5,0,0,0,0,0,19,17008,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Say Line 6 on Gul''Dan'), +(2131000, 9, 17 ,0, 0, 0, 100, 0, 0,0,0,0,45,2,2,0,0,0,0,19,17008,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Set Data 2 2 on Gul''Dan'), +(2131000, 9, 18 ,0, 0, 0, 100, 0, 6000,6000,0,0,1,5,0,0,0,0,0,19,21685,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Say Line 2 on Oronok Torn-heart'), +(2131000, 9, 19 ,0, 0, 0, 100, 0, 0,0,0,0,45,1,1,0,0,0,0,19,21685,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Set Data 1 1 on Oronok Torn-heart'), +(2131000, 9, 20 ,0, 0, 0, 100, 0, 0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Shadowmoon Valley Invisible Trigger (Tiny) - Script - Despawn'); + +DELETE FROM `waypoints` WHERE `entry` IN(21685,21686,21687,21181,2168500,2168600,2168700); + +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(21687, 1,-3620.271, 1862.062, 48.44324, 'Gromtor, Son of Oronok'), +(21687, 2,-3623.021, 1861.062, 48.94324, 'Gromtor, Son of Oronok'), +(21687, 3,-3626.021, 1860.062, 49.94324, 'Gromtor, Son of Oronok'), +(21687, 4,-3629.771, 1858.812, 50.94324, 'Gromtor, Son of Oronok'), +(21687, 5,-3631.521, 1858.312, 51.69324, 'Gromtor, Son of Oronok'), +(21687, 6,-3633.521, 1857.562, 52.44324, 'Gromtor, Son of Oronok'), +(21687, 7,-3634.521, 1857.312, 53.44324, 'Gromtor, Son of Oronok'), +(21687, 8,-3636.271, 1856.562, 54.19324, 'Gromtor, Son of Oronok'), +(21687, 9,-3637.271, 1856.312, 55.19324, 'Gromtor, Son of Oronok'), +(21687, 10,-3640.271, 1855.312, 55.69324, 'Gromtor, Son of Oronok'), +(21687, 11,-3643.021, 1854.562, 56.44324, 'Gromtor, Son of Oronok'), +(21687, 12,-3642.169, 1854.779, 56.43678, 'Gromtor, Son of Oronok'), +(21687, 13,-3644.919, 1854.529, 56.68678, 'Gromtor, Son of Oronok'), +(21687, 14,-3642.169, 1854.779, 56.43678, 'Gromtor, Son of Oronok'), +(21687, 15,-3644.919, 1854.529, 56.68678, 'Gromtor, Son of Oronok'), +(21687, 16,-3646.248, 1853.079, 57.05591, 'Gromtor, Son of Oronok'), +(21687, 17,-3647.998, 1852.079, 57.80591, 'Gromtor, Son of Oronok'), +(21686, 1,-3618.578, 1866.529, 48.23744, 'Borak, Son of Oronok'), +(21686, 2,-3620.311, 1865.76, 48.47595, 'Borak, Son of Oronok'), +(21686, 3,-3622.811, 1865.26, 48.97595, 'Borak, Son of Oronok'), +(21686, 4,-3624.811, 1864.51, 49.47595, 'Borak, Son of Oronok'), +(21686, 5,-3626.313, 1863.896, 50.1328, 'Borak, Son of Oronok'), +(21686, 6,-3628.313, 1863.396, 50.8828, 'Borak, Son of Oronok'), +(21686, 7,-3630.313, 1862.646, 51.3828, 'Borak, Son of Oronok'), +(21686, 8,-3632.813, 1861.896, 52.1328, 'Borak, Son of Oronok'), +(21686, 9,-3634.813, 1861.396, 52.8828, 'Borak, Son of Oronok'), +(21686, 10,-3634.81, 1861.143, 53.03374, 'Borak, Son of Oronok'), +(21686, 11,-3636.56, 1860.643, 53.78374, 'Borak, Son of Oronok'), +(21686, 12,-3639.31, 1859.893, 54.28374, 'Borak, Son of Oronok'), +(21686, 13,-3641.06, 1859.393, 55.03374, 'Borak, Son of Oronok'), +(21686, 14,-3643.06, 1858.643, 56.03374, 'Borak, Son of Oronok'), +(21686, 15,-3643.157, 1857.902, 56.33821, 'Borak, Son of Oronok'), +(21686, 16,-3644.657, 1857.152, 57.08821, 'Borak, Son of Oronok'), +(21686, 17,-3646.227, 1855.506, 57.3797, 'Borak, Son of Oronok'), +(21686, 18,-3648.227, 1853.756, 58.3797, 'Borak, Son of Oronok'), +(21685, 1,-3619.83, 1857.978, 48.17765, 'Oronok Torn-heart'), +(21685, 2,-3624.58, 1856.228, 48.67765, 'Oronok Torn-heart'), +(21685, 3,-3625.787, 1855.872, 49.38496, 'Oronok Torn-heart'), +(21685, 4,-3627.787, 1855.122, 50.13496, 'Oronok Torn-heart'), +(21685, 5,-3629.537, 1854.622, 51.13496, 'Oronok Torn-heart'), +(21685, 6,-3630.287, 1854.372, 51.63496, 'Oronok Torn-heart'), +(21685, 7,-3631.287, 1854.122, 53.13496, 'Oronok Torn-heart'), +(21685, 8,-3632.287, 1853.872, 53.88496, 'Oronok Torn-heart'), +(21685, 9,-3632.533, 1853.489, 54.04154, 'Oronok Torn-heart'), +(21685, 10,-3634.533, 1852.989, 56.29154, 'Oronok Torn-heart'), +(21685, 11,-3637.033, 1852.239, 57.79154, 'Oronok Torn-heart'), +(21685, 12,-3640.951, 1852.142, 57.46563, 'Oronok Torn-heart'), +(21181, 1,-3617.7155, 1823.1611, 39.7751, 'Cyrukh the Firelord '), +(2168500, 1,-3600.319, 1898.602, 47.36539, 'Oronok Torn-heart (Path 2)'), +(2168600, 1,-3597.452, 1895.446, 47.36539, 'Borak, Son of Oronok (Path 2)'), +(2168700, 1,-3603.953, 1895.167, 47.36539, 'Gromtor, Son of Oronok (Path 2)'); + +DELETE FROM `creature_text` WHERE `entry` IN(21685,17008,21181,21310,21049,21739,21740); +DELETE FROM `creature_text` WHERE `entry` IN(21024) and `groupid`>10; + +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES +(21024, 11, 0, 'I hear what you hear, brother. Look behind you...', 12, 0, 100, 1, 0, 0, 'Earthmender Torlok to Cyrukh the Firelord',19336), + +(21685, 0, 0, 'You do not fight alone, $n! Together, we will banish this spawn of hellfire!', 14, 0, 100, 0, 0, 0, 'Oronok Torn-heart',19304), +(21685, 1, 0, 'We leave, then, Torlok. I have only one request...', 12, 0, 100, 1, 0, 0, 'Oronok Torn-heart',19341), +(21685, 2, 0, 'The Torn-heart men give their weapons to Earthmender Torlok.', 16, 0, 100, 1, 0, 0, 'Oronok Torn-heart',19342), +(21685, 3, 0, 'Give these to the heroes that made this possible.', 12, 0, 100, 1, 0, 0, 'Oronok Torn-heart',19343), +(21685, 4, 0, 'We will set the elements free of your grasp by force!', 14, 0, 100, 0, 0, 0, 'Oronok Torn-heart',19309), +(21685, 5, 0, 'We will fight when you are ready.', 12, 0, 100, 0, 0, 0, 'Oronok Torn-heart',19310), +(21685, 6, 0, 'What say the elements, Torlok? I hear only silence.', 12, 0, 100, 1, 0, 0, 'Oronok Torn-heart',19334), +(21685, 7, 0, 'They are redeemed! Then we have won?', 12, 0, 100, 5, 0, 0, 'Oronok Torn-heart',19337), +(17008, 0, 0, 'Be silent! The shattering is soon to come!', 12, 0, 100, 15, 0, 0, 'Gul''dan',18701), +(17008, 1, 0, 'Bear witness to the undeniable power of our dark master!', 12, 0, 100, 0, 0, 0, 'Gul''dan',18702), +(17008, 2, 0, 'With his gift, I shall raze this land and reform it!', 12, 0, 100, 0, 0, 0, 'Gul''dan',18703), +(17008, 3, 0, 'Watch! See the ground shatter before us! Watch as the energy flows! It will feed our armies...', 12, 0, 100, 0, 0, 0, 'Gul''dan',18704), +(17008, 4, 0, 'We will never be without power! I have secured our future! Bask in my glory!', 12, 0, 100, 0, 0, 0, 'Gul''dan',18705), +(17008, 5, 0, 'It... is... done...', 12, 0, 100, 0, 0, 0, 'Gul''dan',18706), +(21181, 0, 0, 'Cyrukh has awoken!', 14, 0, 100, 0, 0, 0, 'Cyrukh the Firelord',19298), +(21181, 1, 0, 'Cyrukh comes for you!', 14, 0, 100, 0, 0, 0, 'Cyrukh the Firelord',19301), +(21181, 1, 1, 'You will suffer eternally!', 14, 0, 100, 0, 0, 0, 'Cyrukh the Firelord',19299), +(21181, 1, 2, 'Those that dare play with fire will be incinerated!', 14, 0, 100, 0, 0, 0, 'Cyrukh the Firelord',19302), +(21181, 1, 3, 'Little creature made of flesh, your wish is granted! Death comes for you!', 14, 0, 100, 0, 0, 0, 'Cyrukh the Firelord',19308), +(21310, 0, 0, 'A flaming vortex takes shape.', 16, 0, 100, 0, 0, 0, 'Shadowmoon Valley Invisible Trigger (Tiny)',19303), +(21049, 0, 0, 'You have damned us all... We are lost.', 12, 0, 100, 20, 0, 0, 'Spirit of the Past',18700), +(21049, 0, 1, 'Stop! You must stop!', 12, 0, 100, 20, 0, 0, 'Spirit of the Past',18698), +(21049, 0, 2, 'Do not do this, Gul''dan! The elements will never forgive us!', 12, 0, 100, 20, 0, 0, 'Spirit of the Past',18697), +(21049, 0, 3, 'Think of our younglings, Gul''dan! You will destroy us all!', 12, 0, 100, 20, 0, 0, 'Spirit of the Past',18699), +(21049, 0, 4, 'We will take from the land if it refuses to give!', 12, 0, 100, 15, 0, 0, 'Spirit of the Past',18696), +(21049, 0, 5, 'Tear the land asunder, Gul''dan! Sever the tie!', 12, 0, 100, 15, 0, 0, 'Spirit of the Past',18694), +(21049, 0, 6, 'They have abandoned us! Do not forget!', 12, 0, 100, 15, 0, 0, 'Spirit of the Past',18695), +(21740, 0, 0, 'Yes... Well enough for the elements that are here, but the cipher is known to another... The spirits of fire are in turmoil... If this force is not stopped, the world where these mortals came from will cease.', 12, 0, 100, 0, 0, 0, 'Redeemed Spirit of Fire',19339), +(21739, 0, 0, 'Farewell, mortals... The earthmender knows what fire feels...', 12, 0, 100, 0, 0, 0, 'Redeemed Spirit of Earth',19340), +(21739, 1, 0, 'It is now as it should be, shaman. You have done well.', 12, 0, 100, 0, 0, 0, 'Redeemed Spirit of Earth',19338); + +DELETE FROM `creature_template_addon` WHERE `entry` BETWEEN 21738 AND 21741; +INSERT INTO `creature_template_addon` (`entry`, `mount`, `bytes1`, `bytes2`, `auras`) VALUES +(21741, 0, 0x0, 0x1, ''), -- 21741 +(21740, 0, 0x0, 0x1, ''), -- 21740 +(21739, 0, 0x0, 0x1, ''), -- 21739 +(21738, 0, 0x0, 0x1, ''); -- 21738 + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=35997; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 35997, 0, 0, 35, 1, 0, 20, 1, 0, 0, 0, '', 'Fel Flames target must not be self'), +(13, 1, 35997, 0, 0, 31, 0, 3, 21052, 0, 0, 0, 0, '', 'Fel Flames target has to be Camera Shaker - Altar of Damnation'); + +DELETE FROM `creature_summon_groups` WHERE `summonerId`IN(21310); +DELETE FROM `creature_summon_groups` WHERE `summonerId`IN(21024) AND `groupId`=1; + +INSERT INTO `creature_summon_groups` (`summonerId`, `summonerType`, `groupId`, `entry`, `position_x`, `position_y`, `position_z`, `orientation`, `summonType`, `summonTime`) VALUES +(21024, 0, 1, 21738, -3587.229, 1892.889, 47.32373, 2.199115, 1, 37000), +(21024, 0, 1, 21739, -3598.681, 1888.016, 47.32373, 1.692969, 1, 37000), +(21024, 0, 1, 21740, -3605.315, 1884.477, 47.32373, 1.308997, 1, 37000), +(21024, 0, 1, 21741, -3591.871, 1886.822, 47.32373, 1.850049, 1, 37000), +(21310, 0, 0, 21685, -3600.319, 1898.602, 47.36539, 4.921828, 1, 600000), +(21310, 0, 0, 21686, -3603.865, 1900.854, 47.36539, 4.931085, 1, 600000), +(21310, 0, 0, 21687, -3597.99, 1902.118, 47.3654, 4.848677, 1, 600000); + +DELETE FROM `event_scripts` WHERE id=13961; +INSERT INTO `event_scripts` (`id`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES +(13961, 3, 10, 21310, 50000, 0, -3590.538574, 1832.343506, 41.749908, 1.65); From 35ead9632db7042f7e2ed30827de8668c3a43420 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Sun, 22 Mar 2015 16:46:37 +0000 Subject: [PATCH 05/54] DB/Quest: Take Down Tethyr! By @Killyana, Initial work by @tkrokli Closes #14294 --- sql/updates/world/2015_03_22_01_world.sql | 100 ++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 sql/updates/world/2015_03_22_01_world.sql diff --git a/sql/updates/world/2015_03_22_01_world.sql b/sql/updates/world/2015_03_22_01_world.sql new file mode 100644 index 00000000000..07e759465dc --- /dev/null +++ b/sql/updates/world/2015_03_22_01_world.sql @@ -0,0 +1,100 @@ +SET @Cannon:= 186432; +SET @Tethyr:=23899; +SET @Marksman:=23900; +SET @Blast:=42578; +SET @Mills:=23905; +SET @Counter:=52500; + +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (@Tethyr, @Mills, @Marksman); +UPDATE `creature_template` SET `InhabitType`=2 WHERE `entry` IN (@Tethyr); +UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry`=@Cannon; + +DELETE FROM `creature_text` WHERE `entry`=@Mills; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextID`) VALUES +(@Mills,0,0,'Marksmen, form up and take your positions!',14,0,100,0,0,0, 'Major Mills', 22447), +(@Mills,1,0,'Prepare to fire upon my command! Ready, aim...',14,0,100,0,0,0, 'Major Mills', 22448), +(@Mills,2,0,'FIRE AT WILL!',14,0,100,0,0,0, 'Major Mills', 22449), +(@Mills,3,0,'We did it! We''ve defeated Tethyr!',14,0,100,0,0,0, 'Major Mills', 22633); + +DELETE FROM `waypoints` WHERE `entry`=@Tethyr; +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(@Tethyr,1, -3882.588379,-4670.275391,-1.823548,'Tethyr'); +UPDATE `quest_template` SET `SpecialFlags`=2 WHERE `Id`=11198; + +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Cannon) AND `source_type`=1; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Marksman) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Marksman*100) AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Mills) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Mills*100) AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Marksman*100) AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Marksman*100+1) AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Tethyr) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Tethyr*100) AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Tethyr*100+1) 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 +(@Mills,0,0,0,19,0,100,0,11198,0,0,0,80,@Mills*100,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Major Mills: On quest accept call main script'), +(@Mills*100,9,0,0,0,0,100,0,0,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Take Down Tethyr: Remove npcflag'), +(@Mills*100,9,1,0,0,0,100,0,2000,2000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Take Down Tethyr: Talk'), +(@Mills*100,9,2,0,0,0,100,0,0,0,0,0,12,@Marksman,1,900000,0,0,0,8,0,0,0,-3904.77,-4635.09,9.62735,5.49334, 'Take Down Tethyr: Summon Theramore Marksman'), +(@Mills*100,9,3,0,0,0,100,0,0,0,0,0,12,@Marksman,1,900000,0,0,0,8,0,0,0,-3856.59,-4622.45,9.24753,3.87856, 'Take Down Tethyr: Summon Theramore Marksman'), +(@Mills*100,9,4,0,0,0,100,0,0,0,0,0,12,@Marksman,1,900000,0,0,0,8,0,0,0,-3917.6,-4648.53,9.32604,5.56795, 'Take Down Tethyr: Summon Theramore Marksman'), +(@Mills*100,9,5,0,0,0,100,0,0,0,0,0,12,@Marksman,1,900000,0,0,0,8,0,0,0,-3890.48,-4620.7,9.55527,4.99383, 'Take Down Tethyr: Summon Theramore Marksman'), +(@Mills*100,9,6,0,0,0,100,0,0,0,0,0,12,@Marksman,1,900000,0,0,0,8,0,0,0,-3865.94,-4617.2,9.26262,4.16523, 'Take Down Tethyr: Summon Theramore Marksman'), +(@Mills*100,9,7,0,0,0,100,0,0,0,0,0,12,@Marksman,1,900000,0,0,0,8,0,0,0,-3834.8,-4645.41,9.25827,3.61152, 'Take Down Tethyr: Summon Theramore Marksman'), +(@Mills*100,9,8,0,0,0,100,0,0,0,0,0,12,@Marksman,1,900000,0,0,0,8,0,0,0,-3826.61,-4655.32,9.21484,3.13243, 'Take Down Tethyr: Summon Theramore Marksman'), +(@Mills*100,9,9,0,0,0,100,0,0,0,0,0,12,@Marksman,1,900000,0,0,0,8,0,0,0,-3830.76,-4673.74,9.50962,2.70832, 'Take Down Tethyr: Summon Theramore Marksman'), +(@Mills*100,9,10,0,0,0,100,0,0,0,0,0,12,@Marksman,1,900000,0,0,0,8,0,0,0,-3843.65,-4687.59,9.6436,2.43735, 'Take Down Tethyr: Summon Theramore Marksman'), +(@Mills*100,9,11,0,0,0,100,0,0,0,0,0,12,@Marksman,1,900000,0,0,0,8,0,0,0,-3858.49,-4703.49,9.17411,2.33525, 'Take Down Tethyr: Summon Theramore Marksman'), +(@Mills*100,9,12,0,0,0,100,0,0,0,0,0,12,@Marksman,1,900000,0,0,0,8,0,0,0,-3851.97,-4697.24,9.36834,2.33525, 'Take Down Tethyr: Summon Theramore Marksman'), +(@Mills*100,9,13,0,0,0,100,0,0,0,0,0,12,@Marksman,1,900000,0,0,0,8,0,0,0,-3924.35,-4656.55,9.15409,5.80749, 'Take Down Tethyr: Summon Theramore Marksman'), +(@Mills*100,9,14,0,0,0,100,0,0,0,0,0,12,@Tethyr,1,900000,0,0,0,8,0,0,0,-3897.365479, -4750.632813, -1.719010, 1.791049, 'Take Down Tethyr: Summon Tethyr'), +(@Mills*100,9,15,0,0,0,100,0,6000,6000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Take Down Tethyr: Talk'), +(@Mills*100,9,16,0,0,0,100,0,10000,10000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Take Down Tethyr: Talk'), +(@Mills*100,9,17,0,0,0,100,0,0,0,0,0,106,16,0,0,0,0,0,14,10824,@Cannon,0,0, 0, 0, 0, 'Take Down Tethyr: Remove Flag from GO'), +(@Mills*100,9,18,0,0,0,100,0,0,0,0,0,106,16,0,0,0,0,0,14,10227,@Cannon,0,0, 0, 0, 0, 'Take Down Tethyr: Remove Flag from GO'), +(@Mills*100,9,19,0,0,0,100,0,0,0,0,0,106,16,0,0,0,0,0,14,11186,@Cannon,0,0, 0, 0, 0, 'Take Down Tethyr: Remove Flag from GO'), +(@Tethyr,0,0,0,54,0,100,0,0,0,0,0,80,@Tethyr*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Tethyr - Just Summoned - Action list'), +(@Tethyr*100,9,0,0,0,0,100,0,0,0,0,0,53,0,@Tethyr,0,0,0,0,1,0,0,0,0,0,0,0,'Tethyr - Action list - Start wp'), +(@Tethyr*100,9,1,0,0,0,100,0,0,0,0,0,102,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tethyr - Action list - REGEN HEALTH OFF'), +(@Tethyr*100,9,2,0,0,0,100,0,0,0,0,0,18,128,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tethyr - Action list - Add unit flag'), +(@Tethyr,0,1,0,23,0,100,1,@Counter,5,0,0,80,@Tethyr*100+1,2,0,0,0,0,1,0,0,0,0,0,0,0,'Tethyr - On data set - ActionList'), +(@Tethyr*100+1,9,3,0,0,0,100,0,0,0,0,0,6,11198,0,0,0,0,0,18,90,0,0,0,0,0,0,'Tethyr - Action list - Quest Failed'), +(@Tethyr*100+1,9,4,0,0,0,100,0,0,0,0,0,41,0,0,0,0,0,0,11,@Marksman,80,0,0,0,0,0,'Tethyr - Action list - Despawn'), +(@Tethyr*100+1,9,5,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,31075,@Mills,0,0,0,0,0,'Tethyr - Action list - Set Data'), +(@Tethyr*100+1,9,6,0,0,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tethyr - Action list - Despawn'), +(@Tethyr,0,1,2,40,0,100,0,1,@Tethyr,0,0,101,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tethyr - Waypoint reached - Set home position'), +(@Tethyr,0,2,0,61,0,100,0,0,0,0,0,19,128,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tethyr - Just Summoned - Remove unit flag'), +(@Tethyr,0,3,0,0,0,100,0,3000,3000,7000,7000,11,42584,0,0,0,0,0,5,0,0,0,0,0,0,0,'Tethyr - Occ - Cast'), +(@Tethyr,0,4,0,0,0,100,0,5000,5000,8000,8000,11,42574,0,0,0,0,0,5,0,0,0,0,0,0,0,'Tethyr - Occ - Cast'), +(@Tethyr,0,5,0,8,0,100,0,@Blast,0,0,0,11,36662,2,0,0,0,0,1,0,0,0,0,0,0,0,'Tethyr - Spell Hist - Cast'), +(@Tethyr,0,6,7,6,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,31075,@Mills,0,0,0,0,0,'Tethyr - On Death - Set Data'), +(@Tethyr,0,7,0,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,11,@Marksman,80,0,0,0,0,0,'Tethyr - On Death - Set Data'), +(@Mills,0,1,2,38,0,100,0,0,1,0,0,82,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tethyr - On data set - Add npcflag'), +(@Mills,0,2,3,61,0,100,0,0,0,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tethyr - On data set - talk'), +(@Mills,0,3,0,61,0,100,0,0,0,0,0,15,11198,0,0,0,0,0,18,100,0,0,0,0,0,0,'Tethyr - On data sett - Area explored'), +(@Mills,0,4,0,38,0,100,0,0,2,0,0,82,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tethyr - On data set - Add npcflag'), +(@Marksman,0,0,0,38,0,100,0,0,1,0,0,80,@Marksman*100+1,2,0,0,0,0,1,0,0,0,0,0,0,0,'Marksman - On DATA set - Action List'), +(@Marksman*100+1,9,1,0,0,0,100,0,2000,2000,0,0,11,66402,0,0,0,0,0,1,0,0,0,0,0,0,0,'Marksman - Action list - cast Fireworks'), +(@Marksman*100+1,9,2,0,0,0,100,0,2000,2000,0,0,11,66400,0,0,0,0,0,1,0,0,0,0,0,0,0,'Marksman - Action list - cast Fireworks'), +(@Marksman*100+1,9,3,0,0,0,100,0,2000,2000,0,0,11,66402,0,0,0,0,0,1,0,0,0,0,0,0,0,'Marksman - Action list - cast Fireworks'), +(@Marksman*100+1,9,4,0,0,0,100,0,2000,2000,0,0,11,66400,0,0,0,0,0,1,0,0,0,0,0,0,0,'Marksman - Action list - cast Fireworks'), +(@Marksman*100+1,9,5,0,0,0,100,0,2000,2000,0,0,11,66402,0,0,0,0,0,1,0,0,0,0,0,0,0,'Marksman - Action list - cast Fireworks'), +(@Marksman*100+1,9,6,0,0,0,100,0,2000,2000,0,0,11,66400,0,0,0,0,0,1,0,0,0,0,0,0,0,'Marksman - Action list - cast Fireworks'), +(@Marksman*100+1,9,7,0,0,0,100,0,2000,2000,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tethyr - Just Summoned - Despawn'), +(@Marksman,0,1,0,54,0,100,1,0,0,0,0,80,@Marksman*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Marksman - Just Summoned - Action list'), +(@Marksman*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,'Marksman - Action list - React passif'), +(@Marksman*100,9,1,0,0,0,100,0,0,0,0,0,18,131072,0,0,0,0,0,1,0,0,0,0,0,0,0,'Marksman - Action list - Add unit flag'), +(@Marksman*100,9,2,0,0,0,100,0,16000,16000,0,0,19,131072,0,0,0,0,0,1,0,0,0,0,0,0,0,'Marksman - Action list - Remove unit flag'), +(@Marksman,0,2,0,1,0,100,0,3000,3000,2000,2000,11,42580,0,0,0,0,0,19,@Tethyr,80,0,0,0,0,0,'Tethyr - Occ - Cast'), +(@Marksman,0,3,0,0,0,100,0,3000,3000,2000,2000,11,42580,0,0,0,0,0,19,@Tethyr,80,0,0,0,0,0,'Tethyr - IC - Cast'), +(@Marksman,0,4,0,6,0,100,0,0,0,0,0,75,@Counter,0,0,0,0,0,19,@Tethyr,80,0,0,0,0,0,'Tethyr - On death - Set data1'); + +DELETE FROM `spell_linked_spell` WHERE `spell_trigger` = @Blast; +INSERT INTO `spell_linked_spell` VALUES (@Blast, 42576, 0, 'Theramore Cannon blast'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=@Blast; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, @Blast, 0, 31, 3, @Tethyr, 0, 0, '', 'Blast cannon target'); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=42576; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 42576, 0, 31, 3, @Tethyr, 0, 0, '', 'Blast cannon target'); From 38a2e5447bb5ff2e9c62a934e7f57a8cf81ee7fb Mon Sep 17 00:00:00 2001 From: Aokromes Date: Sun, 22 Mar 2015 17:55:07 +0100 Subject: [PATCH 06/54] DB/Misc: Fix runtime error, delete incorrectly spawned mob Updates #2070 --- sql/updates/world/2015_03_22_02_world.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 sql/updates/world/2015_03_22_02_world.sql diff --git a/sql/updates/world/2015_03_22_02_world.sql b/sql/updates/world/2015_03_22_02_world.sql new file mode 100644 index 00000000000..4fd3f5b8e25 --- /dev/null +++ b/sql/updates/world/2015_03_22_02_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `creature` WHERE `id` = 34137; +DELETE FROM `creature_addon` WHERE `guid` = 26148; +INSERT INTO `creature_addon` (`guid`, `path_id`) VALUES (26148, 261480); From a95bfa6a73b676773915c559daec8af8e1b6ba7a Mon Sep 17 00:00:00 2001 From: Dr-J Date: Sun, 22 Mar 2015 17:03:31 +0000 Subject: [PATCH 07/54] DB/Quest: Teleport This! By @Killyana Closes #4878 --- sql/updates/world/2015_03_22_03_world.sql | 68 +++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 sql/updates/world/2015_03_22_03_world.sql diff --git a/sql/updates/world/2015_03_22_03_world.sql b/sql/updates/world/2015_03_22_03_world.sql new file mode 100644 index 00000000000..8b59ea0824c --- /dev/null +++ b/sql/updates/world/2015_03_22_03_world.sql @@ -0,0 +1,68 @@ +SET @GUID:=69717; -- 3 free Gob guid set by TC +SET @WESTERN_TP := 22348; +SET @EASTERN_TP := 22351; +SET @CENTRAL_TP := 22350; +SET @Teleporter := 185215; + +DELETE FROM `gameobject` WHERE `guid` IN (@GUID+0, @GUID+1, @GUID+2); +INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES +(@GUID+0, @Teleporter, 530, 1, 1, 4697.5, 3298.68, 178.892, 2.02823, 0, 0, 0.849013, 0.528372, 120, 0, 1), +(@GUID+1, @Teleporter, 530, 1, 1, 4734.71, 3193.67, 161.48, 0.386745, 0, 0, 0.19217, 0.981362, 120, 0, 1), +(@GUID+2, @Teleporter, 530, 1, 1, 4673.28, 3126.67, 166.725, 5.42979, 0, 0, 0.413867, -0.910337, 120, 0, 1); + +UPDATE `creature_template` SET `spell2`=36255,`spell3`=8599,`spell4`=38920 WHERE `entry`=16943; +UPDATE `creature_template` SET `spell2`=37179,`spell3`=36251,`spell4`=38920 WHERE `entry`=20928; +UPDATE `creature_template` SET `AIName`='SmartAI', `unit_flags`=33555200, `flags_extra`=130 WHERE `entry` IN (@CENTRAL_TP, @EASTERN_TP, @WESTERN_TP); +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (20928); + +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (-70125,-70122,-70124,-70126,-70123,-70116,-70115,-70117,-70118,-70119,-70128,-70127,-70121,-70120, -70131, -70130, -70129, -70112, -70113, -70114, -70132, -70133, -70135, -70134, -70138, -70136, -70139, -70137) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@WESTERN_TP, @EASTERN_TP, @CENTRAL_TP, 20928) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (16943) AND `source_type`=0 AND id IN (3,4,5); +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 +(@WESTERN_TP,0,0,0,8,0,100,0,38920,0,0,0,45,0,1,0,0,0,0,7,0,0,0,0,0,0,0,"WESTERN_TP - On spell hit - SET data"), +(@EASTERN_TP,0,1,0,8,0,100,0,38920,0,0,0,45,0,2,0,0,0,0,7,0,0,0,0,0,0,0,"EASTERN_TP - On spell hit - SET data"), +(@CENTRAL_TP,0,2,0,8,0,100,0,38920,0,0,0,45,0,3,0,0,0,0,7,0,0,0,0,0,0,0,"CENTRAL_TP - On spell hit - SET data"), +(16943,0,3,0,38,0,100,0,0,1,0,0,86,38982,0,23,0,0,0,1,0,0,0,0,0,0,0,"16943 - On data set - Cast Credit"), +(16943,0,4,0,38,0,100,0,0,2,0,0,86,38983,0,23,0,0,0,1,0,0,0,0,0,0,0,"16943 - On data set - Cast Credit"), +(16943,0,5,0,38,0,100,0,0,3,0,0,86,38984,0,23,0,0,0,1,0,0,0,0,0,0,0,"16943 - On data set - Cast Credit"), +(20928,0,0,0,0,0,100,0,1000,1000,7000,9000,11,37179,0,0,0,0,0,2,0,0,0,0,0,0,0,"20928 - IC- Cast"), +(20928,0,1,0,0,0,100,0,4000,4000,5000,5000,11,36251,0,0,0,0,0,2,0,0,0,0,0,0,0,"20928 - IC- Cast"), +(20928,0,2,0,4,0,100,0,0,0,0,0,11,33962,0,0,0,0,0,1,0,0,0,0,0,0,0,"20928 - On Aggro - Cast"), +(20928,0,3,0,38,0,100,0,0,1,0,0,86,38982,0,23,0,0,0,1,0,0,0,0,0,0,0,"20928 - On data set - Cast Credit"), +(20928,0,4,0,38,0,100,0,0,2,0,0,86,38983,0,23,0,0,0,1,0,0,0,0,0,0,0,"20928 - On data set - Cast Credit"), +(20928,0,5,0,38,0,100,0,0,3,0,0,86,38984,0,23,0,0,0,1,0,0,0,0,0,0,0,"20928 - On data set - Cast Credit"), +(-70115,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70116,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70118,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70116,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70117,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70116,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70119,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70120,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70128,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70120,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70121,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70120,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70127,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,1,0,0,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70126,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70123,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70122,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70123,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70124,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70123,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70125,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,1,0,0,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70114,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,1,0,0,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70132,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,1,0,0,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70133,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,1,0,0,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70129,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70131,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70130,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70129,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70131,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70130,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70113,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70112,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70112,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70113,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70135,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70137,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70134,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70137,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70138,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70137,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70136,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70137,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'), +(-70139,0,0,0,1,0,100,1,0,0,0,0,11,33346,64,0,0,0,0,10,70137,19656,0,0,0,0,0,'Invisible Location Trigger - OOC no repeat - Cast Green Beam on target'); + +DELETE FROM `conditions` WHERE `SourceEntry`=38920 AND `SourceTypeOrReferenceId`=13; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,7,38920,0,1,31,0,3,@WESTERN_TP,0,0,0,'', 'Detonate all 3 implicit effects can hit western teleporter'), +(13,7,38920,0,2,31,0,3,@EASTERN_TP,0,0,0,'', 'Detonate all 3 implicit effects can hit eastern teleporter'), +(13,7,38920,0,3,31,0,3,@CENTRAL_TP,0,0,0,'', 'Detonate all 3 implicit effects can hit central teleporter'); + +DELETE FROM `conditions` WHERE `SourceEntry`=38915 AND `SourceTypeOrReferenceId`=17; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(17,0,38915,0,1,31,1,3,16943,0,0,0,'', 'Mental interference target can be Cyber-Rage Forgelord'), +(17,0,38915,0,2,31,1,3,20928,0,0,0,'', 'Mental interference target can be Ironspine Forgelord'); From 98a9f53dd9c80646b9ef26f501d7075daffbc2da Mon Sep 17 00:00:00 2001 From: Aokromes Date: Sun, 22 Mar 2015 18:44:55 +0100 Subject: [PATCH 08/54] DB/Creature: Pathing for Winter Revenant By Malcrom, closes #2070 --- sql/updates/world/2015_03_22_04_world.sql | 88 +++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 sql/updates/world/2015_03_22_04_world.sql diff --git a/sql/updates/world/2015_03_22_04_world.sql b/sql/updates/world/2015_03_22_04_world.sql new file mode 100644 index 00000000000..d468134a279 --- /dev/null +++ b/sql/updates/world/2015_03_22_04_world.sql @@ -0,0 +1,88 @@ +-- Pathing for Winter Revenant Entry: 34134 +SET @NPC := 136272; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1863.794,`position_y`=-291.2315,`position_z`=412.549 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,1863.794,-291.2315,412.549,0,0,0,0,100,0), +(@PATH,2,1863.79,-270.939,412.549,0,0,0,0,100,0), +(@PATH,3,1863.947,-228.3612,412.549,0,0,0,0,100,0), +(@PATH,4,1869.661,-213.3534,412.5491,0,0,0,0,100,0), +(@PATH,5,1865.418,-223.9702,412.5492,0,0,0,0,100,0), +(@PATH,6,1864.278,-260.7524,412.5491,0,0,0,0,100,0); + +-- Pathing for Winter Revenant Entry: 34134 +SET @NPC := 136273; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1923.732,`position_y`=-359.4886,`position_z`=421.7067 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,1923.732,-359.4886,421.7067,0,0,0,0,100,0), +(@PATH,2,1910.024,-354.7222,418.0154,0,0,0,0,100,0), +(@PATH,3,1918.405,-348.7433,419.1237,0,0,0,0,100,0), +(@PATH,4,1939.619,-338.1754,423.0634,0,0,0,0,100,0), +(@PATH,5,1963.408,-334.0208,424.2783,0,0,0,0,100,0), +(@PATH,6,1980.856,-335.2691,424.5296,0,0,0,0,100,0), +(@PATH,7,1986.183,-330.6932,425.169,0,0,0,0,100,0), +(@PATH,8,1995.423,-314.1808,429.2899,0,0,0,0,100,0), +(@PATH,9,1991.416,-322.2818,428.0239,0,0,0,0,100,0), +(@PATH,10,1986.513,-331.125,425.358,0,0,0,0,100,0), +(@PATH,11,1985.857,-349.7383,423.7158,0,0,0,0,100,0), +(@PATH,12,1981.682,-366.153,421.861,0,0,0,0,100,0), +(@PATH,13,1977.274,-369.6335,421.7955,0,0,0,0,100,0), +(@PATH,14,1979.401,-369.707,421.2126,0,0,0,0,100,0), +(@PATH,15,1984.034,-359.9644,422.6329,0,0,0,0,100,0), +(@PATH,16,1984.393,-335.8026,424.7922,0,0,0,0,100,0), +(@PATH,17,1988.928,-328.356,425.7399,0,0,0,0,100,0), +(@PATH,18,1995.36,-317.4339,428.2936,0,0,0,0,100,0), +(@PATH,19,1986.51,-331.1359,425.4233,0,0,0,0,100,0), +(@PATH,20,1985.911,-349.9874,423.6323,0,0,0,0,100,0), +(@PATH,21,1981.283,-367.6224,421.5562,0,0,0,0,100,0), +(@PATH,22,1977.089,-370.4861,421.7415,0,0,0,0,100,0), +(@PATH,23,1980.1,-368.3475,421.1914,0,0,0,0,100,0), +(@PATH,24,1983.74,-359.1452,422.7472,0,0,0,0,100,0), +(@PATH,25,1984.766,-343.7218,423.7823,0,0,0,0,100,0), +(@PATH,26,1995.432,-314.0199,429.2879,0,0,0,0,100,0), +(@PATH,27,1989.344,-326.1992,426.7511,0,0,0,0,100,0), +(@PATH,28,1982.792,-334.583,424.959,0,0,0,0,100,0), +(@PATH,29,1966.594,-333.5218,424.746,0,0,0,0,100,0), +(@PATH,30,1947.611,-335.2066,424.0862,0,0,0,0,100,0), +(@PATH,31,1926.362,-345.1485,420.9026,0,0,0,0,100,0), +(@PATH,32,1910.392,-351.3752,417.4246,0,0,0,0,100,0), +(@PATH,33,1920.583,-357.5619,420.6503,0,0,0,0,100,0), +(@PATH,34,1930.703,-367.3549,424.857,0,0,0,0,100,0), +(@PATH,35,1948.212,-376.7307,427.6352,0,0,0,0,100,0); + +-- Pathing for Winter Revenant Entry: 34134 +SET @NPC := 136282; +SET @PATH := @NPC * 10; +DELETE FROM `creature` WHERE `guid`=@NPC; +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@NPC,34134,603,3,1,1819.619,-357.7437,413.1524,0.42,604800,0, 2); +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,1819.619,-357.7437,413.1524,0,0,0,0,100,0), +(@PATH,2,1805.549,-360.7479,413.217,0,0,0,0,100,0), +(@PATH,3,1794.583,-359.7582,412.7976,0,0,0,0,100,0), +(@PATH,4,1781.751,-356.4551,412.6638,0,0,0,0,100,0), +(@PATH,5,1767.5,-360.8076,412.4928,0,0,0,0,100,0), +(@PATH,6,1786.507,-358.0201,412.7365,0,0,0,0,100,0), +(@PATH,7,1804.042,-360.811,413.1808,0,0,0,0,100,0), +(@PATH,8,1815.088,-359.1276,413.0786,0,0,0,0,100,0), +(@PATH,9,1826.932,-355.8406,413.2609,0,0,0,0,100,0), +(@PATH,10,1837.789,-356.2162,413.0187,0,0,0,0,100,0), +(@PATH,11,1851.447,-344.2731,412.6318,0,0,0,0,100,0), +(@PATH,12,1860.773,-334.8643,412.6426,0,0,0,0,100,0), +(@PATH,13,1874.715,-338.0733,412.809,0,0,0,0,100,0), +(@PATH,14,1882.154,-355.1157,412.7476,0,0,0,0,100,0), +(@PATH,15,1872.645,-369.4694,413.3637,0,0,0,0,100,0), +(@PATH,16,1862.287,-378.0733,413.9054,0,0,0,0,100,0), +(@PATH,17,1850.775,-374.4587,412.9799,0,0,0,0,100,0), +(@PATH,18,1841.932,-359.4829,413.0605,0,0,0,0,100,0), +(@PATH,19,1823.803,-358.0992,412.858,0,0,0,0,100,0); From 3be5c2792004b5d283d0884c815ef1759b0b5127 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Sun, 22 Mar 2015 20:46:29 +0100 Subject: [PATCH 09/54] DB/Creature: Pathing for Freya By Malcrom --- sql/updates/world/2015_03_22_05_world.sql | 42 +++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 sql/updates/world/2015_03_22_05_world.sql diff --git a/sql/updates/world/2015_03_22_05_world.sql b/sql/updates/world/2015_03_22_05_world.sql new file mode 100644 index 00000000000..6e81be445da --- /dev/null +++ b/sql/updates/world/2015_03_22_05_world.sql @@ -0,0 +1,42 @@ +-- Pathing for Freya Entry: 32906 +SET @NPC := 136554; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2338.461,`position_y`=-52.32549,`position_z`=425.5522 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,2338.461,-52.32549,425.5522,0,0,0,0,100,0), +(@PATH,2,2327.021,-69.61578,426.0348,0,0,0,0,100,0), +(@PATH,3,2303.438,-90.47264,429.1589,0,0,0,0,100,0), +(@PATH,4,2301.615,-91.41477,429.1122,3.649395,13000,0,488,100,0), +(@PATH,5,2333.003,-57.68308,425.5663,0,0,0,0,100,0), +(@PATH,6,2342.892,-46.95139,425.5204,3.298672,60000,0,0,100,0), +(@PATH,7,2397.739,-42.16927,422.8524,0,0,0,0,100,0), +(@PATH,8,2409.762,-74.47346,420.6727,0,0,0,0,100,0), +(@PATH,9,2400.14,-96.78609,424.1808,0,0,0,0,100,0), +(@PATH,10,2399.105,-98.47173,424.2316,4.866657,13000,0,489,100,0), +(@PATH,11,2397.637,-46.43726,423.2978,0,0,0,0,100,0), +(@PATH,12,2358.936,-41.11687,425.6092,0,0,0,0,100,0), +(@PATH,13,2349.045,-40.70486,425.7578,3.176499,60000,0,0,100,0), +(@PATH,14,2403.443,-26.94002,419.8143,0,0,0,0,100,0), +(@PATH,15,2411.195,-22.77497,419.1813,0,0,0,0,100,0), +(@PATH,16,2436.248,12.27234,422.2727,0,0,0,0,100,0), +(@PATH,17,2437.145,16.83826,424.929,0,0,0,0,100,0), +(@PATH,18,2437.777,19.35069,426.0522,1.399542,13000,0,490,100,0), +(@PATH,19,2412.994,-11.56424,420.4819,0,0,0,0,100,0), +(@PATH,20,2359.694,-40.27568,425.3726,0,75000,0,0,100,0); + +DELETE FROM `waypoint_scripts` WHERE `id` IN (488,489,490); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`dataint`,`x`,`guid`) VALUES +(488,3,15,63295,4,33575,30,891),(489,3,15,63292,4,33575,30,892),(490,3,15,63294,4,33575,30,893); + +UPDATE `creature` SET `modelid`=0,`spawndist`=0,`MovementType`=0, `curhealth`=1 WHERE `id`=33575; +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=33575; + +-- Add spell target condition for Freya Dummy +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=2 AND `SourceEntry` IN (63292,63294,63295); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 2, 63292, 0, 0, 31, 3, 33575, 0, 0, '', 'Freya Dummy Yellow targets Channel Stalker Freya'), +(13, 2, 63294, 0, 0, 31, 3, 33575, 0, 0, '', 'Freya Dummy Blue targets Channel Stalker Freya'), +(13, 2, 63295, 0, 0, 31, 3, 33575, 0, 0, '', 'Freya Dummy Green targets Channel Stalker Freya'); From 2774d03be0d83cc9b682f183ffc6408403b165b4 Mon Sep 17 00:00:00 2001 From: Nayd Date: Sun, 22 Mar 2015 20:02:52 +0000 Subject: [PATCH 10/54] Update world_database.sql --- sql/base/dev/world_database.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/base/dev/world_database.sql b/sql/base/dev/world_database.sql index 40e1712cc80..6f65e52a784 100644 --- a/sql/base/dev/world_database.sql +++ b/sql/base/dev/world_database.sql @@ -2736,7 +2736,7 @@ CREATE TABLE `quest_template` ( `RewardSpell` mediumint(8) unsigned NOT NULL DEFAULT '0', `RewardSpellCast` int(11) NOT NULL DEFAULT '0', `RewardHonor` int(11) NOT NULL DEFAULT '0', - `RewardHonorMultiplier` float NOT NULL DEFAULT '1', + `RewardHonorMultiplier` float NOT NULL DEFAULT '0', `RewardMailTemplateId` mediumint(8) unsigned NOT NULL DEFAULT '0', `RewardMailDelay` int(11) unsigned NOT NULL DEFAULT '0', `SourceItemId` mediumint(8) unsigned NOT NULL DEFAULT '0', @@ -3705,4 +3705,4 @@ CREATE TABLE `waypoints` ( /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2015-03-21 21:47:40 +-- Dump completed on 2015-03-22 20:02:11 From 975d33a461fc7e3f004845fd140cb2a80b8abc07 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Sun, 22 Mar 2015 21:09:07 +0100 Subject: [PATCH 11/54] DB/Creature: Pathing for Guardians of Life By Malcrom --- sql/updates/world/2015_03_22_06_world.sql | 62 +++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 sql/updates/world/2015_03_22_06_world.sql diff --git a/sql/updates/world/2015_03_22_06_world.sql b/sql/updates/world/2015_03_22_06_world.sql new file mode 100644 index 00000000000..db8227afff8 --- /dev/null +++ b/sql/updates/world/2015_03_22_06_world.sql @@ -0,0 +1,62 @@ +-- Pathing for Guardian of Life Entry: 33528 +SET @NPC := 137528; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2267.131,`position_y`=25.01511,`position_z`=428.6021 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,2267.131,25.01511,428.6021,0,0,0,0,100,0), +(@PATH,2,2267.036,24.98481,428.7653,0,0,0,0,100,0), +(@PATH,3,2266.606,38.24471,428.8724,0,0,0,0,100,0), +(@PATH,4,2266.924,24.55858,428.5795,0,0,0,0,100,0), +(@PATH,5,2267.036,24.98481,428.7653,0,0,0,0,100,0), +(@PATH,6,2266.606,38.24471,428.8724,0,0,0,0,100,0), +(@PATH,7,2267.153,24.9108,428.5908,0,0,0,0,100,0), +(@PATH,8,2267.036,24.98481,428.7653,0,0,0,0,100,0), +(@PATH,9,2266.606,38.24471,428.8724,0,0,0,0,100,0); + +-- Pathing for Guardian of Life Entry: 33528 +SET @NPC := 137529; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2366.774,`position_y`=4.869098,`position_z`=427.116 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,2366.774,4.869098,427.116,0,0,0,0,100,0), +(@PATH,2,2362.121,4.529948,427.9323,0,0,0,0,100,0), +(@PATH,3,2348.469,20.28589,429.8685,0,0,0,0,100,0), +(@PATH,4,2364.304,30.57164,430.7769,0,0,0,0,100,0), +(@PATH,5,2361.717,29.00374,430.3431,0,0,0,0,100,0), +(@PATH,6,2353.135,9.205807,428.5914,0,0,0,0,100,0); + +-- Pathing for Guardian of Life Entry: 33528 +SET @NPC := 137530; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2258.508,`position_y`=-45.42564,`position_z`=427.925 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,2258.508,-45.42564,427.925,0,0,0,0,100,0), +(@PATH,2,2251.779,-49.15427,426.946,0,0,0,0,100,0), +(@PATH,3,2250.673,-49.80873,426.6561,0,0,0,0,100,0), +(@PATH,4,2252.392,-71.85374,427.5378,0,0,0,0,100,0), +(@PATH,5,2247.761,-65.52759,426.7502,0,0,0,0,100,0), +(@PATH,6,2245.5,-62.23093,426.3374,0,0,0,0,100,0); + +-- Pathing for Guardian of Life Entry: 33528 +SET @NPC := 137531; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2337.467,`position_y`=-207.8645,`position_z`=442.2937 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,2337.467,-207.8645,442.2937,0,0,0,0,100,0), +(@PATH,2,2344.242,-198.5094,441.5296,0,0,0,0,100,0), +(@PATH,3,2348.561,-192.5445,440.9542,0,0,0,0,100,0), +(@PATH,4,2324.5,-181.2047,442.9576,0,0,0,0,100,0), +(@PATH,5,2333.28,-177.3987,441.4766,0,0,0,0,100,0), +(@PATH,6,2337.545,-175.9973,441.1203,0,0,0,0,100,0); From 90bbe156aa3aa02d7f6b172ed86b8edee30d2a53 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Sun, 22 Mar 2015 22:51:37 +0100 Subject: [PATCH 12/54] DB/Creature: More Ulduar pathing By Malcrom --- sql/updates/world/2015_03_22_07_world.sql | 318 ++++++++++++++++++++++ 1 file changed, 318 insertions(+) create mode 100644 sql/updates/world/2015_03_22_07_world.sql diff --git a/sql/updates/world/2015_03_22_07_world.sql b/sql/updates/world/2015_03_22_07_world.sql new file mode 100644 index 00000000000..1e5c6607bee --- /dev/null +++ b/sql/updates/world/2015_03_22_07_world.sql @@ -0,0 +1,318 @@ +-- Pathing for Guardian Lasher Entry: 33430 'TDB FORMAT' +SET @NPC := 136608; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2409.214,`position_y`=39.68574,`position_z`=430.8202 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,2409.214,39.68574,430.8202,0,0,0,0,100,0), +(@PATH,2,2419.765,55.44238,432.5078,0,0,0,0,100,0), +(@PATH,3,2412.965,68.34785,436.2759,0,0,0,0,100,0), +(@PATH,4,2392.464,56.26165,433.3107,0,0,0,0,100,0); + +-- Pathing for Guardian Lasher Entry: 33430 'TDB FORMAT' +SET @NPC := 136606; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2279.508,`position_y`=-143.8644,`position_z`=435.7896 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,2279.508,-143.8644,435.7896,0,0,0,0,100,0), +(@PATH,2,2294.608,-141.4411,434.8279,0,0,0,0,100,0), +(@PATH,3,2297.896,-140.7821,434.6606,0,0,0,0,100,0), +(@PATH,4,2300.045,-107.6998,432.8321,0,0,0,0,100,0), +(@PATH,5,2282.262,-122.0434,432.8238,0,0,0,0,100,0), +(@PATH,6,2262.708,-113.97,431.0626,0,0,0,0,100,0), +(@PATH,7,2246.123,-120.2917,433.473,0,0,0,0,100,0), +(@PATH,8,2252.349,-127.7779,432.1354,0,0,0,0,100,0); + +-- Pathing for Guardian Lasher Entry: 33430 'TDB FORMAT' +SET @NPC := 136604; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2348.184,`position_y`=-33.40479,`position_z`=425.1163 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,2348.184,-33.40479,425.1163,0,0,0,0,100,0), +(@PATH,2,2321.229,-1.325779,426.4646,0,0,0,0,100,0), +(@PATH,3,2314.177,14.98683,429.6667,0,0,0,0,100,0), +(@PATH,4,2318.373,3.474962,427.6927,0,0,0,0,100,0), +(@PATH,5,2346.51,-30.4225,424.8373,0,0,0,0,100,0), +(@PATH,6,2325.816,-64.16115,426.2005,0,0,0,0,100,0); + +-- Pathing for Hired Engineer Entry: 33626 'TDB FORMAT' +SET @NPC := 136355; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-714.6555,`position_y`=-17.16721,`position_z`=429.8806 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,-714.6555,-17.16721,429.8806,3.124139,2000,0,0,100,0), -- 10:58:06 +(@PATH,2,-718.4268,-23.51997,429.8806,0,0,0,0,100,0), -- 10:58:08 +(@PATH,3,-718.511,-23.33659,430.1306,0,0,0,0,100,0), -- 10:58:10 +(@PATH,4,-722.3708,-23.03671,430.1306,0,0,0,0,100,0), -- 10:58:12 +(@PATH,5,-724.927,-20.31805,430.1306,0,0,0,0,100,0), -- 10:58:13 +(@PATH,6,-725.4897,-15.76975,429.8806,6.178465,3000,0,0,100,0), -- 10:58:16 +(@PATH,7,-724.358,-22.59787,429.8806,0,0,0,0,100,0), -- 10:58:19 +(@PATH,8,-724.1555,-22.44646,430.1306,0,0,0,0,100,0), -- 10:58:20 +(@PATH,9,-719.5723,-23.93241,430.1306,0,0,0,0,100,0), -- 10:58:23 +(@PATH,10,-715.4219,-21.92954,430.1306,0,0,0,0,100,0); -- 10:58:25 + +-- Pathing for Hired Engineer Entry: 33626 'TDB FORMAT' +SET @NPC := 136359; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-821.8198,`position_y`=-33.27892,`position_z`=430.2184 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,-821.8198,-33.27892,430.2184,0,0,0,0,100,0), +(@PATH,2,-822.3601,-31.65381,430.2184,0,0,0,0,100,0), +(@PATH,3,-824.5154,-34.64041,429.9684,0,0,0,0,100,0), +(@PATH,4,-824.2672,-34.39585,430.2184,0,0,0,0,100,0), +(@PATH,5,-821.0198,-37.88292,429.9684,0.4537856,2000,0,0,100,0); + +-- Pathing for Hired Engineer Entry: 33626 'TDB FORMAT' +SET @NPC := 136357; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-754.7864,`position_y`=-36.70388,`position_z`=429.9034 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,-754.7864,-36.70388,429.9034,0,0,0,0,100,0), +(@PATH,2,-751.721,-35.1428,429.9657,0,0,0,0,100,0), +(@PATH,3,-751.8016,-34.96943,430.1835,0,0,0,0,100,0), +(@PATH,4,-751.6813,-31.36849,429.9659,2.617994,2000,0,0,100,0); + +-- Pathing for Hired Engineer Entry: 33626 'TDB FORMAT' +SET @NPC := 136347; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-806.7797,`position_y`=-61.91017,`position_z`=430.2184 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,-806.7797,-61.91017,430.2184,0,0,0,0,100,0), -- 10:58:05 +(@PATH,2,-805.1627,-65.66473,430.1716,0,0,0,0,100,0), -- 10:58:06 +(@PATH,3,-807.4543,-68.63271,429.8748,2.460914,2000,0,0,100,0), -- 10:58:09 +(@PATH,4,-810.992,-72.29839,429.8748,0,0,0,0,100,0), -- 10:58:11 +(@PATH,5,-811.0092,-71.93497,430.1248,0,0,0,0,100,0), -- 10:58:12 +(@PATH,6,-819.4515,-69.41702,429.9216,0,0,0,0,100,0), -- 10:58:16 +(@PATH,7,-821.9469,-64.33131,430.2059,0,0,0,0,100,0), -- 10:58:18 +(@PATH,8,-819.5031,-58.79203,430.2184,0,0,0,0,100,0), -- 10:58:20 +(@PATH,9,-817.4072,-59.57487,429.9684,4.729842,2000,0,0,100,0), -- 10:58:23 +(@PATH,10,-807.0515,-61.87196,429.9684,0,0,0,0,100,0); -- 10:58:25 + +-- Pathing for Hired Engineer Entry: 33626 'TDB FORMAT' +SET @NPC := 136356; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-785.7463,`position_y`=-41.38455,`position_z`=429.9659 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,-785.7463,-41.38455,429.9659,0,0,0,0,100,0), -- 10:58:08 +(@PATH,2,-785.3948,-41.14034,430.2159,0,0,0,0,100,0), -- 10:58:09 +(@PATH,3,-782.2135,-41.35977,430.2159,0,0,0,0,100,0), -- 10:58:10 +(@PATH,4,-779.5613,-40.3548,430.2159,0,0,0,0,100,0), -- 10:58:11 +(@PATH,5,-777.8319,-36.41965,430.183,0,0,0,0,100,0), -- 10:58:14 +(@PATH,6,-778.6835,-33.0957,429.9001,3.420845,2000,0,0,100,0), -- 10:58:16 +(@PATH,7,-779.9354,-28.00385,429.9001,0,0,0,0,100,0), -- 10:58:18 +(@PATH,8,-779.8657,-28.03287,430.1501,0,0,0,0,100,0), -- 10:58:20 +(@PATH,9,-784.348,-25.80318,430.1501,0,0,0,0,100,0), -- 10:58:21 +(@PATH,10,-788.9271,-27.93935,430.183,0,0,0,0,100,0), -- 10:58:23 +(@PATH,11,-791.5985,-34.02659,430.1966,0,0,0,0,100,0), -- 10:58:26 +(@PATH,12,-790.8046,-36.75038,430.2113,0,0,0,0,100,0); -- 10:58:27 + +-- Pathing for Hired Engineer Entry: 33626 'TDB FORMAT' +SET @NPC := 136349; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-808.118,`position_y`=-40.2321,`position_z`=429.9684 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,-808.118,-40.2321,429.9684,0,0,0,0,100,0), +(@PATH,2,-807.7555,-40.07573,430.2184,0,0,0,0,100,0), +(@PATH,3,-804.9432,-39.92784,430.2184,0,0,0,0,100,0), +(@PATH,4,-807.1721,-39.73579,430.2184,0,0,0,0,100,0), +(@PATH,5,-808.9033,-36.34509,430.2184,0,0,0,0,100,0); + +-- Pathing for Hired Engineer Entry: 33626 'TDB FORMAT' +SET @NPC := 136350; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-712.0216,`position_y`=-106.3855,`position_z`=430.3862 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,-712.0216,-106.3855,430.3862,0,0,0,0,100,0), -- 10:58:08 +(@PATH,2,-712.1302,-106.2594,430.5872,0,0,0,0,100,0), -- 10:58:09 +(@PATH,3,-712.4497,-100.7512,430.033,0,0,0,0,100,0), -- 10:58:11 +(@PATH,4,-714.1099,-98.13288,430.1651,0,0,0,0,100,0), -- 10:58:12 +(@PATH,5,-717.9264,-97.92854,430.2126,0,0,0,0,100,0), -- 10:58:14 +(@PATH,6,-720.3586,-98.40739,430.1744,0,0,0,0,100,0), -- 10:58:18 +(@PATH,7,-722.0936,-101.579,430.1653,0,0,0,0,100,0), -- 10:58:20 +(@PATH,8,-722.2216,-104.0047,430.1362,0,0,0,0,100,0), -- 10:58:21 +(@PATH,9,-721.8704,-107.3522,429.9794,0,0,0,0,100,0), -- 10:58:22 +(@PATH,10,-719.009,-109.2184,430.31,0,0,0,0,100,0), -- 10:58:23 +(@PATH,11,-717.5231,-108.9742,430.4017,0,0,0,0,100,0); -- 10:58:25 + +-- Pathing for Hired Engineer Entry: 33626 'TDB FORMAT' +SET @NPC := 136360; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-805.7245,`position_y`=-92.51467,`position_z`=429.9373 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,-805.7245,-92.51467,429.9373,0,0,0,0,100,0), +(@PATH,2,-809.9697,-93.78546,430.1968,0,0,0,0,100,0), +(@PATH,3,-813.4847,-92.64854,429.9998,1.518436,3000,0,0,100,0), +(@PATH,4,-821.6218,-88.66959,429.8748,0,0,0,0,100,0), +(@PATH,5,-821.3884,-88.30928,430.1454,0,0,0,0,100,0), +(@PATH,6,-820.6511,-83.99181,430.1248,0,0,0,0,100,0), +(@PATH,7,-819.0802,-80.95631,430.1201,0,0,0,0,100,0), +(@PATH,8,-815.6989,-79.63522,429.9362,0,0,0,0,100,0), +(@PATH,9,-812.4637,-81.22309,429.9998,4.45059,2000,0,0,100,0), +(@PATH,10,-805.8566,-83.38759,429.9998,0,0,0,0,100,0), +(@PATH,11,-805.8384,-83.39809,430.1873,0,0,0,0,100,0), +(@PATH,12,-804.1865,-87.55893,430.1577,0,0,0,0,100,0); + +-- Pathing for Hired Demolitionist Entry: 33627 'TDB FORMAT' +SET @NPC := 136369; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-741.3947,`position_y`=-207.9769,`position_z`=431.7578 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,-741.3947,-207.9769,431.7578,0,0,0,0,100,0), +(@PATH,2,-742.5634,-205.1704,431.0431,0,0,0,0,100,0), +(@PATH,3,-746.6194,-203.6891,430.4383,0,0,0,0,100,0), +(@PATH,4,-751.6924,-207.3801,430.4216,0,0,0,0,100,0), +(@PATH,5,-752.3352,-214.3417,431.4221,0,0,0,0,100,0), +(@PATH,6,-751.818,-216.1215,431.7806,0,0,0,0,100,0), +(@PATH,7,-752.1444,-209.4591,430.6995,0,0,0,0,100,0), +(@PATH,8,-752.5813,-208.6543,430.434,0,0,0,0,100,0), +(@PATH,9,-749.45,-205.2882,430.5325,0,0,0,0,100,0), +(@PATH,10,-742.3865,-205.8632,431.1866,0,0,0,0,100,0), +(@PATH,11,-740.8467,-209.625,432.1345,0,0,0,0,100,0), +(@PATH,12,-740.2542,-212.8133,432.6738,3.438299,3000,0,0,100,0); + +-- Pathing for Hired Demolitionist Entry: 33627 'TDB FORMAT' +SET @NPC := 136366; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-712.1467,`position_y`=-168.2411,`position_z`=432.9551 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,-712.1467,-168.2411,432.9551,0,0,0,0,100,0), +(@PATH,2,-711.2845,-169.7373,433.5219,0,0,0,0,100,0), +(@PATH,3,-718.3967,-173.3105,431.6536,0,0,0,0,100,0), +(@PATH,4,-722.842,-172.8361,430.3402,0,0,0,0,100,0), +(@PATH,5,-723.5557,-172.3758,430.0638,0,0,0,0,100,0), +(@PATH,6,-724.2864,-166.9745,429.9667,0.7853982,3000,0,0,100,0), +(@PATH,7,-727.4843,-162.5646,429.9667,0,0,0,0,100,0), +(@PATH,8,-727.1448,-162.4384,430.2167,0,0,0,0,100,0), +(@PATH,9,-725.0723,-159.2923,430.2167,0,0,0,0,100,0), +(@PATH,10,-719.7878,-157.1184,430.2519,0,0,0,0,100,0), +(@PATH,11,-715.3311,-160.4503,430.7693,0,0,0,0,100,0), +(@PATH,12,-713.6705,-163.3997,431.3184,0,0,0,0,100,0); + +-- Pathing for Hired Demolitionist Entry: 33627 'TDB FORMAT' +SET @NPC := 136361; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-715.4345,`position_y`=-120.4184,`position_z`=430.8215 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,-715.4345,-120.4184,430.8215,0,0,0,0,100,0), +(@PATH,2,-715.2732,-119.9876,430.8068,0,0,0,0,100,0), +(@PATH,3,-713.6184,-118.4633,430.9174,0,0,0,0,100,0), +(@PATH,4,-714.1099,-115.8266,430.8853,0,0,0,0,100,0), +(@PATH,5,-718.0544,-115.391,430.4921,0,0,0,0,100,0), +(@PATH,6,-720.8175,-116.2792,430.0629,0,0,0,0,100,0), +(@PATH,7,-721.2681,-119.6442,430.1362,0,0,0,0,100,0), +(@PATH,8,-721.4601,-123.3716,430.1362,0,0,0,0,100,0), +(@PATH,9,-721.3339,-127.6245,429.9487,0,0,0,0,100,0), +(@PATH,10,-718.5485,-128.1067,430.2194,0,0,0,0,100,0); + +-- Pathing for Hired Demolitionist Entry: 33627 'TDB FORMAT' +SET @NPC := 136365; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-798.1786,`position_y`=-248.1221,`position_z`=432.4507 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,-798.1786,-248.1221,432.4507,0,0,0,0,100,0), +(@PATH,2,-798.7401,-245.9213,431.4652,0,0,0,0,100,0), +(@PATH,3,-799.3177,-242.9683,430.5485,0,0,0,0,100,0), +(@PATH,4,-797.5398,-247.3222,432.0694,0,0,0,0,100,0), +(@PATH,5,-796.4919,-249.3278,432.7336,0,0,0,0,100,0), +(@PATH,6,-789.5071,-248.2485,433.1029,0,0,0,0,100,0), +(@PATH,7,-786.5637,-240.1779,432.2992,0,0,0,0,100,0), +(@PATH,8,-789.908,-234.2144,431.4653,0,0,0,0,100,0), +(@PATH,9,-791.3019,-233.3431,430.7617,4.206244,2000,0,0,100,0), +(@PATH,10,-787.354,-241.1295,432.3823,0,0,0,0,100,0), +(@PATH,11,-786.8214,-247.0664,433.4664,0,0,0,0,100,0), +(@PATH,12,-787.0446,-247.7635,433.499,0,0,0,0,100,0); + +-- Pathing for Hired Demolitionist Entry: 33627 'TDB FORMAT' +SET @NPC := 136367; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-767.8429,`position_y`=-217.267,`position_z`=429.9667 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,-767.8429,-217.267,429.9667,0,0,0,0,100,0), +(@PATH,2,-767.6378,-217.1616,430.0292,0,0,0,0,100,0), +(@PATH,3,-761.6285,-219.4796,430.4327,0,0,0,0,100,0), +(@PATH,4,-760.9791,-222.4792,430.8569,3.281219,2000,0,0,100,0), +(@PATH,5,-761.7565,-231.0529,432.8887,0,0,0,0,100,0), +(@PATH,6,-761.9493,-231.9112,433.0276,0,0,0,0,100,0), +(@PATH,7,-770.1174,-232.0044,432.3535,0,0,0,0,100,0), +(@PATH,8,-772.8343,-227.3204,431.1874,0,0,0,0,100,0), +(@PATH,9,-772.8062,-223.4772,430.3036,0,0,0,0,100,0), +(@PATH,10,-772.7734,-222.031,429.9667,0,0,0,0,100,0); + +-- Pathing for Hired Demolitionist Entry: 33627 'TDB FORMAT' +SET @NPC := 136368; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-731.2537,`position_y`=-177.8654,`position_z`=430.2253 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,-731.2537,-177.8654,430.2253,0,0,0,0,100,0), +(@PATH,2,-727.3505,-179.0715,430.0485,4.39823,3000,0,0,100,0), +(@PATH,3,-734.2864,-179.9329,429.8522,0,0,0,0,100,0), +(@PATH,4,-734.1282,-180.0425,429.9078,0,0,0,0,100,0), +(@PATH,5,-735.3954,-183.6396,429.8522,5.8294,2000,0,0,100,0), +(@PATH,6,-731.4017,-177.9422,429.9667,0,0,0,0,100,0); + +-- Pathing for Weslex Quickwrench Entry: 33629 'TDB FORMAT' +SET @NPC := 136370; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-744.1992,`position_y`=-41.8189,`position_z`=429.9657 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,14374,0,257,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,-744.1992,-41.8189,429.9657,1.919862,3000,0,0,100,0), +(@PATH,2,-722.2444,-31.58008,429.8806,0,0,0,0,100,0), +(@PATH,3,-722.0319,-31.24901,430.1359,0,0,0,0,100,0), +(@PATH,4,-715.6211,-29.15961,429.8806,1.884956,2000,0,0,100,0), +(@PATH,5,-743.2397,-42.08398,429.9657,0,0,0,0,100,0); + +-- Earthen Stoneshaper ,Goran Steelbreaker, Ulduar Shield Bunny should not have movement +UPDATE `creature` SET `modelid`=0,`spawndist`=0,`MovementType`=0, `curhealth`=1 WHERE `id` IN (33620,33622,33779); From 421c34a8301b805aca5bae560d7b27d61bb10e7b Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 23 Mar 2015 01:11:07 +0100 Subject: [PATCH 13/54] DB/Creature: Paladin Mounts - Holy visual By itslovelol, closes #14427 --- sql/updates/world/2015_03_23_00_world.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 sql/updates/world/2015_03_23_00_world.sql diff --git a/sql/updates/world/2015_03_23_00_world.sql b/sql/updates/world/2015_03_23_00_world.sql new file mode 100644 index 00000000000..32f90e439d6 --- /dev/null +++ b/sql/updates/world/2015_03_23_00_world.sql @@ -0,0 +1,5 @@ +-- +DELETE FROM `spell_linked_spell` WHERE `spell_trigger` IN (23214, 13819); +INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `comment`) VALUES +(23214, 31726, 'Summon Charger'), +(13819, 31726, 'Summon Warhorse'); From f1f3e4988e7d835191c29316327f79b44e7255d3 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 23 Mar 2015 01:16:24 +0100 Subject: [PATCH 14/54] DB/Item: Fix Bloodthistle Withdrawal By Killyana, closes #9343 --- sql/updates/world/2015_03_23_01_world.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 sql/updates/world/2015_03_23_01_world.sql diff --git a/sql/updates/world/2015_03_23_01_world.sql b/sql/updates/world/2015_03_23_01_world.sql new file mode 100644 index 00000000000..d6f8d4591ff --- /dev/null +++ b/sql/updates/world/2015_03_23_01_world.sql @@ -0,0 +1,5 @@ +-- +DELETE FROM `spell_linked_spell` WHERE `spell_trigger` IN (28273, -28273); +INSERT INTO `spell_linked_spell` VALUES +(28273, -28274, 0, 'Bloodthistle'), +(-28273, 28274, 0, 'Bloodthistle'); From 4af0a51877d8ecf1c0eb3f038f054ff8b698ab72 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 23 Mar 2015 01:18:54 +0100 Subject: [PATCH 15/54] DB/Quest: Into the Pit / Back to the Pit By Killyana closes #14345 --- sql/updates/world/2015_03_23_02_world.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2015_03_23_02_world.sql diff --git a/sql/updates/world/2015_03_23_02_world.sql b/sql/updates/world/2015_03_23_02_world.sql new file mode 100644 index 00000000000..3bc255d569e --- /dev/null +++ b/sql/updates/world/2015_03_23_02_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `smart_scripts` SET `action_type`=18, `action_param1`=512, `comment`='Hyldsmeet Warbear - Out of Combat - Set Unit_flag immune to npc (No Repeat)' WHERE `entryorguid`=30174 AND `id`=0; From b495b0f0b4e9bd7e62eeba70d5f0e11638123aa0 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 23 Mar 2015 01:23:03 +0100 Subject: [PATCH 16/54] DB/Item: Fix Item D.I.S.C.O. By Killyana, closes #4214 --- sql/updates/world/2015_03_23_03_world.sql | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 sql/updates/world/2015_03_23_03_world.sql diff --git a/sql/updates/world/2015_03_23_03_world.sql b/sql/updates/world/2015_03_23_03_world.sql new file mode 100644 index 00000000000..bb0a1609876 --- /dev/null +++ b/sql/updates/world/2015_03_23_03_world.sql @@ -0,0 +1,12 @@ +-- +SET @Disco :=190351; +UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry` IN (@Disco); +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Disco AND `source_type`=1; +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 +(@Disco, 1, 0, 0, 64, 0, 100, 0, 0, 0, 0, 0, 85, 50493 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Disco - On gossip hello - cast Listening to Music'); + +DELETE FROM `spell_linked_spell` WHERE `spell_trigger` IN (-50314, -50493, 50493); +INSERT INTO `spell_linked_spell` VALUES +(-50314, -50493, 0, 'Disco Ball'), +(-50493, -50314, 0, 'Disco Ball(Listening to Music)'), +(50493, 50314, 0, 'Disco Ball(Listening to Music)'); From 15492ecaf2fac0a29b015f51b3ca579d4000f97e Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 23 Mar 2015 01:28:17 +0100 Subject: [PATCH 17/54] DB/Quest Veil Lithic: Preemptive Strike By Killyana, closes #12564 --- sql/updates/world/2015_03_23_04_world.sql | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 sql/updates/world/2015_03_23_04_world.sql diff --git a/sql/updates/world/2015_03_23_04_world.sql b/sql/updates/world/2015_03_23_04_world.sql new file mode 100644 index 00000000000..1425f517d0a --- /dev/null +++ b/sql/updates/world/2015_03_23_04_world.sql @@ -0,0 +1,15 @@ +-- +SET @Bird1 :=22337; +SET @Bird2 :=22339; +SET @Egg :=185211; + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@Bird2); +UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry` IN (@Egg); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Egg*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Egg*100+1 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Egg AND `source_type`=1; +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 +(@Egg, 1, 0, 0, 70, 0, 100, 0, 2, 0, 0, 0, 87, @Egg*100, @Egg*100+1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cursed egg - On State 2 - Action random action list'), +(@Egg*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, @Bird2, 3, 15000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cursed egg - Action list - Summon'), +(@Egg*100+1, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, @Bird1, 3, 40000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cursed egg - Action list - Summon'); From 5ae6b9dc504d2ce6170b1b504ee8f60dacb0abd4 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 23 Mar 2015 01:33:45 +0100 Subject: [PATCH 18/54] DB/Creature: Guard Roberts By Killyana, closes #13676 --- sql/updates/world/2015_03_23_05_world.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2015_03_23_05_world.sql diff --git a/sql/updates/world/2015_03_23_05_world.sql b/sql/updates/world/2015_03_23_05_world.sql new file mode 100644 index 00000000000..e574ff22bea --- /dev/null +++ b/sql/updates/world/2015_03_23_05_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature` SET `unit_flags`=4104 WHERE `id`=12423; From 5ac2f87c1400f004d6e2ed162512c85e6f1ed860 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 23 Mar 2015 02:08:50 +0100 Subject: [PATCH 19/54] DB/Quest: Vision Guide By Killyana, closes #10309 --- sql/updates/world/2015_03_23_06_world.sql | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 sql/updates/world/2015_03_23_06_world.sql diff --git a/sql/updates/world/2015_03_23_06_world.sql b/sql/updates/world/2015_03_23_06_world.sql new file mode 100644 index 00000000000..e8820a341e2 --- /dev/null +++ b/sql/updates/world/2015_03_23_06_world.sql @@ -0,0 +1,22 @@ +-- +SET @CGUID := 45834; -- 1 free guid set by TC +SET @Triggger:=21321; +DELETE FROM `creature` WHERE `guid`=@CGUID; +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@CGUID, 21321, 530, 1, 1, 1316.625854, 6689.878418, -18.672377, 0.160565, 0, 0, 0); + +DELETE FROM `spell_linked_spell` WHERE `spell_trigger` IN (36587); +INSERT INTO `spell_linked_spell` VALUES +(36587, 36573, 0, 'Vision Guide'); + +UPDATE `creature_template` SET `AIName`='SmartAI', `flags_extra`= 2 WHERE `entry` IN (@Triggger); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Triggger 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 +(@Triggger,0,0,1,10,0,100,0,1,10,5000,5000,15,10525,0,0,0,0,0,7,0,0,0,0,0,0,0,'Triggger - LOS - AREAEXPLOREDOREVENTHAPPENS'), +(@Triggger,0,1,0,61,0,100,0,0,0,0,0,28,36573,0,0,0,0,0,7,0,0,0,0,0,0,0,'Triggger - LOS - remove aura'), +(@Triggger,0,2,0,63,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Triggger - Just created - Set invisible'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=@Triggger; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`) VALUES +(22,1,@Triggger,0,1,36573,1,0,0,'','event require Aura 36573'); From 010bbfc0a6f35ef65264bf70235294de3839c742 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Mon, 23 Mar 2015 02:30:05 +0000 Subject: [PATCH 20/54] DB/Quest: The Cipher of Damnation - Ar'tor's Charge --- sql/updates/world/2015_03_23_07_world.sql | 43 +++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 sql/updates/world/2015_03_23_07_world.sql diff --git a/sql/updates/world/2015_03_23_07_world.sql b/sql/updates/world/2015_03_23_07_world.sql new file mode 100644 index 00000000000..ca9bffaf728 --- /dev/null +++ b/sql/updates/world/2015_03_23_07_world.sql @@ -0,0 +1,43 @@ +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE entry IN (21332,21334,20427); + +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(21318) AND `source_type`=0 AND `id`>0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(21332,21334,20427) 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 +(21318, 0, 1, 2, 62, 0, 100, 0, 8288, 0, 0, 0, 85, 36620, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Spirit of Ar''tor - On Gossip Option 0 Selected - Invoker Cast Spirit of Ar''tor'), +(21318, 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, 'Spirit of Ar''tor - On Gossip Option 0 Selected - Close Gossip'), +(21318, 0, 3, 0, 19, 0, 100, 0, 10540, 0, 0, 0, 85, 36620, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Spirit of Ar''tor - On Quest Accept (10540) - Invoker Cast Spirit of Ar''tor'), +(21332, 0, 0, 0, 38, 0, 100, 1, 3, 3, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 21334, 0, 0, 0, 0, 0, 0, 'Spirit Hunter - On Data Set 3 3 - Set Data 1 1 to Veneratus Spawn Node'), +(21332, 0, 1, 0, 38, 0, 100, 0, 1, 1, 0, 0, 49, 0, 0, 0, 0, 0, 0, 19, 20427, 0, 0, 0, 0, 0, 0, 'Spirit Hunter - On Data Set - Start Attack'), +(21332, 0, 2, 0, 38, 0, 100, 0, 2, 2, 0, 0, 1, 0, 5000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Spirit Hunter - On Data Set - Say Line 0'), +(21332, 0, 3, 0, 52, 0, 100, 0, 0, 21332, 0, 0, 1, 1, 5000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Spirit Hunter - On Text Over Line 0 - Say Line 1'), +(21332, 0, 4, 0, 52, 0, 100, 0, 1, 21332, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Spirit Hunter - On Text Over Line 1 - Despawn'), +(21332, 0, 5, 0, 54, 0, 100, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Spirit Hunter - On Just Summoned - Turn HP Regen off'), +(21334, 0, 0, 0, 1, 0, 100, 0, 0, 0, 2000, 2000, 45, 3, 3, 0, 0, 0, 0, 19, 21332, 40, 0, 0, 0, 0, 0, 'Veneratus Spawn Node - OOC - Set Data to Spirit Hunter'), +(21334, 0, 1, 0, 38, 0, 100, 0, 1, 1, 60000, 60000, 11, 36616, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Veneratus Spawn Node - On Data Set 1 1 - Cast Veneratus Spawn'), +(20427, 0, 0, 1, 1, 0, 100, 1, 100, 100, 0, 0, 11, 24240, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Veneratus the Many - On Spawn - Cast Spawn - Red Lightning'), +(20427, 0, 1, 2, 61, 0, 100, 1, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Veneratus the Many - On Spawn - Set Hostile'), +(20427, 0, 2, 0, 61, 0, 100, 1, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 21334, 0, 0, 0, 0, 0, 0, 'Veneratus the Many - On Spawn - Despawn - Veneratus Spawn Node'), +(20427, 0, 3, 0, 6, 0, 100, 0, 0, 0, 0, 0, 45, 2, 2, 0, 0, 0, 0, 19, 21332, 0, 0, 0, 0, 0, 0, 'Veneratus the Many - On Death - Set Data on Spirit Hunter'), +(20427, 0, 4, 0, 1, 0, 100, 1, 5000, 5000, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 21332, 0, 0, 0, 0, 0, 0, 'Veneratus the Many - OOC - Set Data on Spirit Hunter (No repeat)'); + +DELETE FROM `creature_text` WHERE `entry`=21332; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `comment`) VALUES +(21332, 0, 0, 'It is dying! The second part of the Cipher of Damnation is ours. I...', 12, 0, 100, 1, 0, 0, 19040, 'Spirit Hunter to Veneratus the Many'), +(21332, 1, 0, 'I am fading... Return to Ar''tor... Ret... rn... to...', 12, 0, 100, 1, 0, 0, 19041, 'Spirit Hunter to Veneratus the Many'); + +UPDATE `spell_dbc` SET `Effect2`=28,`EffectMiscValueB2`=64 WHERE `Id`=36616; + +DELETE FROM `gossip_menu_option` WHERE `menu_id`=8288; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `OptionBroadcastTextID`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`, `BoxBroadcastTextID`) VALUES +(8288, 0, 0, 'I require the aid of another spirit hunter, Ar''tor.', 19017, 1, 1, 0, 0, 0, 0, NULL, 0); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=8288; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(15, 8288, 0, 0, 0, 9, 0, 10540, 0, 0, 0, 0, 0, '', 'Gossip Option requires quest 10540 taken'), +(15, 8288, 0, 0, 0, 1, 0, 36620, 2, 0, 1, 0, 0, '', 'Gossip Option requires player does not have aura 36620'), +(15, 8288, 0, 0, 0, 29, 1, 21332, 40, 0, 1, 0, 0, '', 'Gossip Option requires no npc 21332 present'); + +DELETE FROM `creature_template_addon` WHERE `entry`=21332; +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(21332, 0, 0, 0, 0, 0, '36613'); From 7ee61140bf72a6de31f2ee616b86805e8e151714 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Mon, 23 Mar 2015 12:31:34 +0000 Subject: [PATCH 21/54] DB/Creature: Tobias the Filth Gorger Script event for return of turn in of http://www.wowhead.com/quest=10547/of-thistleheads-and-eggs and taking of http://www.wowhead.com/quest=10550/the-bundle-of-bloodthistle --- sql/updates/world/2015_03_23_08_world.sql | 37 +++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 sql/updates/world/2015_03_23_08_world.sql diff --git a/sql/updates/world/2015_03_23_08_world.sql b/sql/updates/world/2015_03_23_08_world.sql new file mode 100644 index 00000000000..7eec8650632 --- /dev/null +++ b/sql/updates/world/2015_03_23_08_world.sql @@ -0,0 +1,37 @@ +DELETE FROM `creature_text` WHERE `entry`=21411; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `comment`) VALUES +(21411, 0, 0, '%s cracks the rotten egg open and - to the horror and dismay of all around him - begins to drink from its putrid core.', 16, 0, 100, 92, 0, 0, 19098, 'Tobias the Filth Gorger to Player'), +(21411, 1, 0, 'That was life-changing... Excuse me for one minute.', 12, 0, 100, 273, 0, 0, 19099, 'Tobias the Filth Gorger to Player'), +(21411, 2, 0, '%s lets loose the most foul belch ever heard or smelled.', 16, 0, 100, 15, 0, 10593, 19100, 'Tobias the Filth Gorger to Player'), +(21411, 3, 0, 'Ok then, back to business.', 12, 0, 100, 1, 0, 0, 19101, 'Tobias the Filth Gorger to Player'); + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` =21411; + +DELETE FROM `smart_scripts` WHERE `entryorguid` =21411 AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` =2141100 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 +(21411, 0, 0, 1, 19, 0, 100, 0, 10550, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - On Quest 10550 taken - Store Targetlist'), +(21411, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 2141100, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - On Quest 10550 taken - Run script'), +(21411, 0, 2, 0, 34, 0, 100, 0, 0, 1, 0, 0, 54, 10000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - On Reached WP1 - Pause WP'), +(21411, 0, 3, 0, 34, 0, 100, 0, 0, 2, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0.3141593, 'Tobias the Filth Gorger - On Reached WP2 - Set Orientation'), +(2141100, 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, 'Tobias the Filth Gorger - Script - Set NPC Flags'), +(2141100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 71, 0, 0, 20468, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - Script - Equip Item'), +(2141100, 9, 2, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - Script - Say Line 0'), +(2141100, 9, 3, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 5, 92, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - Script - Play Emote OneShotEatNoSheathe'), +(2141100, 9, 4, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 66, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - Script - Set Orientation'), +(2141100, 9, 5, 0, 0, 0, 100, 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - Script - UnEquip Item'), +(2141100, 9, 6, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - Script - Say Line 1'), +(2141100, 9, 7, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 53, 0, 21411, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - Script - Start WP'), +(2141100, 9, 8, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - Script - Say Line 2'), +(2141100, 9, 9, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 11, 36823, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - Script - Cast Overwhelming Odor'), +(2141100, 9, 10, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 5.544791, 'Tobias the Filth Gorger - Script - Set Orientation'), +(2141100, 9, 11, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 11, 36824, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - Script - Cast Overwhelming Odor'), +(2141100, 9, 12, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - Script - Say Line 2'), +(2141100, 9, 13, 0, 0, 0, 100, 0, 0, 0, 0, 0, 81, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - Script - Set NPC Flags'); + +DELETE FROM `waypoints` WHERE `entry` =21411; + +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(21411, 1,-2080.307, 5296.746, -37.32356, 'Tobias the Filth Gorger'), +(21411, 2,-2083.831, 5299.953, -37.32356, 'Tobias the Filth Gorger'); From 956e3b68193d4bd618f52343be36c6c1073b8da5 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Mon, 23 Mar 2015 13:57:49 +0000 Subject: [PATCH 22/54] DB/Creature: Altruis the Sufferer Add a few missing texts for this npc --- sql/updates/world/2015_03_23_09_world.sql | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 sql/updates/world/2015_03_23_09_world.sql diff --git a/sql/updates/world/2015_03_23_09_world.sql b/sql/updates/world/2015_03_23_09_world.sql new file mode 100644 index 00000000000..d90f7fc9249 --- /dev/null +++ b/sql/updates/world/2015_03_23_09_world.sql @@ -0,0 +1,14 @@ +DELETE FROM `creature_text` WHERE `entry`=18417; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `comment`) VALUES +(18417, 0, 0, 'The information you seek... I cannot give you that freely. You will have to prove that your enemies are the same as mine.', 12, 0, 100, 25, 0, 0, 19890, 'Altruis the Sufferer to Player'), +(18417, 1, 0, 'This book would give me unlimited power over my enemies... I would become... unstoppable!', 12, 0, 100, 1, 0, 0, 19614, 'Altruis the Sufferer to Player'), +(18417, 2, 0, 'No... you must take this from me, $n! I feel its dark power swaying my will already! Use it to destroy Varedis.', 12, 0, 100, 274, 0, 0, 19615, 'Altruis the Sufferer to Player'); + +DELETE FROM `smart_scripts` WHERE `entryorguid` =18417 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 +(18417, 0, 3, 0, 20, 0, 100, 0, 10640, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Altruis the Sufferer - On Quest reward 10640 - Say Line 0'), +(18417, 0, 4, 0, 20, 0, 100, 0, 10689, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Altruis the Sufferer - On Quest reward 10689 - Say Line 0'), +(18417, 0, 5, 0, 20, 0, 100, 0, 10649, 0, 0, 0, 1, 1, 4000, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Altruis the Sufferer - On Quest reward 10649 - Say Line 1'), +(18417, 0, 6, 0, 52, 0, 100, 0, 1, 18417, 0, 0, 1, 2, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Altruis the Sufferer - On Text Over Line 1 - Say Line 2'); + From 6f46660bbca1e92c252654f5c19c803b50d4b84f Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 23 Mar 2015 17:42:05 +0100 Subject: [PATCH 23/54] DB/Quest: Lohn'goron, Bow of the Torn-hear By Kilyana --- sql/updates/world/2015_03_23_10_world.sql | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 sql/updates/world/2015_03_23_10_world.sql diff --git a/sql/updates/world/2015_03_23_10_world.sql b/sql/updates/world/2015_03_23_10_world.sql new file mode 100644 index 00000000000..d83e5c212a0 --- /dev/null +++ b/sql/updates/world/2015_03_23_10_world.sql @@ -0,0 +1,11 @@ +-- +UPDATE `smart_scripts` SET `entryorguid`= -69714 WHERE `entryorguid`= -69712; +UPDATE `smart_scripts` SET `entryorguid`= -69715 WHERE `entryorguid`= -69711; +UPDATE `smart_scripts` SET `entryorguid`= -69716 WHERE `entryorguid`= -69710; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (-69712, -69711, -69710); + +DELETE FROM `creature_addon` WHERE `guid` IN (69713); +INSERT INTO `creature_addon` (`guid`,`bytes1`,`bytes2`, `emote`, `auras`) VALUES +(69713,0,4097,0,"37497"); + +UPDATE `creature_template_addon` SET `auras`= "37467" WHERE `entry`=21292; From f2f93e1f41cd38bfc8a59625b58b892fb6aaaeee Mon Sep 17 00:00:00 2001 From: Dr-J Date: Mon, 23 Mar 2015 19:43:19 +0000 Subject: [PATCH 24/54] DB/Creature: Akama (21700) Script quest turn in cut scenes for: - Scripts quests in first part of chain * http://www.wowhead.com/quest=10628/akama * http://www.wowhead.com/quest=10707/the-atamal-terrace I dont have sniffs of second part of chain, know of http://www.wowhead.com/quest=10944/the-secret-compromised#comments --- sql/updates/world/2015_03_23_11_world.sql | 83 +++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 sql/updates/world/2015_03_23_11_world.sql diff --git a/sql/updates/world/2015_03_23_11_world.sql b/sql/updates/world/2015_03_23_11_world.sql new file mode 100644 index 00000000000..2d3b346d18e --- /dev/null +++ b/sql/updates/world/2015_03_23_11_world.sql @@ -0,0 +1,83 @@ +UPDATE `creature_template` SET `gossip_menu_id`=8372 WHERE `entry`=21700; +UPDATE `creature_template` SET `unit_flags`=768 WHERE `entry`=21768; +UPDATE `creature_template` SET `unit_flags`=33536 WHERE `entry`=21776; + +DELETE FROM `gossip_menu` WHERE `entry`=8372; +INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES +(8372, 10447); -- 21700 + +DELETE FROM `creature_text` WHERE `entry`IN(21700,21768,21699); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `comment`) VALUES +(21700, 0, 0, 'Have no fear, $r. Just play along.', 15, 0, 100, 0, 0, 0, 19402, 'Akama to Player'), +(21700, 1, 0, 'A mere nuisance, I assure you! Tell the Master his prisoner will not escape while Akama and his Deathsworn watch over her.', 14, 0, 100, 0, 0, 0, 19403, 'Akama to Player'), +(21700, 2, 0, 'Forgive my harsh methods, but the Betrayer cannot learn of the truth. My secret must be kept at all costs!', 12, 0, 100, 0, 0, 0, 19405, 'Akama to Player'), +(21700, 3, 0, 'In due time, Maiev. I''ve spent years preparing to make my move - I can''t afford to put my plans in peril by tipping my hand too soon.', 12, 0, 100, 0, 0, 0, 19408, 'Akama to Player'), +(21700, 4, 0, 'The Heart of Fury... I witnessed its power long ago, when Velen wielded it. I feel the same power coursing through it right now!', 12, 0, 100, 0, 0, 0, 19858, 'Akama to Player'), +(21700, 5, 0, 'With this crystal''s powers, my Deathsworn and I... we''d be unstoppable! We could destroy Illidan! We could... replace him as lords of Outland!', 12, 0, 100, 0, 0, 0, 19859, 'Akama to Player'), +(21700, 6, 0, 'But that is not part of the vision I was granted... that is not... how my people will be freed.', 12, 0, 100, 0, 0, 0, 19860, 'Akama to Player'), +(21700, 7, 0, 'Please, $n. You must take the Heart of Fury somewhere safe... you must take it to A''dal!', 12, 0, 100, 0, 0, 0, 19870, 'Akama to Player'), +(21699, 0, 0, 'Release me immediately or face my wrath!', 12, 0, 100, 15, 0, 0, 19395, 'Maiev Shadowsong'), +(21699, 1, 0, 'If we truly desire the same thing, Akama, then release me! If Illidan is to die, it shall be by my hand!', 12, 0, 100, 22, 0, 0, 0, 'Maiev Shadowsong to Player'), +(21699, 2, 0, 'Curse you, Akama! I am not a pawn in your game... my will is my own. When I unleash my wrath upon Illidan it will have nothing to do with your foolish scheme!', 12, 0, 100, 0, 0, 0, 19409, 'Maiev Shadowsong to Player'), +(21768, 0, 0, 'Mortals, here? What is the meaning of this, pathetic Broken!', 14, 0, 100, 0, 0, 0, 19401, 'Vagath to Player'), +(21768, 1, 0, 'You''d do well not to toy with me, Akama. Illidan has given me specific orders to keep a close watch on the Warden. If I find out you''re hiding anything from me, I will crush you with my own hands!', 12, 0, 100, 0, 0, 0, 19404, 'Vagath to Player'); + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN(21700,21768,21776,21669); + +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(21700,21768,21776,21669) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` in(2170000,2170001) 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 +(21768, 0, 0, 0, 54, 0, 100, 0, 0, 0, 0, 0, 53, 0, 21768, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Vagath - On Just Summoned - Start WP'), +(21768, 0, 1, 0, 40, 0, 100, 0, 2, 21768, 0, 0, 54, 15000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Vagath - On Reached WP2 - Pause WP'), +(21768, 0, 2, 3, 40, 0, 100, 0, 4, 21768, 0, 0, 41, 0, 0, 0, 0, 0, 0, 9, 21776, 0, 100, 0, 0, 0, 0, 'Vagath - On Reached WP4 - Despawn Illidari Temptress'), +(21768, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Vagath - On Reached WP4 - Despawn'), +(21776, 0, 0, 0, 1, 0, 100, 0, 0, 0, 1000, 1000, 29, 0, 0, 0, 0, 0, 0, 19, 21768, 0, 0, 0, 0, 0, 0, 'Illidari Temptress - On Just Summoned - Follow Vagath'), +(21669, 0, 0, 0, 1, 0, 100, 0, 0, 300000, 300000, 900000, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Maiev Shadowsong - OOC - Say Line 0'), +(21700, 0, 0, 1, 20, 0, 100, 0, 10628, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Akama - On Quest 10628 rewarded - Store Targetlist'), +(21700, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 2170000, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - On Quest 10628 rewarded - Run Script'), +(21700, 0, 2, 3, 20, 0, 100, 0, 10707, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Akama - On Quest 10707 rewarded - Store Targetlist'), +(21700, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 2170001, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - On Quest 10707 rewarded - Run Script'), +(2170000, 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, 'Akama - Script - Set NPC Flags'), +(2170000, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script - Summon Group'), +(2170000, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 21768, 0, 0, 0, 0, 0, 0, 'Akama - Script - Say Line 0 on Vagath'), -- 15:52:01.922 +(2170000, 9, 3, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2.530727, 'Akama - Script - Set Orientation'), -- 15:52:02.032 +(2170000, 9, 4, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Akama - Script - Say Line 0'), -- 15:52:07.141 +(2170000, 9, 5, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 11, 37448, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Akama - Script - Cast Chain Lightning'), -- 15:52:13.110 +(2170000, 9, 6, 0, 0, 0, 100, 0, 50, 50, 0, 0, 85, 37493, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Akama - Script - InVoker Cast Feign Death'), -- 15:52:13.125 +(2170000, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Akama - Script - Say Line 1'), -- 15:52:13.188 +(2170000, 9, 8, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 21768, 0, 0, 0, 0, 0, 0, 'Akama - Script - Say Line 1 on Vagath'), -- 15:52:21.219 +(2170000, 9, 9, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Akama - Script - Say Line 2'), -- 15:52:38.500 +(2170000, 9, 10, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 11, 37449, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Akama - Script - Cast Resurrect'), -- 15:52:40.813 +(2170000, 9, 11, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 28, 37493, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Akama - Script - Remove Aura Feign Death'), -- 15:52:43.828 +(2170000, 9, 12, 0, 0, 0, 100, 0, 0, 0, 0, 0, 19, 1, 1, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Akama - Script - Set Unit Flags 2 on Player'), -- 15:52:13.125 +(2170000, 9, 13, 0, 0, 0, 100, 0, 0, 0, 0, 0, 81, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script - Set Npc Flags'), +(2170000, 9, 14, 0, 0, 0, 100, 0, 17000, 17000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 21699, 0, 0, 0, 0, 0, 0, 'Akama - Script - Say Line 1 on Maiev Shadowsong '), -- 15:52:53.000 +(2170000, 9, 15, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Akama - Script - Say Line 3'), -- 15:52:59.016 +(2170000, 9, 16, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, 21699, 0, 0, 0, 0, 0, 0, 'Akama - Script - Say Line 2 on Maiev Shadowsong '), -- 15:53:05.063 +(2170001, 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, 'Akama - Script 2 - Set NPC Flags'), +(2170001, 9, 1, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 66, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Akama - Script 2 - Set Orientation'), +(2170001, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Akama - Script 2 - Say Line 4'), -- 15:23:44.859 +(2170001, 9, 3, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 1, 5, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Akama - Script 2 - Say Line 5'), -- 15:23:50.906 +(2170001, 9, 4, 0, 0, 0, 100, 0, 9000, 9000, 0, 0, 1, 6, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Akama - Script 2 - Say Line 6'), -- 15:23:59.359 +(2170001, 9, 5, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 81, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 2 - Set NPC Flags'), -- 15:24:05.265 +(2170001, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Akama - Script 2 - Say Line 6'); -- 15:24:05.422 + +DELETE FROM `creature_summon_groups` WHERE `summonerId`=21700; + +INSERT INTO `creature_summon_groups` (`summonerId`, `summonerType`, `groupId`, `entry`, `position_x`, `position_y`, `position_z`, `orientation`, `summonType`, `summonTime`) VALUES +(21700, 0, 0, 21768, -3726.069,1040.505, 56.03978, 4.852015, 1, 60000), +(21700, 0, 0, 21776, -3730.32, 1041.369, 56.03996, 4.72222, 1, 60000), +(21700, 0, 0, 21776, -3722.402, 1041.253, 56.0398, 4.72222, 1, 60000); + +DELETE FROM `waypoints` WHERE `entry` =21768; + +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(21768, 1,-3724.426, 1030.954, 55.95728, 'Vagath'), +(21768, 2,-3721.095, 1030.279, 55.95773, 'Vagath'), +(21768, 3,-3725.885, 1035.806, 55.95677, 'Vagath'), +(21768, 4,-3726.25, 1040.238, 55.95593, 'Vagath'); + +DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=37493; +INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES +(37493, 31261, 2, 'Feign Death'); From 78dc32c031bc79092e846cdf3e083150bef548c3 Mon Sep 17 00:00:00 2001 From: Rushor Date: Mon, 23 Mar 2015 23:05:02 +0100 Subject: [PATCH 25/54] DB/Creature: Emissary of Hate * Add Conditions for Emissary of Hate - Spawn, increade Despawntimer, remove unneeded actions from Irespeakers --- sql/updates/world/2015_03_23_12_world.sql | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 sql/updates/world/2015_03_23_12_world.sql diff --git a/sql/updates/world/2015_03_23_12_world.sql b/sql/updates/world/2015_03_23_12_world.sql new file mode 100644 index 00000000000..2471e9bdcf1 --- /dev/null +++ b/sql/updates/world/2015_03_23_12_world.sql @@ -0,0 +1,20 @@ +-- +UPDATE `smart_scripts` SET `action_param2`=6, `action_param3`=60000 WHERE `entryorguid`=23310 AND `source_type`=0 AND `id`=2 AND `link`=3; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=23310; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(22, 3, 23310, 0, 0, 29, 1, 25003, 200, 0, 1, 0, 0, '', 'Only run SAI if no Emissary of Hate nearby'); + +-- Irespeaker SAI +SET @ENTRY := 24999; +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,1500,3000,10000,15000,11,35913,0,0,0,0,0,2,0,0,0,0,0,0,0,"Irespeaker - In Combat - Cast 'Fel Fireball'"), +(@ENTRY,0,1,0,0,0,100,0,13000,16000,20000,35000,11,18267,0,0,0,0,0,2,0,0,0,0,0,0,0,"Irespeaker - In Combat - Cast 'Curse of Weakness'"), +(@ENTRY,0,2,0,6,0,100,0,5000,5000,10000,10000,45,1,1,0,0,0,0,10,79450,23310,0,0,0,0,0,"Irespeaker - On Just Died - Set Data 1 1"), +(@ENTRY,0,3,0,25,0,100,0,0,0,0,0,11,45023,0,0,0,0,0,19,25953,13,0,0,0,0,0,"Irespeaker - On Reset - Cast 'Fel Consumption'"); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=25002 AND `source_type`=0 AND `id`=0 AND `link`=0; +UPDATE `smart_scripts` SET `id`=0 WHERE `entryorguid`=25002 AND `source_type`=0 AND `id`=1 AND `link`=0; +UPDATE `smart_scripts` SET `id`=1 WHERE `entryorguid`=25002 AND `source_type`=0 AND `id`=2 AND `link`=0; +UPDATE `smart_scripts` SET `id`=2 WHERE `entryorguid`=25002 AND `source_type`=0 AND `id`=3 AND `link`=0; From 6a15216380a2e44302abdc31fb37e9dd3656761b Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 23 Mar 2015 23:17:05 +0100 Subject: [PATCH 26/54] DB/Misc: Avoid friendly fire on Ulduar By @Trista, Closes #3292 if anyone have a better solution for this, you are free to share it. --- sql/updates/world/2015_03_23_13_world.sql | 93 +++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 sql/updates/world/2015_03_23_13_world.sql diff --git a/sql/updates/world/2015_03_23_13_world.sql b/sql/updates/world/2015_03_23_13_world.sql new file mode 100644 index 00000000000..7e42213583f --- /dev/null +++ b/sql/updates/world/2015_03_23_13_world.sql @@ -0,0 +1,93 @@ +-- Add conditions to prevent Anti-Air Rocket friendly fire +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=62363; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition` ,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,62363,0,1,31,0,3,33236,0,0,0,'','Anti-Air Rocket can hit Steelforged Defender'), +(13,2,62363,0,1,31,0,3,33236,0,0,0,'','Anti-Air Rocket can hit Steelforged Defender'), +(13,1,62363,0,2,31,0,3,34234,0,0,0,'','Anti-Air Rocket can hit Runeforged Sentry'), +(13,2,62363,0,2,31,0,3,34234,0,0,0,'','Anti-Air Rocket can hit Runeforged Sentry'), +(13,1,62363,0,3,31,0,3,33237,0,0,0,'','Anti-Air Rocket can hit Ulduar Colossus'), +(13,2,62363,0,3,31,0,3,33237,0,0,0,'','Anti-Air Rocket can hit Ulduar Colossus'), +(13,1,62363,0,4,31,0,3,34164,0,0,0,'','Anti-Air Rocket can hit Mechagnome Battletank'), +(13,2,62363,0,4,31,0,3,34164,0,0,0,'','Anti-Air Rocket can hit Mechagnome Battletank'), +(13,1,62363,0,5,31,0,3,33264,0,0,0,'','Anti-Air Rocket can hit Ironwork Canon'), +(13,2,62363,0,5,31,0,3,33264,0,0,0,'','Anti-Air Rocket can hit Ironwork Canon'), +(13,1,62363,0,6,31,0,3,33214,0,0,0,'','Anti-Air Rocket can hit Mechanolift 304-A'), +(13,2,62363,0,6,31,0,3,33214,0,0,0,'','Anti-Air Rocket can hit Mechanolift 304-A'), +(13,1,62363,0,7,31,0,3,33113,0,0,0,'','Anti-Air Rocket can hit Flame Leviathan'), +(13,2,62363,0,7,31,0,3,33113,0,0,0,'','Anti-Air Rocket can hit Flame Leviathan'), +(13,1,62363,0,8,31,0,3,34161,0,0,0,'','Anti-Air Rocket can hit Mechanostriker 54-A'), +(13,2,62363,0,8,31,0,3,34161,0,0,0,'','Anti-Air Rocket can hit Mechanostriker 54-A'), +(13,1,62363,0,9,31,0,3,34275,0,0,0,'','Anti-Air Rocket can hit Ward of Life'), +(13,2,62363,0,9,31,0,3,34275,0,0,0,'','Anti-Air Rocket can hit Ward of Life'), +(13,1,62363,0,10,31,0,3,33387,0,0,0,'','Anti-Air Rocket can hit Writhing Lasher'), +(13,2,62363,0,10,31,0,3,33387,0,0,0,'','Anti-Air Rocket can hit Writhing Lasher'); +-- Add conditions to prevent Hurl Boulder friendly fire // Flames are supposed to do Friendly Damage, since they break Ice in HM +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=62307; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition` ,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,62307,0,1,31,0,3,33236,0,0,0,'','Hurl Boulder can hit Steelforged Defender'), +(13,1,62307,0,2,31,0,3,34234,0,0,0,'','Hurl Boulder can hit Runeforged Sentry'), +(13,1,62307,0,3,31,0,3,33237,0,0,0,'','Hurl Boulder can hit Ulduar Colossus'), +(13,1,62307,0,4,31,0,3,34164,0,0,0,'','Hurl Boulder can hit Mechagnome Battletank'), +(13,1,62307,0,5,31,0,3,33264,0,0,0,'','Hurl Boulder can hit Ironwork Canon'), +(13,1,62307,0,6,31,0,3,33214,0,0,0,'','Hurl Boulder can hit Mechanolift 304-A'), +(13,1,62307,0,7,31,0,3,33113,0,0,0,'','Hurl Boulder can hit Flame Leviathan'), +(13,1,62307,0,8,31,0,3,33090,0,0,0,'','Hurl Boulder can hit Pool of Tar'), +(13,1,62307,0,9,31,0,3,34161,0,0,0,'','Hurl Boulder can hit Mechanostriker 54-A'), +(13,1,62307,0,10,31,0,3,34275,0,0,0,'','Hurl Boulder can hit Ward of Life'), +(13,1,62307,0,11,31,0,3,33387,0,0,0,'','Hurl Boulder can hit Writhing Lasher'); +-- Add conditions to prevent Mortar friendly fire // Flames are supposed to do Friendly Damage, since they break Ice in HM +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=62635; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition` ,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,62635,0,1,31,0,3,33236,0,0,0,'','Mortar can hit Steelforged Defender'), +(13,1,62635,0,2,31,0,3,34234,0,0,0,'','Mortar can hit Runeforged Sentry'), +(13,1,62635,0,3,31,0,3,33237,0,0,0,'','Mortar can hit Ulduar Colossus'), +(13,1,62635,0,4,31,0,3,34164,0,0,0,'','Mortar can hit Mechagnome Battletank'), +(13,1,62635,0,5,31,0,3,33264,0,0,0,'','Mortar can hit Ironwork Canon'), +(13,1,62635,0,6,31,0,3,33214,0,0,0,'','Mortar can hit Mechanolift 304-A'), +(13,1,62635,0,7,31,0,3,33113,0,0,0,'','Mortar can hit Flame Leviathan'), +(13,1,62635,0,8,31,0,3,33090,0,0,0,'','Mortar can hit Pool of Tar'), +(13,1,62635,0,9,31,0,3,34161,0,0,0,'','Mortar can hit Mechanostriker 54-A'), +(13,1,62635,0,10,31,0,3,34275,0,0,0,'','Mortar can hit Ward of Life'), +(13,1,62635,0,11,31,0,3,33387,0,0,0,'','Mortar can hit Writhing Lasher'); +-- Add conditions to prevent Fire Cannon friendly fire // Flames are supposed to do Friendly Damage, since they break Ice in HM +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=62357; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition` ,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,62357,0,1,31,0,3,33236,0,0,0,'','Fire Cannon can hit Steelforged Defender'), +(13,1,62357,0,2,31,0,3,34234,0,0,0,'','Fire Cannon can hit Runeforged Sentry'), +(13,1,62357,0,3,31,0,3,33237,0,0,0,'','Fire Cannon can hit Ulduar Colossus'), +(13,1,62357,0,4,31,0,3,34164,0,0,0,'','Fire Cannon can hit Mechagnome Battletank'), +(13,1,62357,0,5,31,0,3,33264,0,0,0,'','Fire Cannon can hit Ironwork Canon'), +(13,1,62357,0,6,31,0,3,33214,0,0,0,'','Fire Cannon can hit Mechanolift 304-A'), +(13,1,62357,0,7,31,0,3,33113,0,0,0,'','Fire Cannon can hit Flame Leviathan'), +(13,1,62357,0,8,31,0,3,33090,0,0,0,'','Fire Cannon can hit Pool of Tar'), +(13,1,62357,0,9,31,0,3,34161,0,0,0,'','Fire Cannon can hit Mechanostriker 54-A'), +(13,1,62357,0,10,31,0,3,34275,0,0,0,'','Fire Cannon can hit Ward of Life'), +(13,1,62357,0,11,31,0,3,33387,0,0,0,'','Fire Cannon can hit Writhing Lasher'); +-- Add conditions to prevent Burning Tar friendly fire // Flames are supposed to do Friendly Damage, since they break Ice in HM +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=62290; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition` ,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,62290,0,1,31,0,3,33236,0,0,0,'','Burning Tar can hit Steelforged Defender'), +(13,1,62290,0,2,31,0,3,34234,0,0,0,'','Burning Tar can hit Runeforged Sentry'), +(13,1,62290,0,3,31,0,3,33237,0,0,0,'','Burning Tar can hit Ulduar Colossus'), +(13,1,62290,0,4,31,0,3,34164,0,0,0,'','Burning Tar can hit Mechagnome Battletank'), +(13,1,62290,0,5,31,0,3,33264,0,0,0,'','Burning Tar can hit Ironwork Canon'), +(13,1,62290,0,6,31,0,3,33214,0,0,0,'','Burning Tar can hit Mechanolift 304-A'), +(13,1,62290,0,7,31,0,3,33113,0,0,0,'','Burning Tar can hit Flame Leviathan'), +(13,1,62290,0,8,31,0,3,33090,0,0,0,'','Burning Tar can hit Pool of Tar'), +(13,1,62290,0,9,31,0,3,34161,0,0,0,'','Burning Tar can hit Mechanostriker 54-A'), +(13,1,62290,0,10,31,0,3,34275,0,0,0,'','Burning Tar can hit Ward of Life'), +(13,1,62290,0,11,31,0,3,33387,0,0,0,'','Burning Tar can hit Writhing Lasher'); +-- Add conditions to prevent Blue Pyrite friendly fire +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=62489; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition` ,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,62489,0,1,31,0,3,33236,0,0,0,'','Blue Pyrite can hit Steelforged Defender'), +(13,1,62489,0,2,31,0,3,34234,0,0,0,'','Blue Pyrite can hit Runeforged Sentry'), +(13,1,62489,0,3,31,0,3,33237,0,0,0,'','Blue Pyrite can hit Ulduar Colossus'), +(13,1,62489,0,4,31,0,3,34164,0,0,0,'','Blue Pyrite can hit Mechagnome Battletank'), +(13,1,62489,0,5,31,0,3,33264,0,0,0,'','Blue Pyrite can hit Ironwork Canon'), +(13,1,62489,0,6,31,0,3,33214,0,0,0,'','Blue Pyrite can hit Mechanolift 304-A'), +(13,1,62489,0,7,31,0,3,33113,0,0,0,'','Blue Pyrite can hit Flame Leviathan'), +(13,1,62489,0,8,31,0,3,33090,0,0,0,'','Blue Pyrite can hit Pool of Tar'), +(13,1,62489,0,9,31,0,3,34161,0,0,0,'','Blue Pyrite can hit Mechanostriker 54-A'), +(13,1,62489,0,10,31,0,3,34275,0,0,0,'','Blue Pyrite can hit Ward of Life'), +(13,1,62489,0,11,31,0,3,33387,0,0,0,'','Blue Pyrite can hit Writhing Lasher'); From 151dbb30845b24aa16396880095bb404f42a95e7 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Tue, 24 Mar 2015 11:02:28 +0000 Subject: [PATCH 27/54] DB/Misc: Fix error --- sql/updates/world/2015_03_24_00_world.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2015_03_24_00_world.sql diff --git a/sql/updates/world/2015_03_24_00_world.sql b/sql/updates/world/2015_03_24_00_world.sql new file mode 100644 index 00000000000..752272710b4 --- /dev/null +++ b/sql/updates/world/2015_03_24_00_world.sql @@ -0,0 +1,2 @@ +DELETE FROM `smart_scripts` WHERE `entryorguid`=21685 AND `source_type`=0 AND `id`=16 AND `link`=0; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=21685 AND `source_type`=0 AND `id`=15 AND `link`=16; From 1944b3bce5218618cd36c2a5889ec00d5331c980 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Tue, 24 Mar 2015 11:39:28 +0000 Subject: [PATCH 28/54] DB/Misc: Another error As Aokromes suggested when I originally committed fix for Teleport This! I must have accidentally searched for creature guid instead of go guid. --- sql/updates/world/2015_03_24_01_world.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 sql/updates/world/2015_03_24_01_world.sql diff --git a/sql/updates/world/2015_03_24_01_world.sql b/sql/updates/world/2015_03_24_01_world.sql new file mode 100644 index 00000000000..31034d87c4a --- /dev/null +++ b/sql/updates/world/2015_03_24_01_world.sql @@ -0,0 +1,10 @@ + +DELETE FROM `gameobject` WHERE `guid` IN (69717, 69718, 69719, 6220,6221,6222) AND `id`=185215; +DELETE FROM `gameobject` WHERE `guid` IN (69717, 69718, 69719) AND `id` IN(2040,1732,1733); +INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES +(6220, 185215, 530, 1, 1, 4697.5, 3298.68, 178.892, 2.02823, 0, 0, 0.849013, 0.528372, 120, 0, 1), +(6221, 185215, 530, 1, 1, 4734.71, 3193.67, 161.48, 0.386745, 0, 0, 0.19217, 0.981362, 120, 0, 1), +(6222, 185215, 530, 1, 1, 4673.28, 3126.67, 166.725, 5.42979, 0, 0, 0.413867, -0.910337, 120, 0, 1), +(69717, 2040, 0, 1, 1, -1246, -2071, 50.241, 2.284, 0, 0, 0, 0, 900, 255, 1), +(69718, 1732, 0, 1, 1, -1246, -2071, 50.241, 2.284, 0, 0, 0, 0, 900, 255, 1), +(69719, 1733, 0, 1, 1, -1246, -2071, 50.241, 2.284, 0, 0, 0, 0, 900, 255, 1); From 4201ca021ba20349cb4ebe87582f1ad035dd7a85 Mon Sep 17 00:00:00 2001 From: Naios Date: Tue, 24 Mar 2015 12:58:55 +0100 Subject: [PATCH 29/54] Core/DBUpdater: Add the possibility to limit the remove of orphaned entries. * This will save you from loosing your update history if you use a repository in bad state (revision or branch) by mistake. * Also turned 1 error message into a warning (cherry picked from commit 966282fbed24a0d0cf8cb3e05b1849c3e6a0d1d6) (cherry picked from commit 3ad7776d5061308d3e2b4ff9e3cbf67d48bffdd6) --- src/server/authserver/authserver.conf.dist | 11 ++++--- src/server/shared/Updater/DBUpdater.cpp | 2 +- src/server/shared/Updater/UpdateFetcher.cpp | 30 ++++++++++++++------ src/server/shared/Updater/UpdateFetcher.h | 2 +- src/server/worldserver/worldserver.conf.dist | 11 ++++--- 5 files changed, 38 insertions(+), 18 deletions(-) diff --git a/src/server/authserver/authserver.conf.dist b/src/server/authserver/authserver.conf.dist index 6ba05e89d72..ba9cb5b23b4 100644 --- a/src/server/authserver/authserver.conf.dist +++ b/src/server/authserver/authserver.conf.dist @@ -227,13 +227,16 @@ Updates.ArchivedRedundancy = 0 Updates.AllowRehash = 1 # -# Updates.CleanDeadRef -# Description: Cleans dead/ orphaned references that occure if a update was deleted or renamed and edited. +# Updates.CleanDeadRefMaxCount +# Description: Cleans dead/ orphaned references that occur if an update was removed or renamed and edited in one step. +# It only starts the clean up if the count of the missing updates is below or equal the Updates.CleanDeadRefMaxCount value. +# This way prevents erasing of the update history due to wrong source directory state (maybe wrong branch or bad revision). # Disable this if you want to know if the database is in a possible "dirty state". -# Default: 1 - (Enabled) +# Default: 3 - (Enabled) # 0 - (Disabled) +# -1 - (Enabled - unlimited) -Updates.CleanDeadRef = 1 +Updates.CleanDeadRefMaxCount = 3 # ################################################################################################### diff --git a/src/server/shared/Updater/DBUpdater.cpp b/src/server/shared/Updater/DBUpdater.cpp index 3c0ad4d1476..15226577504 100644 --- a/src/server/shared/Updater/DBUpdater.cpp +++ b/src/server/shared/Updater/DBUpdater.cpp @@ -244,7 +244,7 @@ bool DBUpdater::Update(DatabaseWorkerPool& pool) sConfigMgr->GetBoolDefault("Updates.Redundancy", true), sConfigMgr->GetBoolDefault("Updates.AllowRehash", true), sConfigMgr->GetBoolDefault("Updates.ArchivedRedundancy", false), - sConfigMgr->GetBoolDefault("Updates.CleanDeadRef", true)); + sConfigMgr->GetIntDefault("Updates.CleanDeadRefMaxCount", 3)); if (!count) TC_LOG_INFO("sql.updates", ">> %s database is up-to-date!", DBUpdater::GetTableName().c_str()); diff --git a/src/server/shared/Updater/UpdateFetcher.cpp b/src/server/shared/Updater/UpdateFetcher.cpp index 63e820c3de5..b93ca614729 100644 --- a/src/server/shared/Updater/UpdateFetcher.cpp +++ b/src/server/shared/Updater/UpdateFetcher.cpp @@ -101,7 +101,7 @@ UpdateFetcher::DirectoryStorage UpdateFetcher::ReceiveIncludedDirectories() cons if (!is_directory(p)) { - TC_LOG_ERROR("sql.updates", "DBUpdater: Given update include directory \"%s\" isn't existing, skipped!", p.generic_string().c_str()); + TC_LOG_WARN("sql.updates", "DBUpdater: Given update include directory \"%s\" isn't existing, skipped!", p.generic_string().c_str()); continue; } @@ -154,7 +154,7 @@ UpdateFetcher::SQLUpdate UpdateFetcher::ReadSQLUpdate(boost::filesystem::path co return update; } -uint32 UpdateFetcher::Update(bool const redundancyChecks, bool const allowRehash, bool const archivedRedundancy, bool const cleanDeadReferences) const +uint32 UpdateFetcher::Update(bool const redundancyChecks, bool const allowRehash, bool const archivedRedundancy, int32 const cleanDeadReferencesMaxCount) const { LocaleFileStorage const available = GetFileList(); AppliedFileStorage applied = ReceiveAppliedFiles(); @@ -291,14 +291,28 @@ uint32 UpdateFetcher::Update(bool const redundancyChecks, bool const allowRehash ++importedUpdates; } - for (auto const& entry : applied) + // Cleanup up orphaned entries if enabled + if (!applied.empty()) { - TC_LOG_WARN("sql.updates", ">> File \'%s\' was applied to the database but is missing in" \ - " your update directory now!%s", entry.first.c_str(), cleanDeadReferences ? " Deleting orphaned entry..." : ""); - } + bool const doCleanup = (cleanDeadReferencesMaxCount < 0) || (applied.size() <= static_cast(cleanDeadReferencesMaxCount)); - if (cleanDeadReferences) - CleanUp(applied); + for (auto const& entry : applied) + { + TC_LOG_WARN("sql.updates", ">> File \'%s\' was applied to the database but is missing in" \ + " your update directory now!", entry.first.c_str()); + + if (doCleanup) + TC_LOG_INFO("sql.updates", "Deleting orphaned entry \'%s\'...", entry.first.c_str()); + } + + if (doCleanup) + CleanUp(applied); + else + { + TC_LOG_ERROR("sql.updates", "Cleanup is disabled! There are %zu dirty files that were applied to your database " \ + "but are now missing in your source directory!", applied.size()); + } + } return importedUpdates; } diff --git a/src/server/shared/Updater/UpdateFetcher.h b/src/server/shared/Updater/UpdateFetcher.h index f545c232a94..094e353f274 100644 --- a/src/server/shared/Updater/UpdateFetcher.h +++ b/src/server/shared/Updater/UpdateFetcher.h @@ -36,7 +36,7 @@ public: std::function const& retrieve); uint32 Update(bool const redundancyChecks, bool const allowRehash, - bool const archivedRedundancy, bool const cleanDeadReferences) const; + bool const archivedRedundancy, int32 const cleanDeadReferencesMaxCount) const; private: enum UpdateMode diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index c7464721968..0a98922b295 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -1193,13 +1193,16 @@ Updates.ArchivedRedundancy = 0 Updates.AllowRehash = 1 # -# Updates.CleanDeadRef -# Description: Cleans dead/ orphaned references that occure if a update was deleted or renamed and edited. +# Updates.CleanDeadRefMaxCount +# Description: Cleans dead/ orphaned references that occur if an update was removed or renamed and edited in one step. +# It only starts the clean up if the count of the missing updates is below or equal the Updates.CleanDeadRefMaxCount value. +# This way prevents erasing of the update history due to wrong source directory state (maybe wrong branch or bad revision). # Disable this if you want to know if the database is in a possible "dirty state". -# Default: 1 - (Enabled) +# Default: 3 - (Enabled) # 0 - (Disabled) +# -1 - (Enabled - unlimited) -Updates.CleanDeadRef = 1 +Updates.CleanDeadRefMaxCount = 3 # ################################################################################################### From 5594dad4d8e392a723b14fd2b1eee41b2187b1f0 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Tue, 24 Mar 2015 12:47:14 +0000 Subject: [PATCH 30/54] DB/Misc: More error fixes --- sql/updates/world/2015_03_24_02_world.sql | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 sql/updates/world/2015_03_24_02_world.sql diff --git a/sql/updates/world/2015_03_24_02_world.sql b/sql/updates/world/2015_03_24_02_world.sql new file mode 100644 index 00000000000..b9a49dcc9ba --- /dev/null +++ b/sql/updates/world/2015_03_24_02_world.sql @@ -0,0 +1,6 @@ +UPDATE `creature_template` SET `AIName`='' WHERE `entry`=21669; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=21699; +DELETE FROM `smart_scripts` WHERE `entryorguid` In(21669,21699) 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 +(21669, 0, 0, 0, 1, 0, 100, 0, 0, 300000, 300000, 900000, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Maiev Shadowsong - OOC - Say Line 0'); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 and `SourceEntry`=35997; From 41fe24e9ad537bacdbdef0b41b229de1f1383dab Mon Sep 17 00:00:00 2001 From: Aokromes Date: Tue, 24 Mar 2015 18:57:32 +0100 Subject: [PATCH 31/54] DB/Misc: Fix startup errors By Kilyana, updates #13707 --- sql/updates/world/2015_03_24_03_world.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 sql/updates/world/2015_03_24_03_world.sql diff --git a/sql/updates/world/2015_03_24_03_world.sql b/sql/updates/world/2015_03_24_03_world.sql new file mode 100644 index 00000000000..3012bb6b82a --- /dev/null +++ b/sql/updates/world/2015_03_24_03_world.sql @@ -0,0 +1,3 @@ +-- +UPDATE `conditions` SET `SourceGroup`=3 WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (63292,63294, 63295); +UPDATE `conditions` SET `ConditionTypeOrReference`=39 WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=3 AND `SourceEntry`=202443 AND `SourceId`=1 AND `ElseGroup`=0 AND `ConditionTypeOrReference`=40 AND `ConditionTarget`=1 AND `ConditionValue1`=4576 AND `ConditionValue2`=0 AND `ConditionValue3`=0; From d37f52c93e000c581ea21089a87fbafd2c192349 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Tue, 24 Mar 2015 19:26:48 +0100 Subject: [PATCH 32/54] DB/Misc: Fix startup errors Updates #13707 Code is welcome to fix the remaining core errors. --- sql/updates/world/2015_03_24_04_world.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2015_03_24_04_world.sql diff --git a/sql/updates/world/2015_03_24_04_world.sql b/sql/updates/world/2015_03_24_04_world.sql new file mode 100644 index 00000000000..74488cd00bd --- /dev/null +++ b/sql/updates/world/2015_03_24_04_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `smart_scripts` SET `entryorguid`=21699 WHERE `entryorguid`=21669 AND `source_type`=0 AND `id`=0 AND `link`=0; From 0778cc3332a16e26effb399889ec824144188d19 Mon Sep 17 00:00:00 2001 From: Naios Date: Tue, 24 Mar 2015 22:00:19 +0100 Subject: [PATCH 33/54] Core/DBUpdater: Use correct formatter for size_t * thanks @DDuarte pointing this out. (cherry picked from commit b2b8de5786364d81fbce643e8f00bcc0129ed760) --- src/server/shared/Updater/UpdateFetcher.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/shared/Updater/UpdateFetcher.cpp b/src/server/shared/Updater/UpdateFetcher.cpp index b93ca614729..2b12f39780c 100644 --- a/src/server/shared/Updater/UpdateFetcher.cpp +++ b/src/server/shared/Updater/UpdateFetcher.cpp @@ -309,7 +309,7 @@ uint32 UpdateFetcher::Update(bool const redundancyChecks, bool const allowRehash CleanUp(applied); else { - TC_LOG_ERROR("sql.updates", "Cleanup is disabled! There are %zu dirty files that were applied to your database " \ + TC_LOG_ERROR("sql.updates", "Cleanup is disabled! There are " SZFMTD " dirty files that were applied to your database " \ "but are now missing in your source directory!", applied.size()); } } From 0e828909d1a11759ff7425b0640fdc0285de8893 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Wed, 25 Mar 2015 00:01:30 +0100 Subject: [PATCH 34/54] DB/Creature: Make Clockwork Mechanic ride Arachnopod By Malcrom. --- sql/updates/world/2015_03_24_05_world.sql | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 sql/updates/world/2015_03_24_05_world.sql diff --git a/sql/updates/world/2015_03_24_05_world.sql b/sql/updates/world/2015_03_24_05_world.sql new file mode 100644 index 00000000000..c9faf951751 --- /dev/null +++ b/sql/updates/world/2015_03_24_05_world.sql @@ -0,0 +1,16 @@ +-- Remove Clockwork Mechanic & Arachnopod Destroyer Incorrect spawns "Ulduar" +DELETE FROM `creature` WHERE `guid` IN (137561,137562,137563,136543,136544,136547,136551); + +-- Arachnopod Destroyer SAI "Still needs combat AI" +SET @ENTRY := 34183; +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,11,64703,0,0,0,0,0,1,0,0,0,0,0,0,0,"Arachnopod Destroyer - OOC - Cast Summon Clockwork Mechanic"); + +-- Clockwork Mechanic SAI "Still needs combat AI" +SET @ENTRY := 34184; +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,11,63313,0,0,0,0,0,7,0,0,0,0,0,0,0,"Clockwork Mechanic - Just Summoned - Cast Ride Vehicle"); From 9a2e9ecccc5ed4d300025f3b6d1cffc6af11265d Mon Sep 17 00:00:00 2001 From: Aokromes Date: Wed, 25 Mar 2015 09:57:50 +0100 Subject: [PATCH 35/54] DB/Misc: Fix startup errors --- sql/updates/world/2015_03_25_00_world.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2015_03_25_00_world.sql diff --git a/sql/updates/world/2015_03_25_00_world.sql b/sql/updates/world/2015_03_25_00_world.sql new file mode 100644 index 00000000000..f171ae54d17 --- /dev/null +++ b/sql/updates/world/2015_03_25_00_world.sql @@ -0,0 +1,2 @@ +-- +DELETE FROM `creature` WHERE `guid` IN (137561,137562,137563); From 5d21f486ab310ecefc50571067e219a74441b44c Mon Sep 17 00:00:00 2001 From: Aokromes Date: Wed, 25 Mar 2015 10:58:39 +0100 Subject: [PATCH 36/54] Update 2015_03_25_00_world.sql --- sql/updates/world/2015_03_25_00_world.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/updates/world/2015_03_25_00_world.sql b/sql/updates/world/2015_03_25_00_world.sql index f171ae54d17..06d4910fe05 100644 --- a/sql/updates/world/2015_03_25_00_world.sql +++ b/sql/updates/world/2015_03_25_00_world.sql @@ -1,2 +1,2 @@ -- -DELETE FROM `creature` WHERE `guid` IN (137561,137562,137563); +DELETE FROM `creature_addon` WHERE `guid` IN (137561,137562,137563); From bfaaee1843905ddb6d6d95c589ca6ecc94a92861 Mon Sep 17 00:00:00 2001 From: MitchesD Date: Wed, 25 Mar 2015 16:29:38 +0100 Subject: [PATCH 37/54] Rename 2015_02_06_14_world.sql to 2015_03_25_01_world.sql --- .../world/{2015_02_06_14_world.sql => 2015_03_25_01_world.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sql/updates/world/{2015_02_06_14_world.sql => 2015_03_25_01_world.sql} (100%) diff --git a/sql/updates/world/2015_02_06_14_world.sql b/sql/updates/world/2015_03_25_01_world.sql similarity index 100% rename from sql/updates/world/2015_02_06_14_world.sql rename to sql/updates/world/2015_03_25_01_world.sql From 81dcfa4077e048612621d63e8792e43a5dac9b37 Mon Sep 17 00:00:00 2001 From: cr4st Date: Wed, 25 Mar 2015 17:43:12 +0100 Subject: [PATCH 38/54] Core/Creature: fixed trigger visibility of vehicles (cherry picked from commit 5cee106524d8d7e0048270042be9fd02ce399a21) --- src/server/game/Entities/Player/Player.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a68640f1fad..ae55ac7bccb 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -22660,7 +22660,7 @@ void Player::UpdateTriggerVisibility() WorldPacket packet; for (auto itr = m_clientGUIDs.begin(); itr != m_clientGUIDs.end(); ++itr) { - if (itr->IsCreature()) + if (itr->IsCreatureOrVehicle()) { Creature* creature = GetMap()->GetCreature(*itr); // Update fields of triggers, transformed units or unselectable units (values dependent on GM state) From 6777addbee82ef33a4bde5e0f6e81f9b2e09331e Mon Sep 17 00:00:00 2001 From: joschiwald Date: Wed, 25 Mar 2015 17:43:59 +0100 Subject: [PATCH 39/54] Scripts/Spells: implement some eject passenger spells (cherry picked from commit 766eb599ea5e7629ac7a98cf914d2877093a14fd) --- sql/updates/world/2015_03_25_02_world.sql | 13 +++++++ src/server/scripts/Spells/spell_generic.cpp | 38 +++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 sql/updates/world/2015_03_25_02_world.sql diff --git a/sql/updates/world/2015_03_25_02_world.sql b/sql/updates/world/2015_03_25_02_world.sql new file mode 100644 index 00000000000..10b8903f3fb --- /dev/null +++ b/sql/updates/world/2015_03_25_02_world.sql @@ -0,0 +1,13 @@ +DELETE FROM `spell_script_names` WHERE `spell_id` IN (62539,64614,64629,64630,64631,64632,64633,64634,64635,64636,67393); +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(62539,'spell_gen_eject_passenger'), +(64614,'spell_gen_eject_passenger'), +(64629,'spell_gen_eject_passenger'), +(64630,'spell_gen_eject_passenger'), +(64631,'spell_gen_eject_passenger'), +(64632,'spell_gen_eject_passenger'), +(64633,'spell_gen_eject_passenger'), +(64634,'spell_gen_eject_passenger'), +(64635,'spell_gen_eject_passenger'), +(64636,'spell_gen_eject_passenger'), +(67393,'spell_gen_eject_passenger'); diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index ee70cca2e50..993e64f22dc 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -3629,6 +3629,43 @@ class spell_gen_eject_all_passengers : public SpellScriptLoader } }; +class spell_gen_eject_passenger : public SpellScriptLoader +{ + public: + spell_gen_eject_passenger() : SpellScriptLoader("spell_gen_eject_passenger") { } + + class spell_gen_eject_passenger_SpellScript : public SpellScript + { + PrepareSpellScript(spell_gen_eject_passenger_SpellScript); + + bool Validate(SpellInfo const* spellInfo) override + { + if (spellInfo->Effects[EFFECT_0].CalcValue() < 1) + return false; + return true; + } + + void EjectPassenger(SpellEffIndex /*effIndex*/) + { + if (Vehicle* vehicle = GetHitUnit()->GetVehicleKit()) + { + if (Unit* passenger = vehicle->GetPassenger(GetEffectValue() - 1)) + passenger->ExitVehicle(); + } + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_gen_eject_passenger_SpellScript::EjectPassenger, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } + }; + + SpellScript* GetSpellScript() const override + { + return new spell_gen_eject_passenger_SpellScript(); + } +}; + enum GMFreeze { SPELL_GM_FREEZE = 9454 @@ -4121,6 +4158,7 @@ void AddSC_generic_spell_scripts() new spell_gen_wg_water(); new spell_gen_whisper_gulch_yogg_saron_whisper(); new spell_gen_eject_all_passengers(); + new spell_gen_eject_passenger(); new spell_gen_gm_freeze(); new spell_gen_stand(); new spell_gen_mixology_bonus(); From ca73634e44f87bb76ad7cd9aaca0a8a0b11ee621 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Wed, 25 Mar 2015 20:00:09 +0000 Subject: [PATCH 40/54] DB/Quest: The Secret Compromised Script turn in event --- sql/updates/world/2015_03_25_03_world.sql | 98 +++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 sql/updates/world/2015_03_25_03_world.sql diff --git a/sql/updates/world/2015_03_25_03_world.sql b/sql/updates/world/2015_03_25_03_world.sql new file mode 100644 index 00000000000..3706bde1b71 --- /dev/null +++ b/sql/updates/world/2015_03_25_03_world.sql @@ -0,0 +1,98 @@ +DELETE FROM `creature_text` WHERE `entry` IN(22865,22820); +DELETE FROM `creature_text` WHERE `entry` =21700 AND `groupid`>7; + +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `comment`) VALUES +(22865, 0, 0, 'You disappoint me, Akama. I wanted to question the treacherous worm myself! I''m beginning to question your allegiance, Broken.', 12, 0, 100, 1, 0, 11608, 20628, 'Illidan''s Presence to Player'), +(22865, 1, 0, 'I do not sense lies in your voice, Akama. That Kael''thas would betray me does not come as a big surprise - I''m not as oblivious as some would think. That one of your own was involved with him puts your loyalties into question.', 12, 0, 100, 5, 0, 11609, 20629, 'Illidan''s Presence to Player'), +(22865, 2, 0, 'Send your Ashtongue into Tempest Keep and slay his most prized possession, the phoenix known as Al''ar. I must know that you''re not on his side. Do not think of betraying me, Broken. We both know who owns your soul!', 12, 0, 100, 1, 0, 11610, 20630, 'Illidan''s Presence to Player'), +(21700, 8, 0, 'Olum... old friend. It is good to see that you are safe.', 12, 0, 100, 6, 0, 11600, 20490, 'Akama to Player'), +(21700, 9, 0, 'Illidan will become suspicious... that much is for certain. We will deal with it as we always do.', 12, 0, 100, 0, 0, 11601, 20491, 'Akama to Player'), +(21700, 10, 0, 'You cannot... be serious, Olum. Your sacrifice has already been too great.', 12, 0, 100, 274, 0, 11602, 20492, 'Akama to Player'), +(21700, 11, 0, 'It appears your mind is set then. We will guide you to the spirit world with as much kindness as we can.', 12, 0, 100, 396, 0, 11603, 20493, 'Akama to Player'), +(21700, 12, 0, 'Farewell, dear friend. We shall meet you in the next world when our duties in this one are fulfilled.', 12, 0, 100, 0, 0, 11604, 20494, 'Akama to Player'), +(21700, 13, 0, 'Master! We''ve found the traitor who escaped Vashj! His body lies in front of me... lifeless!', 12, 0, 100, 0, 0, 11605, 20495, 'Akama to Player'), +(21700, 14, 0, 'But, sire! You have misjudged my actions... I do have knowledge of someone close to you who plans to betray you. It is that dog, Kael''thas! He has allied with Kil''jaeden and intends to replace you as Lord of Outland!', 12, 0, 100, 0, 0, 11606, 20496, 'Akama to Player'), +(21700, 15, 0, 'It will be done, my lord!', 12, 0, 100, 66, 0, 11607, 20497, 'Akama to Player'), +(22820, 0, 0, 'Akama, my friend! Have you been informed? I was found out by Vashj''s followers. Our secret is in peril!', 12, 0, 100, 0, 0, 11611, 20498, 'Seer Olum to Player'), +(22820, 1, 0, 'Illidan is looking for me. I am not safe here... none of us are.', 12, 0, 100, 1, 0, 11612, 20502, 'Seer Olum to Player'), +(22820, 2, 0, 'Illidan will find me and when he does... he will pry the Ashtongue secret from me - such is the power of the Betrayer! No... there is only one way. My usefulness to the cause has come to an end. I must venture into the spirit world!', 12, 0, 100, 6, 0, 11613, 20499, 'Seer Olum to Player'), +(22820, 3, 0, 'My decision is final. I will not be dissuaded. I have devoted my life to our plan. To jeopardize it now would betray all who have died for the cause long before me.', 12, 0, 100, 274, 0, 11614, 20500, 'Seer Olum to Player'), +(22820, 4, 0, 'I thank you, Akama. You honor me by allowing me this moment, surrounded by my brothers. Farewell, friend. Guide our people well.', 12, 0, 100, 2, 0, 11615, 20501, 'Seer Olum to Player'); + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN(22820,22865,22870); + +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(22820,22865,22870) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` =21700 AND `source_type`=0 AND `id` IN(4,5); + +DELETE FROM `smart_scripts` WHERE `entryorguid` =2170002 AND `source_type`=9; +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=22870; + + +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 +(22870, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 11, 36545, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Olums Spirit - On Just Summoned - Cast Floating Drowned'), +(22870, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 11, 36550, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Olums Spirit - On Just Summoned - Cast Floating Drowned'), +(22870, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 53, 0, 22870, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Olums Spirit - On Just Summoned - Start WP'), +(22870, 0, 3, 0, 40, 0, 100, 0, 1, 22870, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Olums Spirit - On Reached WP1 - Despawn'), + +(22820, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Seer Olum - On Just Summoned - Set NPC Flags'), +(22820, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 53, 0, 22820, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Seer Olum - On Just Summoned - Start WP'), +(22820, 0, 2, 0, 40, 0, 100, 0, 2, 22820, 0, 0, 101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Seer Olum - On Reached WP2 - Set Home Position'), +(22820, 0, 3, 4, 8, 0, 100, 0, 39552, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Seer Olum - On Spellhit (Olums Sacrifice) - Die'), +(22820, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 12, 22870, 1, 20000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Seer Olum - On Spellhit (Olums Sacrifice) - Summon Olums Spirit'), + +(22865, 0, 0, 0, 54, 0, 100, 0, 0, 0, 0, 0, 11, 37816, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Illidans Presence- On Just Summoned - Cast Shadowform'), +(22865, 0, 1, 0, 38, 0, 100, 0, 1, 1, 0, 0, 5, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Illidans Presence- On Data Set - Play Emote OneShotExclamation (5)'), +(22865, 0, 2, 0, 38, 0, 100, 0, 2, 2, 0, 0, 5, 53, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Illidans Presence- On Data Set - Play Emote OneShotBattleRoar (53)'), + + +(21700, 0, 4, 5, 20, 0, 100, 0, 10944, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Akama - On Quest 10944 rewarded - Store Targetlist'), +(21700, 0, 5, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 2170002, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - On Quest 10944 rewarded - Run Script'), +(2170002, 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, 'Akama - Script 3 - Set NPC Flags'), +(2170002, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 22820, 1, 180000, 0, 0, 0, 8, 0, 0, 0, -3726.361, 1040.714, 56.03985, 5.846853, 'Akama - Script 3 - Summon Seer Olum'), -- 00:57:39.985 Number: 4250 +(2170002, 9, 2, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 22820, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 0 on Seer Olum'), -- 00:57:41.328 Number: 4268 +(2170002, 9, 3, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 1, 8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 8'), -- 00:57:51.438 Number: 4412 +(2170002, 9, 4, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 22820, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 1 on Seer Olum'), -- 00:58:01.547 Number: 4545 +(2170002, 9, 5, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 9'), -- 00:58:08.422 Number: 4613 +(2170002, 9, 6, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, 22820, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 2 on Seer Olum'), -- 00:58:18.485 Number: 4746 +(2170002, 9, 7, 0, 0, 0, 100, 0, 25000, 25000, 0, 0, 1, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 10'), -- 00:58:43.578 Number: 5020 +(2170002, 9, 8, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, 22820, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 3 on Seer Olum'), -- 00:58:53.688 Number: 5102 +(2170002, 9, 9, 0, 0, 0, 100, 0, 13000, 13000, 0, 0, 1, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 11'), -- 00:59:06.610 Number: 5239 +(2170002, 9, 10, 0, 0, 0, 100, 0, 14000, 14000, 0, 0, 1, 4, 0, 0, 0, 0, 0, 19, 22820, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 4 on Seer Olum'), -- 00:59:20.328 Number: 5385 +(2170002, 9, 11, 0, 0, 0, 100, 0, 11000, 11000, 0, 0, 11, 39552, 0, 0, 0, 0, 0, 19, 22820, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Cast Olums Sacrifice'), -- 00:59:31.532 Number: 5519 +(2170002, 9, 12, 0, 0, 0, 100, 0, 14000, 14000, 0, 0, 1, 12, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 12'), -- 00:59:45.438 Number: 5726 +(2170002, 9, 13, 0, 0, 0, 100, 0, 21000, 21000, 0, 0, 1, 13, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 13'), -- 01:00:06.110 Number: 5970 +(2170002, 9, 14, 0, 0, 0, 100, 0, 0, 0, 0, 0, 90, 8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Set Bytes 1'), +(2170002, 9, 15, 0, 0, 0, 100, 0, 300, 300, 0, 0, 12, 22865, 1, 86000, 0, 0, 0, 8, 0, 0, 0, -3721.867, 1029.501, 56.03928, 0.03490658, 'Akama - Script 3 - Summon Illidans Presence'), -- 01:00:06.438 Number: 5980 +(2170002, 9, 16, 0, 0, 0, 100, 0, 0, 0, 0, 0, 50, 185520, 86, 0, 0, 0, 0, 8, 0, 0, 0, -3721.867, 1029.501, 56.03928, 0.03490658, 'Akama - Script 3 - Summon Fel Fire (GO)'), -- 01:00:06.438 Number: 5980 +(2170002, 9, 17, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 22865, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 0 on Illidans Presence'), -- 01:00:14.610 Number: 6082 +(2170002, 9, 18, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 22865, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Set Data 1 1 on Illidans Presence'), -- 01:00:19.516 Number: 6135 +(2170002, 9, 19, 0, 0, 0, 100, 0, 9000, 9000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 22820, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Despawn Seer Olum'), -- 01:00:28.000 Number: 6250 +(2170002, 9, 20, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 91, 8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Set Bytes 1'), -- 01:00:29.219 Number: 6273 +(2170002, 9, 21, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 14'), -- 01:00:29.328 Number: 6276 +(2170002, 9, 22, 0, 0, 0, 100, 0, 16000, 16000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 22865, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 1 on Illidans Presence'), -- 01:00:45.110 Number: 6432 +(2170002, 9, 23, 0, 0, 0, 100, 0, 23000, 23000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, 22865, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 2 on Illidans Presence'), -- 01:01:08.125 Number: 6672 +(2170002, 9, 24, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 45, 2, 2, 0, 0, 0, 0, 19, 22865, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Set Data 2 2 on Illidans Presence'), -- 01:01:14.125 Number: 6731 +(2170002, 9, 25, 0, 0, 0, 100, 0, 17000, 17000, 0, 0, 1, 15, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 15'), -- 01:01:31.188 Number: 6926 +(2170002, 9, 26, 0, 0, 0, 100, 0, 0, 0, 0, 0, 81, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 15'); -- Set NPC Flags + +DELETE FROM `creature_template_addon` WHERE `entry` IN(22870,22865); +INSERT INTO `creature_template_addon` (`entry`, `mount`, `bytes1`, `bytes2`, `auras`) VALUES +(22870, 0, 0x0, 0x1, '36545'), -- 22870 - 36545 +(22865, 0, 0x0, 0x1, '37816'); -- 22865 - 37816 + +DELETE FROM `waypoints` WHERE `entry` IN(22820,22870); +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(22820, 1,-3724.758, 1036.542, 55.99855, 'Seer Olum'), +(22820, 2,-3723.388, 1033.147, 56.20685, 'Seer Olum'), +(22870, 1,-3718.94, 1032.773, 63.84426, 'Olums Spirit'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=39552; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 39552, 0, 0, 31, 0, 3, 22820, 0, 0, 0, 0, '', 'Olums Sacrifice targets Seer Olum'), +(22, 1, 22820, 0, 0, 23, 1, 3821, 0, 0, 0, 0, 0, '', 'The Lich King - Only Run SAI in The Wardens Cage'); + +UPDATE `creature_template` SET `gossip_menu_id`=8564 WHERE `entry`=22820; + +DELETE FROM `gossip_menu` WHERE `entry`=8564; +INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES +(8564, 10733); -- 22820 From f38cad4957125a83c039259fd8ea8925232342a5 Mon Sep 17 00:00:00 2001 From: Rushor Date: Thu, 26 Mar 2015 00:35:29 +0100 Subject: [PATCH 41/54] DB/Creature: Spawn some 'Shakers' (3.3.5) * by @Aokromes --- sql/updates/world/2015_03_25_04_world.sql | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 sql/updates/world/2015_03_25_04_world.sql diff --git a/sql/updates/world/2015_03_25_04_world.sql b/sql/updates/world/2015_03_25_04_world.sql new file mode 100644 index 00000000000..017a0162c5d --- /dev/null +++ b/sql/updates/world/2015_03_25_04_world.sql @@ -0,0 +1,18 @@ +-- +SET @CGUID := 370474; +DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+13; +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@CGUID+0, 37543, 530, 1, 1, 9633.195, -7136.578, 30.51368, 0, 120, 0, 0), -- 37543 (Area: 3665) 3.3.5a +(@CGUID+1, 37543, 530, 1, 1, 9648.338, -7119.096, 28.47594, 0, 120, 0, 0), -- 37543 (Area: 3665) 3.3.5a +(@CGUID+2, 37543, 530, 1, 1, 9665.38, -7136.049, 28.58942, 0, 120, 0, 0), -- 37543 (Area: 3665) 3.3.5a +(@CGUID+3, 37574, 530, 1, 1, 9568.38, -7194.522, 24.68986, 4.660029, 120, 0, 0), -- 37574 (Area: 0) 3.3.5a +(@CGUID+4, 37574, 530, 1, 1, 9530.643, -7189.838, 31.87009, 4.660029, 120, 0, 0), -- 37574 (Area: 0) 3.3.5a +(@CGUID+5, 37543, 530, 1, 1, 9530.571, -7220.372, 30.44205, 1.22173, 120, 0, 0), -- 37543 (Area: 0) 3.3.5a +(@CGUID+6, 37574, 530, 1, 1, 9520.098, -7188.818, 31.84313, 4.660029, 120, 0, 0), -- 37574 (Area: 0) 3.3.5a +(@CGUID+7, 37574, 530, 1, 1, 9676.034, -7346.333, 22.96401, 4.660029, 120, 0, 0), -- 37574 (Area: 3482) 3.3.5a +(@CGUID+8, 37574, 530, 1, 1, 9683.437, -7394.599, 24.14162, 4.660029, 120, 0, 0), -- 37574 (Area: 3482) 3.3.5a +(@CGUID+9, 37574, 530, 1, 1, 9532.216, -7239.835, 24.74386, 4.660029, 120, 0, 0), -- 37574 (Area: 3482) 3.3.5a +(@CGUID+10, 37574, 530, 1, 1, 9574.714, -7221.677, 23.17951, 4.660029, 120, 0, 0), -- 37574 (Area: 3482) 3.3.5a +(@CGUID+11, 37543, 530, 1, 1, 9648.606, -7151.55, 28.7944, 0, 120, 0, 0), -- 37543 (Area: 3482) 3.3.5a +(@CGUID+12, 37543, 530, 1, 1, 9467.849, -7269.604, 34.85052, 0, 120, 0, 0), -- 37543 (Area: 3482) 3.3.5a +(@CGUID+13, 37543, 530, 1, 1, 9467.499, -7287.613, 36.13566, 0, 120, 0, 0); -- 37543 (Area: 3482) 3.3.5a From 7a1790745000a61112299f9944d66b35200cd0a4 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Thu, 26 Mar 2015 02:17:25 +0100 Subject: [PATCH 42/54] DB/Instance: Waypoints and corrections in Uldaman By Kittnz, closes #14447 --- sql/updates/world/2015_03_26_00_world.sql | 586 ++++++++++++++++++++++ 1 file changed, 586 insertions(+) create mode 100644 sql/updates/world/2015_03_26_00_world.sql diff --git a/sql/updates/world/2015_03_26_00_world.sql b/sql/updates/world/2015_03_26_00_world.sql new file mode 100644 index 00000000000..ab759e628f6 --- /dev/null +++ b/sql/updates/world/2015_03_26_00_world.sql @@ -0,0 +1,586 @@ +-- Pathing for Stonevault Ambusher Entry: 7175 'TDB FORMAT' +SET @NPC := 27536; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-210.1764,`position_y`=109.2886,`position_z`=-47.71453 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,-210.1764,109.2886,-47.71453,0,0,1,0,100,0), -- 19:46:17 +(@PATH,2,-210.9264,115.0386,-47.71453,0,0,1,0,100,0), -- 19:46:17 +(@PATH,3,-211.1764,117.7886,-46.96453,0,0,1,0,100,0), -- 19:46:17 +(@PATH,4,-211.4264,120.0386,-46.46453,0,0,1,0,100,0), -- 19:46:17 +(@PATH,5,-211.3505,121.1287,-46.46464,0,0,1,0,100,0), -- 19:46:20 +(@PATH,6,-211.3505,124.6287,-46.46464,0,0,1,0,100,0), -- 19:46:20 +(@PATH,7,-211.3505,126.8787,-46.46464,0,0,1,0,100,0), -- 19:46:20 +(@PATH,8,-206.7831,137.7592,-46.55875,0,0,1,0,100,0), -- 19:46:21 +(@PATH,9,-204.5331,138.0092,-46.55875,0,0,1,0,100,0), -- 19:46:21 +(@PATH,10,-200.7831,138.2592,-46.55875,0,0,1,0,100,0), -- 19:46:21 +(@PATH,11,-199.5331,138.5092,-46.55875,0,0,1,0,100,0), -- 19:46:21 +(@PATH,12,-198.5331,138.5092,-47.05875,0,0,1,0,100,0), -- 19:46:21 +(@PATH,13,-198.2273,138.9003,-47.06185,0,0,1,0,100,0), -- 19:46:23 +(@PATH,14,-192.7273,139.1503,-47.06185,0,0,1,0,100,0), -- 19:46:23 +(@PATH,15,-174.9689,143.976,-47.15791,0,0,1,0,100,0), -- 19:46:25 +(@PATH,16,-174.9137,144.2064,-47.1599,0,0,1,0,100,0), -- 19:46:26 +(@PATH,17,-174.1637,144.9564,-47.1599,0,0,1,0,100,0), -- 19:46:26 +(@PATH,18,-174.2672,156.425,-47.16148,0,0,1,0,100,0), -- 19:46:27 +(@PATH,19,-178.1581,166.2433,-47.16,0,0,1,0,100,0), -- 19:46:28 +(@PATH,20,-182.0437,167.7564,-47.15718,0,0,1,0,100,0), -- 19:46:29 +(@PATH,21,-187.5437,168.5064,-47.15718,0,0,1,0,100,0), -- 19:46:29 +(@PATH,22,-198.6023,169.4236,-47.01919,0,0,1,0,100,0), -- 19:46:30 +(@PATH,23,-199.8523,169.4236,-46.26919,0,0,1,0,100,0), -- 19:46:30 +(@PATH,24,-206.3523,169.1736,-44.51919,0,0,1,0,100,0), -- 19:46:30 +(@PATH,25,-208.6023,169.1736,-44.51919,0,0,1,0,100,0), -- 19:46:30 +(@PATH,26,-211.6879,169.1373,-44.53472,0,0,1,0,100,0), -- 19:46:33 +(@PATH,27,-215.1879,168.8873,-44.53472,0,0,1,0,100,0), -- 19:46:33 +(@PATH,28,-219.4723,168.7791,-44.37992,0,0,1,0,100,0), -- 19:46:34 +(@PATH,29,-239.9498,168.602,-44.37992,0,0,1,0,100,0), -- 19:46:37 +(@PATH,30,-246.9581,168.9306,-44.51655,0,0,1,0,100,0), -- 19:46:38 +(@PATH,31,-249.2081,168.9306,-44.51655,0,0,1,0,100,0), -- 19:46:38 +(@PATH,32,-252.4581,169.1806,-45.51655,0,0,1,0,100,0), -- 19:46:38 +(@PATH,33,-255.7081,169.4306,-46.26655,0,0,1,0,100,0), -- 19:46:38 +(@PATH,34,-256.7081,169.4306,-47.01655,0,0,1,0,100,0), -- 19:46:38 +(@PATH,35,-256.8999,169.2992,-47.01842,0,0,1,0,100,0), -- 19:46:39 +(@PATH,36,-260.1499,169.5492,-47.01842,0,0,1,0,100,0), -- 19:46:39 +(@PATH,37,-271.5681,169.6401,-47.15585,0,0,1,0,100,0), -- 19:46:40 +(@PATH,38,-278.7491,167.1944,-47.1574,0,0,1,0,100,0), -- 19:46:41 +(@PATH,39,-281.8345,159.0635,-47.15884,0,0,1,0,100,0), -- 19:46:43 +(@PATH,40,-281.6717,149.2611,-47.15874,0,0,1,0,100,0), -- 19:46:44 +(@PATH,41,-281.4217,147.0111,-47.15874,0,0,1,0,100,0), -- 19:46:44 +(@PATH,42,-280.9217,143.0111,-47.15874,0,0,1,0,100,0), -- 19:46:44 +(@PATH,43,-280.6221,142.876,-47.15683,0,0,1,0,100,0), -- 19:46:45 +(@PATH,44,-280.6221,141.876,-47.15683,0,0,1,0,100,0), -- 19:46:45 +(@PATH,45,-279.6221,141.376,-47.15683,0,0,1,0,100,0), -- 19:46:45 +(@PATH,46,-273.4069,138.0354,-47.15511,0,0,1,0,100,0), -- 19:46:46 +(@PATH,47,-256.2716,137.7599,-46.55902,0,0,1,0,100,0), -- 19:46:47 +(@PATH,48,-251.2716,137.7599,-46.55902,0,0,1,0,100,0), -- 19:46:47 +(@PATH,49,-245.0504,137.672,-46.46387,0,0,1,0,100,0), -- 19:46:50 +(@PATH,50,-230.932,137.3019,-46.46301,0,0,1,0,100,0), -- 19:46:51 +(@PATH,51,-219.4549,136.5503,-46.46327,0,0,1,0,100,0), -- 19:46:52 +(@PATH,52,-212.4549,136.0503,-46.46327,0,0,1,0,100,0), -- 19:46:52 +(@PATH,53,-211.8714,135.753,-46.46384,0,0,1,0,100,0), -- 19:46:54 +(@PATH,54,-211.8714,127.003,-46.46384,0,0,1,0,100,0), -- 19:46:54 +(@PATH,55,-211.7341,126.9009,-46.65929,0,0,1,0,100,0), -- 19:46:55 +(@PATH,56,-211.7341,124.6509,-46.65929,0,0,1,0,100,0), -- 19:46:55 +(@PATH,57,-211.7341,123.6509,-46.65929,0,0,1,0,100,0), -- 19:46:55 +(@PATH,58,-211.7341,119.9009,-46.65929,0,0,1,0,100,0), -- 19:46:55 +(@PATH,59,-211.7341,117.6509,-47.15929,0,0,1,0,100,0), -- 19:46:55 +(@PATH,60,-211.7341,115.1509,-47.65929,0,0,1,0,100,0), -- 19:46:55 +(@PATH,61,-211.6735,112.9518,-47.72739,0,0,1,0,100,0); -- 19:46:57 +-- 0x1C16F408C00701C00059E900030B2760 .go -210.1764 109.2886 -47.71453 + +-- Pathing for Stonevault Ambusher Entry: 7175 'TDB FORMAT' +SET @NPC := 27535; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-260.9756,`position_y`=61.2314,`position_z`=-48.54825 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,-260.9756,61.2314,-48.54825,0,0,1,0,100,0), -- 19:46:55 +(@PATH,2,-279.7831,63.47712,-48.54804,0,0,1,0,100,0), -- 19:46:57 +(@PATH,3,-282.5231,65.95476,-48.55443,0,0,1,0,100,0), -- 19:46:58 +(@PATH,4,-288.7731,67.95476,-48.55443,0,0,1,0,100,0), -- 19:46:58 +(@PATH,5,-293.4806,70.74025,-48.55671,0,0,1,0,100,0), -- 19:47:00 +(@PATH,6,-295.2306,72.99025,-48.55671,0,0,1,0,100,0), -- 19:47:00 +(@PATH,7,-292.8817,80.33412,-48.55592,0,0,1,0,100,0), -- 19:47:01 +(@PATH,8,-288.8817,83.33412,-48.55592,0,0,1,0,100,0), -- 19:47:01 +(@PATH,9,-280.2568,88.74796,-48.5517,0,0,1,0,100,0), -- 19:47:03 +(@PATH,10,-273.2597,91.43516,-48.54511,0,0,1,0,100,0), -- 19:47:05 +(@PATH,11,-256.2809,91.47353,-47.96152,0,0,1,0,100,0), -- 19:47:06 +(@PATH,12,-254.0309,91.47353,-47.96152,0,0,1,0,100,0), -- 19:47:06 +(@PATH,13,-250.0309,91.47353,-47.96152,0,0,1,0,100,0), -- 19:47:06 +(@PATH,14,-246.0933,91.76448,-47.96255,0,0,1,0,100,0), -- 19:47:07 +(@PATH,15,-244.1956,114.8135,-47.86117,0,0,1,0,100,0), -- 19:47:09 +(@PATH,16,-244.0928,116.6703,-47.67337,0,0,1,0,100,0), -- 19:47:11 +(@PATH,17,-244.0928,119.6703,-46.42337,0,0,1,0,100,0), -- 19:47:11 +(@PATH,18,-244.3428,126.6703,-46.42337,0,0,1,0,100,0), -- 19:47:11 +(@PATH,19,-244.2846,127.0505,-46.63219,0,0,1,0,100,0), -- 19:47:12 +(@PATH,20,-251.2605,136.6456,-46.55659,0,0,1,0,100,0), -- 19:47:13 +(@PATH,21,-256.0104,137.6456,-46.55659,0,0,1,0,100,0), -- 19:47:13 +(@PATH,22,-257.2604,137.8956,-47.05659,0,0,1,0,100,0), -- 19:47:13 +(@PATH,23,-259.69,138.2683,-47.05939,0,0,1,0,100,0), -- 19:47:16 +(@PATH,24,-278.1556,142.2052,-47.15575,0,0,1,0,100,0), -- 19:47:17 +(@PATH,25,-278.9056,143.2052,-47.15575,0,0,1,0,100,0), -- 19:47:17 +(@PATH,26,-281.2275,147.3071,-47.15728,0,0,1,0,100,0), -- 19:47:18 +(@PATH,27,-281.9775,148.5571,-47.15728,0,0,1,0,100,0), -- 19:47:18 +(@PATH,28,-277.5583,166.0385,-47.15807,0,0,1,0,100,0), -- 19:47:20 +(@PATH,29,-270.8185,168.1763,-47.15633,0,0,1,0,100,0), -- 19:47:21 +(@PATH,30,-257.0093,169.4798,-47.01865,0,0,1,0,100,0), -- 19:47:23 +(@PATH,31,-256.0093,169.4798,-46.26865,0,0,1,0,100,0), -- 19:47:23 +(@PATH,32,-252.7593,169.4798,-45.51865,0,0,1,0,100,0), -- 19:47:23 +(@PATH,33,-249.2593,169.4798,-44.51865,0,0,1,0,100,0), -- 19:47:23 +(@PATH,34,-247.0093,169.4798,-44.51865,0,0,1,0,100,0), -- 19:47:23 +(@PATH,35,-246.7646,169.5961,-44.52259,0,0,1,0,100,0), -- 19:47:25 +(@PATH,36,-244.5146,169.5961,-44.52259,0,0,1,0,100,0), -- 19:47:25 +(@PATH,37,-240.0146,169.5961,-44.52259,0,0,1,0,100,0), -- 19:47:25 +(@PATH,38,-215.2646,169.3461,-44.52259,0,0,1,0,100,0), -- 19:47:25 +(@PATH,39,-208.8364,169.3836,-44.51604,0,0,1,0,100,0), -- 19:47:29 +(@PATH,40,-206.5864,169.6336,-44.51604,0,0,1,0,100,0), -- 19:47:29 +(@PATH,41,-200.0864,169.8836,-46.26604,0,0,1,0,100,0), -- 19:47:29 +(@PATH,42,-198.8364,169.8836,-47.01604,0,0,1,0,100,0), -- 19:47:29 +(@PATH,43,-197.5312,170.0583,-47.003,0,0,1,0,100,0), -- 19:47:31 +(@PATH,44,-186.4549,169.675,-47.1562,0,0,1,0,100,0), -- 19:47:33 +(@PATH,45,-178.1893,166.1073,-47.15907,0,0,1,0,100,0), -- 19:47:34 +(@PATH,46,-174.5692,160.0448,-47.16045,0,0,1,0,100,0), -- 19:47:35 +(@PATH,47,-177.7394,141.6598,-47.16039,0,0,1,0,100,0), -- 19:47:36 +(@PATH,48,-178.7611,140.6003,-47.15852,0,0,1,0,100,0), -- 19:47:37 +(@PATH,49,-187.544,138.534,-47.15597,0,0,1,0,100,0), -- 19:47:38 +(@PATH,50,-199.6097,138.1275,-46.55952,0,0,1,0,100,0), -- 19:47:40 +(@PATH,51,-200.3597,138.1275,-46.55952,0,0,1,0,100,0), -- 19:47:40 +(@PATH,52,-204.6097,138.1275,-46.55952,0,0,1,0,100,0), -- 19:47:40 +(@PATH,53,-210.2272,138.1704,-46.66569,0,0,1,0,100,0), -- 19:47:41 +(@PATH,54,-219.309,137.7214,-46.46365,0,0,1,0,100,0), -- 19:47:42 +(@PATH,55,-227.5786,137.2641,-46.46313,0,0,1,0,100,0), -- 19:47:43 +(@PATH,56,-241.2292,133.3628,-46.46293,0,0,1,0,100,0), -- 19:47:45 +(@PATH,57,-244.0938,127.9868,-46.65569,0,0,1,0,100,0), -- 19:47:46 +(@PATH,58,-244.0938,126.7368,-46.65569,0,0,1,0,100,0), -- 19:47:46 +(@PATH,59,-244.0938,119.9868,-46.65569,0,0,1,0,100,0), -- 19:47:46 +(@PATH,60,-244.0938,117.7368,-47.15569,0,0,1,0,100,0), -- 19:47:46 +(@PATH,61,-244.1458,117.4128,-47.17364,0,0,1,0,100,0), -- 19:47:47 +(@PATH,62,-244.1458,115.9128,-47.67364,0,0,1,0,100,0), -- 19:47:47 +(@PATH,63,-243.8958,107.6628,-47.67364,0,0,1,0,100,0), -- 19:47:47 +(@PATH,64,-244.0653,104.803,-47.8754,0,0,1,0,100,0), -- 19:47:50 +(@PATH,65,-249.939,90.39037,-47.9633,0,0,1,0,100,0), -- 19:47:51 +(@PATH,66,-253.939,90.64037,-47.9633,0,0,1,0,100,0), -- 19:47:51 +(@PATH,67,-256.189,90.64037,-47.9633,0,0,1,0,100,0), -- 19:47:51 +(@PATH,68,-257.189,90.64037,-48.4633,0,0,1,0,100,0), -- 19:47:51 +(@PATH,69,-261.1644,90.57747,-48.46085,0,0,1,0,100,0), -- 19:47:53 +(@PATH,70,-278.2355,87.77667,-48.54754,0,0,1,0,100,0), -- 19:47:54 +(@PATH,71,-282.5812,77.72125,-48.55171,0,0,1,0,100,0), -- 19:47:56 +(@PATH,72,-282.8312,75.47125,-48.55171,0,0,1,0,100,0), -- 19:47:56 +(@PATH,73,-283.0587,72.90546,-48.55147,0,0,1,0,100,0), -- 19:47:57 +(@PATH,74,-280.5587,63.15546,-48.55147,0,0,1,0,100,0), -- 19:47:57 +(@PATH,75,-279.8492,62.23659,-48.55054,0,0,1,0,100,0); -- 19:47:58 +-- 0x1C16F408C00701C00059E900038B2760 .go -260.9756 61.2314 -48.54825 + +-- Pathing for Shrike Bat Entry: 4861 'TDB FORMAT' +SET @NPC := 30081; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-116.1971,`position_y`=317.7787,`position_z`=-46.08444 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,-116.1971,317.7787,-46.08444,0,0,0,0,100,0), -- 19:46:24 +(@PATH,2,-118.9047,317.3614,-45.29679,0,0,0,0,100,0), -- 19:46:29 +(@PATH,3,-126.8644,318.512,-44.13009,0,0,0,0,100,0), -- 19:46:31 +(@PATH,4,-131.6838,323.5452,-43.69198,0,0,0,0,100,0), -- 19:46:33 +(@PATH,5,-133.1838,326.0452,-43.94198,0,0,0,0,100,0), -- 19:46:33 +(@PATH,6,-134.4338,328.2952,-44.19198,0,0,0,0,100,0), -- 19:46:33 +(@PATH,7,-139.5984,330.833,-44.22396,0,0,0,0,100,0), -- 19:46:38 +(@PATH,8,-141.3152,330.4821,-44.35117,0,0,0,0,100,0), -- 19:46:41 +(@PATH,9,-145.4463,327.2668,-46.04215,0,0,0,0,100,0), -- 19:46:43 +(@PATH,10,-153.1682,320.1992,-48.49626,0,0,0,0,100,0), -- 19:46:46 +(@PATH,11,-157.6236,320.5594,-49.23671,0,0,0,0,100,0), -- 19:46:48 +(@PATH,12,-163.7113,322.522,-50.1132,0,0,0,0,100,0), -- 19:46:52 +(@PATH,13,-172.0462,323.2635,-51.23209,0,0,0,0,100,0), -- 19:46:54 +(@PATH,14,-173.7962,323.2635,-51.48209,0,0,0,0,100,0), -- 19:46:54 +(@PATH,15,-177.0651,319.9081,-52.49401,0,0,0,0,100,0), -- 19:46:58 +(@PATH,16,-179.3571,312.8132,-52.80653,0,0,0,0,100,0), -- 19:47:01 +(@PATH,17,-179.3571,311.8132,-52.80653,0,0,0,0,100,0), -- 19:47:01 +(@PATH,18,-181.0257,301.3842,-50.73584,0,0,0,0,100,0), -- 19:47:05 +(@PATH,19,-183.2724,293.4999,-48.85449,0,0,0,0,100,0), -- 19:47:09 +(@PATH,20,-183.7724,292.4999,-48.60449,0,0,0,0,100,0), -- 19:47:09 +(@PATH,21,-184.433,290.7685,-48.27169,0,0,0,0,100,0), -- 19:47:11 +(@PATH,22,-184.683,289.2685,-47.77169,0,0,0,0,100,0), -- 19:47:11 +(@PATH,23,-184.933,288.0185,-47.52169,0,0,0,0,100,0), -- 19:47:11 +(@PATH,24,-187.3712,282.3932,-47.8597,0,0,0,0,100,0), -- 19:47:14 +(@PATH,25,-187.4142,282.2362,-47.91491,0,0,0,0,100,0), -- 19:47:19 +(@PATH,26,-185.3188,287.8494,-47.45733,0,0,0,0,100,0), -- 19:47:21 +(@PATH,27,-185.0688,289.0994,-47.70733,0,0,0,0,100,0), -- 19:47:21 +(@PATH,28,-184.179,290.8317,-48.2381,0,0,0,0,100,0), -- 19:47:23 +(@PATH,29,-183.679,292.5817,-48.4881,0,0,0,0,100,0), -- 19:47:23 +(@PATH,30,-183.429,293.3317,-48.7381,0,0,0,0,100,0), -- 19:47:23 +(@PATH,31,-182.929,295.3317,-49.9881,0,0,0,0,100,0), -- 19:47:23 +(@PATH,32,-180.9205,303.2869,-51.47765,0,0,0,0,100,0), -- 19:47:27 +(@PATH,33,-179.3741,312.776,-52.76653,0,0,0,0,100,0), -- 19:47:31 +(@PATH,34,-179.1241,314.276,-52.76653,0,0,0,0,100,0), -- 19:47:31 +(@PATH,35,-177.1773,319.9679,-52.64116,0,0,0,0,100,0), -- 19:47:34 +(@PATH,36,-176.4273,322.2179,-52.14116,0,0,0,0,100,0), -- 19:47:34 +(@PATH,37,-173.9601,323.1776,-51.58164,0,0,0,0,100,0), -- 19:47:38 +(@PATH,38,-172.4601,323.4276,-51.58164,0,0,0,0,100,0), -- 19:47:38 +(@PATH,39,-167.9601,323.6776,-50.83164,0,0,0,0,100,0), -- 19:47:38 +(@PATH,40,-163.9189,322.6101,-50.14185,0,0,0,0,100,0), -- 19:47:41 +(@PATH,41,-162.9189,322.3601,-49.64185,0,0,0,0,100,0), -- 19:47:41 +(@PATH,42,-158.5166,320.7068,-49.43653,0,0,0,0,100,0), -- 19:47:44 +(@PATH,43,-149.9316,322.1074,-48.67955,0,0,0,0,100,0), -- 19:47:46 +(@PATH,44,-145.6857,327.386,-45.98837,0,0,0,0,100,0), -- 19:47:50 +(@PATH,45,-141.4396,330.4873,-44.44178,0,0,0,0,100,0), -- 19:47:52 +(@PATH,46,-139.9884,330.9608,-44.31651,0,0,0,0,100,0), -- 19:47:55 +(@PATH,47,-131.8122,323.8088,-43.84772,0,0,0,0,100,0), -- 19:47:57 +(@PATH,48,-129.3122,319.8088,-44.34772,0,0,0,0,100,0), -- 19:47:57 +(@PATH,49,-127.2311,318.8854,-44.18322,0,0,0,0,100,0), -- 19:48:01 +(@PATH,50,-123.7311,317.3854,-44.43322,0,0,0,0,100,0), -- 19:48:01 +(@PATH,51,-119.1036,317.5869,-45.31766,0,0,0,0,100,0); -- 19:48:03 +-- 0x1C16F408C004BF400059E900000B2760 .go -116.1971 317.7787 -46.08444 + +-- Pathing for Shrike Bat Entry: 4861 'TDB FORMAT' +SET @NPC := 33522; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-34.35824,`position_y`=349.1816,`position_z`=-44.71794 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,-34.35824,349.1816,-44.71794,0,0,0,0,100,0), -- 19:54:43 +(@PATH,2,-39.45177,352.6617,-46.25263,0,0,0,0,100,0), -- 19:54:48 +(@PATH,3,-41.51308,355.655,-46.53062,0,0,0,0,100,0), -- 19:54:52 +(@PATH,4,-43.01308,359.905,-47.28062,0,0,0,0,100,0), -- 19:54:52 +(@PATH,5,-44.79412,364.367,-48.26569,0,0,0,0,100,0), -- 19:54:55 +(@PATH,6,-45.79412,367.367,-48.51569,0,0,0,0,100,0), -- 19:54:55 +(@PATH,7,-48.12923,369.0743,-49.55631,0,0,0,0,100,0), -- 19:54:57 +(@PATH,8,-49.62923,369.5743,-49.80631,0,0,0,0,100,0), -- 19:54:57 +(@PATH,9,-58.34222,370.8102,-50.34889,0,0,0,0,100,0), -- 19:55:02 +(@PATH,10,-64.80667,367.5034,-50.34549,0,0,0,0,100,0), -- 19:55:05 +(@PATH,11,-71.09432,360.0078,-51.03568,0,0,0,0,100,0), -- 19:55:08 +(@PATH,12,-72.84432,359.0078,-51.28568,0,0,0,0,100,0), -- 19:55:08 +(@PATH,13,-77.36659,356.679,-50.97245,0,0,0,0,100,0), -- 19:55:12 +(@PATH,14,-79.61659,355.929,-50.72245,0,0,0,0,100,0), -- 19:55:12 +(@PATH,15,-83.36659,354.429,-50.97245,0,0,0,0,100,0), -- 19:55:12 +(@PATH,16,-85.8164,353.4018,-50.05049,0,0,0,0,100,0), -- 19:55:16 +(@PATH,17,-90.8164,351.9018,-49.30049,0,0,0,0,100,0), -- 19:55:16 +(@PATH,18,-99.78505,351.1479,-48.29544,0,0,0,0,100,0), -- 19:55:20 +(@PATH,19,-102.785,351.3979,-48.29544,0,0,0,0,100,0), -- 19:55:20 +(@PATH,20,-96.03415,350.9953,-48.6471,0,0,0,0,100,0), -- 19:55:27 +(@PATH,21,-86.49751,353.2874,-49.41515,0,0,0,0,100,0), -- 19:55:31 +(@PATH,22,-84.99751,353.7874,-50.41515,0,0,0,0,100,0), -- 19:55:31 +(@PATH,23,-84.28488,354.1664,-50.5457,0,0,0,0,100,0), -- 19:55:35 +(@PATH,24,-79.78488,355.6664,-50.5457,0,0,0,0,100,0), -- 19:55:35 +(@PATH,25,-77.28488,356.6664,-50.7957,0,0,0,0,100,0), -- 19:55:35 +(@PATH,26,-71.36815,359.9686,-51.01308,0,0,0,0,100,0), -- 19:55:40 +(@PATH,27,-68.36815,361.9686,-50.76308,0,0,0,0,100,0), -- 19:55:40 +(@PATH,28,-65.49499,366.807,-50.34712,0,0,0,0,100,0), -- 19:55:44 +(@PATH,29,-58.40037,370.9284,-50.30991,0,0,0,0,100,0), -- 19:55:46 +(@PATH,30,-57.15037,371.1784,-50.30991,0,0,0,0,100,0), -- 19:55:46 +(@PATH,31,-55.87487,371.4779,-50.10828,0,0,0,0,100,0), -- 19:55:50 +(@PATH,32,-50.62487,369.9779,-49.85828,0,0,0,0,100,0), -- 19:55:50 +(@PATH,33,-48.12487,369.4779,-49.60828,0,0,0,0,100,0), -- 19:55:50 +(@PATH,34,-45.93803,367.2723,-48.61888,0,0,0,0,100,0), -- 19:55:53 +(@PATH,35,-44.93803,364.7723,-48.36888,0,0,0,0,100,0), -- 19:55:53 +(@PATH,36,-43.17387,359.995,-47.31218,0,0,0,0,100,0), -- 19:55:56 +(@PATH,37,-41.67387,356.745,-46.56218,0,0,0,0,100,0), -- 19:55:56 +(@PATH,38,-35.86934,350.4595,-45.71741,0,0,0,0,100,0); -- 19:56:01 +-- 0x1C16F408C004BF400059E900000B2761 .go -34.35824 349.1816 -44.71794 + +-- Pathing for Shrike Bat Entry: 4861 'TDB FORMAT' +SET @NPC := 30085; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-142.7949,`position_y`=225.2512,`position_z`=-45.7625 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,-142.7949,225.2512,-45.7625,0,0,0,0,100,0), -- 19:46:47 +(@PATH,2,-136.7979,229.3257,-47.20895,0,0,0,0,100,0), -- 19:46:54 +(@PATH,3,-135.2979,230.3257,-47.45895,0,0,0,0,100,0), -- 19:46:54 +(@PATH,4,-133.7979,231.3257,-47.20895,0,0,0,0,100,0), -- 19:46:54 +(@PATH,5,-132.9678,231.759,-47.66918,0,0,0,0,100,0), -- 19:46:58 +(@PATH,6,-130.4678,233.759,-47.66918,0,0,0,0,100,0), -- 19:46:58 +(@PATH,7,-124.7075,239.272,-48.10035,0,0,0,0,100,0), -- 19:47:01 +(@PATH,8,-122.997,243.3047,-47.74892,0,0,0,0,100,0), -- 19:47:04 +(@PATH,9,-122.2632,250.6377,-48.21873,0,0,0,0,100,0), -- 19:47:06 +(@PATH,10,-122.0635,253.1956,-47.99726,0,0,0,0,100,0), -- 19:47:09 +(@PATH,11,-124.687,265.2274,-46.29008,0,0,0,0,100,0), -- 19:47:11 +(@PATH,12,-125.7654,267.4338,-45.58253,0,0,0,0,100,0), -- 19:47:15 +(@PATH,13,-126.7654,270.4338,-45.58253,0,0,0,0,100,0), -- 19:47:15 +(@PATH,14,-127.0154,271.6838,-45.58253,0,0,0,0,100,0), -- 19:47:15 +(@PATH,15,-128.2654,275.6838,-45.83253,0,0,0,0,100,0), -- 19:47:15 +(@PATH,16,-129.7654,280.1838,-45.58253,0,0,0,0,100,0), -- 19:47:15 +(@PATH,17,-132.0325,283.5439,-45.71447,0,0,0,0,100,0), -- 19:47:21 +(@PATH,18,-133.5325,285.2939,-45.96447,0,0,0,0,100,0), -- 19:47:21 +(@PATH,19,-134.5325,286.5439,-45.96447,0,0,0,0,100,0), -- 19:47:21 +(@PATH,20,-135.2825,287.5439,-45.71447,0,0,0,0,100,0), -- 19:47:21 +(@PATH,21,-136.0218,288.4235,-45.95388,0,0,0,0,100,0), -- 19:47:24 +(@PATH,22,-139.2718,292.4235,-45.95388,0,0,0,0,100,0), -- 19:47:24 +(@PATH,23,-140.0702,299.2286,-46.03945,0,0,0,0,100,0), -- 19:47:27 +(@PATH,24,-140.2864,299.1003,-45.87361,0,0,0,0,100,0), -- 19:47:32 +(@PATH,25,-139.1992,292.5916,-45.83009,0,0,0,0,100,0), -- 19:47:33 +(@PATH,26,-133.8004,285.6141,-45.93703,0,0,0,0,100,0), -- 19:47:37 +(@PATH,27,-132.0504,283.6141,-45.68703,0,0,0,0,100,0), -- 19:47:37 +(@PATH,28,-129.9505,280.1571,-45.59953,0,0,0,0,100,0), -- 19:47:39 +(@PATH,29,-128.7005,275.6571,-45.84953,0,0,0,0,100,0), -- 19:47:39 +(@PATH,30,-127.2005,271.6571,-45.59953,0,0,0,0,100,0), -- 19:47:39 +(@PATH,31,-126.7005,270.4071,-45.59953,0,0,0,0,100,0), -- 19:47:39 +(@PATH,32,-125.7005,267.4071,-45.59953,0,0,0,0,100,0), -- 19:47:39 +(@PATH,33,-123.5866,262.6984,-47.1854,0,0,0,0,100,0), -- 19:47:46 +(@PATH,34,-122.0696,253.5793,-48.02232,0,0,0,0,100,0), -- 19:47:50 +(@PATH,35,-122.1644,250.7279,-48.18776,0,0,0,0,100,0), -- 19:47:52 +(@PATH,36,-122.1644,248.4779,-48.18776,0,0,0,0,100,0), -- 19:47:52 +(@PATH,37,-122.9575,243.5141,-47.85612,0,0,0,0,100,0), -- 19:47:55 +(@PATH,38,-127.747,236.1646,-47.66065,0,0,0,0,100,0), -- 19:47:57 +(@PATH,39,-130.1325,234.0169,-47.69135,0,0,0,0,100,0), -- 19:48:00 +(@PATH,40,-136.8559,229.2036,-47.26409,0,0,0,0,100,0), -- 19:48:02 +(@PATH,41,-138.6059,227.9536,-46.76409,0,0,0,0,100,0); -- 19:48:02 +-- 0x1C16F408C004BF400059E900010B2760 .go -142.7949 225.2512 -45.7625 + +-- Pathing for Stone Steward Entry: 4860 'TDB FORMAT' +SET @NPC := 28365; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=157.359,`position_y`=278.6508,`position_z`=-26.48766 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,157.359,278.6508,-26.48766,0,0,0,0,100,0), -- 19:58:53 +(@PATH,2,158.1053,277.0509,-26.33149,0,0,0,0,100,0), -- 19:59:03 +(@PATH,3,159.3106,274.6482,-26.47079,0,0,0,0,100,0), -- 19:59:10 +(@PATH,4,161.3106,270.6482,-27.72079,0,0,0,0,100,0), -- 19:59:10 +(@PATH,5,162.0606,268.6482,-28.22079,0,0,0,0,100,0), -- 19:59:10 +(@PATH,6,162.5606,267.6482,-28.97079,0,0,0,0,100,0), -- 19:59:10 +(@PATH,7,169.1669,252.4363,-29.11036,0,0,0,0,100,0), -- 19:59:20 +(@PATH,8,170.2946,247.0149,-29.11045,0,0,0,0,100,0), -- 19:59:22 +(@PATH,9,141.0065,231.4473,-42.17465,0,0,0,0,100,0), -- 19:59:26 +(@PATH,10,135.2668,228.6892,-42.44057,0,0,0,0,100,0), -- 19:59:38 +(@PATH,11,126.2668,224.4392,-42.44057,0,0,0,0,100,0), -- 19:59:38 +(@PATH,12,125.0168,223.9392,-42.44057,0,0,0,0,100,0), -- 19:59:38 +(@PATH,13,117.7668,220.4392,-42.44057,0,0,0,0,100,0), -- 19:59:38 +(@PATH,14,115.0168,219.1892,-42.44057,0,0,0,0,100,0), -- 19:59:38 +(@PATH,15,112.5168,217.9392,-42.44057,0,0,0,0,100,0), -- 19:59:38 +(@PATH,16,111.5168,217.4392,-42.44057,0,0,0,0,100,0), -- 19:59:38 +(@PATH,17,110.6416,216.7866,-42.73357,0,0,0,0,100,0), -- 19:59:50 +(@PATH,18,91.14159,207.5366,-54.48357,0,0,0,0,100,0), -- 19:59:50 +(@PATH,19,89.71228,206.7954,-54.72824,0,0,0,0,100,0), -- 20:00:01 +(@PATH,20,81.51923,204.1784,-54.72749,0,0,0,0,100,0), -- 20:00:03 +(@PATH,21,70.45786,225.8585,-53.83768,0,0,0,0,100,0), -- 20:00:07 +(@PATH,22,67.45786,231.8585,-52.08768,0,0,0,0,100,0), -- 20:00:07 +(@PATH,23,66.45786,233.8585,-52.08768,0,0,0,0,100,0), -- 20:00:07 +(@PATH,24,65.99206,234.5262,-51.94806,0,0,0,0,100,0), -- 20:00:18 +(@PATH,25,57.07329,252.1399,-51.94805,0,0,0,0,100,0), -- 20:00:25 +(@PATH,26,56.98771,251.7677,-52.19805,0,0,0,0,100,0), -- 20:00:31 +(@PATH,27,57.20819,251.6948,-51.94805,0,0,0,0,100,0), -- 20:00:32 +(@PATH,28,70.53458,225.9198,-53.83727,0,0,0,0,100,0), -- 20:00:41 +(@PATH,29,71.03458,224.9198,-54.58727,0,0,0,0,100,0), -- 20:00:41 +(@PATH,30,78.36176,210.3076,-54.72746,0,0,0,0,100,0), -- 20:00:52 +(@PATH,31,81.43523,204.0119,-54.72772,0,0,0,0,100,0), -- 20:00:54 +(@PATH,32,91.10306,207.5477,-54.68492,0,0,0,0,100,0), -- 20:00:58 +(@PATH,33,115.051,219.2345,-42.26912,0,0,0,0,100,0), -- 20:01:09 +(@PATH,34,117.551,220.4845,-42.26912,0,0,0,0,100,0), -- 20:01:09 +(@PATH,35,124.801,223.7345,-42.26912,0,0,0,0,100,0), -- 20:01:09 +(@PATH,36,126.301,224.4845,-42.26912,0,0,0,0,100,0), -- 20:01:09 +(@PATH,37,135.301,228.7345,-42.26912,0,0,0,0,100,0), -- 20:01:09 +(@PATH,38,141.7687,232.0445,-42.17444,0,0,0,0,100,0), -- 20:01:21 +(@PATH,39,163.1443,242.3607,-29.2016,0,0,0,0,100,0), -- 20:01:33 +(@PATH,40,170.1688,247.0374,-29.11083,0,0,0,0,100,0), -- 20:01:37 +(@PATH,41,162.2002,268.689,-28.2213,0,0,0,0,100,0), -- 20:01:39 +(@PATH,42,161.2002,270.689,-27.7213,0,0,0,0,100,0), -- 20:01:39 +(@PATH,43,159.4502,274.689,-26.4713,0,0,0,0,100,0), -- 20:01:39 +(@PATH,44,158.2711,277.0461,-26.35968,0,0,0,0,100,0); -- 20:01:49 +-- 0x1C16F408C004BF000059E900020B2760 .go 157.359 278.6508 -26.48766 + +-- Pathing for Stone Steward Entry: 4860 'TDB FORMAT' +SET @NPC := 27473; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-15.69449,`position_y`=279.0179,`position_z`=-47.67377 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,-15.69449,279.0179,-47.67377,0,0,0,0,100,0), -- 19:46:43 +(@PATH,2,-20.67551,276.4372,-47.63821,0,0,0,0,100,0), -- 19:46:46 +(@PATH,3,-21.52459,276.0081,-47.67233,0,0,0,0,100,0), -- 19:46:47 +(@PATH,4,-24.52459,275.5081,-47.92233,0,0,0,0,100,0), -- 19:46:47 +(@PATH,5,-25.77459,275.0081,-47.92233,0,0,0,0,100,0), -- 19:46:47 +(@PATH,6,-34.79898,273.5978,-48.29856,0,0,0,0,100,0), -- 19:46:51 +(@PATH,7,-36.04898,273.5978,-48.29856,0,0,0,0,100,0), -- 19:46:51 +(@PATH,8,-38.79898,273.0978,-48.54856,0,0,0,0,100,0), -- 19:46:51 +(@PATH,9,-39.34219,272.8535,-48.79059,0,0,0,0,100,0), -- 19:46:56 +(@PATH,10,-41.08632,250.9034,-48.67182,0,0,0,0,100,0), -- 19:47:00 +(@PATH,11,-41.49896,245.6531,-48.172,0,0,0,0,100,0), -- 19:47:05 +(@PATH,12,-41.49896,242.6531,-48.172,0,0,0,0,100,0), -- 19:47:05 +(@PATH,13,-41.49896,241.4031,-48.172,0,0,0,0,100,0), -- 19:47:05 +(@PATH,14,-41.85809,240.7104,-48.07686,0,0,0,0,100,0), -- 19:47:08 +(@PATH,15,-53.59785,238.2883,-48.27911,0,0,0,0,100,0), -- 19:47:12 +(@PATH,16,-59.84785,238.2883,-48.02911,0,0,0,0,100,0), -- 19:47:12 +(@PATH,17,-62.09785,238.2883,-48.77911,0,0,0,0,100,0), -- 19:47:12 +(@PATH,18,-64.84785,238.2883,-49.27911,0,0,0,0,100,0), -- 19:47:12 +(@PATH,19,-59.91378,238.0276,-48.03023,0,0,0,0,100,0), -- 19:47:20 +(@PATH,20,-53.66378,238.0276,-48.28023,0,0,0,0,100,0), -- 19:47:20 +(@PATH,21,-52.16378,238.0276,-48.28023,0,0,0,0,100,0), -- 19:47:20 +(@PATH,22,-49.32967,238.2136,-48.07516,0,0,0,0,100,0), -- 19:47:25 +(@PATH,23,-41.65893,245.4057,-48.07581,0,0,0,0,100,0), -- 19:47:29 +(@PATH,24,-41.10932,250.7121,-48.67118,0,0,0,0,100,0), -- 19:47:33 +(@PATH,25,-40.51412,262.4556,-48.76871,0,0,0,0,100,0), -- 19:47:37 +(@PATH,26,-34.8937,273.3388,-48.22985,0,0,0,0,100,0), -- 19:47:42 +(@PATH,27,-32.8937,273.5888,-48.47985,0,0,0,0,100,0), -- 19:47:42 +(@PATH,28,-24.87062,275.2746,-47.7992,0,0,0,0,100,0), -- 19:47:46 +(@PATH,29,-22.12062,275.7746,-47.7992,0,0,0,0,100,0), -- 19:47:46 +(@PATH,30,-18.17185,277.6628,-47.70597,0,0,0,0,100,0); -- 19:47:50 +-- 0x1C16F408C004BF000059E900028B2760 .go -15.69449 279.0179 -47.67377 + +-- Pathing for Stone Steward Entry: 4860 'TDB FORMAT' +SET @NPC := 27472; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-90.22527,`position_y`=312.3529,`position_z`=-50.81741 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,-90.22527,312.3529,-50.81741,0,0,0,0,100,0), -- 19:46:26 +(@PATH,2,-89.75098,303.8569,-50.53365,0,0,0,0,100,0), -- 19:46:32 +(@PATH,3,-89.58408,299.2126,-49.18354,0,0,0,0,100,0), -- 19:46:37 +(@PATH,4,-89.58408,298.2126,-48.93354,0,0,0,0,100,0), -- 19:46:37 +(@PATH,5,-89.58408,293.9626,-47.43354,0,0,0,0,100,0), -- 19:46:37 +(@PATH,6,-89.33408,291.7126,-47.43354,0,0,0,0,100,0), -- 19:46:37 +(@PATH,7,-89.01637,285.0681,-47.38007,0,0,0,0,100,0), -- 19:46:43 +(@PATH,8,-89.01088,254.6502,-47.48074,0,0,0,0,100,0), -- 19:46:50 +(@PATH,9,-89.01088,251.4002,-47.48074,0,0,0,0,100,0), -- 19:46:50 +(@PATH,10,-88.93411,260.2717,-47.48082,0,0,0,0,100,0), -- 19:46:58 +(@PATH,11,-89.04137,285.1695,-47.38035,0,0,0,0,100,0), -- 19:47:03 +(@PATH,12,-89.46567,293.7497,-47.41035,0,0,0,0,100,0), -- 19:47:12 +(@PATH,13,-89.46567,298.2497,-48.91035,0,0,0,0,100,0), -- 19:47:12 +(@PATH,14,-89.46567,299.2497,-49.16035,0,0,0,0,100,0), -- 19:47:12 +(@PATH,15,-90.22608,307.6347,-50.82426,0,0,0,0,100,0); -- 19:47:18 +-- 0x1C16F408C004BF000059E900030B2760 .go -90.22527 312.3529 -50.81741 + +-- Pathing for Stone Steward Entry: 4860 'TDB FORMAT' +SET @NPC := 27471; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-107.2204,`position_y`=202.1764,`position_z`=-40.99639 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,-107.2204,202.1764,-40.99639,0,0,0,0,100,0), -- 19:50:58 +(@PATH,2,-106.9112,202.3231,-40.72182,0,0,0,0,100,0), -- 19:50:59 +(@PATH,3,-102.3103,204.8115,-39.65949,0,0,0,0,100,0), -- 19:51:00 +(@PATH,4,-97.74992,214.5336,-41.63697,0,0,0,0,100,0), -- 19:51:03 +(@PATH,5,-96.3933,219.4432,-43.16748,0,0,0,0,100,0), -- 19:51:06 +(@PATH,6,-93.05585,222.2282,-44.29628,0,0,0,0,100,0), -- 19:51:08 +(@PATH,7,-91.30585,222.4782,-45.79628,0,0,0,0,100,0), -- 19:51:08 +(@PATH,8,-89.56384,221.7615,-46.28793,0,0,0,0,100,0), -- 19:51:11 +(@PATH,9,-88.31384,220.2615,-46.03793,0,0,0,0,100,0), -- 19:51:11 +(@PATH,10,-84.37595,219.1314,-47.14322,0,0,0,0,100,0), -- 19:51:14 +(@PATH,11,-82.37595,219.8814,-48.39322,0,0,0,0,100,0), -- 19:51:14 +(@PATH,12,-79.37595,220.6314,-49.39322,0,0,0,0,100,0), -- 19:51:14 +(@PATH,13,-76.82669,224.0322,-49.37569,0,0,0,0,100,0), -- 19:51:17 +(@PATH,14,-75.57669,227.0322,-49.37569,0,0,0,0,100,0), -- 19:51:17 +(@PATH,15,-74.57669,229.2822,-49.37569,0,0,0,0,100,0), -- 19:51:17 +(@PATH,16,-71.33888,233.2636,-49.4961,0,0,0,0,100,0), -- 19:51:22 +(@PATH,17,-65.08888,237.0136,-49.4961,0,0,0,0,100,0), -- 19:51:22 +(@PATH,18,-62.24201,238.0235,-48.78309,0,0,0,0,100,0), -- 19:51:27 +(@PATH,19,-59.99201,238.2735,-48.03309,0,0,0,0,100,0), -- 19:51:27 +(@PATH,20,-53.99201,238.5235,-48.03309,0,0,0,0,100,0), -- 19:51:27 +(@PATH,21,-52.93201,238.7369,-48.07719,0,0,0,0,100,0), -- 19:51:32 +(@PATH,22,-43.56981,231.3157,-48.09142,0,0,0,0,100,0), -- 19:51:35 +(@PATH,23,-42.54251,216.3974,-48.08791,0,0,0,0,100,0), -- 19:51:40 +(@PATH,24,-42.79251,212.3974,-48.08791,0,0,0,0,100,0), -- 19:51:40 +(@PATH,25,-45.2256,206.4191,-48.07826,0,0,0,0,100,0), -- 19:51:46 +(@PATH,26,-45.29718,206.2893,-48.07718,0,0,0,0,100,0), -- 19:51:51 +(@PATH,27,-42.43665,216.1878,-48.09149,0,0,0,0,100,0), -- 19:51:54 +(@PATH,28,-42.18665,219.1878,-48.09149,0,0,0,0,100,0), -- 19:51:54 +(@PATH,29,-43.43148,231.2084,-48.08014,0,0,0,0,100,0), -- 19:51:58 +(@PATH,30,-52.35088,238.3348,-48.08712,0,0,0,0,100,0), -- 19:52:03 +(@PATH,31,-59.86867,238.2005,-48.0407,0,0,0,0,100,0), -- 19:52:08 +(@PATH,32,-62.11867,237.9505,-48.7907,0,0,0,0,100,0), -- 19:52:08 +(@PATH,33,-65.00171,237.1759,-49.39082,0,0,0,0,100,0), -- 19:52:12 +(@PATH,34,-71.50171,233.1759,-49.39082,0,0,0,0,100,0), -- 19:52:12 +(@PATH,35,-74.66057,229.2685,-49.48391,0,0,0,0,100,0), -- 19:52:17 +(@PATH,36,-75.16057,227.0185,-49.48391,0,0,0,0,100,0), -- 19:52:17 +(@PATH,37,-76.66057,224.0185,-49.48391,0,0,0,0,100,0), -- 19:52:17 +(@PATH,38,-77.41057,221.7685,-49.48391,0,0,0,0,100,0), -- 19:52:17 +(@PATH,39,-79.18384,220.6745,-49.24834,0,0,0,0,100,0), -- 19:52:22 +(@PATH,40,-82.18384,219.6745,-48.24834,0,0,0,0,100,0), -- 19:52:22 +(@PATH,41,-83.43384,219.4245,-47.49834,0,0,0,0,100,0), -- 19:52:22 +(@PATH,42,-89.23185,221.8512,-46.51452,0,0,0,0,100,0), -- 19:52:25 +(@PATH,43,-92.72166,222.22,-44.23815,0,0,0,0,100,0), -- 19:52:27 +(@PATH,44,-94.97166,221.72,-43.73815,0,0,0,0,100,0), -- 19:52:27 +(@PATH,45,-96.1684,219.4541,-43.43246,0,0,0,0,100,0), -- 19:52:30 +(@PATH,46,-98.76186,211.6802,-40.79076,0,0,0,0,100,0), -- 19:52:32 +(@PATH,47,-102.1261,204.7718,-39.52556,0,0,0,0,100,0), -- 19:52:36 +(@PATH,48,-103.2557,203.5211,-39.62801,0,0,0,0,100,0); -- 19:52:39 +-- 0x1C16F408C004BF000059E900038B2760 .go -107.2204 202.1764 -40.99639 + +-- Pathing for Stonevault Brawler Entry: 4855 'TDB FORMAT' +SET @NPC := 30106; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=9.185728,`position_y`=361.806,`position_z`=-42.52501 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,9.185728,361.806,-42.52501,0,0,0,0,100,0), -- 19:55:52 +(@PATH,2,10.68573,361.306,-42.77501,0,0,0,0,100,0), -- 19:55:52 +(@PATH,3,11.68573,361.056,-43.02501,0,0,0,0,100,0), -- 19:55:52 +(@PATH,4,14.93573,360.306,-43.27501,0,0,0,0,100,0), -- 19:55:52 +(@PATH,5,16.43573,360.056,-43.27501,0,0,0,0,100,0), -- 19:55:52 +(@PATH,6,17.27649,359.817,-43.0314,0,0,0,0,100,0), -- 19:55:56 +(@PATH,7,21.02649,359.317,-42.7814,0,0,0,0,100,0), -- 19:55:56 +(@PATH,8,22.77649,359.067,-42.5314,0,0,0,0,100,0), -- 19:55:56 +(@PATH,9,30.55592,356.7866,-42.15283,0,0,0,0,100,0), -- 19:56:01 +(@PATH,10,35.82129,353.2513,-42.55444,0,0,0,0,100,0), -- 19:56:03 +(@PATH,11,38.37708,347.7673,-42.24792,0,0,0,0,100,0), -- 19:56:05 +(@PATH,12,38.87708,346.7673,-41.99792,0,0,0,0,100,0), -- 19:56:05 +(@PATH,13,40.62708,342.7673,-42.24792,0,0,0,0,100,0), -- 19:56:05 +(@PATH,14,39.82348,338.4128,-42.98926,0,0,0,0,100,0), -- 19:56:09 +(@PATH,15,34.19891,331.8911,-42.67289,0,0,0,0,100,0), -- 19:56:13 +(@PATH,16,33.44891,331.1411,-42.17289,0,0,0,0,100,0), -- 19:56:13 +(@PATH,17,31.19891,329.6411,-41.92289,0,0,0,0,100,0), -- 19:56:13 +(@PATH,18,27.54275,327.8886,-40.85126,0,0,0,0,100,0), -- 19:56:18 +(@PATH,19,20.32842,326.7422,-39.95414,0,0,0,0,100,0), -- 19:56:19 +(@PATH,20,19.07842,326.4922,-39.95414,0,0,0,0,100,0), -- 19:56:19 +(@PATH,21,9.621592,325.83,-38.5783,0,0,0,0,100,0), -- 19:56:23 +(@PATH,22,7.871592,325.83,-38.3283,0,0,0,0,100,0), -- 19:56:23 +(@PATH,23,9.734783,325.8379,-38.52752,0,0,0,0,100,0), -- 19:56:27 +(@PATH,24,13.93066,326.2504,-38.2508,0,0,0,0,100,0), -- 19:56:31 +(@PATH,25,22.48125,319.4749,-39.35741,0,0,0,0,100,0), -- 19:56:32 +(@PATH,26,26.9873,314.6351,-39.25242,0,0,0,0,100,0), -- 19:56:37 +(@PATH,27,27.76221,314.1161,-39.14816,0,0,0,0,100,0), -- 19:56:38 +(@PATH,28,37.06132,309.7848,-38.86451,0,0,0,0,100,0), -- 19:56:41 +(@PATH,29,41.82753,309.0237,-39.42388,0,0,0,0,100,0), -- 19:56:43 +(@PATH,30,43.02345,310.306,-39.93136,0,0,0,0,100,0), -- 19:56:44 +(@PATH,31,43.73434,313.0781,-41.1359,0,0,0,0,100,0), -- 19:56:45 +(@PATH,32,43.48434,313.8281,-41.3859,0,0,0,0,100,0), -- 19:56:45 +(@PATH,33,42.98434,315.8281,-41.6359,0,0,0,0,100,0), -- 19:56:45 +(@PATH,34,42.48434,317.0781,-42.1359,0,0,0,0,100,0), -- 19:56:45 +(@PATH,35,42.1835,317.9608,-42.14388,0,0,0,0,100,0), -- 19:56:48 +(@PATH,36,40.1835,321.7108,-42.14388,0,0,0,0,100,0), -- 19:56:48 +(@PATH,37,36.3874,327.808,-42.69028,0,0,0,0,100,0), -- 19:56:52 +(@PATH,38,34.34555,331.4348,-42.79681,0,0,0,0,100,0), -- 19:56:54 +(@PATH,39,36.48765,335.1658,-43.15406,0,0,0,0,100,0), -- 19:56:55 +(@PATH,40,39.48765,338.1658,-43.15406,0,0,0,0,100,0), -- 19:56:55 +(@PATH,41,39.95882,338.9326,-42.81082,0,0,0,0,100,0), -- 19:56:59 +(@PATH,42,40.59457,346.0652,-41.82687,0,0,0,0,100,0), -- 19:57:01 +(@PATH,43,37.89469,351.2465,-42.51594,0,0,0,0,100,0), -- 19:57:02 +(@PATH,44,36.39469,353.2465,-42.51594,0,0,0,0,100,0), -- 19:57:02 +(@PATH,45,35.03273,354.4401,-42.57788,0,0,0,0,100,0), -- 19:57:06 +(@PATH,46,25.94484,356.5529,-42.75359,0,0,0,0,100,0), -- 19:57:09 +(@PATH,47,22.69484,357.5529,-43.00359,0,0,0,0,100,0), -- 19:57:09 +(@PATH,48,16.94927,359.168,-43.14427,0,0,0,0,100,0), -- 19:57:12 +(@PATH,49,11.69927,360.918,-42.89427,0,0,0,0,100,0), -- 19:57:12 +(@PATH,50,10.69927,361.168,-42.64427,0,0,0,0,100,0); -- 19:57:12 +-- 0x1C16F408C004BDC00059E900020B2760 .go 9.185728 361.806 -42.52501 + +-- Pathing for Ancient Stone Keeper Entry: 7206 'TDB FORMAT' +SET @NPC := 27553; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-38.42904,`position_y`=221.2527,`position_z`=-48.3663 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,-38.42904,221.2527,-48.3663,3.159046,40000,0,0,100,0), -- 20:00:31 +(@PATH,2,-46.91619,220.9454,-48.09736,0,0,0,0,100,0), -- 20:01:17 +(@PATH,3,-54.90334,220.6381,-48.32841,0,40000,0,0,100,0), -- 20:01:17 +(@PATH,4,-43.16619,221.1954,-48.09736,0,0,0,0,100,0); -- 20:02:18 +-- 0x1C16F408C00709800059E900000B2760 .go -38.42904 221.2527 -48.3663 + +-- Add animation +DELETE FROM `creature_addon` WHERE `guid` IN (29384, 29488, 29574, 29573, 28536, 28539, 28538, 28537, 28798); +INSERT INTO `creature_addon` (`guid`, `bytes2`, `emote`, `auras`) VALUES +(29384, 4097, 233, NULL), +(29488, 4097, 233, NULL), +(29574, 4097, 233, NULL), +(29573, 4097, 233, NULL), +(28536, 4097, 233, NULL), +(28539, 4097, 233, NULL), +(28538, 4097, 233, NULL), +(28537, 4097, 233, NULL), +(28798, 4097, 233, NULL), +(28544, 4097, 233, NULL), +(28541, 4097, 233, NULL), +(28542, 4097, 233, NULL), +(28543, 4097, 233, NULL); + +-- Remove too many spawns +DELETE FROM `creature` WHERE `guid` IN (33523, 33512, 28800, 28799, 28798, 28797, 28796, 28786); From 25b25b5da4db4cf99c85ebe4e799784f8d151bdb Mon Sep 17 00:00:00 2001 From: MitchesD Date: Thu, 26 Mar 2015 15:09:54 +0100 Subject: [PATCH 43/54] Rename 2015_02_15_14149.sql to 2015_03_26_01_world.sql --- .../world/{2015_02_15_14149.sql => 2015_03_26_01_world.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sql/updates/world/{2015_02_15_14149.sql => 2015_03_26_01_world.sql} (100%) diff --git a/sql/updates/world/2015_02_15_14149.sql b/sql/updates/world/2015_03_26_01_world.sql similarity index 100% rename from sql/updates/world/2015_02_15_14149.sql rename to sql/updates/world/2015_03_26_01_world.sql From 95f3717151d8a5ee924e2b9ca5c673cffb4c7984 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Thu, 26 Mar 2015 20:55:51 +0000 Subject: [PATCH 44/54] DB/Misc: Quest end scripts Script quest complete scripts for: - * Kael'thas and the Verdant Sphere * The Fall of Magtheridon (Horde and Alliance) --- sql/updates/world/2015_03_26_02_world.sql | 48 +++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 sql/updates/world/2015_03_26_02_world.sql diff --git a/sql/updates/world/2015_03_26_02_world.sql b/sql/updates/world/2015_03_26_02_world.sql new file mode 100644 index 00000000000..4ae68387d8e --- /dev/null +++ b/sql/updates/world/2015_03_26_02_world.sql @@ -0,0 +1,48 @@ + +DELETE FROM `creature_text` WHERE `entry`=16819 AND `groupid` IN(1,2); +DELETE FROM `creature_text` WHERE `entry`IN(3230,18481,23054); + +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(3230, 0, 0, 'Hellfire Citadel is ours! The source of Illidan\'s fel orc army is no more! Magtheridon has fallen to the might of $n and $g his:her; allies!', 14, 1, 100, 22, 0, 0, 20765, 2, 'Nazgrel to Player'), +(3230, 1, 0, 'The time for us to rise and strike at the fel orcs that remain is now! Do this for your Warchief! Do this for the Horde!', 14, 1, 100, 22, 0, 0, 20766, 2, 'Nazgrel to Player'), +(18481, 0, 0, 'Silence descends upon Shattrath.', 16, 0, 100, 0, 0, 0, 20776, 2, 'A\'dal to Player'), +(18481, 1, 0, '%s\'s thoughts invade your mind.', 16, 0, 100, 0, 0, 0, 20777, 2, 'A\'dal to Player'), +(18481, 2, 0, 'Kael\'thas Sunstrider has been defeated by $n and $g his:her; allies.', 16, 0, 100, 0, 0, 0, 20778, 2, 'A\'dal to Player'), +(18481, 3, 0, 'The time to strike at the remaining blood elves of Tempest Keep is now. Take arms and let A\'dal\'s song of battle empower you!', 16, 0, 100, 0, 0, 0, 20779, 2, 'A\'dal to Player'), +(23054, 0, 0, 'Your monkeys failed to finish the job, naaru. Beaten but alive... The same mistake was not made when we took command of your vessel.', 14, 0, 100, 1, 0, 0, 20792, 0, 'Kael\'thas Sunstrider to Player'), +(23054, 1, 0, 'All for what? Trinkets? You are too late. The preparations have already begun. Soon the master will make his return.', 14, 0, 100, 274, 0, 0, 20793, 0, 'Kael\'thas Sunstrider to Player'), +(23054, 2, 0, 'And there is nothing you or that fool, Illidan, can do to stop me! You have both served me in your own right - unwittingly.', 14, 0, 100, 1, 0, 0, 20794, 0, 'Kael\'thas Sunstrider to Player'), +(23054, 3, 0, 'Lay down your arms and succumb to the might of Kil\'jaeden!', 14, 0, 100, 14, 0, 0, 20796, 0, 'Kael\'thas Sunstrider to Player'), +(16819, 1, 0, 'The feast of corruption is no more! Magtheridon has fallen to the battle prowess of $n and $g his:her; allies! Witness the might of the Alliance! A pit lord commander is destroyed!', 14, 7, 100, 22, 0, 0, 20754, 2, 'Force Commander Danath Trollbane to Player'), +(16819, 2, 0, 'Hear me brothers and sisters-in-arms! The time of our enemies is at an end! We must strike at the fel orcs that remain! Exterminate them like the vermin that they are! Carry with you the favor of the Sons of Lothar!', 14, 7, 100, 22, 0, 0, 20754, 2, 'Force Commander Danath Trollbane to Player'); + +UPDATE `creature_template` SET `unit_flags`=768, `InhabitType`=4 WHERE `entry`=23054; + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN(3230,23054); + +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(3230,23054) AND `source_type`=0; + +DELETE FROM `smart_scripts` WHERE `entryorguid` =1848100 AND `source_type`=9; + +DELETE FROM `smart_scripts` WHERE `entryorguid` =16819 AND `source_type`=0 AND `id`>1; +DELETE FROM `smart_scripts` WHERE `entryorguid` =18481 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 +(3230, 0, 0, 1, 20, 0, 100, 0, 11003, 0, 0, 0, 5, 15, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Nazgrel - On Quest Reward 11003 - Play emote OneShotRoar (15)'), +(3230, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 1, 0, 7000, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Nazgrel - On Quest Reward 11003 - Say Line 0'), +(3230, 0, 2, 0, 52, 0, 100, 0, 0, 3230, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Nazgrel - On Text Over Line 0 - Say Line 1'), +(16819, 0, 2, 0, 20, 0, 100, 0, 11002, 0, 0, 0, 1, 1, 7000, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Force Commander Danath Trollbane - On Quest Reward 11002 - Say Line 1'), +(16819, 0, 3, 0, 52, 0, 100, 0, 1, 16819, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Force Commander Danath Trollbane - On Text Over Line 1 - Say Line 2'), +(23054, 0, 0, 0, 54, 0, 100, 0, 0, 0, 0, 0, 11, 39966, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Kael''thas Sunstrider - On On Just Summoned - Cast Kael thas Defeated'), +(18481, 0, 3, 4, 20, 0, 100, 0, 11007, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'A Dal - On Quest Reward 11007 - Store Targetlist'), +(18481, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 1848100, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'A Dal - On Quest Reward 11007 - Run Script'), +(1848100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 0'), -- 13:50:41.485 +(1848100, 9, 1, 0, 0, 0, 100, 0, 4500, 4500, 0, 0, 1, 1, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 1'), -- 13:50:45.907 +(1848100, 9, 2, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 2'), -- 13:50:49.532 +(1848100, 9, 3, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 3'), -- 13:50:54.407 +(1848100, 9, 4, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 12, 23054, 1, 50000, 0, 0, 0, 8, 0, 0, 0, -1884.322, 5420.598, -8.42119, 0.4886922, 'A Dal - Script - Summon Kael''thas Sunstrider'), -- 13:50:55.625 +(1848100, 9, 5, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 50, 185170, 300, 0, 0, 0, 0, 8, 0, 0, 0, -1891.344, 5417.036, -5.539243, 0.9781476, 'A Dal - Script - The Mark of Kael''Thas'), -- 13:50:59.922 +(1848100, 9, 6, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 23054, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 0 on Kael''thas Sunstrider'), -- 13:51:00.422 +(1848100, 9, 7, 0, 0, 0, 100, 0, 11000, 11000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 23054, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 1 on Kael''thas Sunstrider'), -- 13:51:11.360 +(1848100, 9, 8, 0, 0, 0, 100, 0, 11000, 11000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, 23054, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 2 on Kael''thas Sunstrider'), -- 13:51:22.297 +(1848100, 9, 9, 0, 0, 0, 100, 0, 11000, 11000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, 23054, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 2 on Kael''thas Sunstrider'); -- 13:51:33.219 From aa255a6cb1d37286eb129001dc21542f7d879568 Mon Sep 17 00:00:00 2001 From: Dr-J Date: Thu, 26 Mar 2015 21:58:21 +0000 Subject: [PATCH 45/54] DB/Misc: Slight update to commit This does not make any difference but fixes a error with a bad delete statement when trying to re-apply. --- sql/updates/world/2015_03_23_08_world.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/updates/world/2015_03_23_08_world.sql b/sql/updates/world/2015_03_23_08_world.sql index 7eec8650632..c7837c47d9d 100644 --- a/sql/updates/world/2015_03_23_08_world.sql +++ b/sql/updates/world/2015_03_23_08_world.sql @@ -8,7 +8,7 @@ INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` =21411; DELETE FROM `smart_scripts` WHERE `entryorguid` =21411 AND `source_type`=0; -DELETE FROM `smart_scripts` WHERE `entryorguid` =2141100 AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` =2141100 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 (21411, 0, 0, 1, 19, 0, 100, 0, 10550, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - On Quest 10550 taken - Store Targetlist'), From 62a5ee8e2cceb625ea24145a3d1fad98674a7442 Mon Sep 17 00:00:00 2001 From: Naios Date: Fri, 27 Mar 2015 15:34:13 +0100 Subject: [PATCH 46/54] Core/Database: Prepare statements at reconnect. * Closes #14430 (cherry picked from commit 39bdd06446dc8ae6f19e017e4390bd2aa7834d03) --- src/server/shared/Database/MySQLConnection.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/server/shared/Database/MySQLConnection.cpp b/src/server/shared/Database/MySQLConnection.cpp index 1fa3f01a5e1..bea0b934eb9 100644 --- a/src/server/shared/Database/MySQLConnection.cpp +++ b/src/server/shared/Database/MySQLConnection.cpp @@ -137,7 +137,9 @@ uint32 MySQLConnection::Open() // set connection properties to UTF8 to properly handle locales for different // server configs - core sends data in UTF8, so MySQL must expect UTF8 too mysql_set_character_set(m_Mysql, "utf8"); - return 0; + + // Prepare statements only at reconnect + return m_reconnecting ? static_cast(PrepareStatements()) : 0; } else { From 058457dda9227f50c2ea8ab66769694602aa797a Mon Sep 17 00:00:00 2001 From: click Date: Fri, 27 Mar 2015 21:38:23 +0100 Subject: [PATCH 47/54] Core/Script: Fix non-PCH build --- .../scripts/Kalimdor/zone_bloodmyst_isle.cpp | 55 ++++++++++--------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp index 0e436bd1b3c..3ea7cf0155c 100644 --- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp @@ -27,12 +27,13 @@ EndScriptData */ npc_webbed_creature EndContentData */ +#include "Player.h" #include "Group.h" -#include "ScriptedEscortAI.h" +#include "GridNotifiers.h" #include "ScriptMgr.h" #include "ScriptedCreature.h" +#include "ScriptedEscortAI.h" #include "PassiveAI.h" -#include "Player.h" /*###### ## npc_webbed_creature @@ -96,29 +97,29 @@ public: enum EndingTheirWorldMisc { - SAY_SIRONAS_1 = 0, + SAY_SIRONAS_1 = 0, - SAY_LEGOSO_1 = 0, - SAY_LEGOSO_2 = 1, - SAY_LEGOSO_3 = 2, - SAY_LEGOSO_4 = 3, + SAY_LEGOSO_1 = 0, + SAY_LEGOSO_2 = 1, + SAY_LEGOSO_3 = 2, + SAY_LEGOSO_4 = 3, SAY_LEGOSO_5 = 4, - SAY_LEGOSO_6 = 5, - SAY_LEGOSO_7 = 6, - SAY_LEGOSO_8 = 7, - SAY_LEGOSO_9 = 8, - SAY_LEGOSO_10 = 9, + SAY_LEGOSO_6 = 5, + SAY_LEGOSO_7 = 6, + SAY_LEGOSO_8 = 7, + SAY_LEGOSO_9 = 8, + SAY_LEGOSO_10 = 9, SAY_LEGOSO_11 = 10, - SAY_LEGOSO_12 = 11, - SAY_LEGOSO_13 = 12, + SAY_LEGOSO_12 = 11, + SAY_LEGOSO_13 = 12, SAY_LEGOSO_14 = 13, - SAY_LEGOSO_15 = 14, - SAY_LEGOSO_16 = 15, - SAY_LEGOSO_17 = 16, - SAY_LEGOSO_18 = 17, - SAY_LEGOSO_19 = 18, - SAY_LEGOSO_20 = 19, - SAY_LEGOSO_21 = 20, + SAY_LEGOSO_15 = 14, + SAY_LEGOSO_16 = 15, + SAY_LEGOSO_17 = 16, + SAY_LEGOSO_18 = 17, + SAY_LEGOSO_19 = 18, + SAY_LEGOSO_20 = 19, + SAY_LEGOSO_21 = 20, SPELL_BLOODMYST_TESLA = 31611, SPELL_SIRONAS_CHANNELING = 31612, @@ -128,7 +129,7 @@ enum EndingTheirWorldMisc SPELL_CURSE_OF_BLOOD = 8282, SPELL_FROST_SHOCK = 8056, - SPELL_HEALING_SURGE = 8004, + SPELL_HEALING_SURGE = 8004, SPELL_SEARING_TOTEM = 38116, SPELL_STRENGTH_OF_EARTH_TOTEM = 31633, @@ -321,7 +322,7 @@ public: _beamGuidList.push_back((*itr)->GetGUID()); (*itr)->CastSpell(*itr, SPELL_BLOODMYST_TESLA); } - break; + break; } case ACTION_SIRONAS_CHANNEL_STOP: { @@ -628,7 +629,7 @@ public: case PHASE_PLANT_SECOND_DETONATE: // second explosives detonate finish for (GuidList::iterator itr = _explosivesGuids.begin(); itr != _explosivesGuids.end(); ++itr) { - if (GameObject* explosive = sObjectAccessor->GetGameObject(*me, *itr)) + if (GameObject* explosive = sObjectAccessor->GetGameObject(*me, *itr)) me->RemoveGameObject(explosive, true); } _explosivesGuids.clear(); @@ -661,7 +662,7 @@ public: break; case PHASE_FIGHT_SIRONAS_START: // legoso exclamation at aggro if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS)) - { + { Unit* target = GetPlayerForEscort(); if (!target) target = me; @@ -734,9 +735,9 @@ public: _moveTimer = 1 * IN_MILLISECONDS; _phase = PHASE_PLANT_FIRST_TIMER_1; break; - case WP_DEBUG_1: + case WP_DEBUG_1: SetEscortPaused(true); - _moveTimer = 0.5 * IN_MILLISECONDS; + _moveTimer = 0.5 * IN_MILLISECONDS; _phase = PHASE_WP_26; break; case WP_SIRONAS_HILL: From 46f0d4c5a57108533934ee4edeab98d90a3cf076 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Sat, 28 Mar 2015 09:19:23 +0100 Subject: [PATCH 48/54] DB/Misc: Fix startup errors By Killyana, updates #13707 --- sql/updates/world/2015_03_28_00_world.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2015_03_28_00_world.sql diff --git a/sql/updates/world/2015_03_28_00_world.sql b/sql/updates/world/2015_03_28_00_world.sql new file mode 100644 index 00000000000..af58d0ecf83 --- /dev/null +++ b/sql/updates/world/2015_03_28_00_world.sql @@ -0,0 +1,2 @@ +-- +DELETE FROM `creature_addon` WHERE `guid` IN (28786, 28800, 28798); From 90b1e7d621960aea0becd8ac2c5299c02f03f3cf Mon Sep 17 00:00:00 2001 From: Aokromes Date: Sat, 28 Mar 2015 12:41:44 +0100 Subject: [PATCH 49/54] DB/Creature: Fixing a minor error on Elrodan and Aurosalia event By Killyana, closes #14465 --- sql/updates/world/2015_03_28_01_world.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 sql/updates/world/2015_03_28_01_world.sql diff --git a/sql/updates/world/2015_03_28_01_world.sql b/sql/updates/world/2015_03_28_01_world.sql new file mode 100644 index 00000000000..e1d6e6d63dc --- /dev/null +++ b/sql/updates/world/2015_03_28_01_world.sql @@ -0,0 +1,7 @@ +-- +DELETE FROM `creature_text` WHERE `entry`=18744 AND `id`=2; +UPDATE `smart_scripts` SET `action_type`= 87, `action_param2`= 1874301 WHERE `entryorguid`=18743 AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE (`entryorguid`=1874301 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 +(1874301,9,0,0,0,0,100,0,0,0,0,0,5,274,0,0,0,0,0,11,18744,20,0,0,0,0,0,'Elrodan - Script - Aurosalia Play emote'), +(1874301,9,1,0,0,0,100,0,3000,3000,3000,3000,11,32826,0,0,0,0,0,1,0,0,0,0,0,0,0,'Elrodan - Script - cast Polymorph Cast Visual'); From 11e1f4af6046cf3c8729cf31e24c605650b71d06 Mon Sep 17 00:00:00 2001 From: Naios Date: Sat, 28 Mar 2015 16:03:41 +0100 Subject: [PATCH 50/54] Core/Database Improve commit 39bdd06446dc * found a better way where no cast is needed. * ref #14430 (cherry picked from commit 54ee5267244acac16e4b56342e64c0235ee0599b) --- src/server/shared/Database/MySQLConnection.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/shared/Database/MySQLConnection.cpp b/src/server/shared/Database/MySQLConnection.cpp index bea0b934eb9..5a98757abb5 100644 --- a/src/server/shared/Database/MySQLConnection.cpp +++ b/src/server/shared/Database/MySQLConnection.cpp @@ -137,9 +137,7 @@ uint32 MySQLConnection::Open() // set connection properties to UTF8 to properly handle locales for different // server configs - core sends data in UTF8, so MySQL must expect UTF8 too mysql_set_character_set(m_Mysql, "utf8"); - - // Prepare statements only at reconnect - return m_reconnecting ? static_cast(PrepareStatements()) : 0; + return 0; } else { @@ -493,7 +491,9 @@ bool MySQLConnection::_HandleMySQLErrno(uint32 errNo) m_reconnecting = true; uint64 oldThreadId = mysql_thread_id(GetHandle()); mysql_close(GetHandle()); - if (this->Open()) // Don't remove 'this' pointer unless you want to skip loading all prepared statements.... + + // Don't remove 'this' pointer unless you want to skip loading all prepared statements.... + if (this->Open() && this->PrepareStatements()) { TC_LOG_INFO("sql.sql", "Connection to the MySQL server is active."); if (oldThreadId != mysql_thread_id(GetHandle())) From 71c0d4f7926e83a9eacc580e727169ce04e74eb5 Mon Sep 17 00:00:00 2001 From: Naios Date: Sat, 28 Mar 2015 17:29:43 +0100 Subject: [PATCH 51/54] Core/Log: Fix linker errors that occur on msvc 12 lower then update 4 * http://stackoverflow.com/questions/4891067/weird-undefined-symbols-of-static-constants-inside-a-struct-class * http://www-01.ibm.com/support/knowledgecenter/SSGH3R_8.0.0/com.ibm.xlcpp8a.doc/language/ref/cplr038.htm%23cplr038 * closes #14463 * ref #14317 (cherry picked from commit 9b0b1185e4f9eb48cd16237f7622204687b9c01a) Conflicts: src/server/game/Server/WorldSocketMgr.cpp --- src/server/game/Globals/ObjectMgr.cpp | 2 -- src/server/game/Reputation/ReputationMgr.cpp | 3 +++ src/server/game/Reputation/ReputationMgr.h | 4 ++-- src/server/game/Server/WorldSocketMgr.cpp | 5 ++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 1db9183fbe4..f74201fee60 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -3893,8 +3893,6 @@ void ObjectMgr::BuildPlayerLevelInfo(uint8 race, uint8 _class, uint8 level, Play } } -int32 const ReputationMgr::Reputation_Cap; - void ObjectMgr::LoadQuests() { uint32 oldMSTime = getMSTime(); diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp index b99cb677ba0..a3e458503d6 100644 --- a/src/server/game/Reputation/ReputationMgr.cpp +++ b/src/server/game/Reputation/ReputationMgr.cpp @@ -28,6 +28,9 @@ const int32 ReputationMgr::PointsInRank[MAX_REPUTATION_RANK] = {36000, 3000, 3000, 3000, 6000, 12000, 21000, 1000}; +const int32 ReputationMgr::Reputation_Cap = 42999; +const int32 ReputationMgr::Reputation_Bottom = -42000; + ReputationRank ReputationMgr::ReputationToRank(int32 standing) { int32 limit = Reputation_Cap + 1; diff --git a/src/server/game/Reputation/ReputationMgr.h b/src/server/game/Reputation/ReputationMgr.h index c3a8d4f477c..7d7650b858e 100644 --- a/src/server/game/Reputation/ReputationMgr.h +++ b/src/server/game/Reputation/ReputationMgr.h @@ -72,8 +72,8 @@ class ReputationMgr void LoadFromDB(PreparedQueryResult result); public: // statics static const int32 PointsInRank[MAX_REPUTATION_RANK]; - static const int32 Reputation_Cap = 42999; - static const int32 Reputation_Bottom = -42000; + static const int32 Reputation_Cap; + static const int32 Reputation_Bottom; static ReputationRank ReputationToRank(int32 standing); public: // accessors diff --git a/src/server/game/Server/WorldSocketMgr.cpp b/src/server/game/Server/WorldSocketMgr.cpp index e83d39cb922..86c09ef6b6b 100644 --- a/src/server/game/Server/WorldSocketMgr.cpp +++ b/src/server/game/Server/WorldSocketMgr.cpp @@ -46,13 +46,12 @@ WorldSocketMgr::WorldSocketMgr() : BaseSocketMgr(), _socketSendBufferSize(-1), m { } -int const boost::asio::socket_base::max_connections; - bool WorldSocketMgr::StartNetwork(boost::asio::io_service& service, std::string const& bindIp, uint16 port) { _tcpNoDelay = sConfigMgr->GetBoolDefault("Network.TcpNodelay", true); - TC_LOG_DEBUG("misc", "Max allowed socket connections %d", boost::asio::socket_base::max_connections); + int const max_connections = boost::asio::socket_base::max_connections; + TC_LOG_DEBUG("misc", "Max allowed socket connections %d", max_connections); // -1 means use default _socketSendBufferSize = sConfigMgr->GetIntDefault("Network.OutKBuff", -1); From 832234c47b90ad43b15451fcc0823822e2cebe57 Mon Sep 17 00:00:00 2001 From: Naios Date: Sat, 28 Mar 2015 17:11:30 +0100 Subject: [PATCH 52/54] Core/Log: Improve creation of log prefixes. * this also fixes non whitespace seperated timestamps in logs after 95ebe4f31cba6b4772cfd19 @Aokromes * remove an unnecessary stringstream in Log::outCommand * delete copy constructor of LogMessage to prevent unwanted copies (cherry picked from commit a2e280c8a8478bbe0652c1850b1a435abba79f93) --- src/server/shared/Logging/Appender.cpp | 19 +++---------------- src/server/shared/Logging/Appender.h | 3 +++ src/server/shared/Logging/Log.h | 4 +--- 3 files changed, 7 insertions(+), 19 deletions(-) diff --git a/src/server/shared/Logging/Appender.cpp b/src/server/shared/Logging/Appender.cpp index ca40a857419..ba23d879ec2 100644 --- a/src/server/shared/Logging/Appender.cpp +++ b/src/server/shared/Logging/Appender.cpp @@ -80,26 +80,13 @@ void Appender::write(LogMessage* message) std::ostringstream ss; if (flags & APPENDER_FLAGS_PREFIX_TIMESTAMP) - ss << message->getTimeStr(); + ss << message->getTimeStr() << ' '; if (flags & APPENDER_FLAGS_PREFIX_LOGLEVEL) - { - if (ss.rdbuf()->in_avail() == 0) - ss << ' '; - - ss << Trinity::StringFormat("%-5s", Appender::getLogLevelString(message->level)); - } + ss << Trinity::StringFormat("%-5s ", Appender::getLogLevelString(message->level)); if (flags & APPENDER_FLAGS_PREFIX_LOGFILTERTYPE) - { - if (ss.rdbuf()->in_avail() == 0) - ss << ' '; - - ss << '[' << message->type << ']'; - } - - if (ss.rdbuf()->in_avail() == 0) - ss << ' '; + ss << '[' << message->type << "] "; message->prefix = std::move(ss.str()); _write(message); diff --git a/src/server/shared/Logging/Appender.h b/src/server/shared/Logging/Appender.h index 38c45b3bcf1..73af351e41d 100644 --- a/src/server/shared/Logging/Appender.h +++ b/src/server/shared/Logging/Appender.h @@ -62,6 +62,9 @@ struct LogMessage : level(_level), type(_type), text(std::forward(_text)), mtime(time(NULL)) { } + LogMessage(LogMessage const& /*other*/) = delete; + LogMessage& operator=(LogMessage const& /*other*/) = delete; + static std::string getTimeStr(time_t time); std::string getTimeStr(); diff --git a/src/server/shared/Logging/Log.h b/src/server/shared/Logging/Log.h index 20d83d2dcf0..d4653960b15 100644 --- a/src/server/shared/Logging/Log.h +++ b/src/server/shared/Logging/Log.h @@ -75,9 +75,7 @@ class Log std::unique_ptr msg(new LogMessage(LOG_LEVEL_INFO, "commands.gm", std::move(Trinity::StringFormat(fmt, args...)))); - std::ostringstream ss; - ss << account; - msg->param1 = ss.str(); + msg->param1 = std::to_string(account); write(std::move(msg)); } From 64868272043fa49f1de73a640efe1e3e3d31768b Mon Sep 17 00:00:00 2001 From: Naios Date: Sun, 29 Mar 2015 14:25:10 +0200 Subject: [PATCH 53/54] Core/Database: Fix a mistake in 54ee5267244acac16 * Also use proper errno instead of 0 when reconnecting. * Thanks @et65 for reporting * ref #14139 (cherry picked from commit 47410157b1d1e51062732696ad5f457a69019ef4) --- src/server/shared/Database/MySQLConnection.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/server/shared/Database/MySQLConnection.cpp b/src/server/shared/Database/MySQLConnection.cpp index 5a98757abb5..27de5ffc85e 100644 --- a/src/server/shared/Database/MySQLConnection.cpp +++ b/src/server/shared/Database/MySQLConnection.cpp @@ -492,9 +492,17 @@ bool MySQLConnection::_HandleMySQLErrno(uint32 errNo) uint64 oldThreadId = mysql_thread_id(GetHandle()); mysql_close(GetHandle()); - // Don't remove 'this' pointer unless you want to skip loading all prepared statements.... - if (this->Open() && this->PrepareStatements()) + uint32 const lErrno = Open(); + if (!lErrno) { + // Don't remove 'this' pointer unless you want to skip loading all prepared statements... + if (!this->PrepareStatements()) + { + TC_LOG_ERROR("sql.sql", "Could not re-prepare statements!"); + Close(); + return false; + } + TC_LOG_INFO("sql.sql", "Connection to the MySQL server is active."); if (oldThreadId != mysql_thread_id(GetHandle())) TC_LOG_INFO("sql.sql", "Successfully reconnected to %s @%s:%s (%s).", @@ -505,7 +513,7 @@ bool MySQLConnection::_HandleMySQLErrno(uint32 errNo) return true; } - uint32 lErrno = mysql_errno(GetHandle()); // It's possible this attempted reconnect throws 2006 at us. To prevent crazy recursive calls, sleep here. + // It's possible this attempted reconnect throws 2006 at us. To prevent crazy recursive calls, sleep here. std::this_thread::sleep_for(std::chrono::seconds(3)); // Sleep 3 seconds return _HandleMySQLErrno(lErrno); // Call self (recursive) } From c61fac843b86f584f913dd21c256a626668df756 Mon Sep 17 00:00:00 2001 From: Naios Date: Sun, 29 Mar 2015 15:03:32 +0200 Subject: [PATCH 54/54] Core/Database: Return an unknown error code instead of false (0) if mysql_init failed. * Thanks @et65 for noticing. * ref #14139 (cherry picked from commit 83bbe00785a7ee7c8141d83bfe94a1415466c64d) --- src/server/shared/Database/MySQLConnection.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/shared/Database/MySQLConnection.cpp b/src/server/shared/Database/MySQLConnection.cpp index 27de5ffc85e..a16559a55dc 100644 --- a/src/server/shared/Database/MySQLConnection.cpp +++ b/src/server/shared/Database/MySQLConnection.cpp @@ -79,7 +79,7 @@ uint32 MySQLConnection::Open() if (!mysqlInit) { TC_LOG_ERROR("sql.sql", "Could not initialize Mysql connection to database `%s`", m_connectionInfo.database.c_str()); - return false; + return CR_UNKNOWN_ERROR; } int port;