Gultask / Research-Wotlk

1 stars 0 forks source link

[TBC] Escape From Durnholde #2

Open Gultask opened 1 year ago

Gultask commented 1 year ago

This mainly concerns the RP events surrounding Old Southshore and Old Tarren Mill. Search through my PRs related to Southshore or Durnholde to find the RP events I've implemented. Those I already deleted the script outlining it πŸ™ˆ

Feel free to copy over my fixes if you need them. They were my first try doing Actionlists so some are pretty so-so, although functional. I give all permissions necessary.

Scarlet Children

Sally Whitemane, Little Jimmy Vishnas, Renault Mograine. Sally is the leader. Renault follows at 90 angle and Jimmy at 180.

These three run waypoints around Southshore and occasionally stop to run an event. This event is outlined below:

-- Pause for 4s -- 17:03:18.440 Text: STOP! Intruders are in the castle! (Sally) -- 17:03:22.252 Spawn Critter -- 17:03:23.056 All face Critter -- 17:03:24.489 Text: So you thought you could break into this palace of the Light and run away with our secrets! Vishas, interrogate this criminal at once! (Sally) -- 17:03:30.570 Text: My pleasure, milady! (Vishnas) -- 17:03:35.418 Text: Tell me everything, scum! Tell me or I'll rip the secrets from your flesh! (Vishnas) -- 17:03:41.226 Vishnas Face Sally -- 17:03:42.675 Text: It isn't talking, milady. I know it holds secrets! Naughty secrets! -- 17:03:48.503 Sally face Mograine -- 17:03:49.942 Text: My champion, destroy this monster! (Sally) -- 17:03:57.223 Text: The infidel shall be purified, milady! (Mograine) -- 17:04:00.853 Text: ARGH! It has struck a fatal blow! I have failed you... (Mograine) -- 17:04:00.853 Text: %s staggers about as if he were mortally wounded. (Mograine) -- 17:04:05.686 Text: Mograine has fallen! You shall pay for this treachery! Arise, my champion! Arise! (Sally) -- 17:04:05.686 Text: %s pretends to cast a healing spell on Renault. (Sally) -- 17:04:11.775 Text: At your side, milady! (Mograine) -- 17:04:16.550 Text: We will attack as one! (Sally) -- 17:04:19.997 All face Critter -- 17:04:21.605 Critter cast 35137 on Self (hack) -- 17:04:21.615 Critter cast 31261 on Self -- 17:04:23.852 Text: The children cheer. (Sally) -- 17:04:23.852 Text: We are victorious! (Sally) -- 17:04:30.905 Resume

Thus this would require hours-long sniff to verify. Possibly overnight sniff.

Kel'Thuzad and Helcular Critter Resurrection

Once the Captured Critter from the Scarlet Children is dead, Kel'Thuzad can walk towards its corpse to start an event.

https://youtu.be/RZYuZemG_e8

The event has been sniffed but not outlined yet.

This event, in my opinion, gives more strength to Hypothesis 2 of the Scarlet Children event.

Gultask commented 1 year ago

Lieutenant Drake

Lieutenant Drake spawn POS
[0] Position: X: 2172.7595 Y: 149.54231 Z: 87.9812
[0] Orientation: 4.191034317016601562
Lieutenant Drake Path 0
(@PATH,1,2145.6123,124.77572,76.18501,NULL,0,0,0,100,0),
(@PATH,2,2146.5122,117.58604,76.04292,NULL,0,0,0,100,0),
(@PATH,3,2148.4314,101.62945,73.041336,NULL,0,0,0,100,0),
(@PATH,4,2151.864,88.83778,69.48506,NULL,0,0,0,100,0),
(@PATH,5,2149.0708,83.53852,69.1086,NULL,0,0,0,100,0),
(@PATH,6,2142.1206,79.21365,68.06233,NULL,0,0,0,100,0),
(@PATH,7,2132.0854,73.20009,64.77117,NULL,0,0,0,100,0),
(@PATH,8,2128.2366,71.17936,64.41205,NULL,0,0,0,100,0),
Lieutenant Drake Path 1
(@PATH,9,2125.2478,89.376305,54.71777,NULL,0,0,0,100,0),
(@PATH,10,2119.832,93.372505,52.565914,NULL,0,0,0,100,0),
(@PATH,11,2113.8572,93.34234,52.590572,NULL,0,0,0,100,0),
Lieutenant Drake Path 2
(@PATH,11,2113.8572,93.34234,52.590572,NULL,0,0,0,100,0),
(@PATH,12,2111.2415,103.42893,52.565914,NULL,0,0,0,100,0),
(@PATH,13,2109.1719,113.15994,52.90283,NULL,0,0,0,100,0),
(@PATH,14,2107.6462,126.1786,52.565914,NULL,0,0,0,100,0),
(@PATH,15,2107.979,138.13727,52.546013,NULL,0,0,0,100,0),
(@PATH,16,2112.6594,153.49968,52.56591,NULL,0,0,0,100,0),
(@PATH,17,2120.5117,168.8968,52.81591,NULL,0,0,0,100,0),
(@PATH,18,2124.643,175.81912,52.92492,NULL,0,0,0,100,0),
(@PATH,19,2128.9448,182.75977,53.179924,NULL,0,0,0,100,0),
(@PATH,20,2138.4214,195.35818,52.565907,NULL,0,0,0,100,0),
(@PATH,21,2147.3398,204.56651,52.92638,NULL,0,0,0,100,0),
(@PATH,22,2160.0496,214.06728,52.56542,NULL,0,0,0,100,0),
(@PATH,23,2172.4766,224.48166,52.56554,NULL,0,0,0,100,0),
(@PATH,24,2179.8486,230.77225,52.565907,NULL,0,0,0,100,0),
(@PATH,25,2172.4766,224.48166,52.56554,NULL,0,0,0,100,0),
(@PATH,26,2160.0496,214.06728,52.56542,NULL,0,0,0,100,0),
(@PATH,27,2147.3398,204.56651,52.92638,NULL,0,0,0,100,0),
(@PATH,28,2138.4214,195.35818,52.565907,NULL,0,0,0,100,0),
(@PATH,29,2128.9448,182.75977,53.179924,NULL,0,0,0,100,0),
(@PATH,30,2124.643,175.81912,52.92492,NULL,0,0,0,100,0),
(@PATH,31,2120.5117,168.8968,52.81591,NULL,0,0,0,100,0),
(@PATH,32,2112.6594,153.49968,52.56591,NULL,0,0,0,100,0),
(@PATH,33,2107.979,138.13727,52.546013,NULL,0,0,0,100,0),
(@PATH,34,2107.6462,126.1786,52.565914,NULL,0,0,0,100,0),
(@PATH,35,2109.1719,113.15994,52.90283,NULL,0,0,0,100,0),
(@PATH,36,2111.2415,103.42893,52.565914,NULL,0,0,0,100,0),

19:46:45.469 Last Barrel set ablaze 19:46:56.503 Lieutenant Drake spawns 19:46:58.117 Lieutenant Drake starts running Path 0 19:47:03.384 Quest Completed On Path 0 Finished: Play Sound 10428, Emote 25 (Text) Text: You there, fetch water quickly! Get these flames out before they spread to the rest of the keep! Hurry, damn you! (Yell/14) Waypoint resumes after 400ms, but around 1200ms would be more visually pleasing. Starts Path 1 running On Path 1 ended: Start Path 2 walking, repeating

Gultask commented 1 year ago

Thrall

Summon Group 0 Entry: 17819 [0] Position: X: 2142.372 Y: 174.2907 Z: 66.30494 [0] Orientation: 2.565634012222290039 Entry: 17819 [1] Position: X: 2138.1775 Y: 168.6046 Z: 66.30494 [1] Orientation: 2.478367567062377929 Entry: 17860 [2] Position: X: 2140.1458 Y: 169.23643 Z: 66.30494 [2] Orientation: 2.49582076072692871 Entry: 17860 [3] Position: X: 2107.9377 Y: 192.0753 Z: 66.30494 [3] Orientation: 2.548180580139160156 Entry: 17860 [4] Position: X: 2112.3872 Y: 195.49469 Z: 66.30494 [4] Orientation: 2.39110112190246582 Entry: 18934 [6] Position: X: 2142.3633 Y: 172.426 Z: 66.30494 [6] Orientation: 2.548180580139160156 Entry: 18934 [7] Position: X: 2109.8518 Y: 195.1403 Z: 66.30493 [7] Orientation: 2.426007747650146484 Entry: 18934 [8] Position: X: 2108.4856 Y: 189.93457 Z: 66.30494 [8] Orientation: 2.687807083129882812
Summon Group 1 Entry: 17819 [1] Position: X: 2185.916 Y: 140.38835 Z: 88.299866 [1] Orientation: 5.923875808715820312 [1] [0] Points: X: 2179.8608 Y: 142.66277 Z: 88.38722 [1] [1] Points: X: 2185.916 Y: 140.38835 Z: 88.299866 [1] [2] Points: X: 2191.9712 Y: 138.11394 Z: 88.21251 Entry: 17833 [3] Position: X: 2188.5586 Y: 138.88553 Z: 88.299866 [3] Orientation: 1.603175520896911621 [3] [0] Points: X: 2188.6104 Y: 137.2876 Z: 88.21251 [3] [1] Points: X: 2188.5586 Y: 138.88553 Z: 88.21251 [3] [2] Points: X: 2188.5068 Y: 140.48346 Z: 88.21251 Entry: 17860 [5] Position: X: 2186.9856 Y: 142.199 Z: 88.299866 [5] Orientation: 5.904978275299072265 [5] [0] Points: X: 2183.4912 Y: 143.58745 Z: 88.21251 [5] [1] Points: X: 2186.9856 Y: 142.199 Z: 88.21251 [5] [2] Points: X: 2190.48 Y: 140.81056 Z: 88.21251 Entry: 18934 [9] Position: X: 2189.7336 Y: 140.64551 Z: 88.299866 [9] Orientation: 3.953257083892822265 [9] [0] Points: X: 2191.6638 Y: 142.67984 Z: 88.21251 [9] [1] Points: X: 2189.7336 Y: 140.64551 Z: 88.21251 [9] [2] Points: X: 2187.8035 Y: 138.61118 Z: 88.21251
Summon Group 2 Entry: 17833 [2] Position: X: 2149.4634 Y: 104.97559 Z: 73.632385 [2] Orientation: 1.906598210334777832 [2] [0] Points: X: 2149.792 Y: 104.0332 Z: 73.274 [2] [1] Points: X: 2149.463 Y: 104.97656 Z: 73.524 [2] [2] Points: X: 2149.1338 Y: 105.91992 Z: 73.774 [2] [3] Points: X: 2148.8047 Y: 106.86328 Z: 74.149 [2] [4] Points: X: 2148.1465 Y: 108.75 Z: 74.649 [2] [5] Points: X: 2147.4883 Y: 110.63672 Z: 75.149 [2] [6] Points: X: 2146.83 Y: 112.52344 Z: 75.649 [2] [7] Points: X: 2145.5137 Y: 116.296875 Z: 75.899 [2] [8] Points: X: 2144.9893 Y: 117.81233 Z: 75.98518 Entry: 17860 [4] Position: X: 2147.3281 Y: 106.72353 Z: 74.34447 [4] Orientation: 1.690407633781433105 [4] [0] Points: X: 2147.4473 Y: 105.73222 Z: 74.16493 [4] [1] Points: X: 2147.3281 Y: 106.72353 Z: 74.34447 [4] [2] Points: X: 2147.209 Y: 107.71484 Z: 74.524 [4] [3] Points: X: 2147.0898 Y: 108.70703 Z: 74.774 [4] [4] Points: X: 2146.8516 Y: 110.69141 Z: 75.274 [4] [5] Points: X: 2146.6133 Y: 112.67578 Z: 75.649 [4] [6] Points: X: 2146.2559 Y: 115.65234 Z: 75.899 [4] [7] Points: X: 2145.6602 Y: 120.61328 Z: 76.149 [4] [8] Points: X: 2145.2092 Y: 124.361 Z: 76.13655 Entry: 17860 [6] Position: X: 2149.212 Y: 107.20052 Z: 74.15676 [6] Orientation: 1.988757491111755371 [6] [0] Points: X: 2149.6182 Y: 106.28711 Z: 73.649 [6] [1] Points: X: 2149.212 Y: 107.20117 Z: 74.024 [6] [2] Points: X: 2148.8057 Y: 108.115234 Z: 74.399 [6] [3] Points: X: 2148.3994 Y: 109.0293 Z: 74.649 [6] [4] Points: X: 2147.587 Y: 110.85742 Z: 75.149 [6] [5] Points: X: 2146.7744 Y: 112.68555 Z: 75.649 [6] [6] Points: X: 2145.5557 Y: 115.427734 Z: 75.899 [6] [7] Points: X: 2143.7898 Y: 119.41281 Z: 75.96626 Entry: 18934 [9] Position: X: 2147.624 Y: 104.61046 Z: 73.909294 [9] Orientation: 1.618663191795349121 [9] [0] Points: X: 2147.6719 Y: 103.61328 Z: 73.649 [9] [1] Points: X: 2147.624 Y: 104.61133 Z: 73.899 [9] [2] Points: X: 2147.5762 Y: 105.609375 Z: 74.149 [9] [3] Points: X: 2147.4805 Y: 107.60547 Z: 74.524 [9] [4] Points: X: 2147.4326 Y: 108.603516 Z: 74.774 [9] [5] Points: X: 2147.337 Y: 110.59961 Z: 75.149 [9] [6] Points: X: 2147.2412 Y: 112.5957 Z: 75.524 [9] [7] Points: X: 2147.1934 Y: 113.59375 Z: 75.774 [9] [8] Points: X: 2147.002 Y: 117.58594 Z: 76.024 [9] [9] Points: X: 2146.975 Y: 118.05078 Z: 76.098465
Summon Group 3 (Skarloc) Entry: 17862 [0] Position: X: 1996.652 Y: 276.352 Z: 66.64184 [0] Orientation: 6.18334197998046875 [0] [0] Points: X: 1991.676 Y: 276.85046 Z: 66.80083 [0] [1] Points: X: 1996.652 Y: 276.352 Z: 66.64184 [0] [2] Points: X: 2001.6279 Y: 275.85352 Z: 66.48285 [0] [3] Points: X: 2002.623 Y: 275.7539 Z: 66.23285 [0] [4] Points: X: 2005.6084 Y: 275.45508 Z: 65.98285 [0] [5] Points: X: 2007.5986 Y: 275.25586 Z: 65.73285 [0] [6] Points: X: 2009.5889 Y: 275.05664 Z: 65.48285 [0] [7] Points: X: 2011.5791 Y: 274.85742 Z: 65.23285 [0] [8] Points: X: 2015.5596 Y: 274.45898 Z: 64.98285 [0] [9] Points: X: 2018.5449 Y: 274.16016 Z: 64.73285 [0] [10] Points: X: 2021.5303 Y: 273.86133 Z: 64.48285 [0] [11] Points: X: 2024.5156 Y: 273.5625 Z: 64.23285 [0] [12] Points: X: 2027.7712 Y: 273.25977 Z: 64.191345 After 400ms, Skarloc summons: Entry: 17833 [0] Position: X: 1999.9615 Y: 274.85638 Z: 66.63395 [0] Orientation: 0.210615709424018859 Follows at 90ΒΊ from Skarloc and at ~4y Entry: 17860 [1] Position: X: 1998.6249 Y: 276.6498 Z: 66.4638 [1] Orientation: 5.946602821350097656 Follows at 270ΒΊ from Skarloc and at ~4y Skarloc Path 1 (@PATH,1,2050.0286,249.96962,63.031303,NULL,0,0,0,100,0), (@PATH,2,2059.8994,234.25934,64.108086,NULL,0,0,0,100,0), (@PATH,3,2060.9944,232.49254,64.32416,NULL,0,0,0,100,0),
Summon Group 4 (Barn) Summoned with flags IMMUNE_TO_PC & IMMUNE_TO_NPC (256 + 512) Waypoints are started by the script below. Entry: 23175 [0] Position: X: 2500.0908 Y: 699.9389 Z: 55.629555 [0] Orientation: 4.293509960174560546 (@PATH,1,2498.1045,695.5946,55.63158,NULL,0,0,0,100,0), (@PATH,2,2495.6223,694.5012,55.63158,NULL,0,0,0,100,0), (@PATH,3,2492.622,693.5881,55.699432,NULL,0,0,0,100,0), (@PATH,4,2490.3777,695.98254,55.72346,NULL,0,0,0,100,0), (@PATH,5,2490.0405,699.02325,55.73774,NULL,0,0,0,100,0), (@PATH,6,2489.702,702.07544,55.759163,NULL,0,0,0,100,0), (@PATH,7,2489.3306,702.90985,55.765854,NULL,0,0,0,100,0), (@PATH,8,2488.1714,702.7047,55.77027,NULL,0,0,0,100,0), Entry: 23177 -- Talker [1] Position: X: 2500.7002 Y: 698.26746 Z: 55.618248 [1] Orientation: 3.735004663467407226 (@PATH,1,2495.4795,694.95447,55.63158,NULL,0,0,0,100,0), (@PATH,2,2491.4536,694.1376,55.70895,NULL,0,0,0,100,0), (@PATH,3,2490.363,703.972,55.764732,NULL,0,0,0,100,0), Entry: 23177 [2] Position: X: 2499.0579 Y: 698.99725 Z: 55.611156 [2] Orientation: 4.572762489318847656 (@PATH,1,2496.374,695.5221,55.63158,NULL,0,0,0,100,0), (@PATH,2,2493.9353,694.89294,55.699627,NULL,0,0,0,100,0), (@PATH,3,2490.935,693.97974,55.711452,NULL,0,0,0,100,0), (@PATH,4,2491.0732,697.56885,55.724335,NULL,0,0,0,100,0), (@PATH,5,2490.736,700.60956,55.741653,NULL,0,0,0,100,0), (@PATH,6,2490.3975,703.66174,55.76295,NULL,0,0,0,100,0), (@PATH,7,2487.7026,703.5013,55.777214,NULL,0,0,0,100,0), Entry: 23179 [3] Position: X: 2501.5708 Y: 699.38086 Z: 55.64138 [3] Orientation: 3.857177734375 (@PATH,1,2497.1765,697.05707,55.63158,NULL,0,0,0,100,0), (@PATH,2,2495.118,696.15826,55.63158,NULL,0,0,0,100,0), (@PATH,3,2492.1177,695.24506,55.70963,NULL,0,0,0,100,0), (@PATH,4,2492.099,696.17346,55.713726,NULL,0,0,0,100,0), (@PATH,5,2491.762,699.2142,55.728592,NULL,0,0,0,100,0), (@PATH,6,2491.4233,702.26636,55.751934,NULL,0,0,0,100,0), (@PATH,7,2489.0288,704.6154,55.77536,NULL,0,0,0,100,0), (@PATH,8,2487.8696,704.4103,55.780678,NULL,0,0,0,100,0), After 200ms [1] Text: I thought I saw something go into the barn. (12)
Summon Group 5 (Chapel) Entry: 23176 [1] Position: X: 2631.074 Y: 660.13293 Z: 54.6043 [1] Orientation: 4.347281932830810546 Entry: 23178 [2] Position: X: 2630.3386 Y: 657.8673 Z: 55.627464 [2] Orientation: 4.342340469360351562 Entry: 23178 [3] Position: X: 2628.3704 Y: 658.50586 Z: 55.643368 [3] Orientation: 4.426716804504394531 Entry: 23180 [4] Position: X: 2629.1086 Y: 660.7871 Z: 54.613434 [4] Orientation: 4.424297332763671875 [2] Immediately Says: Text: Thrall's trapped himself in the chapel. He can't escape now. (12)
Summon Group 6 (Inn) Entry: 18092 [1] Position: X: 2649.9207 Y: 657.50323 Z: 62.013393 [1] Orientation: 1.353643298149108886 Entry: 18093 [2] Position: X: 2657.9875 Y: 662.286 Z: 62.013393 [2] Orientation: 2.067919254302978515 Entry: 18094 [3] Position: X: 2646.6533 Y: 659.1583 Z: 62.013393 [3] Orientation: 1.094726443290710449 Entry: 18094 [4] Position: X: 2656.4214 Y: 659.76337 Z: 62.013393 [4] Orientation: 2.39110112190246582 [3] Says on spawn: Text: He's here, stop him!
Summon Group 7 (Epoch Hunter 1st Wave) Entry: 18092 [0] Position: X: 2630.2979 Y: 705.3433 Z: 56.33664 [0] Orientation: 4.789629459381103515 [0] [0] Points: X: 2629.452 Y: 716.2737 Z: 56.557144 [0] [1] Points: X: 2630.2979 Y: 705.3433 Z: 56.33664 [0] [2] Points: X: 2631.1438 Y: 694.41296 Z: 56.116135 Entry: 18093 [1] Position: X: 2654.1365 Y: 698.68353 Z: 57.62938 [1] Orientation: 3.226241588592529296 [1] [0] Points: X: 2655.691 Y: 698.8154 Z: 57.72672 [1] [1] Points: X: 2654.1365 Y: 698.68353 Z: 57.62938 [1] [2] Points: X: 2652.582 Y: 698.55164 Z: 57.53204 [1] [3] Points: X: 2652.0505 Y: 698.57935 Z: 57.546978 [1] [4] Points: X: 2650.3071 Y: 698.67017 Z: 57.03365 [1] [5] Points: X: 2648.959 Y: 698.959 Z: 56.32398 [1] [6] Points: X: 2646.0469 Y: 698.2412 Z: 56.07398 [1] [7] Points: X: 2644.5452 Y: 697.86993 Z: 55.94898 Entry: 18094 [2] Position: X: 2639.0146 Y: 708.37976 Z: 56.156 [2] Orientation: 4.616436958312988281 [2] [0] Points: X: 2639.8496 Y: 717.0549 Z: 56.363018 [2] [1] Points: X: 2639.0146 Y: 708.37976 Z: 56.156 [2] [2] Points: X: 2638.1797 Y: 699.70465 Z: 55.94898 On their waypoints ended: Cast 33133 on self] 33133 (Transform) Update Template from -> to 18092 -> 18170 18093 -> 18172 18094 -> 18171
Summon Group 8 (Epoch Hunter 2nd Wave) Entry: 18170 [2] Position: X: 2602.8 Y: 686.2845 Z: 55.79315 [2] Orientation: 5.951572895050048828 Entry: 18171 [3] Position: X: 2595.477 Y: 684.37384 Z: 55.955338 [3] Orientation: 6.056292533874511718 Entry: 18172 [4] Position: X: 2602.2083 Y: 678.2955 Z: 56.346817 [4] Orientation: 6.0737457275390625
Summon Group 9 (Epoch Hunter Last Wave) Entry: 18170 [2] Position: X: 2645.7246 Y: 709.71533 Z: 56.69411 [2] Orientation: 4.380776405334472656 Entry: 18170 [3] Position: X: 2639.6406 Y: 710.5246 Z: 56.23582 [3] Orientation: 4.607669353485107421 Entry: 18171 [4] Position: X: 2646.2886 Y: 718.5257 Z: 57.90024 [4] Orientation: 4.328416347503662109 Entry: 18172 [5] Position: X: 2641.7878 Y: 719.71063 Z: 57.4023 [5] Orientation: 4.468042850494384765
Skarloc's Mount Path 0 (@PATH,1,2494.3225,599.8073,55.35293,NULL,0,0,0,100,0), (@PATH,2,2499.138,570.8774,54.261497,NULL,0,0,0,100,0), (@PATH,3,2502.895,558.7042,45.895084,NULL,0,0,0,100,0),
Taretha Path 0 (@PATH,1,2649.1167,664.9954,61.924274,NULL,0,0,0,100,0), (@PATH,2,2656.5642,678.38165,57.15865,NULL,0,0,0,100,0), (@PATH,3,2659.7334,676.71277,57.15864,NULL,0,0,0,100,0), (@PATH,4,2648.965,665.9824,57.158615,NULL,0,0,0,100,0), (@PATH,5,2639.4006,671.1351,54.640873,NULL,0,0,0,100,0),
Taretha Path 1 (@PATH,1,2639.655,689.469,55.270145,NULL,0,0,0,100,0), (@PATH,2,2640.3135,702.6589,56.008114,NULL,0,0,0,100,0), (@PATH,3,2635.322,714.20325,56.258114,NULL,0,0,0,100,0),
Thrall Path 0 (@PATH,1,2232.9407,107.68382,82.65513,NULL,0,0,0,100,0), (@PATH,2,2215.8599,116.83019,89.446884,NULL,0,0,0,100,0), (@PATH,3,2209.0264,103.60938,89.44688,NULL,0,0,0,100,0), (@PATH,4,2197.8035,109.45345,89.44688,NULL,0,0,0,100,0), (@PATH,5,2188.868,114.40332,89.446884,NULL,0,0,0,100,0),
Thrall Path 1 (@PATH,1,2193.7742,111.67763,89.44688,NULL,0,0,0,100,0), (@PATH,2,2208.5127,128.82205,87.94688,NULL,0,0,0,100,0), (@PATH,3,2180.1692,145.47646,88.21251,NULL,0,0,0,100,0), (@PATH,4,2160.9277,134.18164,83.18581,NULL,0,0,0,100,0), -- Summon Group 2 (@PATH,5,2152.8525,127.44141,78.49861,NULL,0,0,0,100,0), (@PATH,6,2143.6357,125.50022,75.95039,NULL,0,0,0,100,0), (@PATH,7,2139.8025,140.85515,71.41518,NULL,0,0,0,100,0), (@PATH,8,2145.9836,163.77333,65.095474,NULL,0,0,0,100,0), (@PATH,9,2136.8472,173.66623,66.826485,NULL,0,0,0,100,0), (@PATH,10,2121.3125,185.03407,69.11846,NULL,0,0,0,100,0), (@PATH,11,2097.8333,198.60916,65.30127,NULL,0,0,0,100,0), (@PATH,12,2080.3723,211.9082,64.95939,NULL,0,0,0,100,0), -- Summon Group 3 (@PATH,13,2063.0425,229.17654,64.46248,NULL,0,0,0,100,0), (@PATH,14,2060.5522,230.79367,64.41372,NULL,0,0,0,100,0), (@PATH,15,2060.5522,230.79367,64.41372,NULL,0,0,0,100,0),
Thrall Path 2 X: 2060.8296 Y: 232.79189 Z: 64.41766 X: 2059.0796 Y: 235.29189 Z: 64.16766 X: 2056.8296 Y: 238.54189 Z: 63.917667 X: 2055.0796 Y: 240.79189 Z: 63.667667 X: 2053.0796 Y: 244.04189 Z: 63.667667 X: 2049.8296 Y: 249.04189 Z: 63.417667 O: 5.235987663269042968
Thrall Path 3 (@PATH,1,2034.3387,272.43912,63.697266,NULL,0,0,0,100,0), (@PATH,2,2001.0026,283.85364,66.23297,NULL,0,0,0,100,0), (@PATH,3,2025.5603,326.64444,66.1958,NULL,0,0,0,100,0), (@PATH,4,2048.9814,370.19327,66.07941,NULL,0,0,0,100,0), (@PATH,5,2069.5254,415.4682,66.152565,NULL,0,0,0,100,0), (@PATH,6,2084.763,461.4977,66.10451,NULL,0,0,0,100,0), (@PATH,7,2106.7715,504.5486,60.614906,NULL,0,0,0,100,0), (@PATH,8,2140.057,539.7758,53.531483,NULL,0,0,0,100,0), (@PATH,9,2162.9114,570.4435,45.79775,NULL,0,0,0,100,0), (@PATH,10,2172.2168,618.90204,37.67437,NULL,0,0,0,100,0), (@PATH,11,2175.4136,641.25226,33.90412,NULL,0,0,0,100,0), (@PATH,12,2183.2444,670.6356,33.97457,NULL,0,0,0,100,0), (@PATH,13,2206.7988,666.0879,36.375168,NULL,0,0,0,100,0), (@PATH,14,2239.8643,629.9121,37.058186,NULL,0,0,0,100,0), (@PATH,15,2265.591,587.5455,40.660194,NULL,0,0,0,100,0), (@PATH,16,2294.7498,547.2144,39.012074,NULL,0,0,0,100,0), (@PATH,17,2339.0718,528.21497,40.931202,NULL,0,0,0,100,0), (@PATH,18,2388.3496,523.9132,39.831806,NULL,0,0,0,100,0), (@PATH,19,2437.737,521.23425,43.556496,NULL,0,0,0,100,0), (@PATH,20,2482.7017,542.7182,48.377625,NULL,0,0,0,100,0), (@PATH,21,2483.695,590.4017,56.892235,NULL,0,0,0,100,0), (@PATH,22,2486.8828,624.26953,58.02487,NULL,0,0,0,100,0),
Thrall Path 4 (@PATH,1,2488.8918,658.01294,57.46025,NULL,0,0,0,100,0), (@PATH,2,2500.806,684.1419,55.7429,NULL,0,0,0,100,0), (@PATH,3,2501.0095,694.20874,55.6179,NULL,0,0,0,100,0), (@PATH,4,2491.6675,694.55133,55.709415,NULL,0,0,0,100,0),
Thrall Path 5 (@PATH,1,2490.9133,703.16986,55.757595,NULL,0,0,0,100,0), (@PATH,2,2486.217,703.2291,55.78091,NULL,0,0,0,100,0), (@PATH,3,2481.8752,697.898,55.78235,NULL,0,0,0,100,0),
Thrall Path 6 (@PATH,1,2475.9414,695.6856,55.7991,NULL,0,0,0,100,0),
Thrall Path 7 (@PATH,1,2490.852,701.3779,55.749493,NULL,0,0,0,100,0), (@PATH,2,2502.0981,691.1873,55.6179,NULL,0,0,0,100,0), (@PATH,3,2515.387,668.5364,55.208965,NULL,0,0,0,100,0), (@PATH,4,2544.164,663.2996,56.635296,NULL,0,0,0,100,0), (@PATH,5,2578.6667,656.2806,55.682545,NULL,0,0,0,100,0), (@PATH,6,2614.0464,663.0141,55.52556,NULL,0,0,0,100,0), (@PATH,7,2631.22,663.2077,54.398727,NULL,0,0,0,100,0), (@PATH,8,2621.4622,634.98505,56.018017,NULL,0,0,0,100,0),
Thrall Path 8 (@PATH,1,2627.2292,651.73047,56.018024,NULL,0,0,0,100,0), (@PATH,2,2634.081,673.42175,54.572147,NULL,0,0,0,100,0), (@PATH,3,2649.5442,665.39325,57.15862,NULL,0,0,0,100,0), (@PATH,4,2653.0952,668.7606,57.158646,NULL,0,0,0,100,0), (@PATH,5,2659.8813,675.0325,57.158646,NULL,0,0,0,100,0), (@PATH,6,2653.0027,671.4722,61.346615,NULL,0,0,0,100,0),
Thrall Path 9 (@PATH,1,2651.9387,665.7878,61.90751,NULL,0,0,0,100,0), (@PATH,2,2656.5718,661.57043,61.90947,NULL,0,0,0,100,0), (@PATH,3,2660.4854,659.4092,61.9234,NULL,0,0,0,100,0),
Thrall Path 10 (@PATH,1,2656.5718,661.57043,61.90947,NULL,0,0,0,100,0), (@PATH,2,2651.9387,665.7878,61.90751,NULL,0,0,0,100,0), (@PATH,3,2656.3335,677.86774,57.15865,NULL,0,0,0,100,0), (@PATH,4,2649.5864,665.65063,57.15862,NULL,0,0,0,100,0), (@PATH,5,2635.069,673.27954,54.57398,NULL,0,0,0,100,0),

19:50:57.541 Gossip Option 33364 Selected (GossipID: 7499)

19:50:57.760 Prison Door (184393) Opens Thrall NpcFlags set to 0 SummonGroup 0 Spawned

19:51:00.388 Play Music 10772 Thrall Play Sound 10465

19:51:00.631 Text: Very well then. Let's go! SlashCmd: 12 (MonsterSay)

19:51:01.609 Start Path 0, Running

On Path 0 Ended Durnholde Armorer stops waypoint Durnholde Armorer faces Thrall Wait 200ms Text: What's the meaning of this? GUARDS! Wait 600ms Emote 5 (OneShotExclamation) Wait 2000ms Thrall moves to melee range of the Armorer Thrall Casts 32890 on Armorer, Armorer gets aura 32890, StandState changed to 7, Rooted Wait 3000ms Text: That's enough out of him. Wait 2400ms Thrall go to X: 2182.11 Y: 120.328 Z: 89.44686 O: 2.670353651046752929 walking

On last point reached: 19:51:20.223 StandState set to 8 19:51:20.455 Text: As long as we're going with a new plan, I may as well pick up a weapon and some armor. 19:51:23.459 Update DisplayID to 18165 19:51:27.103 [0] (VirtualItems) [0] ItemID: 14880 19:51:29.534 [0] (VirtualItems) [1] ItemID: 1961 19:51:31.971 FaceDirection: 5.689773082733154296 19:51:31.971 Aura 33790 Applied to Thrall 19:51:31.971 Start Path 1 19:51:32.117 Text: Let's go. 19:51:33.983 Summon Group 1

On WP 4 reached in Path 1: Summon Group 2 (Starts WPs running)

On Path 1 Ended: Play Sound 10466, Emote 25 Text: A rider approaches. (12 (MonsterSay))

On Skarloc Finished his Path 0: Set MountDisplayID: 0 Set Run Speed to 8/7 Spawn Entry: 18798 [0] Position: X: 2047.7748 Y: 253.40875 Z: 62.91183 [0] Orientation: 5.375614166259765625 Walk Path 1

On Skarloc Finished his Path 1: Play Sound 10406, Emote ID: 1 Text: Thrall! You didn't really think you would escape, did you? You and your allies shall answer to Blackmoore... after I've had my fun. (12 (MonsterSay)) Wait 8000ms Remove unit_flags IMMUNE_TO_PC & IMMUNE_TO_NPC from himself and group Set AI Reaction of himself and group to Hostile

On Skarloc Death: Thrall Set npc_flags to 1 (Restore Gossip) Change gossip to GossipID: 7830

On GossipOptionID: 34372 Selected: Change gossip to GossipID: 7829

On GossipOptionID: 35171 Selected: Change gossip to GossipID: 7831

On GossipOptionID: 34362 Selected: Close Gossip Remove Gossip Flag Play Sound 10468 Text: Very well. Tarren Mill lies just west of here. Since time is of the essence... (12 (MonsterSay)) Start Path 2 running

On Path 2 Ended: Wait 4500ms Play Sound 10469, Emote ID: 5 Text: Let's ride! (12 (MonsterSay)) Start Path 3 running // I believe a later patch removed a Run Speed update to allow lower level players to better accompany Thrall (scaling). Wowpedia claims it's equal to a +60% mount speed

On Path 3 Ended: 19:56:14.307 MountDisplayID: 0 Spawn Entry: 18798 [1] Position: X: 2488.7786 Y: 623.97235 Z: 58.07383 [1] Orientation: 1.378810048103332519 19:56:14.721 FaceDirection: 6.038839340209960937 19:56:17.159 Emote ID: 4 (OneShotCheer) Text: Thrall startles the horse with a fierce yell! Skarloc's Mount Start Path 0 Running (despawns on ended) 19:56:19.581 FaceDirection: 4.136430263519287109 Restore Gossip Flag, Set gossip to 7840 (Option 32900)

On GossipOptionID: 32900 Selected Wait 200ms Start Thrall Path 4 Running Remove Gossip Flag

On Path 4 Ended: Start Path 5 Walking

On Path 5 Ended: Wait 1200 FaceDirection: 5.009094715118408203 Add unit_flag IMMUNE_TO_NPC (512) Wait 2000 Start Path 6 Walking

On Path 6 Ended: Wait 400ms 19:56:51.534 FaceDirection: 2.007128715515136718 Summon Group 4 19:56:53.559 FaceDirection: 0.349065840244293212 19:57:03.254 FaceDirection: 4.751079082489013671 Emote ID: 274 (OneShotNo) Text: Thrall tries to calm the horse down. (16) 19:57:05.092 Text: Something riled that horse. Let's go! (12) From [1] 19:57:05.672 FaceDirection: 0.436332315206527709 Remove IMMUNE_TO_NPC flag (512) 19:57:07.288 Summon Group 4 starts waypoints Removed IMMUNE_TO_NPC & IMMUNE_TO_PC flags from Summon Group 4

On Summon Group 4 defeated and Thrall reached Home POS: Text: Taretha isn't here. Let's head into town. (12) Start Path 7 Running

On Path 7 Ended: Wait 400ms FaceDirection: 0.48869219422340393 Wait 200ms Text: She's not here. (12) Wait 1800ms Summon Group 5 Group 5 Attacks Thrall Immediately

On Summon Group 5 Defeated and Thrall reached home POS: Text: Taretha must be in the inn. Let's go. (12) Spawn Taretha (Entry: 18887) at following POS [1] Position: X: 2664.6575 Y: 657.5964 Z: 62.021294 [1] Orientation: 2.722713708877563476 Taretha cast 33071 on self at spawn Start Path 8 Running

On Path 8 Ended: Summon Group 6 Group 6 Attacks Thrall Immediately

On Summon Group 6 Defeated and Home POS reached: Start Path 9 Walking

On Path 9 Ended: Taretha: Emote ID: 4 (OneShotCheer) Text: Thrall, you escaped! (12) Wait 4000ms Activate Gossip Flag for Taretha and Thrall Thrall: Text: Taretha! What foul magic is this? (12) Thrall GossipID: 7853 Taretha GossipID: 7849, GossipOptionID: 34893

On GossipOptionID: 34893 Selected: Change Taretha GossipID: 7852, GossipOptionID: 33525

On GossipOptionID: 33525 Selected: Remove Gossip Flags from Thrall and Taretha. Despawn all unnecessary NPCs in Tarren Mill Spawn Epoch Hunter (Entry: 18096) at [1] Position: X: 2639.9202 Y: 700.25867 Z: 65.13583 [1] Orientation: 4.747295379638671875 Wait 400ms Epoch Hunter: SoundKitID: 10419 Text: Thrall! Come outside and face your fate! (14) Wait 7200ms Thrall: FaceDirection: 2.600540637969970703 SoundId: 10470 (10470) Text: Who or what was that? (12) Wait 4200ms Epoch Hunter: SoundKitID: 10419 Text: Taretha's life hangs in the balance. Surely you care for her. Surely you wish to save her... (14) Taretha: Cast 33125 on self Emote ID: 34 (OneShotWoundCritical) [0] StandState: 7 Wait 4000ms Thrall: Face Taretha SoundId: 10471 Text: No! (12) Wait 2000ms Thrall Start Path 10 Running

On Path 10 Finished: Thrall Face Epoch Hunter Epoch Hunter Face Thrall Epoch Hunter: SoundKitID: 10420 //19:59:14.074 Text: Ah, there you are. I had hoped to accomplish this with a bit of subtlety, but I suppose direct confrontation was inevitable. Your future, Thrall, must not come to pass and so... you and your troublesome friends must die! (14) Summon Group 7, start waypoints immediately Wait 20600ms Remove flags 768 from Summon Group 7

On Summon Group 7 Defeated Summon Group 8, Start Attack Thrall Immediately

On Summon Group 8 Defeated Summon Group 9, Start Attack Thrall Immediately

On Summon Group 9 Defeated Wait 8000ms Epoch Hunter: SoundKitID: 10421 Text: Enough, I will erase your very existence! (14) Move To X: 2637.677 Y: 681.1161 Z: 59.786484 On Epoch Hunter Path Ended: ENABLE_GRAVITY Remove 768 Flags Attack Thrall

On Epoch Hunter Death: Taretha: StandState: 0 Start Path 0 Running Remove Auras

On Taretha Path 0 Ended: Taretha: Emote ID: 4 (OneShotCheer) Text: I'm free! Thank you all! (12) Thrall Face Taretha Thrall add flag 512 Wait 3600ms Thrall: EmoteState: 378 Text: I'm glad you're safe, Taretha. None of this would have been possible without your friends. They made all of this happen. (12) Wait 8000ms Thrall: EmoteState: 0 Taretha: Emote ID: 1 Text: Thrall, I've never met these people before in my life. Wait 5000ms Thrall: Emote ID: 6 Text: Then who are these people? (12) Spawn Erozion (Entry: 18723) at [0] Position: X: 2647.4802 Y: 682.7882 Z: 55.620792 [0] Orientation: 4.084070205688476562 Erozion: Cast 7791 (Teleport) Text: I believe I can explain everything to you two if you give me a moment of your time. Wait 6000ms Erozion: Cast 33336 (Memory Wipe) - No target, hits Thrall and Taretha Wait 2600ms Text: That spell should wipe their memories of us and what just happened. All they should remember now is what reality would be like without the attempted temporal interference. Well done. Thrall will journey on to find his destiny, and Taretha... (12) Wait 11000ms Text: Her fate is regrettably unavoidable. (12) Wait 6000ms Erozion Cast 33337 (Memory Wipe Resume) Thrall: SoundId: 10472 Emote ID: 1 Text: Goodbye, Taretha. I will never forget your kindness. (12) Wait 4600ms Start Thrall Path 11 Running (despawn on end) Wait 2000ms Taretha: Face Thrall Emote ID: 3 Text: They call you a monster. But they're the monsters, not you. Farewell, Thrall. (12) Wait 3400ms Taretha Start Path 1 Walking (despawn on end) Erozion Set Questgiver and Gossip Flags

Gultask commented 1 year ago

Ok so it looks like the formatting I used didn't go through the editing >.> I'll find a better way to write this out. If anyone has any ideas please let me know

alexkulya commented 1 year ago

This mainly concerns the RP events surrounding Old Southshore and Old Tarren Mill. Search through my PRs related to Southshore or Durnholde to find the RP events I've implemented. Those I already deleted the script outlining it πŸ™ˆ

Scarlet Children

Sally Whitemane, Little Jimmy Vishnas, Renault Mograine. Sally is the leader. Renault follows at 90 angle and Jimmy at 180.

These three run waypoints around Southshore and occasionally stop to run an event. This event is outlined below:

-- Pause for 4s -- 17:03:18.440 Text: STOP! Intruders are in the castle! (Sally) -- 17:03:22.252 Spawn Critter -- 17:03:23.056 All face Critter -- 17:03:24.489 Text: So you thought you could break into this palace of the Light and run away with our secrets! Vishas, interrogate this criminal at once! (Sally) -- 17:03:30.570 Text: My pleasure, milady! (Vishnas) -- 17:03:35.418 Text: Tell me everything, scum! Tell me or I'll rip the secrets from your flesh! (Vishnas) -- 17:03:41.226 Vishnas Face Sally -- 17:03:42.675 Text: It isn't talking, milady. I know it holds secrets! Naughty secrets! -- 17:03:48.503 Sally face Mograine -- 17:03:49.942 Text: My champion, destroy this monster! (Sally) -- 17:03:57.223 Text: The infidel shall be purified, milady! (Mograine) -- 17:04:00.853 Text: ARGH! It has struck a fatal blow! I have failed you... (Mograine) -- 17:04:00.853 Text: %s staggers about as if he were mortally wounded. (Mograine) -- 17:04:05.686 Text: Mograine has fallen! You shall pay for this treachery! Arise, my champion! Arise! (Sally) -- 17:04:05.686 Text: %s pretends to cast a healing spell on Renault. (Sally) -- 17:04:11.775 Text: At your side, milady! (Mograine) -- 17:04:16.550 Text: We will attack as one! (Sally) -- 17:04:19.997 All face Critter -- 17:04:21.605 Critter cast 35137 on Self (hack) -- 17:04:21.615 Critter cast 31261 on Self -- 17:04:23.852 Text: The children cheer. (Sally) -- 17:04:23.852 Text: We are victorious! (Sally) -- 17:04:30.905 Resume

  • Hypothesis 1: The critter follows them around invisible until the event starts. Probably untrue.
  • Hypothesis 2: The event can only happen in certain pre-determined waypoints and not every single one, so the critter has several possible spawn points.

Thus this would require hours-long sniff to verify. Possibly overnight sniff.

Kel'Thuzad and Helcular Critter Resurrection

Once the Captured Critter from the Scarlet Children is dead, Kel'Thuzad can walk towards its corpse to start an event.

https://youtu.be/RZYuZemG_e8

The event has been sniffed but not outlined yet.

This event, in my opinion, gives more strength to Hypothesis 2 of the Scarlet Children event.

Perhaps at several predefined points, Sally triggers an event and summons the frog. After the kill, Sally searches (condition on SAI) by radius (30 yards?) a Kel'thuzad, if successful, then the launch of the event at Kel'thuzad, otherwise a skip. Also, the launch of the main event at the points perhaps occurs with a certain chance. In free time I will try scripted this event.

Gultask commented 1 year ago

There's an idea.

I need to spend an overnight sniffing Southshore to determine that once and for all πŸ˜„ There's also 2 events for KT and Helcular. One where they pause their waypoints and talk with one another, and the critter resurrection event. I'm pretty sure that by looking at the waypoints IIRC the event where they talk to each other (Implemented in https://github.com/azerothcore/azerothcore-wotlk/pull/14385) can be triggered by waypoints at 2% chance for each waypoint. Tying this event to waypoints would more easily allow for a timer to periodically detect Captured Critter corpses so that the resurrection event can play out.

alexkulya commented 1 year ago

@Gultask

The main event has been added, the option to launch the event is a 2% chance at a random point. I'm starting to work with a combined KT event.

Perhaps then you need to make protection for a double launch (If necessary? It will be necessary to test the finished final result longer).

!!! Some names of table columns and GUIDs of creatures may not match, because I work on my project.

DELETE FROM `creature` WHERE `guid` IN (84016, 84017);
DELETE FROM `creature` WHERE `guid` = 84013 AND `id1` = 20359;
INSERT INTO `creature` (`guid`, `id1`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `movement_type`, `npcflag`, `unit_flags`, `dynamicflags`) VALUES
(84016, 20357, 560, 2367, 0, 3, 1, 0, 1766.623, 1073.1769, 6.8648014, 6.204990863800048828, 7200, 0, 0, 0, 0, 0, 0, 0, 0),
(84017, 20358, 560, 2367, 0, 3, 1, 0, 1766.623, 1073.1769, 6.8648014, 0.427894920110702514, 7200, 0, 0, 0, 0, 0, 0, 0, 0),
(84013, 20359, 560, 2367, 0, 3, 1, 0, 1766.623, 1073.1769, 6.8648014, 6.183419704437255859, 7200, 0, 0, 0, 0, 0, 0, 0, 0);

DELETE FROM `waypoints` WHERE `entry` = 2035700 AND `point_comment` = "Sally Whitemane";
INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
(2035700,1,1766.623,1073.1769,6.8648014,"Sally Whitemane"),
(2035700,2,1763.7609,1059.1699,6.872983,"Sally Whitemane"),
(2035700,3,1764.3131,1031.9971,6.872983,"Sally Whitemane"),
(2035700,4,1769.7189,1015.6437,6.427197,"Sally Whitemane"),
(2035700,5,1781.427,1015.7469,9.314404,"Sally Whitemane"),
(2035700,6,1784.0868,1026.5377,10.612499,"Sally Whitemane"),
(2035700,7,1786.029,1045.1888,9.896137,"Sally Whitemane"),
(2035700,8,1787.9987,1059.0806,7.6214795,"Sally Whitemane"),
(2035700,9,1815.3898,1060.277,10.641117,"Sally Whitemane"),
(2035700,10,1829.5338,1058.778,13.859013,"Sally Whitemane"),
(2035700,11,1836.428,1047.2233,14.894588,"Sally Whitemane"),
(2035700,12,1838.2704,1026.9523,15.142665,"Sally Whitemane"),
(2035700,13,1838.9581,1017.5668,15.270595,"Sally Whitemane"),
(2035700,14,1842.7277,1008.9644,14.742396,"Sally Whitemane"),
(2035700,15,1849.1177,1000.2745,15.083217,"Sally Whitemane"),
(2035700,16,1863.4473,1006.9286,16.00668,"Sally Whitemane"),
(2035700,17,1866.1174,1015.569,15.556972,"Sally Whitemane"),
(2035700,18,1868.3208,1027.3716,15.498511,"Sally Whitemane"),
(2035700,19,1869.6267,1037.2123,16.729485,"Sally Whitemane"),
(2035700,20,1865.5181,1049.5011,15.335751,"Sally Whitemane"),
(2035700,21,1867.5786,1060.357,16.225822,"Sally Whitemane"),
(2035700,22,1878.767,1060.9973,17.684929,"Sally Whitemane"),
(2035700,23,1897.9668,1053.58,17.920403,"Sally Whitemane"),
(2035700,24,1905.4509,1045.5461,18.431456,"Sally Whitemane"),
(2035700,25,1904.2731,1028.3635,19.276466,"Sally Whitemane"),
(2035700,26,1904.4609,1016.3633,18.276466,"Sally Whitemane"),
(2035700,27,1909.918,993.6586,15.845679,"Sally Whitemane"),
(2035700,28,1918.1559,980.7051,17.270973,"Sally Whitemane"),
(2035700,29,1927.6208,969.2012,17.91233,"Sally Whitemane"),
(2035700,30,1935.2817,973.1046,19.765339,"Sally Whitemane"),
(2035700,31,1947.6158,971.5432,21.53548,"Sally Whitemane"),
(2035700,32,1958.584,970.6836,22.758991,"Sally Whitemane"),
(2035700,33,1968.3883,971.84503,23.962679,"Sally Whitemane"),
(2035700,34,1976.2941,978.701,25.267122,"Sally Whitemane"),
(2035700,35,1971.8309,999.0618,28.299349,"Sally Whitemane"),
(2035700,36,1968.9197,1011.7449,27.550247,"Sally Whitemane"),
(2035700,37,1960.7737,1023.3538,25.96747,"Sally Whitemane"),
(2035700,38,1950.8038,1033.8225,23.942024,"Sally Whitemane"),
(2035700,39,1934.9801,1042.5717,22.137825,"Sally Whitemane"),
(2035700,40,1918.8728,1048.3973,19.421812,"Sally Whitemane"),
(2035700,41,1909.8624,1053.3057,18.460752,"Sally Whitemane"),
(2035700,42,1909.7411,1063.2158,19.511656,"Sally Whitemane"),
(2035700,43,1907.1688,1071.0006,21.172655,"Sally Whitemane"),
(2035700,44,1911.3334,1086.1061,21.112108,"Sally Whitemane"),
(2035700,45,1913.2205,1107.5017,20.97138,"Sally Whitemane"),
(2035700,46,1903.625,1124.6158,18.734564,"Sally Whitemane"),
(2035700,47,1893.4742,1135.568,18.443138,"Sally Whitemane"),
(2035700,48,1874.9469,1136.4017,17.251,"Sally Whitemane"),
(2035700,49,1864.8711,1128.6273,15.882499,"Sally Whitemane"),
(2035700,50,1863.2114,1102.2101,17.787773,"Sally Whitemane"),
(2035700,51,1857.6895,1086.4677,17.20242,"Sally Whitemane"),
(2035700,52,1862.7196,1068.6813,15.936551,"Sally Whitemane"),
(2035700,53,1842.51,1056.6361,14.976986,"Sally Whitemane"),
(2035700,54,1824.3262,1064.956,12.36829,"Sally Whitemane"),
(2035700,55,1828.1018,1088.4716,13.716602,"Sally Whitemane"),
(2035700,56,1831.9336,1125.584,13.931124,"Sally Whitemane"),
(2035700,57,1831.3356,1143.8278,11.518111,"Sally Whitemane"),
(2035700,58,1793.192,1150.9938,10.930223,"Sally Whitemane"),
(2035700,59,1766.386,1139.3741,11.0818,"Sally Whitemane"),
(2035700,60,1768.2086,1114.6821,11.178861,"Sally Whitemane"),
(2035700,61,1779.9342,1096.4996,12.219379,"Sally Whitemane"),
(2035700,62,1780.1993,1076.44,10.655781,"Sally Whitemane");

UPDATE `spell_dbc` SET `Effect1` = 28, `EffectMiscValueB1` = 64 WHERE `id` = 35136;

UPDATE `creature_template` SET `AIName` = "SmartAI" WHERE `entry` IN (20357, 20358, 20359, 20396);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (20357, 20358, 20359, 20396) AND `source_type` = 0;
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (20357*100, 20357*100+01) 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
(20357, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 80, 20357*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Respawn - Start Script"),
(20357, 0, 1, 2, 40, 0, 2, 0, 0, 2035700, 0, 0, 54, 66000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Random WP Reached (Chance 2%) - Pause WP (66000 ms)"),
(20357, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 20357*100+01, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Random WP Reached (Chance 2%) (Link) - Start Script"),

(20358, 0, 0, 0, 38, 0, 100, 0, 1, 1, 0, 0, 29, 0.8, 90, 0, 0, 0, 0, 10, 84016, 20357, 0, 0, 0, 0, 0, "Renault Mograine - On Data Set 1 1 - Start Follow"),
(20358, 0, 1, 0, 38, 0, 100, 0, 2, 2, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "Renault Mograine - On Data Set 2 2 - Stop Follow"),
(20358, 0, 2, 0, 38, 0, 100, 0, 3, 3, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 20396, 20, 0, 0, 0, 0, 0, "Renault Mograine - On Data Set 3 3 - Set Orientation To Creature ID: 20396, 20 Yards"),

(20359, 0, 0, 0, 38, 0, 100, 0, 1, 1, 0, 0, 29, 0.8, 180, 0, 0, 0, 0, 10, 84016, 20357, 0, 0, 0, 0, 0, "Little Jimmy Vishas - On Data Set 1 1 - Start Follow"),
(20359, 0, 1, 0, 38, 0, 100, 0, 2, 2, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "Little Jimmy Vishas - On Data Set 2 2 - Stop Follow"),
(20359, 0, 2, 0, 38, 0, 100, 0, 3, 3, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 20396, 20, 0, 0, 0, 0, 0, "Little Jimmy Vishas - On Data Set 3 3 - Set Orientation To Creature ID: 20396, 20 Yards"),
(20359, 0, 3, 0, 38, 0, 100, 0, 4, 4, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 20357, 20, 0, 0, 0, 0, 0, "Little Jimmy Vishas - On Data Set 4 4 - Set Orientation To Creature ID: 20357, 20 Yards"),

(20396, 0, 0, 0, 38, 0, 100, 0, 1, 1, 0, 0, 11, 31261, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Captured Critter - On Data Set 1 1 - Cast Spell 'Permanent Feign Death (Root)'"),

(20357*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 53, 1, 2035700, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Start Waypoint"),
(20357*100, 9, 1, 0, 0, 0, 100, 0, 200, 200, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 1 1 To Creature GUID: 84017"),
(20357*100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 1 1 To Creature GUID: 84013"),

(20357*100+01, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 0"),
(20357*100+01, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 2, 2, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 2 2 To Creature GUID: 84017"),
(20357*100+01, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 2, 2, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 2 2 To Creature GUID: 84013"),
(20357*100+01, 9, 3, 0, 0, 0, 100, 0, 3800, 3800, 0, 0, 11, 35136, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Cast Spell 'Summon Captured Critter'"),
(20357*100+01, 9, 4, 0, 0, 0, 100, 0, 800, 800, 0, 0, 45, 3, 3, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 3 3 To Creature GUID: 84017"),
(20357*100+01, 9, 5, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 3, 3, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 3 3 To Creature GUID: 84013"),
(20357*100+01, 9, 6, 0, 0, 0, 100, 0, 1400, 1400, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 1"),
(20357*100+01, 9, 7, 0, 0, 0, 100, 0, 6100, 6100, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 0 (Creature GUID: 84013)"),
(20357*100+01, 9, 8, 0, 0, 0, 100, 0, 4900, 4900, 0, 0, 1, 1, 0, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 1 (Creature GUID: 84013)"),
(20357*100+01, 9, 9, 0, 0, 0, 100, 0, 5800, 5800, 0, 0, 45, 4, 4, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 4 4 To Creature GUID: 84013"),
(20357*100+01, 9, 10, 0, 0, 0, 100, 0, 1400, 1400, 0, 0, 1, 2, 0, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 2 (Creature GUID: 84013)"),
(20357*100+01, 9, 11, 0, 0, 0, 100, 0, 5800, 5800, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 20358, 20, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Orientation To Creature ID: 20358, 20 Yards"),
(20357*100+01, 9, 12, 0, 0, 0, 100, 0, 1500, 1500, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 2"),
(20357*100+01, 9, 13, 0, 0, 0, 100, 0, 7200, 7200, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 0 (Creature GUID: 84017)"),
(20357*100+01, 9, 14, 0, 0, 0, 100, 0, 3600, 3600, 0, 0, 1, 1, 0, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 1 (Creature GUID: 84017)"),
(20357*100+01, 9, 15, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 2 (Creature GUID: 84017)"),
(20357*100+01, 9, 16, 0, 0, 0, 100, 0, 4800, 4800, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 3"),
(20357*100+01, 9, 17, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 4"),
(20357*100+01, 9, 18, 0, 0, 0, 100, 0, 6100, 6100, 0, 0, 1, 3, 0, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 3 (Creature GUID: 84017)"),
(20357*100+01, 9, 19, 0, 0, 0, 100, 0, 4800, 4800, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 5"),
(20357*100+01, 9, 20, 0, 0, 0, 100, 0, 3400, 3400, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 20396, 20, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Orientation To Creature ID: 20396, 20 Yards"),
(20357*100+01, 9, 21, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 3, 3, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 3 3 To Creature GUID: 84017"),
(20357*100+01, 9, 22, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 3, 3, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 3 3 To Creature GUID: 84013"),
(20357*100+01, 9, 23, 0, 0, 0, 100, 0, 1200, 1200, 0, 0, 69, 1, 0, 0, 0, 0, 0, 19, 20396, 20, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Move To Position To Creature ID: 20396, 20 Yards"),
(20357*100+01, 9, 24, 0, 0, 0, 100, 0, 400, 400, 0, 0, 86, 35137, 0, 19, 20396, 20, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Cross Cast Spell 'Kill Critter' To Creature ID: 20396, 20 Yards"),
(20357*100+01, 9, 25, 0, 0, 0, 100, 0, 200, 200, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 20396, 20, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 1 1 To Creature ID: 20396, 20 Yards"),
(20357*100+01, 9, 26, 0, 0, 0, 100, 0, 2200, 2200, 0, 0, 1, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 6"),
(20357*100+01, 9, 27, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 7"),
(20357*100+01, 9, 28, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 1 1 To Creature GUID: 84017"),
(20357*100+01, 9, 29, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 1 1 To Creature GUID: 84013");

DELETE FROM `creature_text` WHERE `entry` IN (20357, 20358, 20359);
INSERT INTO `creature_text` (`entry`, `text_group`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `text_range`, `comment`) VALUES
(20357, 0, 0, "STOP! Intruders are in the castle!", 12, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),
(20357, 1, 0, "So you thought you could break into this palace of the Light and run away with our secrets! Vishas, interrogate this criminal at once!", 12, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),
(20357, 2, 0, "My champion, destroy this monster!", 12, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),
(20357, 3, 0, "Mograine has fallen! You shall pay for this treachery! Arise, my champion! Arise!", 12, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),
(20357, 4, 0, "%s pretends to cast a healing spell on Renault.", 16, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),
(20357, 5, 0, "We will attack as one!", 12, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),
(20357, 6, 0, "The children cheer.", 16, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),
(20357, 7, 0, "We are victorious!", 12, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),

(20358, 0, 0, "The infidel shall be purified, milady!", 12, 0, 100, 0, 0, 0, 0, "Renault Mograine"),
(20358, 1, 0, "ARGH! It has struck a fatal blow! I have failed you...", 12, 0, 100, 0, 0, 0, 0, "Renault Mograine"),
(20358, 2, 0, "%s staggers about as if he were mortally wounded.", 16, 0, 100, 0, 0, 0, 0, "Renault Mograine"),
(20358, 3, 0, "At your side, milady!", 12, 0, 100, 0, 0, 0, 0, "Renault Mograine"),

(20359, 0, 0, "My pleasure, milady!", 12, 0, 100, 0, 0, 0, 0, "Little Jimmy Vishnas"),
(20359, 1, 0, "Tell me everything, scum! Tell me or I'll rip the secrets from your flesh!", 12, 0, 100, 0, 0, 0, 0, "Little Jimmy Vishnas"),
(20359, 2, 0, "It isn't talking, milady. I know it holds secrets! Naughty secrets!", 12, 0, 100, 0, 0, 0, 0, "Little Jimmy Vishnas");
alexkulya commented 1 year ago

Do you have an algorithm for the actions of the event with the resurrection of the creature?

Gultask commented 1 year ago

I should've known there'd be a Summon Captured Critter spell πŸ˜„ Ty for the script! I'll try it sometime. I'll credit it to you if I port to AC.

Do you have an algorithm for the actions of the event with the resurrection of the creature?

Not yet but it shouldn't take long. The event is pretty short. I may have it in a few days.

alexkulya commented 1 year ago

Good. I have the whole script ready, I have combined all the components, only it remains to finish this short moment with the resurrection. How it will be done, I will post everything in full here.

Gultask commented 1 year ago

https://youtu.be/RZYuZemG_e8?t=706 At the very moment Captured Critter dies, the RP event for the resurrection can start.

17:11:33.435 Text: %s looks to the left and then the right. (Kel'Thuzad) (16) 17:11:35.212 Kel'Thuzad face Helcular 17:11:37.634 Helcular face Kel'Thuzad 17:11:39.076 Text: Come, Helcular, let me give you a small taste... (Kel'Thuzad) (12) (Emote 1) 17:11:41.262 Move to Captured Critter (MoveTime: 7801) 17:11:49.346 Kel'Thuzad face Captured Critter 17:11:51.193 Text: %s utters some unintelligible words. (Kel'Thuzad) (16) 17:11:52.170 Kel'Thuzad cast spell 35140 (Reanimate Critter) on Captured Critter 17:11:54.179 Spell Cast Finished 17:11:54.179 Captured Critter cast 35141 (Reanimate Critter) on self Spell 35141 summons Reanimated Critter (Entry: 20398) 17:11:56.047 Text: Now do you see, Helcular? Do you doubt the power? I control life! (Kel'Thuzad) (12) (Emote 1) 17:11:56.222 Captured Critter despawns 17:11:58.249 Kel'Thuzad Emote ID: 5 (OneShotExclamation) 17:12:00.907 Text: And death... (Kel'Thuzad) (12) (No Emote) 17:12:04.725 Reanimated Critter dies 17:12:06.744 Text: I'm still working out some minor details... (Kel'Thuzad) (12) (Emote ID: 24) 17:12:12.798 Resume Path 17:12:20.476 Reanimated Critter despawns

Gultask commented 1 year ago

Seems like both critters entries have a 100% for one of their model ids (the frog one)

Entry: 20398 Leader: False [0] Name: Reanimated Critter Type Flags: 0 (None) Creature Type Flags 2: 0 CreatureType: 8 (Critter) CreatureFamily: 0 (None) Classification: 0 (Normal) [0] ProxyCreatureID: 0 [1] ProxyCreatureID: 0 DisplayIdCount: 3 TotalProbability: 1 [0] CreatureDisplayID: 1418 [0] DisplayScale: 1 [0] Probability: 0 [1] CreatureDisplayID: 2177 [1] DisplayScale: 1 [1] Probability: 0 [2] CreatureDisplayID: 901 [2] DisplayScale: 1 [2] Probability: 1

Entry: 20396 Leader: False [0] Name: Captured Critter Type Flags: 0 (None) Creature Type Flags 2: 0 CreatureType: 8 (Critter) CreatureFamily: 0 (None) Classification: 0 (Normal) [0] ProxyCreatureID: 0 [1] ProxyCreatureID: 0 DisplayIdCount: 3 TotalProbability: 1 [0] CreatureDisplayID: 1418 [0] DisplayScale: 1 [0] Probability: 0 [1] CreatureDisplayID: 2177 [1] DisplayScale: 1 [1] Probability: 0 [2] CreatureDisplayID: 6295 [2] DisplayScale: 1 [2] Probability: 1

alexkulya commented 1 year ago

@Gultask I am posting the complete script. Everything works as it should, everything is reproduced as close as possible to that shown in the video. If you have any questions about the script, then write to me on the discord, it's easier to discuss it there. The script for Helcular I was written in the core, because the follows distance in the smart script is rounded up to an integer value, and because of this, it goes too far even at zero, then breaks the script or gets stuck in fences.

SQL:

DELETE FROM `creature` WHERE `guid` IN (84016, 84017);
DELETE FROM `creature` WHERE `guid` = 84013 AND `id1` = 20359;
INSERT INTO `creature` (`guid`, `id1`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `movement_type`, `npcflag`, `unit_flags`, `dynamicflags`) VALUES
(84016, 20357, 560, 2367, 0, 3, 1, 0, 1766.623, 1073.1769, 6.8648014, 6.204990863800048828, 7200, 0, 0, 0, 0, 0, 0, 0, 0),
(84017, 20358, 560, 2367, 0, 3, 1, 0, 1766.623, 1073.1769, 6.8648014, 0.427894920110702514, 7200, 0, 0, 0, 0, 0, 0, 0, 0),
(84013, 20359, 560, 2367, 0, 3, 1, 0, 1766.623, 1073.1769, 6.8648014, 6.183419704437255859, 7200, 0, 0, 0, 0, 0, 0, 0, 0);

UPDATE `creature` SET `wander_distance` = 0, `movement_type` = 0, `position_x` = 1777.6586, `position_y` = 1058.5917, `position_z` = 7.1008496 WHERE `guid` = 83627 AND `id1` = 20350;
UPDATE `creature` SET `wander_distance` = 0, `movement_type` = 0, `position_x` = 1777.6586, `position_y` = 1058.5917, `position_z` = 7.1008496 WHERE `guid` = 83628 AND `id1` = 20353;

DELETE FROM `creature_addon` WHERE `guid` IN (83627, 83628);
DELETE FROM `waypoint_data` WHERE `id` = 83627*10;
DELETE FROM `creature_formations` WHERE `leader_guid` = 83627;

DELETE FROM `waypoints` WHERE `entry` = 2035700 AND `point_comment` = "Sally Whitemane";
DELETE FROM `waypoints` WHERE `entry` = 20350 AND `point_comment` = "Kel'Thuzad";
INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
(2035700,1,1766.623,1073.1769,6.8648014,"Sally Whitemane"),
(2035700,2,1763.7609,1059.1699,6.872983,"Sally Whitemane"),
(2035700,3,1764.3131,1031.9971,6.872983,"Sally Whitemane"),
(2035700,4,1769.7189,1015.6437,6.427197,"Sally Whitemane"),
(2035700,5,1781.427,1015.7469,9.314404,"Sally Whitemane"),
(2035700,6,1784.0868,1026.5377,10.612499,"Sally Whitemane"),
(2035700,7,1786.029,1045.1888,9.896137,"Sally Whitemane"),
(2035700,8,1787.9987,1059.0806,7.6214795,"Sally Whitemane"),
(2035700,9,1815.3898,1060.277,10.641117,"Sally Whitemane"),
(2035700,10,1829.5338,1058.778,13.859013,"Sally Whitemane"),
(2035700,11,1836.428,1047.2233,14.894588,"Sally Whitemane"),
(2035700,12,1838.2704,1026.9523,15.142665,"Sally Whitemane"),
(2035700,13,1838.9581,1017.5668,15.270595,"Sally Whitemane"),
(2035700,14,1842.7277,1008.9644,14.742396,"Sally Whitemane"),
(2035700,15,1849.1177,1000.2745,15.083217,"Sally Whitemane"),
(2035700,16,1863.4473,1006.9286,16.00668,"Sally Whitemane"),
(2035700,17,1866.1174,1015.569,15.556972,"Sally Whitemane"),
(2035700,18,1868.3208,1027.3716,15.498511,"Sally Whitemane"),
(2035700,19,1869.6267,1037.2123,16.729485,"Sally Whitemane"),
(2035700,20,1865.5181,1049.5011,15.335751,"Sally Whitemane"),
(2035700,21,1867.5786,1060.357,16.225822,"Sally Whitemane"),
(2035700,22,1878.767,1060.9973,17.684929,"Sally Whitemane"),
(2035700,23,1897.9668,1053.58,17.920403,"Sally Whitemane"),
(2035700,24,1905.4509,1045.5461,18.431456,"Sally Whitemane"),
(2035700,25,1904.2731,1028.3635,19.276466,"Sally Whitemane"),
(2035700,26,1904.4609,1016.3633,18.276466,"Sally Whitemane"),
(2035700,27,1909.918,993.6586,15.845679,"Sally Whitemane"),
(2035700,28,1918.1559,980.7051,17.270973,"Sally Whitemane"),
(2035700,29,1927.6208,969.2012,17.91233,"Sally Whitemane"),
(2035700,30,1935.2817,973.1046,19.765339,"Sally Whitemane"),
(2035700,31,1947.6158,971.5432,21.53548,"Sally Whitemane"),
(2035700,32,1958.584,970.6836,22.758991,"Sally Whitemane"),
(2035700,33,1968.3883,971.84503,23.962679,"Sally Whitemane"),
(2035700,34,1976.2941,978.701,25.267122,"Sally Whitemane"),
(2035700,35,1971.8309,999.0618,28.299349,"Sally Whitemane"),
(2035700,36,1968.9197,1011.7449,27.550247,"Sally Whitemane"),
(2035700,37,1960.7737,1023.3538,25.96747,"Sally Whitemane"),
(2035700,38,1950.8038,1033.8225,23.942024,"Sally Whitemane"),
(2035700,39,1934.9801,1042.5717,22.137825,"Sally Whitemane"),
(2035700,40,1918.8728,1048.3973,19.421812,"Sally Whitemane"),
(2035700,41,1909.8624,1053.3057,18.460752,"Sally Whitemane"),
(2035700,42,1909.7411,1063.2158,19.511656,"Sally Whitemane"),
(2035700,43,1907.1688,1071.0006,21.172655,"Sally Whitemane"),
(2035700,44,1911.3334,1086.1061,21.112108,"Sally Whitemane"),
(2035700,45,1913.2205,1107.5017,20.97138,"Sally Whitemane"),
(2035700,46,1903.625,1124.6158,18.734564,"Sally Whitemane"),
(2035700,47,1893.4742,1135.568,18.443138,"Sally Whitemane"),
(2035700,48,1874.9469,1136.4017,17.251,"Sally Whitemane"),
(2035700,49,1864.8711,1128.6273,15.882499,"Sally Whitemane"),
(2035700,50,1863.2114,1102.2101,17.787773,"Sally Whitemane"),
(2035700,51,1857.6895,1086.4677,17.20242,"Sally Whitemane"),
(2035700,52,1862.7196,1068.6813,15.936551,"Sally Whitemane"),
(2035700,53,1842.51,1056.6361,14.976986,"Sally Whitemane"),
(2035700,54,1824.3262,1064.956,12.36829,"Sally Whitemane"),
(2035700,55,1828.1018,1088.4716,13.716602,"Sally Whitemane"),
(2035700,56,1831.9336,1125.584,13.931124,"Sally Whitemane"),
(2035700,57,1831.3356,1143.8278,11.518111,"Sally Whitemane"),
(2035700,58,1793.192,1150.9938,10.930223,"Sally Whitemane"),
(2035700,59,1766.386,1139.3741,11.0818,"Sally Whitemane"),
(2035700,60,1768.2086,1114.6821,11.178861,"Sally Whitemane"),
(2035700,61,1779.9342,1096.4996,12.219379,"Sally Whitemane"),
(2035700,62,1780.1993,1076.44,10.655781,"Sally Whitemane"),

(20350,1,1777.6586,1058.5917,7.1008496,"Kel'Thuzad"),
(20350,2,1785.8223,1057.3224,7.46938,"Kel'Thuzad"),
(20350,3,1802.3959,1061.4431,8.593266,"Kel'Thuzad"),
(20350,4,1816.5465,1069.8398,10.483082,"Kel'Thuzad"),
(20350,5,1829.2474,1075.3346,11.50713,"Kel'Thuzad"),
(20350,6,1840.346,1076.9652,13.023953,"Kel'Thuzad"),
(20350,7,1854.4879,1072.2803,15.144437,"Kel'Thuzad"),
(20350,8,1864.5223,1065.2603,15.909603,"Kel'Thuzad"),
(20350,9,1883.5319,1056.9219,18.170403,"Kel'Thuzad"),
(20350,10,1896.4857,1052.8398,17.920403,"Kel'Thuzad"),
(20350,11,1917.8785,1051.4784,19.08978,"Kel'Thuzad"),
(20350,12,1930.2494,1051.6864,19.907164,"Kel'Thuzad"),
(20350,13,1947.8518,1045.3527,21.082039,"Kel'Thuzad"),
(20350,14,1958.8525,1035.1572,23.207039,"Kel'Thuzad"),
(20350,15,1969.4431,1028.3741,24.45784,"Kel'Thuzad"),
(20350,16,1980.2985,1028.6941,25.294388,"Kel'Thuzad"),
(20350,17,1969.4431,1028.3741,24.45784,"Kel'Thuzad"),
(20350,18,1958.8616,1035.1549,23.17591,"Kel'Thuzad"),
(20350,19,1947.8604,1045.3506,20.957039,"Kel'Thuzad"),
(20350,20,1930.2494,1051.6864,19.907164,"Kel'Thuzad"),
(20350,21,1917.8785,1051.4784,19.08978,"Kel'Thuzad"),
(20350,22,1896.4857,1052.8398,17.920403,"Kel'Thuzad"),
(20350,23,1883.5319,1056.9219,18.170403,"Kel'Thuzad"),
(20350,24,1864.5223,1065.2603,15.909603,"Kel'Thuzad"),
(20350,25,1854.4879,1072.2803,15.144437,"Kel'Thuzad"),
(20350,26,1840.346,1076.9652,13.023953,"Kel'Thuzad"),
(20350,27,1829.2474,1075.3346,11.50713,"Kel'Thuzad"),
(20350,28,1816.5465,1069.8398,10.483082,"Kel'Thuzad"),
(20350,29,1802.3959,1061.4431,8.593266,"Kel'Thuzad"),
(20350,30,1785.8223,1057.3224,7.46938,"Kel'Thuzad");

UPDATE `spell_dbc` SET `Effect1` = 28, `EffectMiscValueB1` = 64 WHERE `id` = 35136;

UPDATE `creature_template` SET `AIName` = "SmartAI" WHERE `entry` IN (20357, 20358, 20359, 20396, 20350, 20398);
UPDATE `creature_template` SET `AIName` = "SmartAI", `ScriptName` = "npc_helcular" WHERE `entry` = 20353;
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (20357, 20358, 20359, 20396, 20350, 20353, 20398) AND `source_type` = 0;
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (20357*100, 20357*100+01, 20350*100, 20350*100+01, 20350*100+02) 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
(20357, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 80, 20357*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Respawn - Start Script"),
(20357, 0, 1, 2, 40, 0, 2, 0, 0, 2035700, 0, 0, 54, 72000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Random WP Reached (Chance 2%) - Pause WP (72000 ms)"),
(20357, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 20357*100+01, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Random WP Reached (Chance 2%) (Link) - Start Script"),

(20358, 0, 0, 0, 38, 0, 100, 0, 1, 1, 0, 0, 29, 1, 90, 0, 0, 0, 0, 10, 84016, 20357, 0, 0, 0, 0, 0, "Renault Mograine - On Data Set 1 1 - Start Follow"),
(20358, 0, 1, 0, 38, 0, 100, 0, 2, 2, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "Renault Mograine - On Data Set 2 2 - Stop Follow"),
(20358, 0, 2, 0, 38, 0, 100, 0, 3, 3, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 20396, 20, 0, 0, 0, 0, 0, "Renault Mograine - On Data Set 3 3 - Set Orientation To Creature ID: 20396, 20 Yards"),

(20359, 0, 0, 0, 38, 0, 100, 0, 1, 1, 0, 0, 29, 1, 180, 0, 0, 0, 0, 10, 84016, 20357, 0, 0, 0, 0, 0, "Little Jimmy Vishas - On Data Set 1 1 - Start Follow"),
(20359, 0, 1, 0, 38, 0, 100, 0, 2, 2, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "Little Jimmy Vishas - On Data Set 2 2 - Stop Follow"),
(20359, 0, 2, 0, 38, 0, 100, 0, 3, 3, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 20396, 20, 0, 0, 0, 0, 0, "Little Jimmy Vishas - On Data Set 3 3 - Set Orientation To Creature ID: 20396, 20 Yards"),
(20359, 0, 3, 0, 38, 0, 100, 0, 4, 4, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 20357, 20, 0, 0, 0, 0, 0, "Little Jimmy Vishas - On Data Set 4 4 - Set Orientation To Creature ID: 20357, 20 Yards"),

(20396, 0, 0, 1, 38, 0, 100, 0, 1, 1, 0, 0, 11, 31261, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Captured Critter - On Data Set 1 1 - Cast Spell 'Permanent Feign Death (Root)'"),
(20396, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 11, 20350, 20, 0, 0, 0, 0, 0, "Captured Critter - On Data Set 1 1 (Link) - Set Data 1 1 To Creature ID: 20350, 20 Yards"),
(20396, 0, 2, 3, 38, 0, 100, 0, 2, 2, 0, 0, 11, 35141, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Captured Critter - On Data Set 2 2 - Cast Spell 'Reanimate Critter'"),
(20396, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 2200, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Captured Critter - On Data Set 2 2 (Link) - Despawn Self (2200 ms)"),
(20396, 0, 4, 0, 11, 0, 100, 0, 0, 0, 0, 0, 3, 0, 6295, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Captured Critter - On Respawn - Set Model ID: 6295"),

(20350, 0, 0, 0, 25, 0, 100, 0, 0, 0, 0, 0, 80, 20350*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Reset - Start Script"),
(20350, 0, 1, 2, 34, 0, 2, 0, 2, 0, 0, 0, 54, 49200, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Random Point Reached (Chance 2%) - Pause WP (49200 ms)"),
(20350, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Random Point Reached (Chance 2%) (Link) - Set Event Phase 2"),
(20350, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 20350*100+01, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Random Point Reached (Chance 2%) (Link) - Start Script"),
(20350, 0, 4, 5, 38, 0, 100, 0, 1, 1, 0, 0, 54, 40000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Data Set 1 1 - Pause WP (40000 ms)"),
(20350, 0, 5, 6, 61, 0, 100, 0, 0, 0, 0, 0, 22, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Data Set 1 1 (Link) - Set Event Phase 3"),
(20350, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 20350*100+02, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Data Set 1 1 (Link) - Start Script"),

(20398, 0, 0, 0, 38, 0, 100, 0, 1, 1, 0, 0, 11, 31261, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Reanimated Critter - On Data Set 1 1 - Cast Spell 'Permanent Feign Death (Root)'"),
(20398, 0, 1, 0, 11, 0, 100, 0, 0, 0, 0, 0, 3, 0, 901, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Reanimated Critter - On Respawn - Set Model ID: 901"),

(20357*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 53, 1, 2035700, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Start Waypoint"),
(20357*100, 9, 1, 0, 0, 0, 100, 0, 200, 200, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 1 1 To Creature GUID: 84017"),
(20357*100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 1 1 To Creature GUID: 84013"),

(20357*100+01, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 0"),
(20357*100+01, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 2, 2, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 2 2 To Creature GUID: 84017"),
(20357*100+01, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 2, 2, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 2 2 To Creature GUID: 84013"),
(20357*100+01, 9, 3, 0, 0, 0, 100, 0, 3800, 3800, 0, 0, 11, 35136, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Cast Spell 'Summon Captured Critter'"),
(20357*100+01, 9, 4, 0, 0, 0, 100, 0, 800, 800, 0, 0, 45, 3, 3, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 3 3 To Creature GUID: 84017"),
(20357*100+01, 9, 5, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 3, 3, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 3 3 To Creature GUID: 84013"),
(20357*100+01, 9, 6, 0, 0, 0, 100, 0, 1400, 1400, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 1"),
(20357*100+01, 9, 7, 0, 0, 0, 100, 0, 6100, 6100, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 0 (Creature GUID: 84013)"),
(20357*100+01, 9, 8, 0, 0, 0, 100, 0, 4900, 4900, 0, 0, 1, 1, 0, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 1 (Creature GUID: 84013)"),
(20357*100+01, 9, 9, 0, 0, 0, 100, 0, 5800, 5800, 0, 0, 45, 4, 4, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 4 4 To Creature GUID: 84013"),
(20357*100+01, 9, 10, 0, 0, 0, 100, 0, 1400, 1400, 0, 0, 1, 2, 0, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 2 (Creature GUID: 84013)"),
(20357*100+01, 9, 11, 0, 0, 0, 100, 0, 5800, 5800, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 20358, 20, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Orientation To Creature ID: 20358, 20 Yards"),
(20357*100+01, 9, 12, 0, 0, 0, 100, 0, 1500, 1500, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 2"),
(20357*100+01, 9, 13, 0, 0, 0, 100, 0, 7200, 7200, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 0 (Creature GUID: 84017)"),
(20357*100+01, 9, 14, 0, 0, 0, 100, 0, 3600, 3600, 0, 0, 1, 1, 0, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 1 (Creature GUID: 84017)"),
(20357*100+01, 9, 15, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 2 (Creature GUID: 84017)"),
(20357*100+01, 9, 16, 0, 0, 0, 100, 0, 4800, 4800, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 3"),
(20357*100+01, 9, 17, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 4"),
(20357*100+01, 9, 18, 0, 0, 0, 100, 0, 6100, 6100, 0, 0, 1, 3, 0, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 3 (Creature GUID: 84017)"),
(20357*100+01, 9, 19, 0, 0, 0, 100, 0, 4800, 4800, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 5"),
(20357*100+01, 9, 20, 0, 0, 0, 100, 0, 3400, 3400, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 20396, 20, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Orientation To Creature ID: 20396, 20 Yards"),
(20357*100+01, 9, 21, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 3, 3, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 3 3 To Creature GUID: 84017"),
(20357*100+01, 9, 22, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 3, 3, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 3 3 To Creature GUID: 84013"),
(20357*100+01, 9, 23, 0, 0, 0, 100, 0, 1200, 1200, 0, 0, 69, 1, 0, 0, 0, 0, 0, 19, 20396, 20, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Move To Position To Creature ID: 20396, 20 Yards"),
(20357*100+01, 9, 24, 0, 0, 0, 100, 0, 400, 400, 0, 0, 86, 35137, 0, 19, 20396, 20, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Cross Cast Spell 'Kill Critter' To Creature ID: 20396, 20 Yards"),
(20357*100+01, 9, 25, 0, 0, 0, 100, 0, 200, 200, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 20396, 20, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 1 1 To Creature ID: 20396, 20 Yards"),
(20357*100+01, 9, 26, 0, 0, 0, 100, 0, 2200, 2200, 0, 0, 1, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 6"),
(20357*100+01, 9, 27, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Say Text Line 7"),
(20357*100+01, 9, 28, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, 84017, 20358, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 1 1 To Creature GUID: 84017"),
(20357*100+01, 9, 29, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, 84013, 20359, 0, 0, 0, 0, 0, "Sally Whitemane - On Script - Set Data 1 1 To Creature GUID: 84013"),

(20350*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 53, 0, 20350, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Start Waypoint"),
(20350*100, 9, 1, 0, 0, 0, 100, 0, 200, 200, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 20353, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Data 1 1 To Creature ID: 20353, 20 Yards"),

(20350*100+01, 9, 0, 0, 0, 0, 100, 2, 100, 100, 0, 0, 45, 4, 4, 0, 0, 0, 0, 19, 20353, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Data 4 4 To Creature ID: 20353, 20 Yards (Phase 2)"),
(20350*100+01, 9, 1, 0, 0, 0, 100, 2, 2400, 2400, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 20353, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Orientation To Creature ID: 20353, 20 Yards (Phase 2)"),
(20350*100+01, 9, 2, 0, 0, 0, 100, 2, 2400, 2400, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 20353, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Data 2 2 To Creature ID: 20353, 20 Yards (Phase 2)"),
(20350*100+01, 9, 3, 0, 0, 0, 100, 2, 2600, 2600, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 0 (Phase 2)"),
(20350*100+01, 9, 4, 0, 0, 0, 100, 2, 2600, 2600, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10, 83628, 20353, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 0 (Creature GUID: 83628) (Phase 2)"),
(20350*100+01, 9, 5, 0, 0, 0, 100, 2, 1200, 1200, 0, 0, 1, 1, 0, 0, 0, 0, 0, 10, 83628, 20353, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 1 (Creature GUID: 83628) (Phase 2)"),
(20350*100+01, 9, 6, 0, 0, 0, 100, 2, 4800, 4800, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 1 (Phase 2)"),
(20350*100+01, 9, 7, 0, 0, 0, 100, 2, 3600, 3600, 0, 0, 1, 2, 0, 0, 0, 0, 0, 10, 83628, 20353, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 2 (Creature GUID: 83628) (Phase 2)"),
(20350*100+01, 9, 8, 0, 0, 0, 100, 2, 8400, 8400, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 2 (Phase 2)"),
(20350*100+01, 9, 9, 0, 0, 0, 100, 2, 5000, 5000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 3 (Phase 2)"),
(20350*100+01, 9, 10, 0, 0, 0, 100, 2, 3600, 3600, 0, 0, 1, 3, 0, 0, 0, 0, 0, 10, 83628, 20353, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 3 (Creature GUID: 83628) (Phase 2)"),
(20350*100+01, 9, 11, 0, 0, 0, 100, 2, 7400, 7400, 0, 0, 1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 4 (Phase 2)"),
(20350*100+01, 9, 12, 0, 0, 0, 100, 2, 1200, 1200, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 5 (Phase 2)"),
(20350*100+01, 9, 13, 0, 0, 0, 100, 2, 2000, 2000, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 20353, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Data 1 1 To Creature ID: 20353, 20 Yards (Phase 2)"),
(20350*100+01, 9, 14, 0, 0, 0, 100, 2, 200, 200, 0, 0, 22, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Event Phase 0 (Phase 2)"),

(20350*100+02, 9, 0, 0, 0, 0, 100, 3, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 6 (Phase 3)"),
(20350*100+02, 9, 1, 0, 0, 0, 100, 3, 100, 100, 0, 0, 45, 4, 4, 0, 0, 0, 0, 19, 20353, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Data 4 4 To Creature ID: 20353, 20 Yards (Phase 3)"),
(20350*100+02, 9, 2, 0, 0, 0, 100, 3, 2000, 2000, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 20353, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Orientation To Creature ID: 20353, 20 Yards (Phase 3)"),
(20350*100+02, 9, 3, 0, 0, 0, 100, 3, 2400, 2400, 0, 0, 45, 2, 2, 0, 0, 0, 0, 19, 20353, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Data 2 2 To Creature ID: 20353, 20 Yards (Phase 3)"),
(20350*100+02, 9, 4, 0, 0, 0, 100, 3, 2000, 2000, 0, 0, 1, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 7 (Phase 3)"),
(20350*100+02, 9, 5, 0, 0, 0, 100, 3, 2000, 2000, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 20353, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Data 1 1 To Creature ID: 20353, 20 Yards (Phase 3)"),
(20350*100+02, 9, 6, 0, 0, 0, 100, 3, 200, 200, 0, 0, 69, 1, 0, 0, 1, 0, 0, 19, 20396, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Move To Position Creature ID: 20396, 20 Yards (Contact Distance 1) (Phase 3)"),
(20350*100+02, 9, 7, 0, 0, 0, 100, 3, 7800, 7800, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 20396, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Orientation To Creature ID: 20396, 20 Yards (Phase 3)"),
(20350*100+02, 9, 8, 0, 0, 0, 100, 3, 200, 200, 0, 0, 45, 4, 4, 0, 0, 0, 0, 19, 20353, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Data 4 4 To Creature ID: 20353, 20 Yards (Phase 3)"),
(20350*100+02, 9, 9, 0, 0, 0, 100, 3, 400, 400, 0, 0, 45, 3, 3, 0, 0, 0, 0, 19, 20353, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Data 3 3 To Creature ID: 20353, 20 Yards (Phase 3)"),
(20350*100+02, 9, 10, 0, 0, 0, 100, 3, 2000, 2000, 0, 0, 1, 8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 8 (Phase 3)"),
(20350*100+02, 9, 11, 0, 0, 0, 100, 3, 1000, 1000, 0, 0, 11, 35140, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Cast Spell 'Reanimate Critter' (Phase 3)"),
(20350*100+02, 9, 12, 0, 0, 0, 100, 3, 3200, 3200, 0, 0, 45, 2, 2, 0, 0, 0, 0, 19, 20396, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Data 2 2 To Creature ID: 20396, 20 Yards (Phase 3)"),
(20350*100+02, 9, 13, 0, 0, 0, 100, 3, 2000, 2000, 0, 0, 1, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 9 (Phase 3)"),
(20350*100+02, 9, 14, 0, 0, 0, 100, 3, 2200, 2200, 0, 0, 5, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Play Emote (5) (Phase 3)"),
(20350*100+02, 9, 15, 0, 0, 0, 100, 3, 2700, 2700, 0, 0, 1, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 10 (Phase 3)"),
(20350*100+02, 9, 16, 0, 0, 0, 100, 3, 1200, 1200, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 20398, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Data 1 1 To Creature ID: 20398, 20 Yards (Phase 3)"),
(20350*100+02, 9, 17, 0, 0, 0, 100, 3, 2800, 2800, 0, 0, 1, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Say Text Line 11 (Phase 3)"),
(20350*100+02, 9, 18, 0, 0, 0, 100, 3, 1200, 1200, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 20353, 20, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Data 1 1 To Creature ID: 20353, 20 Yards (Phase 3)"),
(20350*100+02, 9, 19, 0, 0, 0, 100, 3, 200, 200, 0, 0, 22, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Kel'Thuzad - On Script - Set Event Phase 0 (Phase 3) (Phase 3)");

DELETE FROM `creature_text` WHERE `entry` IN (20357, 20358, 20359, 20350, 20353);
INSERT INTO `creature_text` (`entry`, `text_group`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `text_range`, `comment`) VALUES
(20357, 0, 0, "STOP! Intruders are in the castle!", 12, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),
(20357, 1, 0, "So you thought you could break into this palace of the Light and run away with our secrets! Vishas, interrogate this criminal at once!", 12, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),
(20357, 2, 0, "My champion, destroy this monster!", 12, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),
(20357, 3, 0, "Mograine has fallen! You shall pay for this treachery! Arise, my champion! Arise!", 12, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),
(20357, 4, 0, "%s pretends to cast a healing spell on Renault.", 16, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),
(20357, 5, 0, "We will attack as one!", 12, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),
(20357, 6, 0, "The children cheer.", 16, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),
(20357, 7, 0, "We are victorious!", 12, 0, 100, 0, 0, 0, 0, "Sally Whitemane"),

(20358, 0, 0, "The infidel shall be purified, milady!", 12, 0, 100, 0, 0, 0, 0, "Renault Mograine"),
(20358, 1, 0, "ARGH! It has struck a fatal blow! I have failed you...", 12, 0, 100, 0, 0, 0, 0, "Renault Mograine"),
(20358, 2, 0, "%s staggers about as if he were mortally wounded.", 16, 0, 100, 0, 0, 0, 0, "Renault Mograine"),
(20358, 3, 0, "At your side, milady!", 12, 0, 100, 0, 0, 0, 0, "Renault Mograine"),

(20359, 0, 0, "My pleasure, milady!", 12, 0, 100, 0, 0, 0, 0, "Little Jimmy Vishnas"),
(20359, 1, 0, "Tell me everything, scum! Tell me or I'll rip the secrets from your flesh!", 12, 0, 100, 0, 0, 0, 0, "Little Jimmy Vishnas"),
(20359, 2, 0, "It isn't talking, milady. I know it holds secrets! Naughty secrets!", 12, 0, 100, 0, 0, 0, 0, "Little Jimmy Vishnas"),

(20350, 0, 0, "Keep your voice down, Helcular. Strangers abound...", 12, 0, 100, 1, 0, 0, 0, "Kel'Thuzad"),
(20350, 1, 0, "Necromancy. It is called necromancy. And yes, I have it within my power to bless you with this gift.", 12, 0, 100, 1, 0, 0, 0, "Kel'Thuzad"),
(20350, 2, 0, "That is none of your concern, Helcular, as you are neither Kirin Tor nor a necromancer.", 12, 0, 100, 274, 0, 0, 0, "Kel'Thuzad"),
(20350, 3, 0, "But to be perfectly frank, I do not give a damn what the Kirin Tor think! They are fools, set in their archaic ways.", 12, 0, 100, 1, 0, 0, 0, "Kel'Thuzad"),
(20350, 4, 0, "%s nods.", 16, 0, 100, 0, 0, 0, 0, "Kel'Thuzad"),
(20350, 5, 0, "In due time, Helcular... All in due time...", 12, 0, 100, 1, 0, 0, 0, "Kel'Thuzad"),
(20350, 6, 0, "%s looks to the left and then the right.", 16, 0, 100, 0, 0, 0, 0, "Kel'Thuzad"),
(20350, 7, 0, "Come, Helcular, let me give you a small taste...", 12, 0, 100, 1, 0, 0, 0, "Kel'Thuzad"),
(20350, 8, 0, "%s utters some unintelligible words.", 16, 0, 100, 0, 0, 0, 0, "Kel'Thuzad"),
(20350, 9, 0, "Now do you see, Helcular? Do you doubt the power? I control life!", 12, 0, 100, 1, 0, 0, 0, "Kel'Thuzad"),
(20350, 10, 0, "And death...", 12, 0, 100, 0, 0, 0, 0, "Kel'Thuzad"),
(20350, 11, 0, "I'm still working out some minor details...", 12, 0, 100, 24, 0, 0, 0, "Kel'Thuzad"),

(20353, 0, 0, "%s nods.", 16, 0, 100, 273, 0, 0, 0, "Helcular"),
(20353, 1, 0, "So you can teach me this... this...", 12, 0, 100, 6, 0, 0, 0, "Helcular"),
(20353, 2, 0, "And the Kirin Tor? What have they to say of necromancy?", 12, 0, 100, 6, 0, 0, 0, "Helcular"),
(20353, 3, 0, "Then teach me, Kel'Thuzad. Teach me everything you know...", 12, 0, 100, 1, 0, 0, 0, "Helcular");

C++:

enum HelcularData
{
    NPC_ENTRY_KELTHUZAD                     = 20350,
    NPC_ENTRY_CAPTURED_CRITTER              = 20396
};

struct npc_helcular : public SmartAI
{
    npc_helcular(Creature* creature) : SmartAI(creature) { }

    void Reset()
    {
        SmartAI::Reset();
    }

    void SetData(uint32 field, uint32 data)
    {
        if (field == 1 && data == 1)
        {
            if (Creature* kelthuzad = me->FindNearestCreature(NPC_ENTRY_KELTHUZAD, 20.f))
            {
                CAST_AI(SmartAI, me->AI())->SetFollow(kelthuzad, 0.1f, 90.f);
            }
        }

        if (field == 2 && data == 2)
        {
            if (Creature* kelthuzad = me->FindNearestCreature(NPC_ENTRY_KELTHUZAD, 20.f))
            {
                me->SetFacingToObject(kelthuzad);
            }
        }

        if (field == 3 && data == 3)
        {
            if (Creature* captured_critter = me->FindNearestCreature(NPC_ENTRY_CAPTURED_CRITTER, 20.f))
            {
                me->SetFacingToObject(captured_critter);
            }
        }

        if (field == 4 && data == 4)
        {
            CAST_AI(SmartAI, me->AI())->StopFollow(false);
        }
    }

    void UpdateAI(uint32 diff)
    {
        SmartAI::UpdateAI(diff);
    }
};

void AddSC_old_hillsbrad()
{
    register_creature_script(npc_helcular);
}