Scripts/Arenas: Implement Hook Point (#31384)

This commit is contained in:
Jeremy
2025-10-20 23:17:33 +02:00
committed by GitHub
parent 064572d4b1
commit 480aa30a1e
3 changed files with 791 additions and 0 deletions

View File

@@ -0,0 +1,403 @@
SET @CGUID := 7003715;
SET @OGUID := 7000701;
SET @SPAWN_GROUP := 1277;
DELETE FROM `battleground_scripts` WHERE `MapId` = 1825 AND `BattlemasterListId` = 0;
INSERT INTO `battleground_scripts` (`MapId`, `BattlemasterListId`, `ScriptName`) VALUES
(1825, 0, 'arena_hook_point');
DELETE FROM `battleground_template` WHERE `ID` = 897;
INSERT INTO `battleground_template` (`ID`, `AllianceStartLoc`, `HordeStartLoc`, `StartMaxDist`, `Weight`, `Comment`) VALUES
(897, 6276, 6277, 0, 1, 'Hook Point');
DELETE FROM `conversation_actors` WHERE (`ConversationId`=9450 AND `Idx`=0);
INSERT INTO `conversation_actors` (`ConversationId`, `ConversationActorId`, `ConversationActorGuid`, `Idx`, `CreatureId`, `CreatureDisplayInfoId`, `NoActorObject`, `ActivePlayerObject`, `VerifiedBuild`) VALUES
(9450, 65852, @CGUID+15, 0, 0, 0, 0, 0, 63305); -- Full: 0x203CD0E420864E80000FF100005001DA Creature/0 R3892/S4081 Map: 1825 (Hook Point) Entry: 137530 (Daniel Poole) Low: 5243354
DELETE FROM `conversation_template` WHERE `Id`=9450;
INSERT INTO `conversation_template` (`Id`, `FirstLineID`, `TextureKitId`, `VerifiedBuild`) VALUES
(9450, 21373, 0, 63305);
DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+29;
INSERT INTO `creature` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnDifficulties`, `PhaseId`, `PhaseGroup`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `MovementType`, `npcflag`, `unit_flags`, `unit_flags2`, `unit_flags3`, `VerifiedBuild`) VALUES
(@CGUID+0, 134955, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1055.9114990234375, -329.954864501953125, 4.589642047882080078, 3.730200052261352539, 7200, 10, 0, 1, NULL, NULL, NULL, NULL, 63305), -- Chicken (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+1, 134955, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1048.223876953125, -327.40704345703125, 0.673026502132415771, 0.417364656925201416, 7200, 10, 0, 1, NULL, NULL, NULL, NULL, 63305), -- Chicken (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+2, 134955, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1040.6112060546875, -342.994293212890625, 1.437951445579528808, 6.221436023712158203, 7200, 10, 0, 1, NULL, NULL, NULL, NULL, 63305), -- Chicken (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+3, 143134, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1046.3021240234375, -314.461822509765625, 2.330190658569335937, 3.882303953170776367, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Brian Holinka (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+4, 134955, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1058.015625, -335.732635498046875, 3.994848489761352539, 3.651679515838623046, 7200, 10, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Chicken (Area: Hook Point - Difficulty: 0) CreateObject1 (Auras: 152765 - Mod Scale 135-150%)
(@CGUID+5, 115087, 1825, 9279, 9279, '0', '0', 0, 0, 0, 972.47515869140625, -325.302032470703125, 0.676339328289031982, 0.20080345869064331, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Rat (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+6, 143133, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1025.2783203125, -375.282012939453125, 8.534680366516113281, 1.570411920547485351, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Disgusting Rat (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+7, 143245, 1825, 9279, 9279, '0', '0', 0, 0, 0, 970.734375, -298.1632080078125, 3.351326465606689453, 2.264124631881713867, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Bouncer (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+8, 143245, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1050.62158203125, -357.223968505859375, 2.02806854248046875, 5.506673336029052734, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Bouncer (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+9, 134955, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1057.920166015625, -335.44964599609375, 5.155292510986328125, 3.763328790664672851, 7200, 10, 0, 1, NULL, NULL, NULL, NULL, 63305), -- Chicken (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+10, 134955, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1043.3782958984375, -338.28369140625, 0.744661152362823486, 4.770718097686767578, 7200, 10, 0, 1, NULL, NULL, NULL, NULL, 63305), -- Chicken (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+11, 134955, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1054.408447265625, -338.9747314453125, 0.875749409198760986, 4.756616115570068359, 7200, 10, 0, 1, NULL, NULL, NULL, NULL, 63305), -- Chicken (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+12, 115087, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1042.40087890625, -368.8843994140625, 1.727668046951293945, 1.458274602890014648, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Rat (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+13, 139068, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1020.59783935546875, -285.5479736328125, 9.021422386169433593, 2.950590133666992187, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Boralus Civilian (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+14, 139060, 1825, 9279, 9279, '0', '0', 0, 0, 0, 981.1336669921875, -283.196197509765625, 3.327446699142456054, 2.183746337890625, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Boralus Worker (Area: Hook Point - Difficulty: 0) CreateObject1 (Auras: 244863 - 8.0 Carry Barrel New Anim)
(@CGUID+15, 137530, 1825, 9279, 9279, '0', '0', 0, 0, 1, 1001.96697998046875, -314.97222900390625, 6.313004970550537109, 3.266660451889038085, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Daniel Poole (Area: Hook Point - Difficulty: 0) CreateObject1 (Auras: )
(@CGUID+16, 138894, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1051.1129150390625, -319.619781494140625, 3.766951560974121093, 3.732582807540893554, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Chef Robinson (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+17, 115087, 1825, 9279, 9279, '0', '0', 0, 0, 0, 985.70068359375, -360.980010986328125, 0.816299378871917724, 4.237788677215576171, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Rat (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+18, 138899, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1033.3992919921875, -296.838531494140625, 0.654040932655334472, 4.215125083923339843, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Companion (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+19, 139068, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1036.438720703125, -295.1119384765625, 0.8553619384765625, 3.244702100753784179, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Boralus Civilian (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+20, 141184, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1057.609375, -359.517364501953125, 1.919618844985961914, 2.679828166961669921, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Boralus Civilian (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+21, 139068, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1021.13018798828125, -286.71527099609375, 9.035974502563476562, 4.909348964691162109, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Boralus Civilian (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+22, 134955, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1054.1669921875, -342.708984375, 1.413500547409057617, 1.787346601486206054, 7200, 10, 0, 1, NULL, NULL, NULL, NULL, 63305), -- Chicken (Area: Hook Point - Difficulty: 0) CreateObject1 (Auras: 152765 - Mod Scale 135-150%)
(@CGUID+23, 134955, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1027.39892578125, -333.947998046875, 0.555386483669281005, 1.086550831794738769, 7200, 10, 0, 1, NULL, NULL, NULL, NULL, 63305), -- Chicken (Area: Hook Point - Difficulty: 0) CreateObject1 (Auras: 152765 - Mod Scale 135-150%)
(@CGUID+24, 134955, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1051.02294921875, -332.5289306640625, 0.744661152362823486, 0.603641748428344726, 7200, 10, 0, 1, NULL, NULL, NULL, NULL, 63305), -- Chicken (Area: Hook Point - Difficulty: 0) CreateObject1 (Auras: 152765 - Mod Scale 135-150%)
(@CGUID+25, 143245, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1048.5086669921875, -358.185760498046875, 1.956497669219970703, 5.506673336029052734, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Bouncer (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+26, 143122, 1825, 9279, 9279, '0', '0', 0, 0, 0, 966.6319580078125, -283.078125, 3.367653608322143554, 5.36810302734375, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Jay the Tavern Bard (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+27, 143245, 1825, 9279, 9279, '0', '0', 0, 0, 0, 968.95660400390625, -298.59027099609375, 3.384720325469970703, 2.266976356506347656, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Bouncer (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+28, 143121, 1825, 9279, 9279, '0', '0', 0, 0, 0, 966.24652099609375, -285.06597900390625, 3.742449045181274414, 1.501461982727050781, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305), -- Penny (Area: Hook Point - Difficulty: 0) CreateObject1
(@CGUID+29, 143126, 1825, 9279, 9279, '0', '0', 0, 0, 0, 1056.920166015625, -333.536468505859375, 3.753514528274536132, 3.870003938674926757, 7200, 0, 0, 0, NULL, NULL, NULL, NULL, 63305); -- Col. Tenders (Area: Hook Point - Difficulty: 0) CreateObject1
UPDATE `creature` SET `StringId` = 'hook_point_bouncer_1' WHERE `guid` = @CGUID+25;
UPDATE `creature` SET `StringId` = 'hook_point_bouncer_2' WHERE `guid` = @CGUID+8;
UPDATE `creature` SET `StringId` = 'hook_point_bouncer_3' WHERE `guid` = @CGUID+7;
UPDATE `creature` SET `StringId` = 'hook_point_bouncer_4' WHERE `guid` = @CGUID+27;
DELETE FROM `creature_addon` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+29;
DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+24;
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnDifficulties`, `PhaseId`, `PhaseGroup`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `VerifiedBuild`) VALUES
(@OGUID+0, 295778, 1825, 9279, 9279, '0', '0', 0, 915.38800048828125, -290.0887451171875, 5.440062522888183593, 1.235011458396911621, 0, 0, 0.579003334045410156, 0.815325140953063964, 7200, 255, 1, 63305), -- Fire (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+1, 297144, 1825, 9279, 9279, '0', '0', 0, 1051.5054931640625, -355.92987060546875, 1.993935108184814453, 1.980946660041809082, 0, 0, 0.836285591125488281, 0.5482940673828125, 7200, 255, 1, 63305), -- Doodad_8HU_KulTiras_SlideDoor001 (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+2, 299251, 1825, 9279, 9279, '0', '0', 0, 1189.9893798828125, -580.01959228515625, 31.51054573059082031, 1.96468353271484375, 0.000000476837158203, -0.0000009536743164, 0.831799507141113281, 0.555076181888580322, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+3, 299250, 1825, 9279, 9279, '0', '0', 0, 1188.0447998046875, -577.60223388671875, 31.50738525390625, 0.094519510865211486, 0.000000953674316406, 0, 0.047242164611816406, 0.998883485794067382, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+4, 299255, 1825, 9279, 9279, '0', '0', 0, 1183.1292724609375, -581.32568359375, 31.51056671142578125, 3.773211479187011718, 0, 0.000000953674316406, -0.95054531097412109, 0.310585945844650268, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+5, 299254, 1825, 9279, 9279, '0', '0', 0, 1180.421630859375, -584.139404296875, 31.49713897705078125, 1.322223186492919921, 0.000000476837158203, -0.0000009536743164, 0.613994598388671875, 0.789310216903686523, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+6, 299253, 1825, 9279, 9279, '0', '0', 0, 1192.1790771484375, -576.419921875, 31.51056671142578125, 3.372272014617919921, 0, 0.000000953674316406, -0.99335575103759765, 0.11508401483297348, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+7, 299252, 1825, 9279, 9279, '0', '0', 0, 1188.703369140625, -575.6353759765625, 31.50739860534667968, 5.4872894287109375, 0.000000953674316406, 0, -0.3875274658203125, 0.921858131885528564, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+8, 299259, 1825, 9279, 9279, '0', '0', 0, 1066.8653564453125, -488.93096923828125, 9.716356277465820312, 4.711831092834472656, 0.000000476837158203, -0.0000009536743164, -0.70730400085449218, 0.706909477710723876, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+9, 299258, 1825, 9279, 9279, '0', '0', 0, 1068.9713134765625, -489.8668212890625, 9.71636199951171875, 3.821414947509765625, 0.000000953674316406, 0, -0.94278430938720703, 0.333403319120407104, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+10, 299257, 1825, 9279, 9279, '0', '0', 0, 1073.980224609375, -477.45977783203125, 9.744752883911132812, 4.703663349151611328, 0.000000476837158203, -0.0000009536743164, -0.71018505096435546, 0.704015016555786132, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+11, 299256, 1825, 9279, 9279, '0', '0', 0, 1178.89111328125, -581.27447509765625, 31.51056671142578125, 5.735074996948242187, 0.000000953674316406, 0, -0.27063751220703125, 0.962681293487548828, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+12, 299263, 1825, 9279, 9279, '0', '0', 0, 1131.3326416015625, -620.092041015625, 17.52761459350585937, 2.07492685317993164, 0.000000953674316406, 0, 0.861117362976074218, 0.508406221866607666, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+13, 299262, 1825, 9279, 9279, '0', '0', 0, 1135.1541748046875, -540.5263671875, 17.69433021545410156, 3.759715080261230468, 0, -0.0000009536743164, -0.95261955261230468, 0.304164439439773559, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+14, 299261, 1825, 9279, 9279, '0', '0', 0, 1130.87744140625, -514.7745361328125, 17.62218475341796875, 4.632379055023193359, 0.000000476837158203, -0.0000009536743164, -0.73482131958007812, 0.678260743618011474, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+15, 299260, 1825, 9279, 9279, '0', '0', 0, 1070.61376953125, -493.22552490234375, 9.719885826110839843, 1.346005439758300781, -0.0000009536743164, 0, 0.6233367919921875, 0.781953513622283935, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+16, 299343, 1825, 9279, 9279, '0', '0', 0, 1121.4482421875, -613.8233642578125, 18.18774604797363281, 4.83634042739868164, 0, 0, -0.66195392608642578, 0.749544501304626464, 7200, 255, 1, 63305), -- Guild Vault (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+17, 299342, 1825, 9279, 9279, '0', '0', 0, 1078.0794677734375, -488.1197509765625, 9.677967071533203125, 2.871063947677612304, 0, 0, 0.990865707397460937, 0.134852290153503417, 7200, 255, 1, 63305), -- Fire (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+18, 299344, 1825, 9279, 9279, '0', '0', 0, 1190.2392578125, -586.1121826171875, 31.48215103149414062, 2.966146230697631835, 0, 0, 0.99615478515625, 0.087610773742198944, 7200, 255, 1, 63305), -- Fire (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+19, 296728, 1825, 9279, 9279, '0', '0', 0, 1049.1458740234375, -357.236114501953125, 1.892428040504455566, 5.140336990356445312, 0, 0, -0.54083061218261718, 0.841131508350372314, 7200, 255, 1, 63305), -- Kul Tiras Arena Invis Wall (Bouncers) (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+20, 296728, 1825, 9279, 9279, '0', '0', 0, 970.201416015625, -298.84722900390625, 3.153641939163208007, 5.133892536163330078, 0, 0, -0.54353809356689453, 0.839384496212005615, 7200, 255, 1, 63305), -- Kul Tiras Arena Invis Wall (Bouncers) (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+21, 299265, 1825, 9279, 9279, '0', '0', 0, 1129.332275390625, -618.3427734375, 17.51376152038574218, 0.021999802440404891, 0, -0.0000009536743164, 0.010999679565429687, 0.999939501285552978, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+22, 299264, 1825, 9279, 9279, '0', '0', 0, 1131.2296142578125, -617.977783203125, 17.51376152038574218, 4.238804340362548828, -0.0000009536743164, 0, -0.85325241088867187, 0.521498143672943115, 7200, 255, 1, 63305), -- Chair (Area: Hook Point - Difficulty: 0) CreateObject1
(@OGUID+23, 184663, 1825, 9279, 9279, '0', '0', 0, 1001.9617919921875, -367.802093505859375, 2.291595697402954101, 2.460912704467773437, 0, 0, 0.942641258239746093, 0.333807557821273803, 360, 255, 1, 63305), -- Shadow Sight (Area: Hook Point - Difficulty: 0) CreateObject2
(@OGUID+24, 184664, 1825, 9279, 9279, '0', '0', 0, 963.842041015625, -309.107635498046875, 1.149727106094360351, 3.316144466400146484, 0, 0, -0.99619388580322265, 0.087165042757987976, 360, 255, 1, 63305); -- Shadow Sight (Area: Hook Point - Difficulty: 0) CreateObject2
DELETE FROM `gameobject_addon` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+24;
INSERT INTO `gameobject_addon` (`guid`, `parent_rotation0`, `parent_rotation1`, `parent_rotation2`, `parent_rotation3`, `WorldEffectID`, `AIAnimKitID`) VALUES
(@OGUID+0, 0, 0, -0.59832048416137695, 0.801256895065307617, 0, 0), -- Fire
(@OGUID+1, 0, 0, 1, -0.00000004371138828, 0, 0), -- Doodad_8HU_KulTiras_SlideDoor001
(@OGUID+2, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+3, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+4, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+5, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+6, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+7, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+8, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+9, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+10, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+11, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+12, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+13, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+14, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+15, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+16, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Guild Vault
(@OGUID+17, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Fire
(@OGUID+18, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Fire
(@OGUID+21, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0), -- Chair
(@OGUID+22, 0, 0, 0.999990463256835937, -0.00436332821846008, 0, 0); -- Chair
DELETE FROM `creature_template_addon` WHERE `entry` IN (143126 /*143126 (Col. Tenders)*/, 143121 /*143121 (Penny)*/, 143122 /*143122 (Jay the Tavern Bard)*/, 141184 /*141184 (Boralus Civilian)*/, 138899 /*138899 (Companion)*/, 139060 /*139060 (Boralus Worker) - 8.0 Carry Barrel New Anim*/, 143245 /*143245 (Bouncer)*/, 134955 /*134955 (Chicken) - Mod Scale 135-150%*/, 143134 /*143134 (Brian Holinka)*/);
INSERT INTO `creature_template_addon` (`entry`, `PathId`, `mount`, `StandState`, `AnimTier`, `VisFlags`, `SheathState`, `PvpFlags`, `emote`, `aiAnimKit`, `movementAnimKit`, `meleeAnimKit`, `visibilityDistanceType`, `auras`) VALUES
(143126, 0, 0, 0, 3, 0, 1, 1, 0, 16395, 0, 0, 0, ''), -- 143126 (Col. Tenders)
(143121, 0, 0, 0, 0, 0, 1, 0, 0, 1535, 0, 0, 0, ''), -- 143121 (Penny)
(143122, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, ''), -- 143122 (Jay the Tavern Bard)
(141184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''), -- 141184 (Boralus Civilian)
(138899, 0, 0, 0, 0, 0, 1, 0, 0, 13903, 0, 0, 0, ''), -- 138899 (Companion)
(139060, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, '244863'), -- 139060 (Boralus Worker) - 8.0 Carry Barrel New Anim
(143245, 0, 0, 0, 0, 0, 1, 0, 0, 15348, 0, 0, 0, ''), -- 143245 (Bouncer)
(134955, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, '152765'), -- 134955 (Chicken) - Mod Scale 135-150%
(143134, 0, 0, 0, 0, 0, 0, 1, 0, 16396, 0, 0, 0, ''); -- 143134 (Brian Holinka)
UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x30000000, `VerifiedBuild`=63305 WHERE (`Entry`=143126 AND `DifficultyID`=0); -- 143126 (Col. Tenders) - CanSwim, Floating
UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=63305 WHERE (`Entry`=143121 AND `DifficultyID`=0); -- 143121 (Penny) - CanSwim
UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=63305 WHERE (`Entry`=143122 AND `DifficultyID`=0); -- 143122 (Jay the Tavern Bard) - CanSwim
UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=63305 WHERE (`Entry`=141184 AND `DifficultyID`=0); -- 141184 (vtrsyBoralus Civilian) - CanSwim
UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=63305 WHERE (`Entry`=138899 AND `DifficultyID`=0); -- 138899 (Companion) - CanSwim
UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=63305 WHERE (`Entry`=138894 AND `DifficultyID`=0); -- 138894 (Chef Robinson) - CanSwim
UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x20000100, `VerifiedBuild`=63305 WHERE (`Entry`=137530 AND `DifficultyID`=0); -- 137530 (Daniel Poole) - Sessile, Floating
UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=63305 WHERE (`Entry`=139060 AND `DifficultyID`=0); -- 139060 (Boralus Worker) - CanSwim
UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=63305 WHERE (`Entry`=139068 AND `DifficultyID`=0); -- 139068 (Boralus Civilian) - CanSwim
UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=63305 WHERE (`Entry`=143245 AND `DifficultyID`=0); -- 143245 (Bouncer) - CanSwim
UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=63305 WHERE (`Entry`=143133 AND `DifficultyID`=0); -- 143133 (Disgusting Rat) - CanSwim
UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=63305 WHERE (`Entry`=143134 AND `DifficultyID`=0); -- 143134 (Brian Holinka) - CanSwim
UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=63305 WHERE (`Entry`=134955 AND `DifficultyID`=0); -- 134955 (Chicken) - CanSwim
UPDATE `creature_model_info` SET `BoundingRadius`=0.305999994277954101, `CombatReach`=1.5, `VerifiedBuild`=63305 WHERE `DisplayID`=85348;
UPDATE `creature_template` SET `unit_flags`=0x2000000, `unit_flags3`=0x1000000 WHERE `entry`=143126; -- Col. Tenders
UPDATE `creature_template` SET `unit_flags`=0x2000100 WHERE `entry`=143121; -- Penny
UPDATE `creature_template` SET `unit_flags3`=0x1000000 WHERE `entry`=141184; -- Boralus Civilian
UPDATE `creature_template` SET `unit_flags`=0x2000100, `unit_flags3`=0x1000000 WHERE `entry`=138899; -- Companion
UPDATE `creature_template` SET `unit_flags`=0x2000300, `unit_flags3`=0x1000001 WHERE `entry`=138894; -- Chef Robinson
UPDATE `creature_template` SET `unit_flags`=0x2000200, `unit_flags3`=0x41000000 WHERE `entry`=137530; -- Daniel Poole
UPDATE `creature_template` SET `unit_flags`=0x2000000, `unit_flags3`=0x1000000 WHERE `entry`=139060; -- Boralus Worker
UPDATE `creature_template` SET `unit_flags`=0x2000000 WHERE `entry`=139068; -- Boralus Civilian
UPDATE `creature_template` SET `unit_flags3`=0x1000000 WHERE `entry`=143245; -- Bouncer
UPDATE `creature_template` SET `unit_flags`=0x2000000, `unit_flags3`=0x1000000 WHERE `entry`=143133; -- Disgusting Rat
UPDATE `creature_template` SET `unit_flags`=0x2000000 WHERE `entry`=115087; -- Rat
UPDATE `creature_template` SET `unit_flags`=0x2000000, `unit_flags3`=0x1000000 WHERE `entry`=143134; -- Brian Holinka
UPDATE `creature_template` SET `unit_flags`=0x2000100 WHERE `entry`=134955; -- Chicken
DELETE FROM `creature_text` WHERE `CreatureID` IN (137530);
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
(137530, 0, 0, 'This is a night for Kul Tiras!', 12, 0, 100, 1, 0, 104433, 153439, 3, 'Daniel Poole'),
(137530, 1, 0, 'No, no, no. Good save, good save.', 12, 0, 100, 1, 0, 104442, 153442, 3, 'Daniel Poole to Player'),
(137530, 1, 1, 'Now now, there will be blood! Have patience.', 12, 0, 100, 1, 0, 104441, 153444, 3, 'Daniel Poole to Player'),
(137530, 2, 0, 'Oopsie-daisy!', 12, 0, 100, 1, 0, 104438, 153440, 3, 'Daniel Poole to Player'),
(137530, 2, 1, 'You die... but not as a true Kul Tiran.', 12, 0, 100, 1, 0, 104439, 153441, 3, 'Daniel Poole to Player');
DELETE FROM `spawn_group_template` WHERE `groupId` BETWEEN @SPAWN_GROUP+0 AND @SPAWN_GROUP+0;
INSERT INTO `spawn_group_template` (`groupId`, `groupName`, `groupFlags`) VALUES
(@SPAWN_GROUP+0, 'Hook Point - Shadow sight', 0x20);
DELETE FROM `spawn_group` WHERE `groupId` BETWEEN @SPAWN_GROUP+0 AND @SPAWN_GROUP+0;
INSERT INTO `spawn_group` (`groupId`, `spawnType`, `spawnId`) VALUES
(@SPAWN_GROUP, 1, @OGUID+23),
(@SPAWN_GROUP, 1, @OGUID+24);
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 33 AND `SourceEntry` BETWEEN @SPAWN_GROUP+0 AND @SPAWN_GROUP+0;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceEntry`, `SourceGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ScriptName`) VALUES
(33, @SPAWN_GROUP, 0, 0, 0, 'condition_is_shadow_sight_enabled');
DELETE FROM `spell_proc` WHERE `SpellId` IN (278776);
INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
(278776,0x00,0,0x00000000,0x00000000,0x00000000,0x00000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0,0,0); -- Arena Reaction Trigger
DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_arena_reaction_trigger_low_health', 'spell_arena_reaction_trigger', 'spell_arena_low_health_dying_trigger');
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(278776, 'spell_arena_reaction_trigger'),
(278775, 'spell_arena_reaction_trigger_low_health'),
(279047, 'spell_arena_low_health_dying_trigger');
SET @ENTRY := 143121;
SET @PATHOFFSET := 0;
SET @PATH := @ENTRY * 100 + @PATHOFFSET;
DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
(@PATH, 1, 0x0, 7.0, 'Penny - On Arena Start');
DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
(@PATH, 0, 1002.6268, -329.17535, -0.05121885, NULL, 0);
SET @ENTRY := 143121;
SET @PATHOFFSET := 1;
SET @PATH := @ENTRY * 100 + @PATHOFFSET;
DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
(@PATH, 1, 0x0, 7.0, 'Penny - Idle');
DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
(@PATH, 0, 1018.8993, -350.7066, 1.8962542, NULL, 0),
(@PATH, 1, 1043.9427, -335.64932, 0.74466115, NULL, 0),
(@PATH, 2, 1033.0139, -315.99478, 0.31332558, NULL, 0),
(@PATH, 3, 1004.9827, -304.06076, -0.52707595, NULL, 0),
(@PATH, 4, 988.11804, -323.31076, 0.24062353, NULL, 0),
(@PATH, 5, 999.5833, -338.9479, -0.07570532, NULL, 0);
SET @MOVERGUID := @CGUID+19;
SET @ENTRY := 139068;
SET @PATHOFFSET := 0;
SET @PATH := @ENTRY * 100 + @PATHOFFSET;
DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
(@PATH, 0, 0x0, NULL, 'Boralus Civilian - Idle');
DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
(@PATH, 0, 1036.8496, -295.45276, 0.85536194, NULL, 0),
(@PATH, 1, 1036.2559, -295.13086, 0.85536194, NULL, 0),
(@PATH, 2, 1035.6621, -294.80896, 0.85536194, NULL, 0),
(@PATH, 3, 1033.4913, -293.63202, 0.85536194, NULL, 0),
(@PATH, 4, 1032.6459, -293.1736, 0.8901193, NULL, 0),
(@PATH, 5, 1029.1041, -293.6059, 1.0361143, NULL, 0),
(@PATH, 6, 1022.875, -290.9271, 1.108589, NULL, 0),
(@PATH, 7, 1018.5399, -288.98264, 0.8182485, NULL, 0),
(@PATH, 8, 1013.1771, -290.1354, 0.89820075, NULL, 0),
(@PATH, 9, 1011.191, -289.06946, 0.968675, NULL, 0),
(@PATH, 10, 1011.8559, -286.24478, 1.8783445, NULL, 0),
(@PATH, 11, 1013.5027, -283.42355, 1.4491118, NULL, 0),
(@PATH, 12, 1017.2726, -283.8854, 1.4036883, NULL, 0);
UPDATE `creature` SET `position_x`=1036.8496, `position_y`=-295.45276, `position_z`=0.85536194, `orientation`=0, `wander_distance`=0, `MovementType`=2 WHERE `guid`=@MOVERGUID;
DELETE FROM `creature_addon` WHERE `guid`=@MOVERGUID;
INSERT INTO `creature_addon` (`guid`, `PathId`, `SheathState`) VALUES
(@MOVERGUID, @PATH, 1);
SET @MOVERGUID := @CGUID+14;
SET @ENTRY := 139060;
SET @PATHOFFSET := 0;
SET @PATH := @ENTRY * 100 + @PATHOFFSET;
DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
(@PATH, 0, 0x0, NULL, 'Boralus Worker - Idle');
DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
(@PATH, 0, 988.19965, -283.2309, 3.1939359, NULL, 0),
(@PATH, 1, 991.59375, -275.80728, 3.1649206, NULL, 0),
(@PATH, 2, 996.6649, -269.13196, 3.2029614, NULL, 0),
(@PATH, 3, 1008.0764, -262.5, 3.193937, NULL, 8266),
(@PATH, 4, 993.441, -273.1979, 3.189241, NULL, 0),
(@PATH, 5, 987.9219, -277.43228, 3.1842632, NULL, 0),
(@PATH, 6, 987.75867, -281.50174, 3.1939352, NULL, 0),
(@PATH, 7, 981.6042, -285.86807, 3.2330961, NULL, 0),
(@PATH, 8, 980.74133, -282.85764, 3.255417, NULL, 6974);
UPDATE `creature` SET `position_x`=988.19965, `position_y`=-283.2309, `position_z`=3.1939359, `orientation`=0, `wander_distance`=0, `MovementType`=2 WHERE `guid`=@MOVERGUID;
DELETE FROM `creature_addon` WHERE `guid`=@MOVERGUID;
INSERT INTO `creature_addon` (`guid`, `PathId`, `SheathState`) VALUES
(@MOVERGUID, @PATH, 1);
SET @MOVERGUID := @CGUID+20;
SET @ENTRY := 139068;
SET @PATHOFFSET := 0;
SET @PATH := @ENTRY * 100 + @PATHOFFSET;
DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
(@PATH, 0, 0x0, NULL, 'Boralus Civilian - Idle');
DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
(@PATH, 0, 1036.8496, -295.45276, 0.85536194, NULL, 0),
(@PATH, 1, 1036.2559, -295.13086, 0.85536194, NULL, 0),
(@PATH, 2, 1035.6621, -294.80896, 0.85536194, NULL, 0),
(@PATH, 3, 1033.4913, -293.63202, 0.85536194, NULL, 0),
(@PATH, 4, 1032.6459, -293.1736, 0.8901193, NULL, 0),
(@PATH, 5, 1029.1041, -293.6059, 1.0361143, NULL, 0),
(@PATH, 6, 1022.875, -290.9271, 1.108589, NULL, 0),
(@PATH, 7, 1018.5399, -288.98264, 0.8182485, NULL, 0),
(@PATH, 8, 1013.1771, -290.1354, 0.89820075, NULL, 0),
(@PATH, 9, 1011.191, -289.06946, 0.968675, NULL, 0),
(@PATH, 10, 1011.8559, -286.24478, 1.8783445, NULL, 0),
(@PATH, 11, 1013.5027, -283.42355, 1.4491118, NULL, 0),
(@PATH, 12, 1017.2726, -283.8854, 1.4036883, NULL, 0);
UPDATE `creature` SET `position_x`=1036.8496, `position_y`=-295.45276, `position_z`=0.85536194, `orientation`=0, `wander_distance`=0, `MovementType`=2 WHERE `guid`=@MOVERGUID;
DELETE FROM `creature_addon` WHERE `guid`=@MOVERGUID;
INSERT INTO `creature_addon` (`guid`, `PathId`, `SheathState`) VALUES
(@MOVERGUID, @PATH, 1);
SET @MOVERGUID := @CGUID+21;
SET @ENTRY := 139068;
SET @PATHOFFSET := 0;
SET @PATH := @ENTRY * 100 + @PATHOFFSET;
DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
(@PATH, 0, 0x0, NULL, 'Boralus Civilian - Idle');
DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
(@PATH, 0, 1011.4462, -283.67188, 8.977495, NULL, 0),
(@PATH, 1, 1008.8958, -283.1146, 9.058487, NULL, 13007),
(@PATH, 2, 1017.0538, -284.80728, 9.058487, NULL, 0),
(@PATH, 3, 1020.3698, -285.39932, 9.058487, NULL, 0),
(@PATH, 4, 1020.8663, -287.8229, 9.355321, NULL, 12581),
(@PATH, 5, 1021.1302, -286.71527, 9.111922, NULL, 15364);
UPDATE `creature` SET `position_x`=1011.4462, `position_y`=-283.67188, `position_z`=8.977495, `orientation`=0, `wander_distance`=0, `MovementType`=2 WHERE `guid`=@MOVERGUID;
DELETE FROM `creature_addon` WHERE `guid`=@MOVERGUID;
INSERT INTO `creature_addon` (`guid`, `PathId`, `SheathState`) VALUES
(@MOVERGUID, @PATH, 1);
SET @MOVERGUID := @CGUID+25;
SET @ENTRY := 143245;
SET @PATHOFFSET := 0;
SET @PATH := @ENTRY * 100 + @PATHOFFSET;
DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
(@PATH, 0, 0x0, NULL, 'Bouncer - Idle');
DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
(@PATH, 0, 1045.2786, -352.85156, 2.5022535, NULL, 0),
(@PATH, 1, 1042.0286, -349.10156, 2.2522535, NULL, 0),
(@PATH, 2, 1022.52856, -354.35156, 2.5022535, NULL, 0),
(@PATH, 3, 1007.27856, -363.35156, 2.5022535, NULL, 0),
(@PATH, 4, 1003.5486, -371.01736, 2.5480092, NULL, 0);
SET @MOVERGUID := @CGUID+7;
SET @ENTRY := 143245;
SET @PATHOFFSET := 2; -- 1
SET @PATH := @ENTRY * 100 + @PATHOFFSET;
DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
(@PATH, 0, 0x0, NULL, 'Bouncer - Idle');
DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
(@PATH, 0, 977.1727, -301.1363, 0.8325119, NULL, 0),
(@PATH, 1, 984.4227, -305.1363, 0.3325119, NULL, 0),
(@PATH, 2, 997.6727, -304.1363, -0.1674881, NULL, 0),
(@PATH, 3, 1009.6727, -292.3863, 0.8325119, NULL, 0),
(@PATH, 4, 1013.4227, -283.6363, 1.8325119, NULL, 0),
(@PATH, 5, 1018.1111, -284.10938, 1.3136975, NULL, 0);
SET @MOVERGUID := @CGUID+27;
SET @ENTRY := 143245;
SET @PATHOFFSET := 3;
SET @PATH := @ENTRY * 100 + @PATHOFFSET;
DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
(@PATH, 0, 0x0, NULL, 'Bouncer - Idle');
DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
(@PATH, 0, 980.68317, -304.7292, 0.09912133, NULL, 0),
(@PATH, 1, 987.93317, -308.7292, 0.34912133, NULL, 0),
(@PATH, 2, 998.68317, -302.4792, -0.15087867, NULL, 0),
(@PATH, 3, 1009.93317, -292.7292, 0.84912133, NULL, 0),
(@PATH, 4, 1013.18317, -283.4792, 1.8491213, NULL, 0),
(@PATH, 5, 1018.9097, -283.86807, 1.3135223, NULL, 0);
SET @MOVERGUID := @CGUID+8;
SET @ENTRY := 143245;
SET @PATHOFFSET := 1;
SET @PATH := @ENTRY * 100 + @PATHOFFSET;
DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
(@PATH, 0, 0x0, NULL, 'Bouncer - Idle');
DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
(@PATH, 0, 1041.0739, -351.52954, 2.2203364, NULL, 0),
(@PATH, 1, 1037.5739, -353.27954, 2.7203364, NULL, 0),
(@PATH, 2, 1032.0739, -355.52954, 2.7203364, NULL, 0),
(@PATH, 3, 1021.32385, -360.02954, 2.7203364, NULL, 0),
(@PATH, 4, 1013.32385, -365.52954, 2.4703364, NULL, 0),
(@PATH, 5, 1009.5261, -368.33508, 2.412604, NULL, 0);
-- Bouncer smart ai
SET @ENTRY := 143245;
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` = @ENTRY;
DELETE FROM `smart_scripts` WHERE `source_type` = 0 AND `entryOrGuid` = @ENTRY;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `action_param7`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`, `Difficulties`) VALUES
(@ENTRY, 0, 0, 0, 58, 0, 100, 0, 0xFFFFFFFF, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'On any waypoint of any path ended - Self: Despawn instantly', '');
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 22 AND `SourceEntry` = 143245 AND `SourceId` = 0;
-- Penny smart ai
SET @ENTRY := 143121;
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` = @ENTRY;
DELETE FROM `smart_scripts` WHERE `source_type` = 0 AND `entryOrGuid` = @ENTRY;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `action_param7`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`, `Difficulties`) VALUES
(@ENTRY, 0, 0, 0, 58, 0, 100, 0, 0, 14312100, 0, 0, 0, 53, 1, 14312101, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'On any waypoint of path 14312100 ended - Self: Start path #14312101, run, repeat, Passive', ''),
(@ENTRY, 0, 1, 0, 72, 0, 100, 0, 4, 0, 0, 0, 0, 53, 0, 14312100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'On action[4] - Self: Start path #14312100, run, do not repeat, Passive', '');
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 22 AND `SourceEntry` = 143121 AND `SourceId` = 0;

View File

@@ -0,0 +1,384 @@
/*
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "Battleground.h"
#include "BattlegroundScript.h"
#include "Conversation.h"
#include "Creature.h"
#include "CreatureAI.h"
#include "GameObject.h"
#include "Map.h"
#include "MotionMaster.h"
#include "Player.h"
#include "ScriptMgr.h"
#include "SpellScript.h"
#include "TaskScheduler.h"
namespace HookPoint
{
namespace Actions
{
static constexpr uint32 ReactionTrigger = 1;
static constexpr uint32 ReactionDead = 2;
static constexpr uint32 ReactionCheer = 3;
static constexpr uint32 PennyMove = 4;
}
namespace BouncerPaths
{
static constexpr uint64 Path1 = 14324500;
static constexpr uint64 Path2 = 14324501;
static constexpr uint64 Path3 = 14324502;
static constexpr uint64 Path4 = 14324503;
}
namespace Conversations
{
static constexpr uint32 Prepare = 9450;
}
namespace Creatures
{
static constexpr uint32 DanielPoole = 137530;
static constexpr uint32 Bouncer = 143245;
static constexpr uint32 Penny = 143121;
}
namespace GameObjects
{
static constexpr uint32 InvisWall = 296728;
static constexpr uint32 SlideDoor = 297144;
}
namespace MapIds
{
static constexpr uint32 HookPoint = 1825;
}
namespace Spells
{
static constexpr uint32 KulTirasArenaVOCooldownAura = 275002;
static constexpr uint32 ArenaReactionTrigger = 278776;
static constexpr uint32 KulTirasArenaCrowdCheers = 278937;
static constexpr uint32 ArenaLowHealthDyingTrigger = 279047;
static constexpr uint32 KulTirasArenaCrowdBoos = 278926;
}
namespace StringIds
{
static constexpr std::string_view Bouncer1 = "hook_point_bouncer_1"sv;
static constexpr std::string_view Bouncer2 = "hook_point_bouncer_2"sv;
static constexpr std::string_view Bouncer3 = "hook_point_bouncer_3"sv;
static constexpr std::string_view Bouncer4 = "hook_point_bouncer_4"sv;
}
namespace Texts
{
namespace DanielPoole
{
static constexpr uint8 Start = 0;
static constexpr uint8 ReactionLowHealth = 1;
static constexpr uint8 ReactionKill = 2;
}
}
}
struct arena_hook_point : ArenaScript
{
explicit arena_hook_point(BattlegroundMap* map) : ArenaScript(map) { }
void OnStart() override
{
for (ObjectGuid const& guid : _doorGUIDs)
{
if (GameObject* door = battlegroundMap->GetGameObject(guid))
{
door->UseDoorOrButton();
door->DespawnOrUnsummon(5s);
}
}
if (Creature const* creature = battlegroundMap->GetCreature(_danielPooleGUID))
creature->AI()->Talk(HookPoint::Texts::DanielPoole::Start);
for (ObjectGuid const& guid : _bouncerGUIDs)
{
if (Creature* bouncer = battlegroundMap->GetCreature(guid))
{
bouncer->SetAIAnimKitId(0);
if (bouncer->HasStringId(HookPoint::StringIds::Bouncer1))
bouncer->GetMotionMaster()->MovePath(HookPoint::BouncerPaths::Path1, false, {}, {}, MovementWalkRunSpeedSelectionMode::Default, {}, {}, {}, true, false);
else if (bouncer->HasStringId(HookPoint::StringIds::Bouncer2))
{
bouncer->m_Events.AddEventAtOffset([bouncer]()
{
bouncer->GetMotionMaster()->MovePath(HookPoint::BouncerPaths::Path2, false, {}, {}, MovementWalkRunSpeedSelectionMode::Default, {}, {}, {}, true, false);
}, 500ms);
}
else if (bouncer->HasStringId(HookPoint::StringIds::Bouncer3))
bouncer->GetMotionMaster()->MovePath(HookPoint::BouncerPaths::Path3, false, {}, {}, MovementWalkRunSpeedSelectionMode::Default, {}, {}, {}, true, false);
else if (bouncer->HasStringId(HookPoint::StringIds::Bouncer4))
{
bouncer->m_Events.AddEventAtOffset([bouncer]()
{
bouncer->GetMotionMaster()->MovePath(HookPoint::BouncerPaths::Path4, false, {}, {}, MovementWalkRunSpeedSelectionMode::Default, {}, {}, {}, true, false);
}, 500ms);
}
}
}
if (Creature* creature = battlegroundMap->GetCreature(_pennyGUID))
{
creature->SetAIAnimKitId(0);
creature->AI()->DoAction(HookPoint::Actions::PennyMove);
}
}
void OnUpdate(uint32 diff) override
{
_scheduler.Update(diff);
}
void OnPrepareStage1() override
{
_scheduler.Schedule(20s, [&](TaskContext)
{
if (GameObject* slideDoor = battlegroundMap->GetGameObject(_slideDoorGUID))
slideDoor->UseDoorOrButton();
if (Creature* creature = battlegroundMap->GetCreature(_danielPooleGUID))
Conversation::CreateConversation(HookPoint::Conversations::Prepare, creature, creature->GetPosition(), ObjectGuid::Empty);
});
}
void DoAction(uint32 actionId, WorldObject* source, WorldObject* target) override
{
switch (actionId)
{
case HookPoint::Actions::ReactionTrigger:
HandleReactionLowHealth(Object::ToPlayer(source));
break;
case HookPoint::Actions::ReactionCheer:
HandleReactionCheer(Object::ToPlayer(source));
break;
case HookPoint::Actions::ReactionDead:
HandleKill(Object::ToPlayer(target));
break;
default:
break;
}
}
void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
case HookPoint::Creatures::DanielPoole:
_danielPooleGUID = creature->GetGUID();
break;
case HookPoint::Creatures::Bouncer:
_bouncerGUIDs.emplace_back(creature->GetGUID());
break;
case HookPoint::Creatures::Penny:
_pennyGUID = creature->GetGUID();
break;
default:
break;
}
}
void OnGameObjectCreate(GameObject* gameobject) override
{
switch (gameobject->GetEntry())
{
case HookPoint::GameObjects::InvisWall:
_doorGUIDs.emplace_back(gameobject->GetGUID());
break;
case HookPoint::GameObjects::SlideDoor:
_slideDoorGUID = gameobject->GetGUID();
break;
default:
break;
}
}
void OnPlayerJoined(Player* player, bool /*inBattleground*/) override
{
player->CastSpell(nullptr, HookPoint::Spells::ArenaReactionTrigger, CastSpellExtraArgsInit{
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR
});
}
void HandleKill(Player const* victim) const
{
if (!victim)
return;
if (Creature* creature = battlegroundMap->GetCreature(_danielPooleGUID))
{
if (creature->HasAura(HookPoint::Spells::KulTirasArenaVOCooldownAura))
return;
creature->AI()->Talk(HookPoint::Texts::DanielPoole::ReactionKill, victim);
creature->CastSpell(nullptr, HookPoint::Spells::KulTirasArenaVOCooldownAura, CastSpellExtraArgsInit{
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR
});
}
}
void HandleReactionCheer(Player const* victim) const
{
if (!victim)
return;
Team const otherTeam = GetOtherTeam(victim->GetBGTeam());
battlegroundMap->DoOnPlayers([&](Player* player)
{
if (player->GetBGTeam() == otherTeam)
{
player->CastSpell(nullptr, HookPoint::Spells::KulTirasArenaCrowdCheers, CastSpellExtraArgsInit{
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR
});
}
});
}
void HandleReactionLowHealth(Player const* victim) const
{
if (!victim)
return;
Team const victimTeam = victim->GetBGTeam();
battlegroundMap->DoOnPlayers([&](Player* player)
{
if (player->GetBGTeam() == victimTeam)
{
player->CastSpell(nullptr, HookPoint::Spells::KulTirasArenaCrowdBoos, CastSpellExtraArgsInit{
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR
});
}
});
if (Creature* creature = battlegroundMap->GetCreature(_danielPooleGUID))
{
if (creature->HasAura(HookPoint::Spells::KulTirasArenaVOCooldownAura))
return;
creature->AI()->Talk(HookPoint::Texts::DanielPoole::ReactionLowHealth, victim);
creature->CastSpell(nullptr, HookPoint::Spells::KulTirasArenaVOCooldownAura, CastSpellExtraArgsInit{
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR
});
}
}
private:
GuidVector _doorGUIDs;
GuidVector _bouncerGUIDs;
ObjectGuid _slideDoorGUID;
ObjectGuid _danielPooleGUID;
ObjectGuid _pennyGUID;
TaskScheduler _scheduler;
};
// 278775 - Arena Reaction Trigger - Low Health
class spell_arena_reaction_trigger_low_health : public SpellScript
{
bool Load() override
{
return GetCaster()->GetMapId() == HookPoint::MapIds::HookPoint;
}
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ HookPoint::Spells::ArenaLowHealthDyingTrigger });
}
void HandleHit(SpellEffIndex /*effIndex*/) const
{
Unit* target = GetHitUnit();
target->CastSpell(nullptr, HookPoint::Spells::ArenaLowHealthDyingTrigger, CastSpellExtraArgsInit{
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR
});
if (ZoneScript* zoneScript = target->FindZoneScript())
zoneScript->DoAction(HookPoint::Actions::ReactionCheer, GetCaster(), target);
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_arena_reaction_trigger_low_health::HandleHit, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
// 278776 - Arena Reaction Trigger
class spell_arena_reaction_trigger : public AuraScript
{
bool Load() override
{
return GetOwner()->GetMapId() == HookPoint::MapIds::HookPoint;
}
void HandleProc(ProcEventInfo const& eventInfo) const
{
if (ZoneScript* zonescript = GetTarget()->FindZoneScript())
zonescript->DoAction(HookPoint::Actions::ReactionDead, eventInfo.GetActor(), eventInfo.GetProcTarget());
}
void Register() override
{
OnProc += AuraProcFn(spell_arena_reaction_trigger::HandleProc);
}
};
// 279047 - Arena Low Health Dying Trigger
class spell_arena_low_health_dying_trigger : public AuraScript
{
bool Load() override
{
return GetOwner()->GetMapId() == HookPoint::MapIds::HookPoint;
}
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({HookPoint::Spells::ArenaLowHealthDyingTrigger });
}
void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) const
{
Unit* target = GetTarget();
if (ZoneScript* zoneScript = target->FindZoneScript())
zoneScript->DoAction(HookPoint::Actions::ReactionTrigger, GetCaster(), target);
}
void Register() override
{
OnEffectRemove += AuraEffectRemoveFn(spell_arena_low_health_dying_trigger::HandleRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
void AddSC_arena_hook_point()
{
RegisterBattlegroundMapScript(arena_hook_point, HookPoint::MapIds::HookPoint);
RegisterSpellScript(spell_arena_reaction_trigger_low_health);
RegisterSpellScript(spell_arena_reaction_trigger);
RegisterSpellScript(spell_arena_low_health_dying_trigger);
}

View File

@@ -75,6 +75,8 @@ void AddSC_arena_nokhudon_proving_grounds();
void AddSC_arena_cage_of_carnage();
void AddSC_arena_hook_point();
// The name of this function should match:
// void Add${NameOfDirectory}Scripts()
void AddBattlegroundsScripts()
@@ -134,4 +136,6 @@ void AddBattlegroundsScripts()
AddSC_arena_nokhudon_proving_grounds();
AddSC_arena_cage_of_carnage();
AddSC_arena_hook_point();
}