fix(Core/Script): target-aware MOVE_FORWARD, spawn A Plague Upon Thee termites (#26725)

This commit is contained in:
Gultask
2026-09-06 17:12:01 +02:00
committed by GitHub
parent d072fd1588
commit 796f181cce
2 changed files with 120 additions and 7 deletions
@@ -0,0 +1,110 @@
--
UPDATE `creature_template` SET `unit_flags` = 33555200 WHERE (`entry` = 12120);
UPDATE `gameobject_template` SET `AIName` = 'SmartGameObjectAI' WHERE `entry` = 177491;
DELETE FROM `smart_scripts` WHERE (`source_type` = 1 AND `entryorguid` = 177491);
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`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(177491, 1, 0, 0, 20, 0, 100, 0, 5902, 3000, 3000, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Termite Barrel - On Quest \'A Plague Upon Thee\' Finished - Summon Termites'),
(177491, 1, 1, 0, 20, 0, 100, 0, 5904, 3000, 3000, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Termite Barrel - On Quest \'A Plague Upon Thee\' Finished - Summon Termites'),
(177491, 1, 2, 0, 17, 0, 100, 0, 12120, 0, 0, 0, 0, 0, 46, 10, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Termite Barrel - On Summoned Unit - Move Forward 10 Yards');
-- These had Target NONE before, so change to SELF
UPDATE `smart_scripts` SET `target_type` = 1 WHERE `entryorguid` = 2737600 AND `source_type` = 9 AND `id` = 3;
UPDATE `smart_scripts` SET `target_type` = 1 WHERE `entryorguid` = 2737800 AND `source_type` = 9 AND `id` = 3;
UPDATE `smart_scripts` SET `target_type` = 1 WHERE `entryorguid` = 2737900 AND `source_type` = 9 AND `id` = 3;
UPDATE `smart_scripts` SET `target_type` = 1 WHERE `entryorguid` = 2738100 AND `source_type` = 9 AND `id` = 3;
UPDATE `smart_scripts` SET `target_type` = 1 WHERE `entryorguid` = 25791 AND `source_type` = 0 AND `id` = 2;
DELETE FROM `creature_summon_groups` WHERE `summonerId` = 177491 AND `summonerType` = 1 AND `entry` = 12120;
INSERT INTO `creature_summon_groups` (`summonerId`, `summonerType`, `groupId`, `entry`, `position_x`, `position_y`, `position_z`, `orientation`, `summonType`, `summonTime`, `Comment`) VALUES
(177491, 1, 0, 12120, 2449.638916015625, -1661.05322265625, 103.21075439453125, 5.829399585723876953, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.654541015625, -1661.327880859375, 103.21075439453125, 0.541052043437957763, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.371826171875, -1661.2803955078125, 103.21075439453125, 5.218534469604492187, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.701416015625, -1661.1591796875, 103.21075439453125, 0.48869219422340393, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.41064453125, -1661.424560546875, 103.21075439453125, 3.228859186172485351, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.145751953125, -1661.5093994140625, 103.21075439453125, 0.628318548202514648, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.5029296875, -1661.3375244140625, 103.21075439453125, 3.735004663467407226, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.0498046875, -1661.33203125, 103.21075439453125, 5.375614166259765625, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.667724609375, -1661.63525390625, 103.21075439453125, 2.321287870407104492, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.40185546875, -1661.65673828125, 103.21075439453125, 1.640609502792358398, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.57080078125, -1661.189208984375, 103.21075439453125, 5.497786998748779296, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.8095703125, -1661.3272705078125, 103.21075439453125, 0.715584993362426757, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.961181640625, -1661.1905517578125, 103.21075439453125, 6.038839340209960937, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.771240234375, -1661.3541259765625, 103.21075439453125, 1.570796370506286621, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.19921875, -1661.5142822265625, 103.21075439453125, 6.230825424194335937, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.8994140625, -1661.138427734375, 103.21075439453125, 0.959931075572967529, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.665283203125, -1661.3961181640625, 103.21075439453125, 5.131268024444580078, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.4326171875, -1661.2906494140625, 103.21075439453125, 1.884955525398254394, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.10595703125, -1661.220947265625, 103.21075439453125, 1.134464025497436523, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.105712890625, -1661.320556640625, 103.21075439453125, 5.393067359924316406, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.25439453125, -1661.2633056640625, 103.21075439453125, 3.700098037719726562, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.440673828125, -1661.77197265625, 103.21075439453125, 3.769911050796508789, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.150146484375, -1661.1064453125, 103.21075439453125, 3.420845270156860351, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.744873046875, -1661.552001953125, 103.21075439453125, 2.49582076072692871, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.327392578125, -1661.7103271484375, 103.21075439453125, 3.438298702239990234, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.191162109375, -1662.4698486328125, 103.21075439453125, 1.623156189918518066, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.645263671875, -1662.1689453125, 103.21075439453125, 5.16617441177368164, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.3154296875, -1661.9852294921875, 103.21075439453125, 3.054326057434082031, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.70947265625, -1663.473876953125, 103.21075439453125, 4.398229598999023437, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.688720703125, -1662.310546875, 103.21075439453125, 0.767944872379302978, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.889404296875, -1663.4556884765625, 103.21075439453125, 4.555309295654296875, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.82177734375, -1662.3135986328125, 103.21075439453125, 2.286381244659423828, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.480224609375, -1662.2789306640625, 103.21075439453125, 5.218534469604492187, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.962158203125, -1663.6378173828125, 103.21075439453125, 5.883801937103271484, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.228271484375, -1663.3675537109375, 103.21075439453125, 6.127530097961425781, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.965576171875, -1663.54248046875, 103.21075439453125, 6.108652114868164062, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.4521484375, -1663.0228271484375, 103.21075439453125, 6.133111953735351562, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.651123046875, -1662.6771240234375, 103.21075439453125, 1.082104086875915527, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.2626953125, -1662.2630615234375, 103.21075439453125, 2.792526721954345703, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.010986328125, -1663.630859375, 103.21075439453125, 6.200781822204589843, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.24462890625, -1663.57080078125, 103.21075439453125, 1.640609502792358398, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.528076171875, -1663.54345703125, 103.21075439453125, 2.356194496154785156, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.077392578125, -1663.172607421875, 103.21075439453125, 6.138573646545410156, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.515625, -1663.0362548828125, 103.21075439453125, 6.137125492095947265, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.422607421875, -1662.7811279296875, 103.21075439453125, 5.131268024444580078, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.0009765625, -1663.5870361328125, 103.21075439453125, 6.142697811126708984, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.609130859375, -1663.1041259765625, 103.21075439453125, 5.672319889068603515, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.129638671875, -1662.196044921875, 103.21075439453125, 5.078907966613769531, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.293212890625, -1663.3099365234375, 103.21075439453125, 5.026548385620117187, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.50390625, -1661.91259765625, 103.21075439453125, 3.071779489517211914, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.603271484375, -1662.9835205078125, 103.21075439453125, 2.827433347702026367, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.60302734375, -1662.839599609375, 103.21075439453125, 4.625122547149658203, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.398681640625, -1663.53564453125, 103.21075439453125, 6.051135540008544921, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.132568359375, -1663.3853759765625, 103.21075439453125, 6.151183128356933593, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.588134765625, -1663.1202392578125, 103.21075439453125, 3.769911050796508789, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.5166015625, -1661.967529296875, 103.21075439453125, 5.288347721099853515, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.54248046875, -1661.9361572265625, 103.21075439453125, 4.398229598999023437, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.474609375, -1663.366943359375, 103.21075439453125, 6.070179939270019531, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.815673828125, -1663.4427490234375, 103.21075439453125, 2.809980154037475585, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.65234375, -1662.533935546875, 103.21075439453125, 6.213372230529785156, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.60693359375, -1661.6336669921875, 103.21075439453125, 2.321287870407104492, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.337158203125, -1662.244140625, 103.21075439453125, 3.612831592559814453, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.596435546875, -1663.724853515625, 103.21075439453125, 6.207629203796386718, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.9521484375, -1663.446533203125, 103.21075439453125, 1.169370532035827636, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.639892578125, -1662.0584716796875, 103.21075439453125, 5.16617441177368164, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.903564453125, -1662.906494140625, 103.21075439453125, 5.75229644775390625, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.14208984375, -1662.465087890625, 103.21075439453125, 5.922963142395019531, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.880126953125, -1663.4293212890625, 103.21075439453125, 5.06145477294921875, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.448486328125, -1663.1595458984375, 103.21075439453125, 5.672319889068603515, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.67626953125, -1662.2296142578125, 103.21075439453125, 4.694935798645019531, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.18310546875, -1663.738037109375, 103.21075439453125, 6.058278083801269531, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.8798828125, -1663.3582763671875, 103.21075439453125, 1.727875947952270507, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.674560546875, -1663.0758056640625, 103.21075439453125, 6.03085947036743164, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.299072265625, -1662.488037109375, 103.21075439453125, 1.65806281566619873, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.387451171875, -1663.626953125, 103.21075439453125, 5.935009002685546875, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.2333984375, -1662.921630859375, 103.21075439453125, 6.105694770812988281, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.39111328125, -1661.5113525390625, 103.21075439453125, 3.804817676544189453, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.0908203125, -1663.2525634765625, 103.21075439453125, 4.886921882629394531, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.419921875, -1662.8272705078125, 103.21075439453125, 5.235987663269042968, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.47265625, -1662.350830078125, 103.21075439453125, 1.221730470657348632, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.384033203125, -1662.6292724609375, 103.21075439453125, 2.617993831634521484, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.162109375, -1663.610107421875, 103.21075439453125, 6.005939960479736328, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.280029296875, -1663.0548095703125, 103.21075439453125, 0.174532920122146606, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.80029296875, -1661.9879150390625, 103.21075439453125, 4.258603572845458984, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.5771484375, -1661.80419921875, 103.21075439453125, 3.385938644409179687, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.243408203125, -1662.73291015625, 103.21075439453125, 6.10085296630859375, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.444091796875, -1662.0279541015625, 103.21075439453125, 3.892084121704101562, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2450.519775390625, -1663.3543701171875, 103.21075439453125, 6.00060892105102539, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2449.439453125, -1663.58056640625, 103.21075439453125, 3.438298702239990234, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.209228515625, -1663.322265625, 103.21075439453125, 5.923575401306152343, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites'),
(177491, 1, 0, 12120, 2448.6474609375, -1663.4107666015625, 103.21075439453125, 6.189944744110107421, 3, 3000, 'Termite Barrel - A Plague Upon Thee Termites');
@@ -1515,12 +1515,15 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
}
case SMART_ACTION_MOVE_FORWARD:
{
if (!me)
break;
float x, y, z;
me->GetClosePoint(x, y, z, me->GetObjectSize() / 3, (float)e.action.moveRandom.distance);
me->GetMotionMaster()->MovePoint(SMART_RANDOM_POINT, x, y, z);
for (WorldObject* target : targets)
{
if (IsCreature(target))
{
float x, y, z;
target->ToCreature()->GetClosePoint(x, y, z, target->ToCreature()->GetObjectSize() / 3, (float)e.action.moveRandom.distance);
target->ToCreature()->GetMotionMaster()->MovePoint(SMART_RANDOM_POINT, x, y, z);
}
}
break;
}
case SMART_ACTION_RISE_UP:
@@ -3492,7 +3495,7 @@ void SmartScript::InstallTemplate(SmartScriptHolder const& e)
AddEvent(SMART_EVENT_DATA_SET, 0, 0, 0, 0, 0, 0, 0, SMART_ACTION_SET_RUN, e.action.installTtemplate.param3, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0, 0);
AddEvent(SMART_EVENT_DATA_SET, 0, 0, 0, 0, 0, 0, 0, SMART_ACTION_SET_EVENT_PHASE, 1, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0, 0);
AddEvent(SMART_EVENT_UPDATE, SMART_EVENT_FLAG_NOT_REPEATABLE, 1000, 1000, 0, 0, 0, 0, SMART_ACTION_MOVE_FORWARD, e.action.installTtemplate.param4, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0, 1);
AddEvent(SMART_EVENT_UPDATE, SMART_EVENT_FLAG_NOT_REPEATABLE, 1000, 1000, 0, 0, 0, 0, SMART_ACTION_MOVE_FORWARD, e.action.installTtemplate.param4, 0, 0, 0, 0, 0, SMART_TARGET_SELF, 0, 0, 0, 0, 1);
//phase 1: give quest credit on movepoint reached
AddEvent(SMART_EVENT_MOVEMENTINFORM, 0, POINT_MOTION_TYPE, SMART_RANDOM_POINT, 0, 0, 0, 0, SMART_ACTION_SET_DATA, 0, 0, 0, 0, 0, 0, SMART_TARGET_STORED, 1, 0, 0, 0, 1);
//phase 1: despawn after time on movepoint reached