From 7fb6338f5551b9d24df60d7dd82bb1792f5dd913 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Thu, 30 May 2019 11:48:24 +0200 Subject: [PATCH] Scripts/Uldum: more work on the uldum intro --- sql/updates/WIP/uldum intro docu.txt | 101 ++++++++++++++-- sql/updates/WIP/uldum.sql | 129 +++++++++++++++------ src/server/scripts/Kalimdor/zone_uldum.cpp | 126 +++++++++++++++++++- 3 files changed, 308 insertions(+), 48 deletions(-) diff --git a/sql/updates/WIP/uldum intro docu.txt b/sql/updates/WIP/uldum intro docu.txt index 21204ecc4f..2e73e22e31 100644 --- a/sql/updates/WIP/uldum intro docu.txt +++ b/sql/updates/WIP/uldum intro docu.txt @@ -54,39 +54,78 @@ 18:40:29.380 -- ping hit 18:40:46.363 -- move to -8935.14 Y: -2234.49 Z: 9.002217 18:41:05.813 -- move to -8939.94 Y: -2211.02 Z: 9.001956 +18:41:16.931 -- teleport to +[1] Position: X: -8965 Y: -1735 Z: 94.4533 +[1] Orientation: 1.5708 +18:41:24.064 -- move to -8966.66 Y: -1627.04 Z: 94.57835 ----- macks camel +---- macks camel (46543) 18:40:29.380 -- ping hit 86843 (Ping All Actors 00) 18:40:42.730 -- move to -8919.02 Y: -2248.4 Z: 9.001721 18:40:54.879 -- move to -8925.41 Y: -2224.72 Z: 9.001721 18:41:04.580 -- move to -8935.07 Y: -2190.94 Z: 9.001843 +18:41:20.746 -- teleport to +[0] Position: X: -8956 Y: -1735 Z: 94.4533 +[0] Orientation: 1.5708 +18:41:24.064 -- move to -8956.22 Y: -1653.3 Z: 94.57835 +18:41:44.746 -- move to -8956.64 Y: -1614.71 Z: 94.57835 +18:41:53.833 -- 50630 (Eject All Passengers) +18:41:53.833 -- move to -8907.16 Y: -1644.48 Z: 96.05394 - --- samirs camel +-- samirs camel (46540) 18:40:29.380 -- ping hit 18:40:42.730 -- -8923.14 Y: -2255.77 Z: 9.001721 18:40:57.280 -- -8927.98 Y: -2228.35 Z: 9.001721 18:41:08.263 -- -8930.85 Y: -2208.77 Z: 9.501721 - +18:41:18.329 -- teleport to +[0] Position: X: -8958 Y: -1744 Z: 94.4533 +[0] Orientation: 1.5708 +18:41:24.064 -- move to -8957.25 Y: -1653.6 Z: 94.57835 +18:41:47.197 -- move to -8956.91 Y: -1622.85 Z: 94.57835 +18:41:53.833 -- 50630 (Eject All Passengers) +18:41:53.833 -- move to -8889.912 Y: -1617.428 Z: 97.51894 -- pack mule (46537) 18:40:29.380 -- ping 18:40:42.730 -- -8922.56 Y: -2250.76 Z: 9.001721 18:40:52.463 -- -8927.56 Y: -2229.44 Z: 9.001721 18:41:00.946 -- -8934.89 Y: -2199.31 Z: 9.001843 +18:41:15.680 -- teleport +[1] Position: X: -8960 Y: -1728 Z: 94.4533 +[1] Orientation: 1.5708 +18:41:24.064 -- move to -8960.52 Y: -1665.42 Z: 94.57835 +18:41:39.863 -- move to -8960.71 Y: -1616.34 Z: 94.57835 +18:41:53.833 -- move to -8961.9 Y: -1565.36 Z: 94.57835 +18:41:54.398 -- move to -8962.98 Y: -1533.89 Z: 94.57835 +18:41:55.714 -- movw to -8953.83 Y: -1501.06 Z: 94.57835 (run) --- lady humps +-- lady humps (46536) 18:40:29.380 -- ping 18:40:42.730 -- -8931.92 Y: -2234.18 Z: 9.001721 18:40:53.516 -- -8938.87 Y: -2204.73 Z: 9.001956 18:41:05.813 -- -8947.44 Y: -2170.03 Z: 9.001843 +18:41:23.180 -- teleport +[0] Position: X: -8965 Y: -1720 Z: 94.4533 +[0] Orientation: 1.5708 +18:41:24.064 -- move to -8966.77 Y: -1637.49 Z: 94.57826 +18:41:44.746 -- move to -8967.16 Y: -1607.32 Z: 94.57835 +18:41:53.833 -- move to -8997.21 Y: -1550.94 Z: 94.57835 +18:42:00.430 -- -9030.65 Y: -1549.04 Z: 94.57835 + -- Adarrahs camel (46546) 18:40:29.380 -- ping 18:40:39.898 -- -8931.88 Y: -2249.08 Z: 9.001721 18:40:48.730 -- -8936.35 Y: -2218.25 Z: 9.001956 18:41:02.163 -- -8942.33 Y: -2190.52 Z: 9.001843 +18:41:15.680 -- teleport +[2] Position: X: -8971 Y: -1727 Z: 94.4533 +[2] Orientation: 1.5708 +18:41:24.064 -- -8977.74 Y: -1644.23 Z: 94.57826 +18:41:44.746 -- -8976.28 Y: -1612.19 Z: 94.57835 +18:41:53.832 -- 50630 (Eject All Passengers) +18:41:53.832 -- -9044.94 Y: -1613.99 Z: 94.55248 -- budd (46539) 18:40:29.380 -- ping @@ -97,6 +136,12 @@ 18:40:29.380 -- ping 18:40:51.246 -- -8933.07 Y: -2249.24 Z: 9.001721 18:41:05.813 -- -8937.89 Y: -2211.88 Z: 9.001956 +18:41:23.180 -- teleport +[1] Position: X: -8968 Y: -1746 Z: 94.4533 +[1] Orientation: 1.5708 +18:41:26.396 -- move to -8968.27 Y: -1685.77 Z: 94.57826 +18:41:41.080 -- -8968.21 Y: -1661.29 Z: 94.57826 +18:41:48.247 -- -8967.31 Y: -1641.22 Z: 94.57826 -- harkor (46545) 18:40:29.380 -- ping hit @@ -106,7 +151,9 @@ 18:41:02.163 -- Emote ID: 92 (OneShotEatNoSheathe) 18:41:09.464 -- Emote ID: 92 (OneShotEatNoSheathe) --- camera bunny (46557) + + +-- -------------------- camera bunny (46557) 18:40:27.997 -- 86815 (Ping Camera 00) // no target 18:40:29.247 -- 86815 (Ping Camera 00) @@ -158,12 +205,48 @@ (MovementMonsterSpline) (MovementSpline) [2] Points: X: -8927.54 Y: -1768.3 Z: 137.2482 MoveTime: 11685 +18:41:28.763 -- 86822 (Invisible Beam) on cloned image +18:41:28.764 -- move along spline chain: +-8927.54 Y: -1768.3 Z: 137.2482 +(MovementMonsterSpline) (MovementSpline) [0] Points: X: -8957.792 Y: -1700.462 Z: 114.447 +(MovementMonsterSpline) (MovementSpline) [1] Points: X: -8966.18 Y: -1677.19 Z: 106.987 +MoveTime: 16567 + +18:41:45.447 -- 87010 (Master Summon Skarf) +18:41:47.480 -- 84318 (Reverse Cast Ride Camera Bunny (Seat 4)) +18:41:47.481 -- 86822 (Invisible Beam) on Entry: 46679 (Skarf) + +18:41:53.483 -- 86822 (Invisible Beam) on cloned image +18:41:59.630 -- 84301 (Reverse Cast Ride Camera Bunny (Seat 3)) +18:41:59.630 -- 86822 (Invisible Beam) on cloned image +18:41:59.630 -- move along chain: +Position: X: -8966.179 Y: -1677.19 Z: 106.987 +(MovementMonsterSpline) (MovementSpline) [0] Points: X: -8952.7 Y: -1671.49 Z: 108.556 +(MovementMonsterSpline) (MovementSpline) [1] Points: X: -8930.17 Y: -1677.51 Z: 124.105 +(MovementMonsterSpline) (MovementSpline) [2] Points: X: -8908.42 Y: -1672.84 Z: 133.82 +(MovementMonsterSpline) (MovementSpline) [3] Points: X: -8894.9 Y: -1646.28 Z: 134.988 +(MovementMonsterSpline) (MovementSpline) [4] Points: X: -8896.54 Y: -1624.27 Z: 129.188 +(MovementMonsterSpline) (MovementSpline) [5] Points: X: -8912.56 Y: -1603.82 Z: 130.583 +(MovementMonsterSpline) (MovementSpline) [6] Points: X: -8929.97 Y: -1592.75 Z: 126.827 +(MovementMonsterSpline) (MovementSpline) [7] Points: X: -8947.9 Y: -1586.34 Z: 119.108 +(MovementMonsterSpline) (MovementSpline) [8] Points: X: -8966.19 Y: -1586.85 Z: 99.3789 +MoveTime: 10710 + +18:42:20.247 -- 94642 (Fade to Black) +18:42:23.747 -- 87108 (Teleport Camera 01) +18:42:23.748 -- 87109 (Master Summon Scene) + +------- skarf (46679) +18:41:45.447 -- summoned (vehicle id 1208, run speed 8) as accessory 46680 (Sultan Oogah) +18:41:47.481 -- invisible beam on me +18:41:49.130 -- sound (22585) +18:41:49.130 -- jump to -9005.86 Y: -1657.31 Z: 107.515 +18:41:50.730 -- set ai anim kit AnimKitID: 1075 --- 18:41:12.948 beam dummy 2 summoned +------- 18:41:12.948 beam dummy 2 summoned 18:41:15.396 -- 86970 (Ping Camera 02) -18:41:16.830 -- move along path - +18:41:16.830 -- move along path Position: X: -8888 Y: -1631 Z: 278.0833 (MovementMonsterSpline) (MovementSpline) [0] Points: X: -8889.82 Y: -1654 Z: 269.947 (MovementMonsterSpline) (MovementSpline) [1] Points: X: -8902.86 Y: -1655.57 Z: 245.528 diff --git a/sql/updates/WIP/uldum.sql b/sql/updates/WIP/uldum.sql index f984a39473..03ae10f6b8 100644 --- a/sql/updates/WIP/uldum.sql +++ b/sql/updates/WIP/uldum.sql @@ -31,14 +31,16 @@ UPDATE `creature_template` SET `VehicleId`= 1201 WHERE `entry`= 46540; UPDATE `creature_template` SET `VehicleId`= 1200 WHERE `entry`= 46538; UPDATE `creature_template` SET `VehicleId`= 1198 WHERE `entry`= 46596; UPDATE `creature_template` SET `VehicleId`= 1205 WHERE `entry`= 46546; +UPDATE `creature_template` SET `ScriptName`= 'npc_uldum_uldum_skarf', `VehicleId`= 1208 WHERE `entry`= 46679; -- Spellclicks -DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` IN (46521, 46524, 46519, 46516, 46517); +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` IN (46521, 46524, 46519, 46516, 46517, 46546); INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES (46521, 46598, 1, 1), (46524, 46598, 1, 1), (46519, 46598, 1, 1), (46516, 46598, 1, 1), +(46546, 46598, 1, 1), (46517, 86750, 3, 1); DELETE FROM `vehicle_template_accessory` WHERE `entry` IN (46516, 46519, 46521, 46524); @@ -83,27 +85,30 @@ DELETE FROM `conditions` WHERE `SourceEntry`= 86750 AND `SourceGroup`= 46517 AND INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ScriptName`, `Comment`) VALUES (18, 46517, 86750, 0, 0, 9, 0, 27003, 0, 0, 0, 0, '', 'Required quest active for spellclick'); -DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` IN (46596, 46538, 46540, 46543, 46557); +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` IN (46596, 46538, 46540, 46543, 46557, 46679); INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES (46596, 46598, 1, 1), (46538, 46598, 1, 1), (46540, 46598, 1, 1), -(46543, 46598, 1, 1); +(46543, 46598, 1, 1), +(46679, 46598, 1, 1); -DELETE FROM `vehicle_template_accessory` WHERE `entry` IN (46543, 46540, 46538, 46596); +DELETE FROM `vehicle_template_accessory` WHERE `entry` IN (46543, 46540, 46538, 46596, 46679); INSERT INTO `vehicle_template_accessory` (`entry`, `accessory_entry`, `seat_id`, `minion`, `description`, `summontype`, `summontimer`) VALUES -- Mack's Camel -(46543, 46542, 0, 1, 'Mack\'s Camel - Mack', 8, 0), -- Mack's Camel - Mack +(46543, 46542, 0, 0, 'Mack\'s Camel - Mack', 8, 180000), -- Mack's Camel - Mack -- Samir's Camel -(46540, 46541, 0, 1, 'Samir\'s Camel - Samir', 8, 0), -- Samir's Camel - Samir +(46540, 46541, 0, 0, 'Samir\'s Camel - Samir', 8, 180000), -- Samir's Camel - Samir -- Budd's Camel -(46538, 46539, 0, 1, 'Budd\'s Camel - Budd', 8, 0), -- Budd's Camel - Budd +(46538, 46539, 0, 0, 'Budd\'s Camel - Budd', 8, 180000), -- Budd's Camel - Budd -- Uldum Caravan Harness (46596, 46545, 5, 1, 'Uldum Caravan Harness - Harkor', 8, 0), -- Uldum Caravan Harness - Harkor (46596, 46534, 4, 1, 'Uldum Caravan Harness - Domesticated Kodo', 8, 0), -- Uldum Caravan Harness - Domesticated Kodo (46596, 46548, 3, 1, 'Uldum Caravan Harness - Kurzel', 8, 0), -- Uldum Caravan Harness - Kurzel (46596, 46547, 2, 1, 'Uldum Caravan Harness - Tanzar', 8, 0), -- Uldum Caravan Harness - Tanzar -(46596, 46544, 0, 1, 'Uldum Caravan Harness - Turgore', 8, 0); -- Uldum Caravan Harness - Turgore +(46596, 46544, 0, 1, 'Uldum Caravan Harness - Turgore', 8, 0), -- Uldum Caravan Harness - Turgore +-- Skarf +(46679, 46680, 0, 1, 'Skarf - Sultan Oogah', 8, 0); -- Skarf - Sultan Oogah UPDATE `spell_target_position` SET `Orientation`= 5.899213 WHERE `ID`= 86751; @@ -116,6 +121,12 @@ UPDATE `spell_target_position` SET `Orientation`= 1.902409 WHERE `ID`= 86757; UPDATE `spell_target_position` SET `Orientation`= 1.570796 WHERE `ID`= 86758; UPDATE `spell_target_position` SET `Orientation`= 1.570796 WHERE `ID`= 86758; +DELETE FROM `spell_target_position` WHERE `ID` IN (87002, 86990, 86999); +INSERT INTO `spell_target_position` (`ID`, `EffectIndex`, `MapID`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`) VALUES +(87002, 0, 1, -8968, -1746, 94.4533, 1.5708), +(86990, 0, 1, -8965, -1720, 94.4533, 1.5708), +(86999, 0, 1, -8956, -1735, 94.4533, 1.5708); + DELETE FROM `creature_text` WHERE `CreatureID` IN (46533, 46539, 46680, 46720, 46777); INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `comment`) VALUES (46533, 0, 0, 'No, no, silly $r...', 12, 0, 100, 11, 0, 0, 46688, 'Adarrah to Player'), @@ -133,19 +144,22 @@ DELETE FROM `spell_script_names` WHERE `ScriptName` IN 'spell_gen_mirror_image_aura', 'spell_uldum_player_summon_camera', 'spell_uldum_master_ping_all_actors', -'spell_uldum_master_summon_beam_target_02'); +'spell_uldum_master_summon_beam_target_02', +'spell_uldum_master_summon_skarf'); INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (86748, 'spell_uldum_initialize_uldum_intro'), (82721, 'spell_gen_reverse_cast_ride_vehicle'), (82315, 'spell_gen_reverse_cast_ride_vehicle'), (84301, 'spell_gen_reverse_cast_ride_vehicle'), +(84318, 'spell_gen_reverse_cast_ride_vehicle'), (86783, 'spell_gen_revserse_cast_mirror_image'), (86784, 'spell_gen_mirror_image_aura'), (41055, 'spell_gen_clone_weapon'), (45206, 'spell_gen_clone_weapon'), (95747, 'spell_uldum_player_summon_camera'), -(95747, 'spell_uldum_master_ping_all_actors'), +(86848, 'spell_uldum_master_ping_all_actors'), +(87010, 'spell_uldum_master_summon_skarf'), (86960, 'spell_uldum_master_summon_beam_target_02'); DELETE FROM `conditions` WHERE `SourceEntry` IN (86784, 86815, 73448, 73449, 86944, 86943, 86970) AND `SourceTypeOrReferenceId`= 13; @@ -164,6 +178,7 @@ INSERT INTO `script_spline_chain_waypoints` (`entry`, `chainId`, `splineId`, `wp (46557, 1, 0, 0, -8919, -2272.5, 12.87063), (46557, 1, 0, 1, -8922.04, -2274.03, 14.4508), (46557, 1, 0, 2, -8915.17, -2282.37, 21.0023), +-- (46557, 1, 1, 0, -8915.17, -2282.37, 21.0023), (46557, 1, 1, 1, -8921.55, -2291.59, 18.5897), (46557, 1, 1, 2, -8928.08, -2291.1, 16.9801), @@ -179,6 +194,10 @@ INSERT INTO `script_spline_chain_waypoints` (`entry`, `chainId`, `splineId`, `wp (46557, 3, 0, 2, -8910.17, -1763.45, 174.896), (46557, 3, 0, 3, -8927.54, -1768.3, 137.2482), -- +(46557, 4, 0, 0, -8927.54, -1768.3, 137.2482), +(46557, 4, 0, 1, -8957.792, -1700.462, 114.447), +(46557, 4, 0, 2, -8966.18, -1677.19, 106.987), +-- (46661, 1, 0, 0, -8954, -2188, 10.96293), (46661, 1, 0, 1, -8951.25, -2174.06, 17.2353), (46661, 1, 0, 2, -8943.43, -2161.06, 54.8142), @@ -193,10 +212,11 @@ INSERT INTO `script_spline_chain_waypoints` (`entry`, `chainId`, `splineId`, `wp DELETE FROM `script_spline_chain_meta` WHERE `entry` IN (46557, 46661, 46674); INSERT INTo `script_spline_chain_meta` (`entry`, `chainId`, `splineId`, `expectedDuration`, `msUntilNext`) VALUES -(46557, 1, 0, 6556, 500), +(46557, 1, 0, 6556, 6556), (46557, 1, 1, 15828, 0), (46557, 2, 0, 7047, 0), (46557, 3, 0, 11685, 0), +(46557, 4, 0, 16567, 0), (46661, 1, 0, 7008, 0), (46674, 1, 0, 11627, 0); @@ -253,8 +273,9 @@ SET @ENTRY := 46543; 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, 37, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "On AI initialize - Self: Set walk // "), -(@ENTRY, 0, 1, 0, 8, 0, 100, 0, 86843, 0, 0, 0, 80, 4654300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4654300 // "); +(@ENTRY, 0, 0, 1, 37, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "On AI initialize - Self: Set walk // "), +(@ENTRY, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, " Linked - Self: Set active (are you sure?) // "), +(@ENTRY, 0, 2, 0, 8, 0, 100, 1, 86843, 0, 0, 0, 80, 4654300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4654300 // "); -- TimedActionList 4654300 SAI SET @ENTRY := 4654300; @@ -262,15 +283,22 @@ DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9; INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES (@ENTRY, 9, 0, 0, 0, 0, 100, 1, 13400, 13400, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8919.02, -2248.4, 9.00172, 0, "When in combat and timer at the begining between 13400 and 13400 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8919.02, -2248.4, 9.00172, 0) (point id 0) // "), (@ENTRY, 9, 1, 0, 0, 0, 100, 1, 12000, 12000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8925.41, -2224.72, 9.00172, 0, "When in combat and timer at the begining between 12000 and 12000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8925.41, -2224.72, 9.00172, 0) (point id 0) // "), -(@ENTRY, 9, 2, 0, 0, 0, 100, 1, 9700, 9700, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8935.07, -2190.94, 9.001843, 0, "When in combat and timer at the begining between 9700 and 9700 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8935.07, -2190.94, 9.001843, 0) (point id 0) // "); +(@ENTRY, 9, 2, 0, 0, 0, 100, 1, 9700, 9700, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8935.07, -2190.94, 9.00184, 0, "When in combat and timer at the begining between 9700 and 9700 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8935.07, -2190.94, 9.00184, 0) (point id 0) // "), +(@ENTRY, 9, 3, 0, 0, 0, 100, 1, 16000, 16000, 0, 0, 11, 86999, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 16000 and 16000 ms (and later repeats every 0 and 0 ms) - Self: Cast spell Teleport Mack's Camel (86999) on Self // "), +(@ENTRY, 9, 4, 0, 0, 0, 100, 1, 3300, 3300, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8956.22, -1653.3, 94.5783, 0, "When in combat and timer at the begining between 3300 and 3300 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8956.22, -1653.3, 94.5783, 0) (point id 0) // "), +(@ENTRY, 9, 5, 0, 0, 0, 100, 0, 20700, 20700, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8956.64, -1614.71, 94.5783, 0, "When in combat and timer at the begining between 20700 and 20700 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8956.64, -1614.71, 94.5783, 0) (point id 0) // "), +(@ENTRY, 9, 6, 0, 0, 0, 100, 0, 9000, 9000, 0, 0, 11, 50630, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 9000 and 9000 ms (and later repeats every 0 and 0 ms) - Self: Cast spell Eject All Passengers (50630) on Self // "), +(@ENTRY, 9, 7, 0, 0, 0, 100, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 0 and 0 ms (and later repeats every 0 and 0 ms) - Self: Set run // "), +(@ENTRY, 9, 8, 0, 0, 0, 100, 1, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8907.16, -1644.48, 96.0539, 0, "When in combat and timer at the begining between 0 and 0 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8907.16, -1644.48, 96.0539, 0) (point id 0) // "); -- Creature Samir's Camel 46540 SAI SET @ENTRY := 46540; 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, 37, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "On AI initialize - Self: Set walk // "), -(@ENTRY, 0, 1, 0, 8, 0, 100, 0, 86843, 0, 0, 0, 80, 4654000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4654000 // "); +(@ENTRY, 0, 0, 1, 37, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "On AI initialize - Self: Set walk // "), +(@ENTRY, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, " Linked - Self: Set active (are you sure?) // "), +(@ENTRY, 0, 2, 0, 8, 0, 100, 1, 86843, 0, 0, 0, 80, 4654000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4654000 // "); -- TimedActionList 4654000 SAI SET @ENTRY := 4654000; @@ -278,30 +306,42 @@ DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9; INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES (@ENTRY, 9, 0, 0, 0, 0, 100, 1, 13400, 13400, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8923.14, -2255.77, 9.00172, 0, "When in combat and timer at the begining between 13400 and 13400 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8923.14, -2255.77, 9.00172, 0) (point id 0) // "), (@ENTRY, 9, 1, 0, 0, 0, 100, 1, 14500, 14500, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8927.98, -2228.35, 9.00172, 0, "When in combat and timer at the begining between 14500 and 14500 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8927.98, -2228.35, 9.00172, 0) (point id 0) // "), -(@ENTRY, 9, 2, 0, 0, 0, 100, 1, 9000, 9000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8930.85, -2208.77, 9.501721, 0, "When in combat and timer at the begining between 9000 and 9000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8930.85, -2208.77, 9.501721, 0) (point id 0) // "); +(@ENTRY, 9, 2, 0, 0, 0, 100, 1, 11000, 11000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8930.85, -2208.77, 9.50172, 0, "When in combat and timer at the begining between 11000 and 11000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8930.85, -2208.77, 9.50172, 0) (point id 0) // "), +(@ENTRY, 9, 3, 0, 0, 0, 100, 1, 10000, 10000, 0, 0, 11, 87001, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 10000 and 10000 ms (and later repeats every 0 and 0 ms) - Self: Cast spell Teleport Samir's Camel (87001) on Self // "), +(@ENTRY, 9, 4, 0, 0, 0, 100, 1, 5700, 5700, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8957.25, -1653.6, 94.5783, 0, "When in combat and timer at the begining between 5700 and 5700 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8957.25, -1653.6, 94.5783, 0) (point id 0) // "), +(@ENTRY, 9, 5, 0, 0, 0, 100, 1, 23000, 23000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8956.91, -1622.85, 94.5783, 0, "When in combat and timer at the begining between 23000 and 23000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8956.91, -1622.85, 94.5783, 0) (point id 0) // "), +(@ENTRY, 9, 6, 0, 0, 0, 100, 1, 6600, 6600, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 6600 and 6600 ms (and later repeats every 0 and 0 ms) - Self: Set run // "), +(@ENTRY, 9, 7, 0, 0, 0, 100, 1, 0, 0, 0, 0, 11, 50630, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 0 and 0 ms (and later repeats every 0 and 0 ms) - Self: Cast spell Eject All Passengers (50630) on Self // "), +(@ENTRY, 9, 8, 0, 0, 0, 100, 1, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8889.91, -1617.43, 97.5189, 0, "When in combat and timer at the begining between 0 and 0 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8889.91, -1617.43, 97.5189, 0) (point id 0) // "); -- Creature Budd's Camel 46538 SAI SET @ENTRY := 46538; 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, 37, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "On AI initialize - Self: Set walk // "), -(@ENTRY, 0, 1, 0, 8, 0, 100, 0, 86843, 0, 0, 0, 80, 4653800, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4653800 // "); +(@ENTRY, 0, 0, 1, 37, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "On AI initialize - Self: Set walk // "), +(@ENTRY, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, " Linked - Self: Set active (are you sure?) // "), +(@ENTRY, 0, 2, 0, 8, 0, 100, 1, 86843, 0, 0, 0, 80, 4653800, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4653800 // "); -- TimedActionList 4653800 SAI SET @ENTRY := 4653800; DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9; INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES -(@ENTRY, 9, 0, 0, 0, 0, 100, 1, 21000, 21000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8933.07, -2249.24, 9.001721, 0, "When in combat and timer at the begining between 21000 and 21000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8933.07, -2249.24, 9.001721, 0) (point id 0) // "), -(@ENTRY, 9, 1, 0, 0, 0, 100, 0, 14500, 14500, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8937.89, -2211.88, 9.001956, 0, "When in combat and timer at the begining between 14500 and 14500 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8937.89, -2211.88, 9.001956, 0) (point id 0) // "); +(@ENTRY, 9, 0, 0, 0, 0, 100, 1, 21000, 21000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8933.07, -2249.24, 9.00172, 0, "When in combat and timer at the begining between 21000 and 21000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8933.07, -2249.24, 9.00172, 0) (point id 0) // "), +(@ENTRY, 9, 1, 0, 0, 0, 100, 0, 14500, 14500, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8937.89, -2211.88, 9.00196, 0, "When in combat and timer at the begining between 14500 and 14500 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8937.89, -2211.88, 9.00196, 0) (point id 0) // "), +(@ENTRY, 9, 2, 0, 0, 0, 100, 0, 16300, 16300, 0, 0, 11, 87002, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 16300 and 16300 ms (and later repeats every 0 and 0 ms) - Self: Cast spell Teleport Budd's Camel (87002) on Self // "), +(@ENTRY, 9, 3, 0, 0, 0, 100, 0, 3100, 3100, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8968.27, -1685.77, 94.57826, 0, "When in combat and timer at the begining between 3100 and 3100 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8968.27, -1685.77, 94.57826, 0) (point id 0) // "), +(@ENTRY, 9, 4, 0, 0, 0, 100, 0, 14700, 14700, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8968.21, -1661.29, 94.57826, 0, "When in combat and timer at the begining between 14700 and 14700 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8968.21, -1661.29, 94.57826, 0) (point id 0) // "), +(@ENTRY, 9, 5, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8967.31, -1641.22, 94.57826, 0, "When in combat and timer at the begining between 7000 and 7000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8967.31, -1641.22, 94.57826, 0) (point id 0) // "); -- Creature Adarrah's Camel 46546 SAI SET @ENTRY := 46546; 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, 37, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "On AI initialize - Self: Set walk // "), -(@ENTRY, 0, 1, 0, 8, 0, 100, 0, 86843, 0, 0, 0, 80, 4654600, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4654600 // "); +(@ENTRY, 0, 0, 1, 37, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "On AI initialize - Self: Set walk // "), +(@ENTRY, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, " Linked - Self: Set active (are you sure?) // "), +(@ENTRY, 0, 2, 0, 8, 0, 100, 1, 86843, 0, 0, 0, 80, 4654600, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4654600 // "); -- TimedActionList 4654600 SAI SET @ENTRY := 4654600; @@ -309,15 +349,22 @@ DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9; INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES (@ENTRY, 9, 0, 0, 0, 0, 100, 1, 10500, 10500, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8931.88, -2249.08, 9.00172, 0, "When in combat and timer at the begining between 10500 and 10500 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8931.88, -2249.08, 9.00172, 0) (point id 0) // "), (@ENTRY, 9, 1, 0, 0, 0, 100, 0, 9000, 9000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8936.35, -2218.25, 9.00196, 0, "When in combat and timer at the begining between 9000 and 9000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8936.35, -2218.25, 9.00196, 0) (point id 0) // "), -(@ENTRY, 9, 2, 0, 0, 0, 100, 1, 3400, 3400, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8942.33, -2190.52, 9.001843, 0, "When in combat and timer at the begining between 3400 and 3400 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8942.33, -2190.52, 9.001843, 0) (point id 0) // "); +(@ENTRY, 9, 2, 0, 0, 0, 100, 1, 13400, 13400, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8942.33, -2190.52, 9.00184, 0, "When in combat and timer at the begining between 13400 and 13400 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8942.33, -2190.52, 9.00184, 0) (point id 0) // "), +(@ENTRY, 9, 3, 0, 0, 0, 100, 1, 13500, 13500, 0, 0, 11, 86993, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 13500 and 13500 ms (and later repeats every 0 and 0 ms) - Self: Cast spell Teleport Adarrah's Camel (86993) on Self // "), +(@ENTRY, 9, 4, 0, 0, 0, 100, 1, 8500, 8500, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8977.74, -1644.23, 94.5783, 0, "When in combat and timer at the begining between 8500 and 8500 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8977.74, -1644.23, 94.5783, 0) (point id 0) // "), +(@ENTRY, 9, 5, 0, 0, 0, 100, 1, 20700, 20700, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8976.28, -1612.19, 94.5783, 0, "When in combat and timer at the begining between 20700 and 20700 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8976.28, -1612.19, 94.5783, 0) (point id 0) // "), +(@ENTRY, 9, 6, 0, 0, 0, 100, 1, 9000, 9000, 0, 0, 11, 50630, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 9000 and 9000 ms (and later repeats every 0 and 0 ms) - Self: Cast spell Eject All Passengers (50630) on Self // "), +(@ENTRY, 9, 7, 0, 0, 0, 100, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 0 and 0 ms (and later repeats every 0 and 0 ms) - Self: Set run // "), +(@ENTRY, 9, 8, 0, 0, 0, 100, 1, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -9044.94, -1613.99, 94.5525, 0, "When in combat and timer at the begining between 0 and 0 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-9044.94, -1613.99, 94.5525, 0) (point id 0) // "); -- Creature Lady Humps 46536 SAI SET @ENTRY := 46536; 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, 37, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "On AI initialize - Self: Set walk // "), -(@ENTRY, 0, 1, 0, 8, 0, 100, 0, 86843, 0, 0, 0, 80, 4653600, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4653600 // "); +(@ENTRY, 0, 0, 1, 37, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "On AI initialize - Self: Set walk // "), +(@ENTRY, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, " Linked - Self: Set active (are you sure?) // "), +(@ENTRY, 0, 2, 0, 8, 0, 100, 1, 86843, 0, 0, 0, 80, 4653600, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4653600 // "); -- TimedActionList 4653600 SAI SET @ENTRY := 4653600; @@ -325,7 +372,13 @@ DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9; INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES (@ENTRY, 9, 0, 0, 0, 0, 100, 1, 13400, 13400, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8931.92, -2234.18, 9.00172, 0, "When in combat and timer at the begining between 13400 and 13400 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8931.92, -2234.18, 9.00172, 0) (point id 0) // "), (@ENTRY, 9, 1, 0, 0, 0, 100, 1, 11000, 11000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8938.87, -2204.73, 9.00196, 0, "When in combat and timer at the begining between 11000 and 11000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8938.87, -2204.73, 9.00196, 0) (point id 0) // "), -(@ENTRY, 9, 2, 0, 0, 0, 100, 1, 12300, 12300, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8947.44, -2170.03, 9.001843, 0, "When in combat and timer at the begining between 12300 and 12300 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8947.44, -2170.03, 9.001843, 0) (point id 0) // "); +(@ENTRY, 9, 2, 0, 0, 0, 100, 1, 12300, 12300, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8947.44, -2170.03, 9.00184, 0, "When in combat and timer at the begining between 12300 and 12300 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8947.44, -2170.03, 9.00184, 0) (point id 0) // "), +(@ENTRY, 9, 3, 0, 0, 0, 100, 1, 17300, 17300, 0, 0, 11, 86990, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 17300 and 17300 ms (and later repeats every 0 and 0 ms) - Self: Cast spell Teleport Lady Humps (86990) on Self // "), +(@ENTRY, 9, 4, 0, 0, 0, 100, 1, 1000, 1000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8966.77, -1637.49, 94.5783, 0, "When in combat and timer at the begining between 1000 and 1000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8966.77, -1637.49, 94.5783, 0) (point id 0) // "), +(@ENTRY, 9, 5, 0, 0, 0, 100, 1, 20000, 20000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8967.16, -1607.32, 94.5783, 0, "When in combat and timer at the begining between 20000 and 20000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8967.16, -1607.32, 94.5783, 0) (point id 0) // "), +(@ENTRY, 9, 6, 0, 0, 0, 100, 1, 19000, 19000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8997.21, -1550.94, 94.5783, 0, "When in combat and timer at the begining between 19000 and 19000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8997.21, -1550.94, 94.5783, 0) (point id 0) // "), +(@ENTRY, 9, 7, 0, 0, 0, 100, 1, 6600, 6600, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 6600 and 6600 ms (and later repeats every 0 and 0 ms) - Self: Set run // "), +(@ENTRY, 9, 8, 0, 0, 0, 100, 1, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -9030.65, -1549.04, 94.5783, 0, "When in combat and timer at the begining between 0 and 0 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-9030.65, -1549.04, 94.5783, 0) (point id 0) // "); -- Creature Cloned Image 46554 SAI SET @ENTRY := 46554; @@ -359,8 +412,9 @@ SET @ENTRY := 46537; 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, 37, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "On AI initialize - Self: Set walk // "), -(@ENTRY, 0, 1, 0, 8, 0, 100, 0, 86843, 0, 0, 0, 80, 4653700, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4653700 // "); +(@ENTRY, 0, 0, 1, 37, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "On AI initialize - Self: Set walk // "), +(@ENTRY, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, " Linked - Self: Set active (are you sure?) // "), +(@ENTRY, 0, 2, 0, 8, 0, 100, 1, 86843, 0, 0, 0, 80, 4653700, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4653700 // "); -- TimedActionList 4653700 SAI SET @ENTRY := 4653700; @@ -368,7 +422,14 @@ DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9; INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES (@ENTRY, 9, 0, 0, 0, 0, 100, 1, 13500, 13500, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8922.56, -2250.76, 9.00172, 0, "When in combat and timer at the begining between 13500 and 13500 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8922.56, -2250.76, 9.00172, 0) (point id 0) // "), (@ENTRY, 9, 1, 0, 0, 0, 100, 1, 10000, 10000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8927.56, -2229.44, 9.00172, 0, "When in combat and timer at the begining between 10000 and 10000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8927.56, -2229.44, 9.00172, 0) (point id 0) // "), -(@ENTRY, 9, 2, 0, 0, 0, 100, 1, 8500, 8500, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8934.89, -2199.31, 9.001843, 0, "When in combat and timer at the begining between 8500 and 8500 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8934.89, -2199.31, 9.001843, 0) (point id 0) // "); +(@ENTRY, 9, 2, 0, 0, 0, 100, 1, 8500, 8500, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8934.89, -2199.31, 9.00184, 0, "When in combat and timer at the begining between 8500 and 8500 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8934.89, -2199.31, 9.00184, 0) (point id 0) // "), +(@ENTRY, 9, 3, 0, 0, 0, 100, 1, 14700, 14700, 0, 0, 11, 86995, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 14700 and 14700 ms (and later repeats every 0 and 0 ms) - Self: Cast spell Teleport Mule (86995) on Self // "), +(@ENTRY, 9, 4, 0, 0, 0, 100, 1, 8500, 8500, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8960.52, -1665.42, 94.5783, 0, "When in combat and timer at the begining between 8500 and 8500 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8960.52, -1665.42, 94.5783, 0) (point id 0) // "), +(@ENTRY, 9, 5, 0, 0, 0, 100, 1, 15800, 15800, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8960.71, -1616.34, 94.5783, 0, "When in combat and timer at the begining between 15800 and 15800 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8960.71, -1616.34, 94.5783, 0) (point id 0) // "), +(@ENTRY, 9, 6, 0, 0, 0, 100, 1, 10500, 10500, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8961.9, -1565.36, 94.5783, 0, "When in combat and timer at the begining between 10500 and 10500 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8961.9, -1565.36, 94.5783, 0) (point id 0) // "), +(@ENTRY, 9, 7, 0, 0, 0, 100, 1, 500, 500, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8962.98, -1533.89, 94.5783, 0, "When in combat and timer at the begining between 500 and 500 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8962.98, -1533.89, 94.5783, 0) (point id 0) // "), +(@ENTRY, 9, 8, 0, 0, 0, 100, 0, 1400, 1400, 0, 0, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 1400 and 1400 ms (and later repeats every 0 and 0 ms) - Self: Set run // "), +(@ENTRY, 9, 9, 0, 0, 0, 100, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8953.83, -1501.06, 94.5783, 0, "When in combat and timer at the begining between 0 and 0 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8953.83, -1501.06, 94.5783, 0) (point id 0) // "); -- Creature Uldum Caravan Harness 46596 SAI SET @ENTRY := 46596; @@ -376,21 +437,23 @@ 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, 37, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On AI initialize - Self: Set walk // "), -(@ENTRY, 0, 1, 0, 8, 0, 100, 0, 86843, 0, 0, 0, 80, 4659600, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4659600 // "); +(@ENTRY, 0, 1, 0, 8, 0, 100, 1, 86843, 0, 0, 0, 80, 4659600, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4659600 // "); -- TimedActionList 4659600 SAI SET @ENTRY := 4659600; DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9; INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES (@ENTRY, 9, 0, 0, 0, 0, 100, 1, 17000, 17000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8935.14, -2234.49, 9.00222, 0, "When in combat and timer at the begining between 17000 and 17000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8935.14, -2234.49, 9.00222, 0) (point id 0) // "), -(@ENTRY, 9, 1, 0, 0, 0, 100, 0, 19500, 19500, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8939.94, -2211.02, 9.00196, 0, "When in combat and timer at the begining between 19500 and 19500 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8939.94, -2211.02, 9.00196, 0) (point id 0) // "); +(@ENTRY, 9, 1, 0, 0, 0, 100, 0, 19500, 19500, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8939.94, -2211.02, 9.00196, 0, "When in combat and timer at the begining between 19500 and 19500 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8939.94, -2211.02, 9.00196, 0) (point id 0) // "), +(@ENTRY, 9, 2, 0, 0, 0, 100, 1, 11000, 11000, 0, 0, 11, 86997, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 11000 and 11000 ms (and later repeats every 0 and 0 ms) - Self: Cast spell Teleport Caravan (86997) on Self // "), +(@ENTRY, 9, 3, 0, 0, 0, 100, 1, 8000, 8000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, -8966.66, -1627.04, 94.5783, 0, "When in combat and timer at the begining between 8000 and 8000 ms (and later repeats every 0 and 0 ms) - Self: Move to position (-8966.66, -1627.04, 94.5783, 0) (point id 0) // "); -- Creature Budd 46539 SAI SET @ENTRY := 46539; UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`= @ENTRY; DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES -(@ENTRY, 0, 0, 0, 8, 0, 100, 0, 86843, 0, 0, 0, 80, 4653900, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4653900 // "); +(@ENTRY, 0, 0, 0, 8, 0, 100, 1, 86843, 0, 0, 0, 80, 4653900, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Ping All Actors 00 (86843) hit - Start timed action list id #4653900 // "); -- TimedActionList 4653900 SAI SET @ENTRY := 4653900; diff --git a/src/server/scripts/Kalimdor/zone_uldum.cpp b/src/server/scripts/Kalimdor/zone_uldum.cpp index a5c0116833..044d96215d 100644 --- a/src/server/scripts/Kalimdor/zone_uldum.cpp +++ b/src/server/scripts/Kalimdor/zone_uldum.cpp @@ -45,7 +45,8 @@ enum UldumIntro SPELL_SUMMON_ADARRAHS_CAMEL = 86758, SPELL_SUMMON_CLONED_IMAGE = 86782, SPELL_SUMMON_BEAM_TARGET_BUNNY = 86942, - SPELL_SUMMON_BEAM_TARGET_BUNNY_02 = 86964 + SPELL_SUMMON_BEAM_TARGET_BUNNY_02 = 86964, + SPELL_SUMMON_SKARF = 87012, }; // 86748 - Intialize Uldum Intro @@ -134,6 +135,27 @@ class spell_uldum_master_summon_beam_target_02 : public SpellScript } }; +// 87010 - Master Summon Skarf +class spell_uldum_master_summon_skarf : public SpellScript +{ + PrepareSpellScript(spell_uldum_master_summon_skarf); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_SUMMON_SKARF }); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + GetHitUnit()->CastSpell(GetHitUnit(), SPELL_SUMMON_SKARF, true); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_uldum_master_summon_skarf::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + // 95747 - Player Summon Camera class spell_uldum_player_summon_camera : public SpellScript { @@ -167,9 +189,11 @@ enum UldumCameraBunny SPELL_REVERSE_CAST_RIDE_VEHICLE = 82721, SPELL_REVERSE_CAST_RIDE_SEAT_2 = 82315, SPELL_REVERSE_CAST_RIDE_CAMERA_BUNNY_SEAT_3 = 84301, + SPELL_REVERSE_CAST_RIDE_CAMERA_BUNNY_SEAT_4 = 84318, SPELL_FADE_TO_BLACK = 88267, SPELL_TELEPORT_CAMERA = 86952, SPELL_MASTER_SUMMON_BEAM_TARGET_02 = 86960, + SPELL_MASTER_SUMMON_SKARF = 87010, // Events EVENT_MOVE_PATH_1 = 1, @@ -177,14 +201,20 @@ enum UldumCameraBunny EVENT_FADE_TO_BLACK_1 = 3, EVENT_TELEPORT_CAMERA_1 = 4, EVENT_TARGET_BEAM_BUNNY_2 = 5, + EVENT_TARGET_SKARF = 6, + EVENT_TARGET_CLONED_IMAGE = 7, + EVENT_MOVE_ARROUND_CARAVAN = 8, // Move Points POINT_NONE = 0, + POINT_FOCUS_CLONED_IMAGE = 1, + POINT_SUMMON_AMBUSH = 2, // Spline Chains SPLINE_CHAIN_ID_CAMERA_PATH_1 = 1, // Uldum Camera Bunny 04 - Move behind next to the caravan SPLINE_CHAIN_ID_CAMERA_PATH_2 = 2, // Uldum Camera Bunny 04 - Move behind the caravan SPLINE_CHAIN_ID_CAMERA_PATH_3 = 3, // Uldum Camera Bunny 04 - Move along the statue + SPLINE_CHAIN_ID_CAMERA_PATH_4 = 4, // Uldum Camera Bunny 04 - Move behind the caravan SPLINE_CHAIN_ID_BEAM_TARGET_PATH_1 = 1, // Beam Target Bunny - Move up SPLINE_CHAIN_ID_BEAM_TARGET_2_PATH_1 = 1, // Beam Target Bunny 02 - Move down @@ -217,6 +247,7 @@ struct npc_uldum_uldum_camera_bunny_04 : public ScriptedAI case SPELL_PING_CAMERA_00: if (_pingCount == PING_INDEX_PING_ALL_ACTORS) { + _clonedImageGUID = caster->GetGUID(); DoCast(caster, SPELL_INVISIBLE_BEAM); DoCastSelf(SPELL_REVERSE_CAST_RIDE_VEHICLE, true); DoCastSelf(SPELL_MASTER_PING_ALL_ACTORS, true); @@ -235,7 +266,7 @@ struct npc_uldum_uldum_camera_bunny_04 : public ScriptedAI _events.ScheduleEvent(EVENT_FADE_TO_BLACK_1, 8s + 500ms); break; case SPELL_PING_CAMERA_02: - _cameraBunnyGUID = caster->GetGUID(); + _beamBunnyGUID = caster->GetGUID(); _events.ScheduleEvent(EVENT_TARGET_BEAM_BUNNY_2, 1s + 500ms); break; default: @@ -249,6 +280,29 @@ struct npc_uldum_uldum_camera_bunny_04 : public ScriptedAI target->CastSpell(me, SPELL_PING_CAMERA_01, true); } + void MovementInform(uint32 motionType, uint32 pointId) override + { + if (motionType != SPLINE_CHAIN_MOTION_TYPE) + return; + + switch (pointId) + { + case POINT_FOCUS_CLONED_IMAGE: + if (Creature* image = ObjectAccessor::GetCreature(*me, _clonedImageGUID)) + { + me->CastStop(); + DoCast(image, SPELL_INVISIBLE_BEAM, true); + me->GetMotionMaster()->MoveAlongSplineChain(POINT_SUMMON_AMBUSH, SPLINE_CHAIN_ID_CAMERA_PATH_4, false); + } + break; + case POINT_SUMMON_AMBUSH: + DoCastSelf(SPELL_MASTER_SUMMON_SKARF, true); + break; + default: + break; + } + } + void UpdateAI(uint32 diff) override { _events.Update(diff); @@ -277,14 +331,74 @@ struct npc_uldum_uldum_camera_bunny_04 : public ScriptedAI DoCastSelf(SPELL_MASTER_PING_ALL_ACTORS, true); break; case EVENT_TARGET_BEAM_BUNNY_2: - if (Creature* bunny = ObjectAccessor::GetCreature(*me, _cameraBunnyGUID)) + if (Creature* bunny = ObjectAccessor::GetCreature(*me, _beamBunnyGUID)) { DoCastSelf(SPELL_REVERSE_CAST_RIDE_CAMERA_BUNNY_SEAT_3, true); DoCast(bunny, SPELL_INVISIBLE_BEAM, true); - me->GetMotionMaster()->MoveAlongSplineChain(POINT_NONE, SPLINE_CHAIN_ID_CAMERA_PATH_3, false); + me->GetMotionMaster()->MoveAlongSplineChain(POINT_FOCUS_CLONED_IMAGE, SPLINE_CHAIN_ID_CAMERA_PATH_3, false); bunny->GetMotionMaster()->MoveAlongSplineChain(POINT_NONE, SPLINE_CHAIN_ID_BEAM_TARGET_2_PATH_1, false); } break; + case EVENT_TARGET_CLONED_IMAGE: + if (Creature* image = ObjectAccessor::GetCreature(*me, _clonedImageGUID)) + { + me->CastStop(); + DoCast(image, SPELL_INVISIBLE_BEAM, true); + } + _events.ScheduleEvent(EVENT_MOVE_ARROUND_CARAVAN, 6s); + break; + case EVENT_MOVE_ARROUND_CARAVAN: + DoCastSelf(SPELL_REVERSE_CAST_RIDE_CAMERA_BUNNY_SEAT_3, true); + if (Creature* image = ObjectAccessor::GetCreature(*me, _clonedImageGUID)) + { + me->CastStop(); + DoCast(image, SPELL_INVISIBLE_BEAM, true); + } + break; + default: + break; + } + } + } + +private: + EventMap _events; + uint8 _pingCount; + ObjectGuid _beamBunnyGUID; + ObjectGuid _clonedImageGUID; +}; + +struct npc_uldum_uldum_skarf : public ScriptedAI +{ + npc_uldum_uldum_skarf(Creature* creature) : ScriptedAI(creature) { } + + void Reset() override + { + _events.ScheduleEvent(EVENT_TARGET_SKARF, 2s); + } + + void UpdateAI(uint32 diff) override + { + _events.Update(diff); + + while (uint32 eventId = _events.ExecuteEvent()) + { + switch (eventId) + { + case EVENT_TARGET_SKARF: + if (TempSummon* summon = me->ToTempSummon()) + { + if (Unit* summoner = summon->GetSummoner()) + { + if (Creature* vehicle = summoner->GetVehicleCreatureBase()) + { + vehicle->CastStop(); + vehicle->CastSpell(me, SPELL_INVISIBLE_BEAM, true); + vehicle->CastSpell(vehicle, SPELL_REVERSE_CAST_RIDE_CAMERA_BUNNY_SEAT_4, true); + } + } + } + break; default: break; } @@ -292,9 +406,7 @@ struct npc_uldum_uldum_camera_bunny_04 : public ScriptedAI } private: - uint8 _pingCount; EventMap _events; - ObjectGuid _cameraBunnyGUID; }; // Gobbles! Quest @@ -348,9 +460,11 @@ class spell_summon_schnottz : public SpellScript void AddSC_uldum() { RegisterCreatureAI(npc_uldum_uldum_camera_bunny_04); + RegisterCreatureAI(npc_uldum_uldum_skarf); RegisterSpellScript(spell_uldum_initialize_uldum_intro); RegisterSpellScript(spell_uldum_master_ping_all_actors); RegisterSpellScript(spell_uldum_master_summon_beam_target_02); + RegisterSpellScript(spell_uldum_master_summon_skarf); RegisterSpellScript(spell_uldum_player_summon_camera); RegisterSpellScript(spell_gobbles_initialize); RegisterSpellScript(spell_summon_schnottz);