Merge pull request #212 from mod-playerbots/test-staging

Core Sync
This commit is contained in:
Keleborn
2026-05-29 13:10:13 -07:00
committed by GitHub
57 changed files with 1574 additions and 97 deletions
+1 -1
View File
@@ -120,7 +120,7 @@
"deno.path": "deps/deno/bin/deno",
"deno.lint": true,
"C_Cpp.default.compileCommands": "${workspaceFolder}/build/compile_commands.json",
"C_Cpp.default.cppStandard": "c++17",
"C_Cpp.default.cppStandard": "c++20",
"C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools",
"C_Cpp.default.compilerPath": "/usr/bin/clang",
"cmake.sourceDirectory": ["${workspaceFolder}"],
+15 -11
View File
@@ -1,4 +1,4 @@
ARG UBUNTU_VERSION=22.04 # lts
ARG UBUNTU_VERSION=24.04 # lts
# This target lays out the general directory skeleton for AzerothCore,
# This target isn't intended to be directly used
@@ -67,7 +67,7 @@ RUN apt-get update \
build-essential ccache libtool cmake-data make cmake clang \
git lsb-base curl unzip default-mysql-client openssl \
default-libmysqlclient-dev libboost-all-dev libssl-dev libmysql++-dev \
libreadline-dev zlib1g-dev libbz2-dev libncurses5-dev \
libreadline-dev zlib1g-dev libbz2-dev libncurses5-dev liblzma-dev \
&& rm -rf /var/lib/apt/lists/*
COPY CMakeLists.txt /azerothcore/CMakeLists.txt
@@ -117,11 +117,12 @@ ARG DOCKER_USER=acore
ENV ACORE_COMPONENT=undefined
# Install base dependencies for azerothcore
RUN apt-get update && \
apt-get install -y --no-install-recommends \
libmysqlclient21 libreadline8 \
gettext-base default-mysql-client && \
rm -rf /var/lib/apt/lists/*
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
libmysqlclient21 libreadline8 libicu74 libncurses5-dev \
gettext-base default-mysql-client \
adduser \
&& rm -rf /var/lib/apt/lists/*
COPY --from=build /azerothcore/env/dist/etc/ /azerothcore/env/ref/etc
@@ -129,10 +130,13 @@ VOLUME /azerothcore/env/dist/etc
ENV PATH="/azerothcore/env/dist/bin:$PATH"
RUN groupadd --gid "$GROUP_ID" "$DOCKER_USER" && \
useradd -d /azerothcore --uid "$USER_ID" --gid "$GROUP_ID" "$DOCKER_USER" && \
passwd -d "$DOCKER_USER" && \
chown -R "$DOCKER_USER:$DOCKER_USER" /azerothcore
# To use GID/UID 1000 in ubuntu > 23.04 the existing user must be deleted
# See https://bugs.launchpad.net/cloud-images/+bug/2005129
RUN userdel --remove ubuntu \
&& addgroup --gid "$GROUP_ID" "$DOCKER_USER" \
&& adduser --disabled-password --gecos '' --uid "$USER_ID" --gid "$GROUP_ID" "$DOCKER_USER" \
&& passwd -d "$DOCKER_USER" \
&& chown -R "$DOCKER_USER:$DOCKER_USER" /azerothcore
COPY --chown=$USER_ID:$GROUP_ID \
--chmod=755 \
@@ -0,0 +1,35 @@
-- DB update 2026_05_14_00 -> 2026_05_17_00
-- Split RBAC_PERM_COMMAND_DEBUG (300) into three permission tiers:
--
-- 300 (Command: debug) -- state-modifying commands (unchanged)
-- 920 (Command: debug info) -- read-only / informational commands
-- 921 (Command: debug cosmetic) -- client-side / cosmetic commands
--
-- Backward compatibility: perm 300 links to both 920 and 921, so any account
-- or role that already held perm 300 automatically receives the new sub-perms
-- via RBAC expansion. No existing setups are affected.
--
-- Informational (920): threat, threatinfo, combat, hostile, getvalue,
-- getitemvalue, getitemstate, lootrecipient, los, loot, visibilitydata,
-- objectcount, mapdata, factionchange, zonestats
--
-- Cosmetic (921): play *, send (all except opcode/setphaseshift), anim,
-- areatriggers, boundary, wpgps
--
-- State-modifying (300, unchanged): setbit, Mod32Value, setaurastate,
-- setitemvalue, setvalue, spawnvehicle, setvid, entervehicle, uws, update,
-- itemexpire, arena, bg, lfg, cooldown, moveflags, unitstate, dummy,
-- send opcode, send setphaseshift
DELETE FROM `rbac_permissions` WHERE `id` IN (920, 921);
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
(920, 'Command: debug info'),
(921, 'Command: debug cosmetic');
-- Existing holders of perm 300 automatically receive both new sub-perms.
-- Role 197 (GM Commands) already includes perm 300, so it reaches 920 and 921
-- transitively — no direct links to role 197 are needed or added.
DELETE FROM `rbac_linked_permissions` WHERE `id` = 300 AND `linkedId` IN (920, 921);
INSERT INTO `rbac_linked_permissions` (`id`, `linkedId`) VALUES
(300, 920),
(300, 921);
+239
View File
@@ -0,0 +1,239 @@
-- DB update 2026_05_15_00 -> 2026_05_16_00
-- Remove Trok Creature Addon & set movement type to 0
UPDATE `creature` SET `MovementType` = 0 WHERE (`id1` = 14872) AND (`guid` = 13178);
DELETE FROM `creature_addon` WHERE (`guid` IN (13178));
-- Update Trok Creature Text
DELETE FROM `creature_text` WHERE (`CreatureID` = 14872);
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
(14872, 0, 0, 'Help! I\'m being chased by a swarm of bees!', 12, 1, 100, 0, 0, 0, 10259, 0, 'Trok'),
(14872, 1, 0, 'I\'m so tired of running, but these bees won\'t leave me alone!', 12, 1, 100, 0, 0, 0, 10260, 0, 'Trok'),
(14872, 2, 0, 'I didn\'t know bees didn\'t like fire!', 12, 1, 100, 0, 0, 0, 10261, 0, 'Trok'),
(14872, 3, 0, 'Karu will you please help get these bees off of me? They sting!', 12, 1, 100, 0, 0, 0, 10262, 0, 'Trok');
-- Remove Trok old waypoint & set a new one (sniffed)
DELETE FROM `waypoint_data` WHERE (`id` IN (1487200, 131780));
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
(1487200, 1, 189.78833, -2879.407, 92.37207, NULL, 0, 1, 0, 100, 0),
(1487200, 2, 196.40193, -2887.9465, 92.602974, NULL, 0, 1, 0, 100, 0),
(1487200, 3, 199.38814, -2897.0017, 92.52111, NULL, 0, 1, 0, 100, 0),
(1487200, 4, 190.36217, -2902.3767, 92.970795, NULL, 0, 1, 0, 100, 0),
(1487200, 5, 178.31169, -2894.8164, 92.2478, NULL, 0, 1, 0, 100, 0),
(1487200, 6, 176.065, -2881.6494, 92.193565, NULL, 0, 1, 0, 100, 0),
(1487200, 7, 184.97385, -2874.0618, 92.503174, NULL, 0, 1, 0, 100, 0),
(1487200, 8, 188.64171, -2863.1707, 92.492485, NULL, 0, 1, 0, 100, 0),
(1487200, 9, 185.13179, -2849.029, 93.031105, NULL, 0, 1, 0, 100, 0),
(1487200, 10, 168.12883, -2860.272, 94.1003, NULL, 0, 1, 0, 100, 0),
(1487200, 11, 176.99593, -2874.4072, 92.65014, NULL, 0, 1, 0, 100, 0),
(1487200, 12, 186.21628, -2881.846, 92.24808, NULL, 0, 1, 0, 100, 0),
(1487200, 13, 187.90642, -2896.509, 92.76375, NULL, 0, 1, 0, 100, 0),
(1487200, 14, 197.18289, -2898.233, 92.55867, NULL, 0, 1, 0, 100, 0),
(1487200, 15, 207.84627, -2905.636, 94.00287, NULL, 0, 1, 0, 100, 0),
(1487200, 16, 203.60707, -2922.1226, 92.3786, NULL, 0, 1, 0, 100, 0),
(1487200, 17, 193.30553, -2911.048, 93.0428, NULL, 0, 1, 0, 100, 0),
(1487200, 18, 191.15102, -2890.8577, 92.592575, NULL, 0, 1, 0, 100, 0),
(1487200, 19, 194.50716, -2876.6003, 92.41312, NULL, 0, 1, 0, 100, 0),
(1487200, 20, 194.12733, -2841.4548, 91.69264, NULL, 0, 1, 0, 100, 0),
(1487200, 21, 202.89024, -2831.5098, 91.73559, NULL, 0, 1, 0, 100, 0),
(1487200, 22, 213.87476, -2826.201, 91.92801, NULL, 0, 1, 0, 100, 0),
(1487200, 23, 216.59177, -2814.8127, 93.33152, NULL, 0, 1, 0, 100, 0),
(1487200, 24, 204.67686, -2814.8518, 94.10266, NULL, 0, 1, 0, 100, 0),
(1487200, 25, 195.65343, -2824.597, 93.45117, NULL, 0, 1, 0, 100, 0),
(1487200, 26, 186.61716, -2841.0603, 92.83624, NULL, 0, 1, 0, 100, 0),
(1487200, 27, 184.85129, -2857.1006, 93.068634, NULL, 0, 1, 0, 100, 0),
(1487200, 28, 182.88713, -2868.4695, 92.82301, NULL, 0, 1, 0, 100, 0),
(1487200, 29, 181.64453, -2880.3984, 92.19401, NULL, 0, 1, 0, 100, 0),
(1487200, 30, 181.71254, -2891.7336, 92.16029, NULL, 0, 1, 0, 100, 0),
(1487200, 31, 189.57338, -2906.6575, 93.126816, NULL, 0, 1, 0, 100, 0),
(1487200, 32, 197.61906, -2899.2085, 92.558975, NULL, 0, 1, 0, 100, 0),
(1487200, 33, 191.73611, -2888.19, 92.52359, NULL, 0, 1, 0, 100, 0),
(1487200, 34, 181.22736, -2883.558, 92.098076, NULL, 0, 1, 0, 100, 0),
(1487200, 35, 175.08127, -2877.4844, 92.491455, NULL, 0, 1, 0, 100, 0),
(1487200, 36, 175.89215, -2853.4841, 94.02501, NULL, 0, 1, 0, 100, 0),
(1487200, 37, 185.5698, -2853.3835, 92.97653, NULL, 0, 1, 0, 100, 0),
(1487200, 38, 194.3255, -2843.596, 91.66923, NULL, 0, 1, 0, 100, 0),
(1487200, 39, 196.79987, -2833.0298, 91.9368, NULL, 0, 1, 0, 100, 0),
(1487200, 40, 208.51218, -2826.5408, 92.3302, NULL, 0, 1, 0, 100, 0),
(1487200, 41, 193.60387, -2826.3994, 93.32707, NULL, 0, 1, 0, 100, 0),
(1487200, 42, 186.73663, -2838.3733, 92.952095, NULL, 0, 1, 0, 100, 0),
(1487200, 43, 182.54248, -2851.9463, 93.49391, NULL, 0, 1, 0, 100, 0),
(1487200, 44, 178.72981, -2869.5015, 92.94418, NULL, 0, 1, 0, 100, 0),
(1487200, 45, 184.02534, -2878.3716, 92.30419, NULL, 0, 1, 0, 100, 0),
(1487200, 46, 186.78435, -2894.731, 92.61203, NULL, 0, 1, 0, 100, 0),
(1487200, 47, 193.1604, -2904.673, 92.885086, NULL, 0, 1, 0, 100, 0),
(1487200, 48, 200.64632, -2925.725, 92.656525, NULL, 0, 1, 0, 100, 0),
(1487200, 49, 189.18666, -2922.2874, 93.340836, NULL, 0, 1, 0, 100, 0),
(1487200, 50, 179.52534, -2911.1165, 93.13945, NULL, 0, 1, 0, 100, 0),
(1487200, 51, 180.78668, -2890.9255, 92.09399, NULL, 0, 1, 0, 100, 0),
(1487200, 52, 190.62971, -2884.829, 92.397835, NULL, 0, 1, 0, 100, 0),
(1487200, 53, 200.87985, -2882.1377, 92.45194, NULL, 0, 1, 0, 100, 0);
-- Set Trok SAI
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 14872;
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 14872);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(14872, 0, 0, 0, 25, 0, 100, 0, 0, 0, 0, 0, 0, 0, 232, 1487200, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Trok - On Reset - Start Path 1487200'),
(14872, 0, 1, 0, 108, 0, 10, 0, 10, 1487200, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Trok - On Point 10 of Path 1487200 Reached - Say Line 0'),
(14872, 0, 2, 0, 108, 0, 100, 0, 20, 1487200, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Trok - On Point 20 of Path 1487200 Reached - Say Line 1'),
(14872, 0, 3, 4, 108, 0, 100, 0, 36, 1487200, 0, 0, 0, 0, 235, 1000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Trok - On Point 36 of Path 1487200 Reached - Pause Movement'),
(14872, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 80, 1487201, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Trok - On Point 36 of Path 1487200 Reached - Run Script'),
(14872, 0, 5, 0, 109, 0, 100, 0, 0, 1487200, 0, 0, 0, 0, 80, 1487200, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Trok - On Path 1487200 Finished - Run Script');
-- Set Trok Action Lists
DELETE FROM `smart_scripts` WHERE (`source_type` = 9) AND (`entryorguid` IN (1487200, 1487201));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(1487200, 9, 0, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Trok - Actionlist - Say Line 3'),
(1487200, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 209.689, -2881.05, 92.1386, 0, 'Trok - Actionlist - Move To Position'),
(1487200, 9, 2, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 0, 0, 232, 1487200, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Trok - Actionlist - Start Path 1487200'),
(1487201, 9, 0, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Trok - Actionlist - Say Line 2');
-- Set Movement Type 0 to all Swarm of bees & remove waypoints
UPDATE `creature` SET `MovementType` = 0 WHERE (`id1` = 14894) AND (`guid` IN (13586, 13587, 13588, 13589));
DELETE FROM `creature_addon` WHERE (`guid` IN (13586, 13587, 13588, 13589));
-- Set Creature Formation (Trok & Swarm of bees)
DELETE FROM `creature_formations` WHERE (`LeaderGUID` IN (13178));
INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES
(13178, 13178, 0, 0, 512, 0, 0),
(13178, 13586, 4, 170, 512, 0, 0),
(13178, 13587, 4, 190, 512, 0, 0),
(13178, 13588, 3, 150, 512, 0, 0),
(13178, 13589, 3, 210, 512, 0, 0);
-- Set Karu Waypoints (sniffed)
DELETE FROM `waypoint_data` WHERE (`id` IN (1487400, 1487401, 1487402, 1487403, 1487404, 1487405));
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
(1487400, 1, 236.83551, -2901.6663, 98.27072, NULL, 0, 0, 0, 100, 0),
(1487400, 2, 231.1377, -2900.656, 98.36378, NULL, 0, 0, 0, 100, 0),
(1487401, 1, 219.67693, -2892.0176, 95.375305, NULL, 0, 0, 0, 100, 0),
(1487401, 2, 215.81598, -2885.1648, 93.01749, NULL, 0, 0, 0, 100, 0),
(1487401, 3, 213.4375, -2878.5742, 91.89915, NULL, 0, 0, 0, 100, 0),
(1487401, 4, 214.15646, -2874.6372, 92.180084, NULL, 0, 0, 0, 100, 0),
(1487402, 1, 207.91458, -2874.2258, 92.25248, NULL, 0, 0, 0, 100, 0),
(1487402, 2, 205.98448, -2870.8022, 91.66923, NULL, 0, 0, 0, 100, 0),
(1487402, 3, 207.36649, -2869.3914, 92.06761, NULL, 0, 0, 0, 100, 0),
(1487403, 1, 210.06313, -2874.726, 92.30663, NULL, 0, 0, 0, 100, 0),
(1487403, 2, 214.50314, -2872.4348, 92.15973, NULL, 0, 0, 0, 100, 0),
(1487403, 3, 217.36098, -2865.298, 91.65433, NULL, 0, 0, 0, 100, 0),
(1487403, 4, 217.41162, -2850.4937, 90.641594, NULL, 0, 0, 0, 100, 0),
(1487404, 1, 213.4119, -2880.7893, 92.02311, NULL, 0, 0, 0, 100, 0),
(1487404, 2, 219.35861, -2891.507, 95.20309, NULL, 0, 0, 0, 100, 0),
(1487404, 3, 226.4482, -2900.4465, 97.3964, NULL, 0, 0, 0, 100, 0),
(1487404, 4, 232.52274, -2901.0789, 98.35955, NULL, 0, 0, 0, 100, 0),
(1487404, 5, 239.77821, -2901.221, 98.15523, NULL, 0, 0, 0, 100, 0),
(1487404, 6, 240.79094, -2901.4275, 98.10327, NULL, 0, 0, 0, 100, 0),
(1487405, 1, 216.49214, -2861.2983, 91.58173, NULL, 0, 0, 0, 100, 0),
(1487405, 2, 213.4119, -2880.7893, 92.02311, NULL, 0, 0, 0, 100, 0),
(1487405, 3, 219.35861, -2891.507, 95.20309, NULL, 0, 0, 0, 100, 0),
(1487405, 4, 226.4482, -2900.4465, 97.3964, NULL, 0, 0, 0, 100, 0),
(1487405, 5, 232.52274, -2901.0789, 98.35955, NULL, 0, 0, 0, 100, 0),
(1487405, 6, 239.77821, -2901.221, 98.15523, NULL, 0, 0, 0, 100, 0),
(1487405, 7, 240.79094, -2901.4275, 98.10327, NULL, 0, 0, 0, 100, 0);
-- Set Karu SAI
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 14874;
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 14874);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(14874, 0, 0, 1, 1, 1, 100, 0, 120000, 180000, 120000, 180000, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Out of Combat - Stop Random Movement (Phase 1)'),
(14874, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Out of Combat - Set Event Phase 2 (Phase 1)'),
(14874, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 69, 14, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 241.109, -2908.19, 98.1005, 0, 'Karu - Out of Combat - Move To Position (Phase 1)'),
(14874, 0, 3, 0, 34, 2, 100, 0, 8, 14, 0, 0, 0, 0, 80, 1487400, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - On Reached Point 14 - Run Script (Phase 2)'),
(14874, 0, 4, 0, 109, 2, 100, 0, 0, 1487400, 0, 0, 0, 0, 80, 1487401, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - On Path 1487400 Finished - Run Script (Phase 2)'),
(14874, 0, 5, 0, 109, 2, 100, 0, 0, 1487401, 0, 0, 0, 0, 80, 1487402, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - On Path 1487401 Finished - Run Script (Phase 2)'),
(14874, 0, 6, 0, 109, 2, 100, 0, 0, 1487401, 0, 0, 0, 0, 80, 1487406, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - On Path 1487401 Finished - Run Script (Phase 2)'),
(14874, 0, 7, 0, 109, 2, 100, 0, 0, 1487402, 0, 0, 0, 0, 80, 1487403, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - On Path 1487402 Finished - Run Script (Phase 2)'),
(14874, 0, 8, 0, 109, 2, 100, 0, 0, 1487403, 0, 0, 0, 0, 80, 1487404, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - On Path 1487403 Finished - Run Script (Phase 2)'),
(14874, 0, 9, 0, 34, 2, 100, 0, 8, 15, 0, 0, 0, 0, 80, 1487405, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - On Reached Point 15 - Run Script (Phase 2)'),
(14874, 0, 10, 12, 109, 2, 100, 0, 0, 1487404, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - On Path 1487404 Finished - Set Event Phase 1 (Phase 2)'),
(14874, 0, 11, 12, 109, 2, 100, 0, 0, 1487405, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - On Path 1487405 Finished - Set Event Phase 1 (Phase 2)'),
(14874, 0, 12, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 89, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - On Path 1487405 Finished - Start Random Movement (Phase 2)'),
(14874, 0, 13, 14, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - On Respawn - Set Event Phase 1'),
(14874, 0, 14, 15, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - On Respawn - Set Run Off'),
(14874, 0, 15, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 89, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - On Respawn - Start Random Movement');
-- Set Action Lists (Karu)
DELETE FROM `smart_scripts` WHERE (`source_type` = 9) AND (`entryorguid` IN (1487400, 1487401, 1487402, 1487403, 1487404, 1487405, 1487406));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(1487400, 9, 0, 0, 0, 0, 100, 0, 500, 500, 0, 0, 0, 0, 66, 1, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 5.89921, 'Karu - Actionlist - Set Orientation 5.89921'),
(1487400, 9, 1, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 0, 0, 71, 0, 0, 2196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Change Equipment'),
(1487400, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Say Line 0'),
(1487400, 9, 3, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 0, 0, 232, 1487400, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Start Path 1487400'),
(1487401, 9, 0, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Say Line 1'),
(1487401, 9, 1, 0, 0, 0, 100, 0, 5500, 5500, 0, 0, 0, 0, 5, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Play Emote 7'),
(1487401, 9, 2, 0, 0, 0, 100, 0, 500, 500, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Say Line 2'),
(1487401, 9, 3, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Remove Equipment'),
(1487401, 9, 4, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Say Line 3'),
(1487401, 9, 5, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 232, 1487401, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Start Path 1487401'),
(1487402, 9, 0, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Say Line 4'),
(1487402, 9, 1, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 0, 0, 232, 1487402, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Start Path 1487402'),
(1487403, 9, 0, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 0, 0, 71, 0, 0, 12744, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Change Equipment'),
(1487403, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 232, 1487403, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Start Path 1487403'),
(1487404, 9, 0, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Say Line 5'),
(1487404, 9, 1, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 0, 0, 223, 67, 0, 0, 0, 0, 0, 9, 10685, 0, 50, 0, 0, 0, 0, 0, 'Karu - Actionlist - Do Action ID 67'),
(1487404, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 89, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Start Random Movement'),
(1487404, 9, 3, 0, 0, 0, 100, 0, 12000, 12000, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Stop Random Movement'),
(1487404, 9, 4, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 223, 68, 0, 0, 0, 0, 0, 9, 10685, 0, 50, 0, 0, 0, 0, 0, 'Karu - Actionlist - Do Action ID 68'),
(1487404, 9, 5, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 0, 0, 69, 15, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 214.149, -2854.87, 91.2582, 0, 'Karu - Actionlist - Move To Position'),
(1487405, 9, 0, 0, 0, 0, 100, 0, 500, 500, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Remove Equipment'),
(1487405, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Say Line 6'),
(1487405, 9, 2, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 232, 1487405, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Start Path 1487405'),
(1487406, 9, 0, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Say Line 7'),
(1487406, 9, 1, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 232, 1487404, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Karu - Actionlist - Start Path 1487404');
-- Set Conditions
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 22) AND (`SourceGroup` IN (6, 7)) AND (`SourceEntry` = 14874) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 29) AND (`ConditionTarget` = 1) AND (`ConditionValue1` = 10685) AND (`ConditionValue2` = 100) AND (`ConditionValue3` = 0);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(22, 6, 14874, 0, 0, 29, 1, 10685, 100, 0, 0, 0, 0, '', 'Karu will start this event only if there is at least one Swine alive.'),
(22, 7, 14874, 0, 0, 29, 1, 10685, 100, 0, 1, 0, 0, '', 'Karu will start this event only if Swine are not present.');
-- Edit two Swine spawn points & add 3 new ones
DELETE FROM `creature` WHERE (`id1` = 10685) AND (`guid` IN (20181, 20186, 24323, 25789, 25790));
INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
(20181, 10685, 0, 0, 1, 0, 0, 1, 1, 0, 207.93942, -2842.1497, 91.52266, 5.53006, 200, 5, 0, 14, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(20186, 10685, 0, 0, 1, 0, 0, 1, 1, 0, 221.12567, -2841.0894, 91.34413, 2.15169, 200, 5, 0, 14, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(24323, 10685, 0, 0, 1, 0, 0, 1, 1, 0, 225.25417, -2858.4543, 91.61024, 5.24779, 200, 5, 0, 14, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(25789, 10685, 0, 0, 1, 0, 0, 1, 1, 0, 208.33398, -2863.0215, 91.66205, 2.89705, 200, 5, 0, 14, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(25790, 10685, 0, 0, 1, 0, 0, 1, 1, 0, 208.70555, -2847.2627, 91.358574, 6.05528, 200, 5, 0, 14, 0, 1, 0, 0, 0, '', 0, 0, NULL);
-- Set Swines Personal SAIs
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE (`entry` = 10685);
DELETE FROM `smart_scripts` WHERE (`source_type` = 0) AND (`entryorguid` IN (-20181, -20186, -24323, -25789, -25790));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(-20181, 0, 0, 1, 72, 0, 100, 0, 67, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 67 Done - Start Random Movement'),
(-20181, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 29, 2, 180, 0, 0, 0, 0, 10, 13180, 14874, 0, 0, 0, 0, 0, 0, 'Swine - On Action 67 Done - Start Follow Closest Creature \'Karu\''),
(-20181, 0, 2, 3, 72, 0, 100, 0, 68, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 68 Done - Set Run Off'),
(-20181, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 68 Done - Set Run Off'),
(-20181, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 69, 20, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 207.939, -2842.15, 91.5227, 0, 'Swine - On Action 68 Done - Move To Position'),
(-20181, 0, 5, 6, 34, 0, 100, 0, 8, 20, 0, 0, 0, 0, 89, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Reached Point 20 - Start Random Movement'),
(-20181, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Reached Point 20 - Set Run On'),
(-20186, 0, 0, 1, 72, 0, 100, 0, 67, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 67 Done - Start Random Movement'),
(-20186, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 29, 2, 150, 0, 0, 0, 0, 10, 13180, 14874, 0, 0, 0, 0, 0, 0, 'Swine - On Action 67 Done - Start Follow Closest Creature \'Karu\''),
(-20186, 0, 2, 3, 72, 0, 100, 0, 68, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 68 Done - Set Run Off'),
(-20186, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 68 Done - Set Run Off'),
(-20186, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 69, 20, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 221.12567, -2841.0894, 91.34413, 0, 'Swine - On Action 68 Done - Move To Position'),
(-20186, 0, 5, 6, 34, 0, 100, 0, 8, 20, 0, 0, 0, 0, 89, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Reached Point 20 - Start Random Movement'),
(-20186, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Reached Point 20 - Set Run On'),
(-24323, 0, 0, 1, 72, 0, 100, 0, 67, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 67 Done - Start Random Movement'),
(-24323, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 29, 2, 130, 0, 0, 0, 0, 10, 13180, 14874, 0, 0, 0, 0, 0, 0, 'Swine - On Action 67 Done - Start Follow Closest Creature \'Karu\''),
(-24323, 0, 2, 3, 72, 0, 100, 0, 68, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 68 Done - Set Run Off'),
(-24323, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 68 Done - Set Run Off'),
(-24323, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 69, 20, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 225.25417, -2858.4543, 91.61024, 0, 'Swine - On Action 68 Done - Move To Position'),
(-24323, 0, 5, 6, 34, 0, 100, 0, 8, 20, 0, 0, 0, 0, 89, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Reached Point 20 - Start Random Movement'),
(-24323, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Reached Point 20 - Set Run On'),
(-25789, 0, 0, 1, 72, 0, 100, 0, 67, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 67 Done - Start Random Movement'),
(-25789, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 29, 2, 210, 0, 0, 0, 0, 10, 13180, 14874, 0, 0, 0, 0, 0, 0, 'Swine - On Action 67 Done - Start Follow Closest Creature \'Karu\''),
(-25789, 0, 2, 3, 72, 0, 100, 0, 68, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 68 Done - Set Run Off'),
(-25789, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 68 Done - Set Run Off'),
(-25789, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 69, 20, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 208.33398, -2863.0215, 91.66205, 0, 'Swine - On Action 68 Done - Move To Position'),
(-25789, 0, 5, 6, 34, 0, 100, 0, 8, 20, 0, 0, 0, 0, 89, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Reached Point 20 - Start Random Movement'),
(-25789, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Reached Point 20 - Set Run On'),
(-25790, 0, 0, 1, 72, 0, 100, 0, 67, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 67 Done - Start Random Movement'),
(-25790, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 29, 2, 230, 0, 0, 0, 0, 10, 13180, 14874, 0, 0, 0, 0, 0, 0, 'Swine - On Action 67 Done - Start Follow Closest Creature \'Karu\''),
(-25790, 0, 2, 3, 72, 0, 100, 0, 68, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 68 Done - Set Run Off'),
(-25790, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Action 68 Done - Set Run Off'),
(-25790, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 69, 20, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 208.70555, -2847.2627, 91.358574, 0, 'Swine - On Action 68 Done - Move To Position'),
(-25790, 0, 5, 6, 34, 0, 100, 0, 8, 20, 0, 0, 0, 0, 89, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Reached Point 20 - Start Random Movement'),
(-25790, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Swine - On Reached Point 20 - Set Run On');
@@ -0,0 +1,5 @@
-- DB update 2026_05_16_00 -> 2026_05_16_01
--
DELETE FROM `creature_text` WHERE (`CreatureID` = 24322) AND (`GroupID` IN (0));
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
(24322, 0, 0, 'Silence!', 14, 0, 100, 1, 0, 0, 32240, 0, 'Ancient Citizen of Nifflevar yell');
@@ -0,0 +1,20 @@
-- DB update 2026_05_16_01 -> 2026_05_16_02
-- Update Night Elf shapeshift forms
DELETE FROM `player_shapeshift_model` WHERE (`RaceID` = 4 AND `CustomizationID` IN (3, 5) AND `ShapeshiftID` IN (5, 8)) OR (`RaceID` = 4 AND `CustomizationID` = 5 AND `ShapeshiftID` = 1) OR (`RaceID` = 4 AND `CustomizationID` = 7 AND `ShapeshiftID` IN (5, 8)) OR (`RaceID` = 4 AND `CustomizationID` = 6 AND `ShapeshiftID` = 1);
INSERT INTO `player_shapeshift_model` (`ShapeshiftID`, `RaceID`, `CustomizationID`, `GenderID`, `ModelID`) VALUES
-- light blue hair, bear
(5, 4, 3, 2, 29415),
(8, 4, 3, 2, 29415),
-- blue hair, bear
(5, 4, 5, 2, 29415),
(8, 4, 5, 2, 29415),
-- blue hair, cat
(1, 4, 5, 2, 29406),
-- purple hair, red bear
(5, 4, 7, 2, 29417),
(8, 4, 7, 2, 29417),
-- darkblue hair, black cat
(1, 4, 6, 2, 892);
-- remove customization id 8
DELETE FROM `player_shapeshift_model` WHERE `ShapeshiftID`=1 AND `RaceID`=4 AND `CustomizationID`=8 AND `GenderID`=2 AND `ModelID` = 29405;
@@ -0,0 +1,4 @@
-- DB update 2026_05_16_02 -> 2026_05_17_00
DELETE FROM `spell_proc` WHERE `SpellId` = 20178;
INSERT INTO `spell_proc` (`SpellId`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `ProcFlags`, `SpellTypeMask`, `SpellPhaseMask`, `HitMask`, `AttributesMask`, `DisableEffectsMask`, `ProcsPerMinute`, `Chance`, `Cooldown`, `Charges`) VALUES
(20178, 0, 0, 0, 0, 0, 0x4, 0, 0, 0x2477, 0, 0, 0, 100, 0, 4);
@@ -0,0 +1,10 @@
-- DB update 2026_05_17_00 -> 2026_05_17_01
DELETE FROM `command` WHERE `name` IN ('debug combat','debug threatinfo','pdump copy','pet delete','pet list','rbac list','reload rbac');
INSERT INTO `command` (`name`,`security`,`help`) VALUES
('debug combat',3,'Syntax: .debug combat\nLists PvP and PvE combat references of the selected unit (or self).'),
('debug threatinfo',3,'Syntax: .debug threatinfo\nDisplays various debug information about the target''s threat state, modifiers, redirects and similar.'),
('pdump copy',3,'Syntax: .pdump copy $playerNameOrGUID $account [$newname] [$newguid]\nCopy character with name/guid $playerNameOrGUID into character list of $account with $newname, with first free or $newguid guid.'),
('pet delete',3,'Syntax: .pet delete $playerNameOrGUID #petNumber\nDeletes the pet with the given pet number belonging to the specified player.'),
('pet list',1,'Syntax: .pet list $playerNameOrGUID\nLists all pets owned by the specified player (id, entry, level, slot, name, type).'),
('rbac list',3,'Syntax: .rbac list [#id]\nView list of all permissions. If #id is given will show only info for that permission.'),
('reload rbac',3,'Syntax: .reload rbac\nReload rbac system.');
@@ -0,0 +1,2 @@
-- DB update 2026_05_17_01 -> 2026_05_17_02
UPDATE `smart_scripts` SET `action_param6` = 2 WHERE `entryorguid` IN (17809, 17810, 17811, 17812) AND `source_type` = 0 AND `action_type` = 53;
@@ -0,0 +1,9 @@
-- DB update 2026_05_17_02 -> 2026_05_17_03
DELETE FROM `item_loot_template` WHERE (`Entry` = 41888) AND (`Item` IN (41450, 41452, 41466, 41468, 41492, 41497));
INSERT INTO `item_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
(41888, 41450, 0, 16.9, 0, 1, 1, 1, 1, 'Small Velvet Bag - Perfect Balanced Shadow Crystal'),
(41888, 41452, 0, 16.9, 0, 1, 1, 1, 1, 'Small Velvet Bag - Perfect Glowing Shadow Crystal'),
(41888, 41466, 0, 17.7, 0, 1, 1, 1, 1, 'Small Velvet Bag - Perfect Forceful Dark Jade'),
(41888, 41468, 0, 16.3, 0, 1, 1, 1, 1, 'Small Velvet Bag - Perfect Jagged Dark Jade'),
(41888, 41492, 0, 13, 0, 1, 1, 1, 1, 'Small Velvet Bag - Perfect Inscribed Huge Citrine'),
(41888, 41497, 0, 19.3, 0, 1, 1, 1, 1, 'Small Velvet Bag - Perfect Reckless Huge Citrine');
@@ -0,0 +1,51 @@
-- DB update 2026_05_17_03 -> 2026_05_17_04
--
-- Griselda Hunderland → Talker: 26043
DELETE FROM `creature_text` WHERE (`CreatureID` = 26043);
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
(26043, 0, 0, 'Greetings, $c.', 12, 0, 100, 3, 0, 0, 32808, 0, 'Griselda Hunderland'),
(26043, 0, 1, 'Let me know if you need help finding anything, $c.', 12, 0, 100, 3, 0, 0, 32810, 0, 'Griselda Hunderland'),
(26043, 0, 2, 'Greetings.', 12, 0, 100, 3, 0, 0, 32935, 0, 'Griselda Hunderland'),
(26043, 0, 3, 'Welcome!', 12, 0, 100, 3, 0, 0, 32807, 0, 'Griselda Hunderland'),
(26043, 0, 4, 'Greetings! Please have a look around.', 12, 0, 100, 0, 0, 0, 32809, 0, 'Griselda Hunderland - Player In Range'),
(26043, 0, 5, 'Welcome. May I help you find something?', 12, 0, 100, 0, 0, 0, 32811, 0, 'Griselda Hunderland - Player In Range'),
(26043, 0, 6, 'Welcome.', 12, 0, 100, 0, 0, 0, 32936, 0, 'Griselda Hunderland - Player In Range');
-- Endora Moorehead → Talker: 29636
DELETE FROM `creature_text` WHERE (`CreatureID` = 29636);
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
(29636, 0, 0, 'Greetings! Please have a look around.', 12, 0, 100, 3, 0, 0, 32809, 0, 'Endora Moorehead'),
(29636, 0, 1, 'Greetings, $c.', 12, 0, 100, 3, 0, 0, 32808, 0, 'Endora Moorehead'),
(29636, 0, 2, 'Welcome!', 12, 0, 100, 3, 0, 0, 32807, 0, 'Endora Moorehead'),
(29636, 0, 3, 'Let me know if you need help finding anything, $c.', 12, 0, 100, 0, 0, 0, 32810, 0, 'Endora Moorehead - Player In Range'),
(29636, 0, 4, 'Welcome. May I help you find something?', 12, 0, 100, 0, 0, 0, 32811, 0, 'Endora Moorehead - Player In Range'),
(29636, 0, 5, 'Greetings.', 12, 0, 100, 0, 0, 0, 32935, 0, 'Endora Moorehead - Player In Range'),
(29636, 0, 6, 'Welcome.', 12, 0, 100, 0, 0, 0, 32936, 0, 'Endora Moorehead - Player In Range');
-- Karandonna → Talker: 28995
DELETE FROM `creature_text` WHERE (`CreatureID` = 28995);
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
(28995, 0, 0, 'Welcome. May I help you find something?', 12, 0, 100, 3, 0, 0, 32811, 0, 'Karandonna'),
(28995, 0, 1, 'Welcome.', 12, 0, 100, 3, 0, 0, 32936, 0, 'Karandonna'),
(28995, 0, 2, 'Welcome!', 12, 0, 100, 0, 0, 0, 32807, 0, 'Karandonna - Player In Range'),
(28995, 0, 3, 'Greetings, $c.', 12, 0, 100, 0, 0, 0, 32808, 0, 'Karandonna - Player In Range'),
(28995, 0, 4, 'Greetings! Please have a look around.', 12, 0, 100, 0, 0, 0, 32809, 0, 'Karandonna - Player In Range'),
(28995, 0, 5, 'Let me know if you need help finding anything, $c.', 12, 0, 100, 0, 0, 0, 32810, 0, 'Karandonna - Player In Range'),
(28995, 0, 6, 'Greetings.', 12, 0, 100, 0, 0, 0, 32935, 0, 'Karandonna - Player In Range');
-- Miles Sidney → Talker: 28355
DELETE FROM `creature_text` WHERE (`CreatureID` = 28355);
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
-- GroupID 0 → Script 2834700 id=1 e Script 2834701 id=0
(28355, 0, 0, 'I\'m working on it, I just don\'t want to sell it until I\'m happy with it. It shouldn\'t be long.', 12, 0, 100, 0, 0, 0, 27808, 0, 'Wright Williams'),
-- GroupID 1 → Script 2834702 id=0
(28355, 1, 0, 'Sir, our customers are complaining that there\'s not enough Maiden\'s Anguish in our Deadly Poisons.', 12, 0, 100, 0, 0, 0, 27803, 0, 'Wright Williams'),
-- GroupID 2 → Script 2834700 id=1 e Script 2834702 id=0
(28355, 2, 0, 'Sir, I think we were close with the Lethargy Root in that last poison recipe.', 12, 0, 100, 0, 0, 0, 27802, 0, 'Wright Williams'),
-- GroupID 3 → Script 2834703 id=0
(28355, 3, 0, 'Sir, our customers are complaining that there\'s too much Deathweed in our Anesthetics.', 12, 0, 100, 0, 0, 0, 27809, 0, 'Wright Williams'),
(28355, 5, 0, 'Greetings.', 12, 7, 100, 3, 0, 0, 43337, 0, 'Miles Sidney'),
(28355, 5, 1, 'Greetings, $c.', 12, 7, 100, 3, 0, 0, 43330, 0, 'Miles Sidney'),
(28355, 5, 2, 'Greetings! Please have a look around.', 12, 7, 100, 3, 0, 0, 43333, 0, 'Miles Sidney'),
(28355, 5, 3, 'Let me know if you need help finding anything, $c.', 12, 7, 100, 3, 0, 0, 43335, 0, 'Miles Sidney'),
(28355, 5, 4, 'Welcome. May I help you find something?', 12, 7, 100, 3, 0, 0, 43336, 0, 'Miles Sidney');
@@ -0,0 +1,8 @@
-- DB update 2026_05_17_04 -> 2026_05_17_05
--
-- Scourgebane Infusion (item 22778 -> spell 28488) and Scourgebane Draught
-- (item 22779 -> spell 28486) are not battle elixirs. Remove them from the
-- Battle Elixir spell group(1) so they stack with each other and other
-- flasks/elixirs.
--
DELETE FROM `spell_group` WHERE `id` = 1 AND `spell_id` IN (28486, 28488);
@@ -0,0 +1,3 @@
-- DB update 2026_05_17_05 -> 2026_05_17_06
--
UPDATE `item_loot_template` SET `Chance` = 0 WHERE `Entry` = 41888 AND `GroupId` = 1;
@@ -0,0 +1,5 @@
-- DB update 2026_05_17_06 -> 2026_05_17_07
-- Remove Dead Alliance Soldier spawn point and creature addon
DELETE FROM `creature` WHERE `id1` = 31281 AND `guid` = 121653;
DELETE FROM `creature_addon` WHERE (`guid` IN (121653));
@@ -0,0 +1,37 @@
-- DB update 2026_05_17_07 -> 2026_05_18_00
-- Set idle for Burning Blade Fanatics and Apprentices.
UPDATE `creature` SET `wander_distance` = 0, `MovementType` = 0 WHERE (`id1` = 3198) AND (`guid` IN (6430, 6431));
UPDATE `creature` SET `wander_distance` = 0, `MovementType` = 0 WHERE (`id1` = 3197) AND (`guid` IN (6427, 6429));
-- Remove Old Waypoint from Creature Addon and set Movement Type to 0.
UPDATE `creature` SET `MovementType` = 0 WHERE (`id1` = 3203) AND (`guid` IN (6455));
UPDATE `creature_addon` SET `path_id` = 0 WHERE (`guid` IN (6455));
-- Delete old Fizzle Darkstorm waypoint and add a sniffed new one.
DELETE FROM `waypoint_data` WHERE (`id` IN (645500));
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
(645500, 1, 869.7513, -4202.463, -14.066155, NULL, 0, 0, 0, 100, 0),
(645500, 2, 871.55255, -4210.9136, -12.093292, NULL, 0, 0, 0, 100, 0),
(645500, 3, 876.02, -4217.9136, -11.525927, NULL, 25000, 0, 0, 100, 0),
(645500, 4, 870.5361, -4208.033, -13.908268, NULL, 0, 0, 0, 100, 0),
(645500, 5, 867.7095, -4194.5493, -14.389078, NULL, 0, 0, 0, 100, 0),
(645500, 6, 868.6138, -4189.563, -14.07393, NULL, 45000, 0, 0, 100, 0);
-- Set Fizzle Darkstorm SmartAI and update old comments.
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 3203;
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 3203);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(3203, 0, 0, 0, 1, 0, 100, 1, 1000, 1000, 0, 0, 0, 0, 11, 11939, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Fizzle Darkstorm - Out of Combat - Cast \'Summon Imp\' (No Repeat)'),
(3203, 0, 1, 0, 0, 0, 100, 0, 0, 0, 2400, 3800, 0, 0, 11, 20791, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Fizzle Darkstorm - In Combat - Cast \'Shadow Bolt\''),
(3203, 0, 2, 0, 2, 0, 100, 0, 0, 50, 20000, 30000, 0, 0, 11, 7290, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Fizzle Darkstorm - Between 0-50% Health - Cast \'Soul Siphon\''),
(3203, 0, 3, 0, 2, 0, 100, 1, 0, 15, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Fizzle Darkstorm - Between 0-15% Health - Flee For Assist (No Repeat)'),
(3203, 0, 4, 0, 25, 0, 100, 0, 0, 0, 0, 0, 0, 0, 232, 645500, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Fizzle Darkstorm - On Reset - Start Path 645500'),
(3203, 0, 5, 0, 108, 0, 100, 0, 3, 645500, 0, 0, 0, 0, 80, 320300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Fizzle Darkstorm - On Point 3 of Path 645500 Reached - Run Script');
-- Add Action List.
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 320300);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(320300, 9, 0, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 11, 21157, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Fizzle Darkstorm - Actionlist - Cast \'Dark Channeling\''),
(320300, 9, 1, 0, 0, 0, 100, 0, 25000, 25000, 0, 0, 0, 0, 28, 21157, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Fizzle Darkstorm - Actionlist - Remove Aura \'Dark Channeling\'');
@@ -0,0 +1,28 @@
-- DB update 2026_05_18_00 -> 2026_05_18_01
-- Update 15066 spawntime (it must be instant), add two new spawn points and set random in radius.
DELETE FROM `creature` WHERE (`id1` = 3467);
INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
(15066, 3467, 0, 0, 1, 0, 0, 1, 1, 1, -1571.79, -3884.28, 16.2173, 3.83286, 1, 5, 0, 356, 0, 1, 0, 0, 0, '67511', 0, 0, NULL),
(15215, 3467, 0, 0, 1, 0, 0, 1, 1, 1, -1748.25, -3721.78, 16.2173, 14.1181, 1, 5, 0, 356, 0, 1, 0, 0, 0, '67511', 0, 0, NULL),
(15217, 3467, 0, 0, 1, 0, 0, 1, 1, 1, -1706.97, -3818.9, 13.1778, 4.88414, 1, 5, 0, 356, 0, 1, 0, 0, 0, '67511', 0, 0, NULL);
-- Delete Baron Longshore Creature Addon
DELETE FROM `creature_addon` WHERE (`guid` IN (15066));
-- Set Baron Longshore template addon.
DELETE FROM `creature_template_addon` WHERE (`entry` = 3467);
INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
(3467, 0, 0, 0, 1, 0, 0, '');
-- Set Baron Longshore Pool Template
DELETE FROM `pool_template` WHERE (`entry` IN (144));
INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES
(144, 1, 'Baron Longshore');
-- Link Baron Longshore Spawn Points to Pool Entry.
DELETE FROM `pool_creature` WHERE (`guid` IN (15066, 15215, 15217));
INSERT INTO `pool_creature` (`guid`, `pool_entry`, `chance`, `description`) VALUES
(15066, 144, 0, 'Baron Longshore 1'),
(15215, 144, 0, 'Baron Longshore 2'),
(15217, 144, 0, 'Baron Longshore 3');
+104
View File
@@ -0,0 +1,104 @@
-- DB update 2026_05_18_01 -> 2026_05_18_02
-- Add Waypoints.
DELETE FROM `waypoint_data` WHERE (`id` IN (4507400, 4507401, 4507402, 4507600, 4507601, 4507602));
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
(4507400, 1, 2608.3418, 899.7364, 107.58177, NULL, 0, 0, 0, 100, 0),
(4507400, 2, 2624.7976, 947.18243, 110.12946, NULL, 0, 0, 0, 100, 0),
(4507400, 3, 2618.49, 966.5148, 109.42407, NULL, 0, 0, 0, 100, 0),
(4507400, 4, 2619.804, 989.7631, 106.12151, NULL, 0, 0, 0, 100, 0),
(4507400, 5, 2617.1274, 1017.7855, 101.755936, NULL, 0, 0, 0, 100, 0),
(4507401, 1, 2600.6504, 1048.624, 93.496185, NULL, 0, 0, 0, 100, 0),
(4507401, 2, 2589.536, 1059.0297, 89.56834, NULL, 0, 0, 0, 100, 0),
(4507401, 3, 2569.1755, 1054.2401, 87.35494, NULL, 0, 0, 0, 100, 0),
(4507401, 4, 2558.293, 1038.8096, 89.36693, NULL, 0, 0, 0, 100, 0),
(4507401, 5, 2550.0022, 1004.9842, 87.71258, NULL, 0, 0, 0, 100, 0),
(4507401, 6, 2545.9758, 980.9874, 89.43088, NULL, 0, 0, 0, 100, 0),
(4507401, 7, 2549.259, 960.1463, 92.66641, NULL, 0, 0, 0, 100, 0),
(4507401, 8, 2551.3828, 938.38605, 94.25331, NULL, 0, 0, 0, 100, 0),
(4507401, 9, 2555.0618, 909.3912, 92.80936, NULL, 0, 0, 0, 100, 0),
(4507401, 10, 2565.865, 900.8129, 97.85348, NULL, 0, 0, 0, 100, 0),
(4507401, 11, 2577.343, 895.7319, 102.08586, NULL, 0, 0, 0, 100, 0),
(4507401, 12, 2598.8699, 891.75824, 105.841194, NULL, 0, 0, 0, 100, 0),
(4507401, 13, 2614.4822, 901.33856, 108.39671, NULL, 0, 0, 0, 100, 0),
(4507401, 14, 2622.1265, 909.65356, 108.724594, NULL, 0, 0, 0, 100, 0),
(4507401, 15, 2633.543, 917.7471, 109.40559, NULL, 0, 0, 0, 100, 0),
(4507401, 16, 2648.4504, 921.5999, 110.50832, NULL, 0, 0, 0, 100, 0),
(4507401, 17, 2669.6716, 924.7839, 110.8462, NULL, 0, 0, 0, 100, 0),
(4507401, 18, 2687.3997, 942.2614, 110.87393, NULL, 0, 0, 0, 100, 0),
(4507401, 19, 2698.3833, 959.3796, 111.991165, NULL, 0, 0, 0, 100, 0),
(4507401, 20, 2705.1965, 978.1737, 111.370476, NULL, 0, 0, 0, 100, 0),
(4507401, 21, 2712.3142, 997.7814, 110.820724, NULL, 0, 0, 0, 100, 0),
(4507401, 22, 2717.2004, 1014.1006, 110.820496, NULL, 0, 0, 0, 100, 0),
(4507402, 1, 2706.9329, 977.25806, 111.23275, NULL, 0, 0, 0, 100, 0),
(4507402, 2, 2696.8916, 944.3594, 110.88748, NULL, 0, 0, 0, 100, 0),
(4507402, 3, 2679.1008, 927.04517, 111.034805, NULL, 0, 0, 0, 100, 0),
(4507402, 4, 2648.8196, 917.92676, 110.56027, NULL, 0, 0, 0, 100, 0),
(4507402, 5, 2631.4575, 916.3612, 109.18283, NULL, 0, 0, 0, 100, 0),
(4507600, 1, 2844.3105, 829.37134, 112.57675, NULL, 0, 0, 0, 100, 0),
(4507600, 2, 2861.2617, 805.0632, 116.396515, NULL, 0, 0, 0, 100, 0),
(4507600, 3, 2852.5176, 784.60895, 117.27478, NULL, 0, 0, 0, 100, 0),
(4507600, 4, 2844.9448, 765.1437, 119.3994, NULL, 0, 0, 0, 100, 0),
(4507600, 5, 2830.7195, 763.0901, 119.19966, NULL, 0, 0, 0, 100, 0),
(4507600, 6, 2809.9922, 773.8125, 116.56846, NULL, 0, 0, 0, 100, 0),
(4507600, 7, 2795.9836, 789.4371, 115.29823, NULL, 0, 0, 0, 100, 0),
(4507600, 8, 2781.8372, 817.4358, 112.59648, NULL, 0, 0, 0, 100, 0),
(4507600, 9, 2760.0073, 830.5569, 111.73909, NULL, 0, 0, 0, 100, 0),
(4507600, 10, 2740.4302, 826.26196, 111.78604, NULL, 0, 0, 0, 100, 0),
(4507600, 11, 2719.261, 812.56165, 111.116455, NULL, 0, 0, 0, 100, 0),
(4507600, 12, 2699.4387, 806.42993, 109.6118, NULL, 0, 0, 0, 100, 0),
(4507600, 13, 2674.912, 816.07574, 108.37607, NULL, 0, 0, 0, 100, 0),
(4507600, 14, 2662.5635, 843.7483, 108.82987, NULL, 0, 0, 0, 100, 0),
(4507600, 15, 2652.8994, 873.9334, 110.85059, NULL, 0, 0, 0, 100, 0),
(4507601, 1, 2611.389, 918.8913, 107.5012, NULL, 0, 0, 0, 100, 0),
(4507601, 2, 2651.7568, 941.5128, 112.666985, NULL, 0, 0, 0, 100, 0),
(4507601, 3, 2683.6868, 929.8602, 110.953384, NULL, 0, 0, 0, 100, 0),
(4507601, 4, 2703.5422, 895.4319, 110.38937, NULL, 0, 0, 0, 100, 0),
(4507601, 5, 2708.535, 870.12305, 111.949066, NULL, 0, 0, 0, 100, 0),
(4507601, 6, 2750.9553, 884.45825, 113.50687, NULL, 0, 0, 0, 100, 0),
(4507601, 7, 2757.431, 861.4463, 113.363815, NULL, 0, 0, 0, 100, 0),
(4507602, 1, 2787.389, 849.2288, 111.83943, NULL, 0, 0, 0, 100, 0),
(4507602, 2, 2817.4443, 843.9208, 111.845505, NULL, 0, 0, 0, 100, 0);
-- Set Move Type Random in Radius e Wander Distance to 25 for the two old Last Souls.
UPDATE `creature` SET `wander_distance` = 25, `MovementType` = 1 WHERE (`id1` = 1531) AND (`guid` IN (44863, 44864));
-- Set Extra Flag Don't Override SAI Entry.
UPDATE `creature_template` SET `flags_extra` = `flags_extra` |134217728 WHERE (`entry` = 1531);
-- Add two new Spawn Points.
DELETE FROM `creature` WHERE (`id1` = 1531) AND (`guid` IN (45074, 45076));
INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `Comment`, `VerifiedBuild`) VALUES
(45074, 1531, 0, 0, 0, 0, 0, 1, 1, 0, 2631.46, 916.361, 109.183, 4.7822, 300, 0, 0, 120, 0, 0, 0, 0, 0, '', 'Has Personal Guid Sai', 0),
(45076, 1531, 0, 0, 0, 0, 0, 1, 1, 0, 2817.44, 843.921, 111.846, 5.7721, 300, 0, 0, 120, 0, 0, 0, 0, 0, '', 'Has Personal Guid Sai', 0);
-- Set Guid for the two new Lost Souls.
DELETE FROM `smart_scripts` WHERE (`source_type` = 0) AND (`entryorguid` IN (-45074, -45076));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(-45074, 0, 1, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 232, 4507400, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - On Respawn - Start Path 4507400'),
(-45074, 0, 2, 0, 109, 0, 100, 0, 0, 4507400, 0, 0, 0, 0, 80, 153100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - On Path 4507400 Finished - Run Script'),
(-45074, 0, 3, 0, 109, 0, 100, 0, 0, 4507401, 0, 0, 0, 0, 80, 153101, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - On Path 4507401 Finished - Run Script'),
(-45074, 0, 4, 0, 109, 0, 100, 0, 0, 4507402, 0, 0, 0, 0, 80, 153102, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - On Path 4507402 Finished - Run Script'),
(-45076, 0, 1, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 232, 4507600, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - On Respawn - Start Path 4507600'),
(-45076, 0, 2, 0, 109, 0, 100, 0, 0, 4507600, 0, 0, 0, 0, 80, 153103, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - On Path 4507600 Finished - Run Script'),
(-45076, 0, 3, 0, 109, 0, 100, 0, 0, 4507601, 0, 0, 0, 0, 80, 153104, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - On Path 4507601 Finished - Run Script'),
(-45076, 0, 4, 0, 109, 0, 100, 0, 0, 4507602, 0, 0, 0, 0, 232, 4507600, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - On Path 4507602 Finished - Start Path 4507600');
-- Set Action Lists.
DELETE FROM `smart_scripts` WHERE (`source_type` = 9) AND (`entryorguid` IN (153100, 153101, 153102, 153103, 153104));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(153100, 9, 0, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 89, 25, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Start Random Movement'),
(153100, 9, 1, 0, 0, 0, 100, 0, 60000, 60000, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Stop Random Movement'),
(153100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 232, 4507401, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Start Path 4507401'),
(153101, 9, 0, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 89, 25, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Start Random Movement'),
(153101, 9, 1, 0, 0, 0, 100, 0, 60000, 60000, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Stop Random Movement'),
(153101, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 232, 4507402, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Start Path 4507402'),
(153102, 9, 0, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 89, 25, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Start Random Movement'),
(153102, 9, 1, 0, 0, 0, 100, 0, 60000, 60000, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Stop Random Movement'),
(153102, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 232, 4507400, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Start Path 4507400'),
(153103, 9, 0, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 89, 25, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Start Random Movement'),
(153103, 9, 1, 0, 0, 0, 100, 0, 60000, 60000, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Stop Random Movement'),
(153103, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 232, 4507601, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Start Path 4507601'),
(153104, 9, 0, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 89, 25, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Start Random Movement'),
(153104, 9, 1, 0, 0, 0, 100, 0, 60000, 60000, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Stop Random Movement'),
(153104, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 232, 4507602, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lost Soul - Actionlist - Start Path 4507602');
@@ -0,0 +1,6 @@
-- DB update 2026_05_18_02 -> 2026_05_19_00
-- Update creature 'Ludin Farrow' with sniffed values
-- new spawns
DELETE FROM `creature` WHERE (`id1` IN (26546)) AND (`guid` IN (1550));
INSERT INTO `creature` (`guid`, `id1`, `map`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
(1550, 26546, 0, 1, 1, 0, -3726.6103515625, -576.7655029296875, 4.643310546875, 4.171336650848388671, 120, 0, 0, 0, 0, 0, "", 45772, 1, NULL);
+702
View File
@@ -0,0 +1,702 @@
-- DB update 2026_05_19_00 -> 2026_05_19_01
-- Remove Wrong Spawn Points and Old Waypoints.
DELETE FROM `creature` WHERE (`id1` = 2974) AND (`guid` IN (26214, 26231, 26232, 26233));
DELETE FROM `creature` WHERE (`id1` = 2972) AND (`guid` IN (26192, 26193, 26194, 26195));
DELETE FROM `waypoint_data` WHERE (`id` IN (262130, 262330));
DELETE FROM `creature_addon` WHERE (`guid` IN (262130, 262330, 26233));
DELETE FROM `creature_formations` WHERE (`leaderGUID` IN (26213, 26233));
-- Set sniffed waypoints.
DELETE FROM `waypoint_data` WHERE (`id` IN (2619600, 2620700, 2620900, 2657800));
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
(2619600, 1, -1007.6246, 421.90808, 15.130656, NULL, 0, 0, 0, 100, 0),
(2619600, 2, -1037.2, 424.55112, 15.33276, NULL, 0, 0, 0, 100, 0),
(2619600, 3, -1066.6489, 422.65872, 14.733124, NULL, 0, 0, 0, 100, 0),
(2619600, 4, -1112.9124, 422.62155, 8.367777, NULL, 0, 0, 0, 100, 0),
(2619600, 5, -1143.1012, 417.0893, 6.579456, NULL, 0, 0, 0, 100, 0),
(2619600, 6, -1176.1271, 395.78214, 2.8264346, NULL, 0, 0, 0, 100, 0),
(2619600, 7, -1216.4647, 370.34033, -1.9081411, NULL, 0, 0, 0, 100, 0),
(2619600, 8, -1255.0748, 360.65146, -0.25116718, NULL, 0, 0, 0, 100, 0),
(2619600, 9, -1281.0723, 326.60596, -0.9783207, NULL, 0, 0, 0, 100, 0),
(2619600, 10, -1322.0363, 315.6229, 2.2535977, NULL, 0, 0, 0, 100, 0),
(2619600, 11, -1353.4476, 289.53302, 0.24801914, NULL, 0, 0, 0, 100, 0),
(2619600, 12, -1376.9994, 259.64877, -2.9643166, NULL, 0, 0, 0, 100, 0),
(2619600, 13, -1409.0953, 246.43031, -6.984593, NULL, 0, 0, 0, 100, 0),
(2619600, 14, -1433.7985, 215.66963, -7.1423674, NULL, 0, 0, 0, 100, 0),
(2619600, 15, -1467.7026, 191.00508, -7.792779, NULL, 0, 0, 0, 100, 0),
(2619600, 16, -1493.5348, 193.18796, -7.7928057, NULL, 0, 0, 0, 100, 0),
(2619600, 17, -1518.2887, 184.90755, -7.661153, NULL, 0, 0, 0, 100, 0),
(2619600, 18, -1540.6425, 160.9339, -7.7928085, NULL, 0, 0, 0, 100, 0),
(2619600, 19, -1575.1715, 156.2049, -7.7921677, NULL, 0, 0, 0, 100, 0),
(2619600, 20, -1581.508, 115.91542, -9.78833, NULL, 0, 0, 0, 100, 0),
(2619600, 21, -1601.3304, 75.78207, -14.307471, NULL, 0, 0, 0, 100, 0),
(2619600, 22, -1630.3042, 59.34912, -15.971921, NULL, 0, 0, 0, 100, 0),
(2619600, 23, -1656.0516, 52.974445, -11.12988, NULL, 0, 0, 0, 100, 0),
(2619600, 24, -1677.066, 18.634277, -8.527944, NULL, 0, 0, 0, 100, 0),
(2619600, 25, -1677.6133, -16.365234, -9.082037, NULL, 0, 0, 0, 100, 0),
(2619600, 26, -1684.7356, -53.50304, -8.355266, NULL, 0, 0, 0, 100, 0),
(2619600, 27, -1684.5641, -84.28765, -8.774794, NULL, 0, 0, 0, 100, 0),
(2619600, 28, -1683.2655, -115.27621, -5.189456, NULL, 0, 0, 0, 100, 0),
(2619600, 29, -1682.8145, -148.27539, -5.78589, NULL, 0, 0, 0, 100, 0),
(2619600, 30, -1680.8757, -182.97652, -9.895113, NULL, 0, 0, 0, 100, 0),
(2619600, 31, -1684.3063, -217.85265, -10.11387, NULL, 0, 0, 0, 100, 0),
(2619600, 32, -1653.3103, -245.30176, -18.934204, NULL, 0, 0, 0, 100, 0),
(2619600, 33, -1648.981, -285.4873, -25.765287, NULL, 0, 0, 0, 100, 0),
(2619600, 34, -1646.9777, -318.71164, -26.7061, NULL, 0, 0, 0, 100, 0),
(2619600, 35, -1616.91, -350.21332, -33.85203, NULL, 0, 0, 0, 100, 0),
(2619600, 36, -1614.3971, -387.42035, -34.000595, NULL, 0, 0, 0, 100, 0),
(2619600, 37, -1586.4641, -414.5879, -40.240524, NULL, 0, 0, 0, 100, 0),
(2619600, 38, -1555.3278, -449.68716, -42.6689, NULL, 0, 0, 0, 100, 0),
(2619600, 39, -1515.3612, -421.72916, -45.316895, NULL, 0, 0, 0, 100, 0),
(2619600, 40, -1484.709, -422.12393, -45.239704, NULL, 0, 0, 0, 100, 0),
(2619600, 41, -1452.7852, -419.1264, -47.54042, NULL, 0, 0, 0, 100, 0),
(2619600, 42, -1425.5243, -445.79535, -49.664673, NULL, 0, 0, 0, 100, 0),
(2619600, 43, -1420.3281, -480.38477, -59.781067, NULL, 0, 0, 0, 100, 0),
(2619600, 44, -1420.3055, -520.6966, -60.32009, NULL, 0, 0, 0, 100, 0),
(2619600, 45, -1414.226, -549.5558, -55.41117, NULL, 0, 0, 0, 100, 0),
(2619600, 46, -1389.8867, -580.47906, -56.723152, NULL, 0, 0, 0, 100, 0),
(2619600, 47, -1346.8826, -591.08203, -58.936775, NULL, 0, 0, 0, 100, 0),
(2619600, 48, -1316.2262, -612.4351, -57.896786, NULL, 0, 0, 0, 100, 0),
(2619600, 49, -1284.4495, -642.3338, -58.524612, NULL, 0, 0, 0, 100, 0),
(2619600, 50, -1277.4095, -681.1772, -59.273384, NULL, 0, 0, 0, 100, 0),
(2619600, 51, -1257.6677, -715.3433, -52.34805, NULL, 0, 0, 0, 100, 0),
(2619600, 52, -1236.7126, -742.9661, -54.46659, NULL, 0, 0, 0, 100, 0),
(2619600, 53, -1218.4545, -750.3242, -52.974735, NULL, 0, 0, 0, 100, 0),
(2619600, 54, -1210.0302, -780.29004, -45.112183, NULL, 0, 0, 0, 100, 0),
(2619600, 55, -1210.8108, -815.36914, -29.422226, NULL, 0, 0, 0, 100, 0),
(2619600, 56, -1182.2468, -825.0025, -23.671701, NULL, 0, 0, 0, 100, 0),
(2619600, 57, -1179.19, -849.2996, -13.99216, NULL, 0, 0, 0, 100, 0),
(2619600, 58, -1182.7673, -883.3319, -8.181561, NULL, 0, 0, 0, 100, 0),
(2619600, 59, -1147.8387, -918.49396, -2.7694292, NULL, 0, 0, 0, 100, 0),
(2619600, 60, -1147.5463, -947.7137, 1.0697556, NULL, 0, 0, 0, 100, 0),
(2619600, 61, -1115.4119, -975.1578, 2.8828933, NULL, 0, 0, 0, 100, 0),
(2619600, 62, -1085.1603, -976.84375, 6.633048, NULL, 0, 0, 0, 100, 0),
(2619600, 63, -1041.9868, -957.16766, 4.8196793, NULL, 0, 0, 0, 100, 0),
(2619600, 64, -1018.4729, -946.41003, 5.119849, NULL, 0, 0, 0, 100, 0),
(2619600, 65, -996.38043, -908.8725, 5.629443, NULL, 0, 0, 0, 100, 0),
(2619600, 66, -990.1932, -867.7385, 5.2438564, NULL, 0, 0, 0, 100, 0),
(2619600, 67, -1008.2734, -845.2093, -0.13104606, NULL, 0, 0, 0, 100, 0),
(2619600, 68, -993.90845, -747.204, -24.904272, NULL, 0, 0, 0, 100, 0),
(2619600, 69, -1011.5555, -720.69824, -38.289173, NULL, 0, 0, 0, 100, 0),
(2619600, 70, -1015.8663, -684.1327, -49.678394, NULL, 0, 0, 0, 100, 0),
(2619600, 71, -1016.8171, -650.1505, -56.921635, NULL, 0, 0, 0, 100, 0),
(2619600, 72, -1007.8587, -619.35126, -59.159958, NULL, 0, 0, 0, 100, 0),
(2619600, 73, -984.3987, -608.9958, -59.079597, NULL, 0, 0, 0, 100, 0),
(2619600, 74, -950.66907, -618.2923, -58.66162, NULL, 0, 0, 0, 100, 0),
(2619600, 75, -923.65247, -646.2394, -51.541134, NULL, 0, 0, 0, 100, 0),
(2619600, 76, -882.03754, -651.03345, -41.85031, NULL, 0, 0, 0, 100, 0),
(2619600, 77, -854.3465, -650.802, -34.01486, NULL, 0, 0, 0, 100, 0),
(2619600, 78, -811.3727, -658.369, -27.00071, NULL, 0, 0, 0, 100, 0),
(2619600, 79, -782.8351, -626.977, -28.018692, NULL, 0, 0, 0, 100, 0),
(2619600, 80, -759.23846, -610.9407, -26.781532, NULL, 0, 0, 0, 100, 0),
(2619600, 81, -720.8262, -592.5751, -20.51601, NULL, 0, 0, 0, 100, 0),
(2619600, 82, -684.2662, -600.00714, -12.882502, NULL, 0, 0, 0, 100, 0),
(2619600, 83, -720.8262, -592.5751, -20.51601, NULL, 0, 0, 0, 100, 0),
(2619600, 84, -759.23846, -610.9407, -26.781532, NULL, 0, 0, 0, 100, 0),
(2619600, 85, -782.8351, -626.977, -28.018692, NULL, 0, 0, 0, 100, 0),
(2619600, 86, -811.3727, -658.369, -27.00071, NULL, 0, 0, 0, 100, 0),
(2619600, 87, -854.3465, -650.802, -34.01486, NULL, 0, 0, 0, 100, 0),
(2619600, 88, -882.03754, -651.03345, -41.85031, NULL, 0, 0, 0, 100, 0),
(2619600, 89, -923.65247, -646.2394, -51.541134, NULL, 0, 0, 0, 100, 0),
(2619600, 90, -950.66907, -618.2923, -58.66162, NULL, 0, 0, 0, 100, 0),
(2619600, 91, -984.3987, -608.9958, -59.079597, NULL, 0, 0, 0, 100, 0),
(2619600, 92, -1007.8587, -619.35126, -59.159958, NULL, 0, 0, 0, 100, 0),
(2619600, 93, -1016.8171, -650.1505, -56.921635, NULL, 0, 0, 0, 100, 0),
(2619600, 94, -1015.8663, -684.1327, -49.678394, NULL, 0, 0, 0, 100, 0),
(2619600, 95, -1011.5555, -720.69824, -38.289173, NULL, 0, 0, 0, 100, 0),
(2619600, 96, -993.90845, -747.204, -24.904272, NULL, 0, 0, 0, 100, 0),
(2619600, 97, -1008.2734, -845.2093, -0.13104606, NULL, 0, 0, 0, 100, 0),
(2619600, 98, -990.1932, -867.7385, 5.2438564, NULL, 0, 0, 0, 100, 0),
(2619600, 99, -996.38043, -908.8725, 5.629443, NULL, 0, 0, 0, 100, 0),
(2619600, 100, -1018.4729, -946.41003, 5.119849, NULL, 0, 0, 0, 100, 0),
(2619600, 101, -1041.9868, -957.16766, 4.8196793, NULL, 0, 0, 0, 100, 0),
(2619600, 102, -1085.1603, -976.84375, 6.633048, NULL, 0, 0, 0, 100, 0),
(2619600, 103, -1115.4119, -975.1578, 2.8828933, NULL, 0, 0, 0, 100, 0),
(2619600, 104, -1147.5463, -947.7137, 1.0697556, NULL, 0, 0, 0, 100, 0),
(2619600, 105, -1147.8387, -918.49396, -2.7694292, NULL, 0, 0, 0, 100, 0),
(2619600, 106, -1182.7673, -883.3319, -8.181561, NULL, 0, 0, 0, 100, 0),
(2619600, 107, -1179.19, -849.2996, -13.99216, NULL, 0, 0, 0, 100, 0),
(2619600, 108, -1182.2468, -825.0025, -23.671701, NULL, 0, 0, 0, 100, 0),
(2619600, 109, -1210.8108, -815.36914, -29.422226, NULL, 0, 0, 0, 100, 0),
(2619600, 110, -1210.0302, -780.29004, -45.112183, NULL, 0, 0, 0, 100, 0),
(2619600, 111, -1218.4545, -750.3242, -52.974735, NULL, 0, 0, 0, 100, 0),
(2619600, 112, -1236.7126, -742.9661, -54.46659, NULL, 0, 0, 0, 100, 0),
(2619600, 113, -1257.6677, -715.3433, -52.34805, NULL, 0, 0, 0, 100, 0),
(2619600, 114, -1277.4095, -681.1772, -59.273384, NULL, 0, 0, 0, 100, 0),
(2619600, 115, -1284.4495, -642.3338, -58.524612, NULL, 0, 0, 0, 100, 0),
(2619600, 116, -1316.2262, -612.4351, -57.896786, NULL, 0, 0, 0, 100, 0),
(2619600, 117, -1346.8826, -591.08203, -58.936775, NULL, 0, 0, 0, 100, 0),
(2619600, 118, -1389.8867, -580.47906, -56.723152, NULL, 0, 0, 0, 100, 0),
(2619600, 119, -1414.226, -549.5558, -55.41117, NULL, 0, 0, 0, 100, 0),
(2619600, 120, -1420.3055, -520.6966, -60.32009, NULL, 0, 0, 0, 100, 0),
(2619600, 121, -1420.3281, -480.38477, -59.781067, NULL, 0, 0, 0, 100, 0),
(2619600, 122, -1425.5243, -445.79535, -49.664673, NULL, 0, 0, 0, 100, 0),
(2619600, 123, -1452.7852, -419.1264, -47.54042, NULL, 0, 0, 0, 100, 0),
(2619600, 124, -1484.709, -422.12393, -45.239704, NULL, 0, 0, 0, 100, 0),
(2619600, 125, -1515.3612, -421.72916, -45.316895, NULL, 0, 0, 0, 100, 0),
(2619600, 126, -1555.3278, -449.68716, -42.6689, NULL, 0, 0, 0, 100, 0),
(2619600, 127, -1586.4641, -414.5879, -40.240524, NULL, 0, 0, 0, 100, 0),
(2619600, 128, -1614.3971, -387.42035, -34.000595, NULL, 0, 0, 0, 100, 0),
(2619600, 129, -1616.91, -350.21332, -33.85203, NULL, 0, 0, 0, 100, 0),
(2619600, 130, -1646.9777, -318.71164, -26.7061, NULL, 0, 0, 0, 100, 0),
(2619600, 131, -1648.981, -285.4873, -25.765287, NULL, 0, 0, 0, 100, 0),
(2619600, 132, -1653.3103, -245.30176, -18.934204, NULL, 0, 0, 0, 100, 0),
(2619600, 133, -1684.3063, -217.85265, -10.11387, NULL, 0, 0, 0, 100, 0),
(2619600, 134, -1680.8757, -182.97652, -9.895113, NULL, 0, 0, 0, 100, 0),
(2619600, 135, -1682.8145, -148.27539, -5.78589, NULL, 0, 0, 0, 100, 0),
(2619600, 136, -1683.2655, -115.27621, -5.189456, NULL, 0, 0, 0, 100, 0),
(2619600, 137, -1684.5641, -84.28765, -8.774794, NULL, 0, 0, 0, 100, 0),
(2619600, 138, -1684.7356, -53.50304, -8.355266, NULL, 0, 0, 0, 100, 0),
(2619600, 139, -1677.6133, -16.365234, -9.082037, NULL, 0, 0, 0, 100, 0),
(2619600, 140, -1677.066, 18.634277, -8.527944, NULL, 0, 0, 0, 100, 0),
(2619600, 141, -1656.0516, 52.974445, -11.12988, NULL, 0, 0, 0, 100, 0),
(2619600, 142, -1630.3042, 59.34912, -15.971921, NULL, 0, 0, 0, 100, 0),
(2619600, 143, -1601.3304, 75.78207, -14.307471, NULL, 0, 0, 0, 100, 0),
(2619600, 144, -1581.508, 115.91542, -9.78833, NULL, 0, 0, 0, 100, 0),
(2619600, 145, -1575.1715, 156.2049, -7.7921677, NULL, 0, 0, 0, 100, 0),
(2619600, 146, -1540.6425, 160.9339, -7.7928085, NULL, 0, 0, 0, 100, 0),
(2619600, 147, -1518.2887, 184.90755, -7.661153, NULL, 0, 0, 0, 100, 0),
(2619600, 148, -1493.5348, 193.18796, -7.7928057, NULL, 0, 0, 0, 100, 0),
(2619600, 149, -1467.7026, 191.00508, -7.792779, NULL, 0, 0, 0, 100, 0),
(2619600, 150, -1433.7985, 215.66963, -7.1423674, NULL, 0, 0, 0, 100, 0),
(2619600, 151, -1409.0953, 246.43031, -6.984593, NULL, 0, 0, 0, 100, 0),
(2619600, 152, -1376.9994, 259.64877, -2.9643166, NULL, 0, 0, 0, 100, 0),
(2619600, 153, -1353.4476, 289.53302, 0.24801914, NULL, 0, 0, 0, 100, 0),
(2619600, 154, -1322.0363, 315.6229, 2.2535977, NULL, 0, 0, 0, 100, 0),
(2619600, 155, -1281.0723, 326.60596, -0.9783207, NULL, 0, 0, 0, 100, 0),
(2619600, 156, -1255.0748, 360.65146, -0.25116718, NULL, 0, 0, 0, 100, 0),
(2619600, 157, -1216.4647, 370.34033, -1.9081411, NULL, 0, 0, 0, 100, 0),
(2619600, 158, -1176.1271, 395.78214, 2.8264346, NULL, 0, 0, 0, 100, 0),
(2619600, 159, -1143.1012, 417.0893, 6.579456, NULL, 0, 0, 0, 100, 0),
(2619600, 160, -1112.9124, 422.62155, 8.367777, NULL, 0, 0, 0, 100, 0),
(2619600, 161, -1066.6489, 422.65872, 14.733124, NULL, 0, 0, 0, 100, 0),
(2619600, 162, -1037.2, 424.55112, 15.33276, NULL, 0, 0, 0, 100, 0),
(2619600, 163, -1007.6246, 421.90808, 15.130656, NULL, 0, 0, 0, 100, 0),
(2619600, 164, -974.2193, 417.11154, 15.5879545, NULL, 0, 0, 0, 100, 0),
(2620700, 1, -2710.6592, 163.31958, 63.226166, NULL, 0, 0, 0, 100, 0),
(2620700, 2, -2673.6243, 159.4376, 51.764732, NULL, 0, 0, 0, 100, 0),
(2620700, 3, -2666.4324, 130.52155, 46.667397, NULL, 0, 0, 0, 100, 0),
(2620700, 4, -2652.186, 106.53426, 41.890396, NULL, 0, 0, 0, 100, 0),
(2620700, 5, -2644.0598, 80.47784, 31.887161, NULL, 0, 0, 0, 100, 0),
(2620700, 6, -2647.6116, 47.942493, 23.471582, NULL, 0, 0, 0, 100, 0),
(2620700, 7, -2674.728, 19.094673, 13.6595745, NULL, 0, 0, 0, 100, 0),
(2620700, 8, -2654.1157, -13.759549, 3.1332266, NULL, 0, 0, 0, 100, 0),
(2620700, 9, -2623.795, -50.004665, -3.3034098, NULL, 0, 0, 0, 100, 0),
(2620700, 10, -2624.9705, -82.19271, -5.3842874, NULL, 0, 0, 0, 100, 0),
(2620700, 11, -2640.0618, -114.77073, -3.215204, NULL, 0, 0, 0, 100, 0),
(2620700, 12, -2630.893, -155.90099, -8.995703, NULL, 0, 0, 0, 100, 0),
(2620700, 13, -2648.4133, -189.70459, -6.6332498, NULL, 0, 0, 0, 100, 0),
(2620700, 14, -2653.144, -216.50998, -6.9328265, NULL, 0, 0, 0, 100, 0),
(2620700, 15, -2653.2568, -253.75694, -0.9902834, NULL, 0, 0, 0, 100, 0),
(2620700, 16, -2653.6948, -284.7191, -3.0489802, NULL, 0, 0, 0, 100, 0),
(2620700, 17, -2678.138, -318.07367, -5.8373413, NULL, 0, 0, 0, 100, 0),
(2620700, 18, -2678.6648, -356.3597, -8.053354, NULL, 0, 0, 0, 100, 0),
(2620700, 19, -2682.1672, -385.46646, -10.711467, NULL, 0, 0, 0, 100, 0),
(2620700, 20, -2675.5393, -418.8748, -8.330051, NULL, 0, 0, 0, 100, 0),
(2620700, 21, -2651.6365, -446.1798, -9.349476, NULL, 0, 0, 0, 100, 0),
(2620700, 22, -2649.9795, -485.89075, -6.3365417, NULL, 0, 0, 0, 100, 0),
(2620700, 23, -2654.0325, -523.72516, -7.4569664, NULL, 0, 0, 0, 100, 0),
(2620700, 24, -2648.3452, -550.0735, -3.8777122, NULL, 0, 0, 0, 100, 0),
(2620700, 25, -2643.802, -583.0283, -3.838374, NULL, 0, 0, 0, 100, 0),
(2620700, 26, -2651.5278, -615.3167, -3.0365124, NULL, 0, 0, 0, 100, 0),
(2620700, 27, -2656.2092, -662.2092, -1.8650179, NULL, 0, 0, 0, 100, 0),
(2620700, 28, -2646.3386, -674.0851, -0.14567393, NULL, 0, 0, 0, 100, 0),
(2620700, 29, -2626.5215, -706.51953, 0.52910066, NULL, 0, 0, 0, 100, 0),
(2620700, 30, -2623.6917, -749.2665, -5.150375, NULL, 0, 0, 0, 100, 0),
(2620700, 31, -2640.3572, -780.52484, -5.784524, NULL, 0, 0, 0, 100, 0),
(2620700, 32, -2653.998, -813.8535, -6.1829424, NULL, 0, 0, 0, 100, 0),
(2620700, 33, -2657.9783, -849.33356, -6.424155, NULL, 0, 0, 0, 100, 0),
(2620700, 34, -2643.6028, -886.54266, -7.7689266, NULL, 0, 0, 0, 100, 0),
(2620700, 35, -2620.5098, -916.69086, -6.844866, NULL, 0, 0, 0, 100, 0),
(2620700, 36, -2584.2139, -916.3599, -5.7289476, NULL, 0, 0, 0, 100, 0),
(2620700, 37, -2552.383, -923.7454, -8.431046, NULL, 0, 0, 0, 100, 0),
(2620700, 38, -2547.4167, -952.7232, -5.765007, NULL, 0, 0, 0, 100, 0),
(2620700, 39, -2552.737, -980.1186, -1.5728039, NULL, 0, 0, 0, 100, 0),
(2620700, 40, -2584.2122, -994.65656, -2.8916035, NULL, 0, 0, 0, 100, 0),
(2620700, 41, -2619.2803, -1011.5713, -8.028606, NULL, 0, 0, 0, 100, 0),
(2620700, 42, -2649.2556, -1026.3375, -8.474744, NULL, 0, 0, 0, 100, 0),
(2620700, 43, -2656.4373, -1053.2314, -4.678368, NULL, 0, 0, 0, 100, 0),
(2620700, 44, -2650.1755, -1084.9543, -7.634605, NULL, 0, 0, 0, 100, 0),
(2620700, 45, -2645.7498, -1113.3473, -4.9176726, NULL, 0, 0, 0, 100, 0),
(2620700, 46, -2622.2976, -1140.3937, -4.6027, NULL, 0, 0, 0, 100, 0),
(2620700, 47, -2583.1157, -1156.3484, -8.350552, NULL, 0, 0, 0, 100, 0),
(2620700, 48, -2545.0376, -1182.2266, -2.9859233, NULL, 0, 0, 0, 100, 0),
(2620700, 49, -2518.601, -1219.8278, -6.0565963, NULL, 0, 0, 0, 100, 0),
(2620700, 50, -2521.652, -1246.869, -6.977758, NULL, 0, 0, 0, 100, 0),
(2620700, 51, -2521.6074, -1246.6699, -6.973242, NULL, 0, 0, 0, 100, 0),
(2620700, 52, -2521.652, -1246.869, -6.977758, NULL, 0, 0, 0, 100, 0),
(2620700, 53, -2523.9766, -1251.293, -6.7638702, NULL, 0, 0, 0, 100, 0),
(2620700, 54, -2525.836, -1254.832, -6.5580316, NULL, 0, 0, 0, 100, 0),
(2620700, 55, -2526.7656, -1256.6016, -6.3840976, NULL, 0, 0, 0, 100, 0),
(2620700, 56, -2527.6953, -1258.3711, -6.197733, NULL, 0, 0, 0, 100, 0),
(2620700, 57, -2529.0898, -1261.0254, -6.0167475, NULL, 0, 0, 0, 100, 0),
(2620700, 58, -2530.0195, -1262.7949, -5.8368526, NULL, 0, 0, 0, 100, 0),
(2620700, 59, -2531.414, -1265.4492, -5.582439, NULL, 0, 0, 0, 100, 0),
(2620700, 60, -2533.7383, -1269.873, -5.3540955, NULL, 0, 0, 0, 100, 0),
(2620700, 61, -2543.5525, -1288.5497, -5.4981, NULL, 0, 0, 0, 100, 0),
(2620700, 62, -2552.3254, -1316.4017, -2.6343126, NULL, 0, 0, 0, 100, 0),
(2620700, 63, -2543.5525, -1288.5497, -5.4981, NULL, 0, 0, 0, 100, 0),
(2620700, 64, -2533.7383, -1269.873, -5.3540955, NULL, 0, 0, 0, 100, 0),
(2620700, 65, -2531.414, -1265.4492, -5.582439, NULL, 0, 0, 0, 100, 0),
(2620700, 66, -2530.0195, -1262.7949, -5.8368526, NULL, 0, 0, 0, 100, 0),
(2620700, 67, -2529.0898, -1261.0254, -6.0167475, NULL, 0, 0, 0, 100, 0),
(2620700, 68, -2527.6953, -1258.3711, -6.197733, NULL, 0, 0, 0, 100, 0),
(2620700, 69, -2526.7656, -1256.6016, -6.3840976, NULL, 0, 0, 0, 100, 0),
(2620700, 70, -2525.836, -1254.832, -6.5580316, NULL, 0, 0, 0, 100, 0),
(2620700, 71, -2523.9766, -1251.293, -6.7638702, NULL, 0, 0, 0, 100, 0),
(2620700, 72, -2521.652, -1246.869, -6.977758, NULL, 0, 0, 0, 100, 0),
(2620700, 73, -2521.6074, -1246.6699, -6.973242, NULL, 0, 0, 0, 100, 0),
(2620700, 74, -2521.652, -1246.869, -6.977758, NULL, 0, 0, 0, 100, 0),
(2620700, 75, -2518.601, -1219.8278, -6.0565963, NULL, 0, 0, 0, 100, 0),
(2620700, 76, -2545.0376, -1182.2266, -2.9859233, NULL, 0, 0, 0, 100, 0),
(2620700, 77, -2583.1157, -1156.3484, -8.350552, NULL, 0, 0, 0, 100, 0),
(2620700, 78, -2622.2976, -1140.3937, -4.6027, NULL, 0, 0, 0, 100, 0),
(2620700, 79, -2645.7498, -1113.3473, -4.9176726, NULL, 0, 0, 0, 100, 0),
(2620700, 80, -2650.1755, -1084.9543, -7.634605, NULL, 0, 0, 0, 100, 0),
(2620700, 81, -2656.4373, -1053.2314, -4.678368, NULL, 0, 0, 0, 100, 0),
(2620700, 82, -2649.2556, -1026.3375, -8.474744, NULL, 0, 0, 0, 100, 0),
(2620700, 83, -2619.2803, -1011.5713, -8.028606, NULL, 0, 0, 0, 100, 0),
(2620700, 84, -2584.2122, -994.65656, -2.8916035, NULL, 0, 0, 0, 100, 0),
(2620700, 85, -2552.737, -980.1186, -1.5728039, NULL, 0, 0, 0, 100, 0),
(2620700, 86, -2547.4167, -952.7232, -5.765007, NULL, 0, 0, 0, 100, 0),
(2620700, 87, -2552.383, -923.7454, -8.431046, NULL, 0, 0, 0, 100, 0),
(2620700, 88, -2584.2139, -916.3599, -5.7289476, NULL, 0, 0, 0, 100, 0),
(2620700, 89, -2620.5098, -916.69086, -6.844866, NULL, 0, 0, 0, 100, 0),
(2620700, 90, -2643.6028, -886.54266, -7.7689266, NULL, 0, 0, 0, 100, 0),
(2620700, 91, -2657.9783, -849.33356, -6.424155, NULL, 0, 0, 0, 100, 0),
(2620700, 92, -2653.998, -813.8535, -6.1829424, NULL, 0, 0, 0, 100, 0),
(2620700, 93, -2640.3572, -780.52484, -5.784524, NULL, 0, 0, 0, 100, 0),
(2620700, 94, -2623.6917, -749.2665, -5.150375, NULL, 0, 0, 0, 100, 0),
(2620700, 95, -2626.5215, -706.51953, 0.52910066, NULL, 0, 0, 0, 100, 0),
(2620700, 96, -2646.3386, -674.0851, -0.14567393, NULL, 0, 0, 0, 100, 0),
(2620700, 97, -2656.2092, -662.2092, -1.8650179, NULL, 0, 0, 0, 100, 0),
(2620700, 98, -2651.5278, -615.3167, -3.0365124, NULL, 0, 0, 0, 100, 0),
(2620700, 99, -2643.802, -583.0283, -3.838374, NULL, 0, 0, 0, 100, 0),
(2620700, 100, -2648.3452, -550.0735, -3.8777122, NULL, 0, 0, 0, 100, 0),
(2620700, 101, -2654.0325, -523.72516, -7.4569664, NULL, 0, 0, 0, 100, 0),
(2620700, 102, -2649.9795, -485.89075, -6.3365417, NULL, 0, 0, 0, 100, 0),
(2620700, 103, -2651.6365, -446.1798, -9.349476, NULL, 0, 0, 0, 100, 0),
(2620700, 104, -2675.5393, -418.8748, -8.330051, NULL, 0, 0, 0, 100, 0),
(2620700, 105, -2682.1672, -385.46646, -10.711467, NULL, 0, 0, 0, 100, 0),
(2620700, 106, -2678.6648, -356.3597, -8.053354, NULL, 0, 0, 0, 100, 0),
(2620700, 107, -2678.138, -318.07367, -5.8373413, NULL, 0, 0, 0, 100, 0),
(2620700, 108, -2653.6948, -284.7191, -3.0489802, NULL, 0, 0, 0, 100, 0),
(2620700, 109, -2653.2568, -253.75694, -0.9902834, NULL, 0, 0, 0, 100, 0),
(2620700, 110, -2653.144, -216.50998, -6.9328265, NULL, 0, 0, 0, 100, 0),
(2620700, 111, -2648.4133, -189.70459, -6.6332498, NULL, 0, 0, 0, 100, 0),
(2620700, 112, -2630.893, -155.90099, -8.995703, NULL, 0, 0, 0, 100, 0),
(2620700, 113, -2640.0618, -114.77073, -3.215204, NULL, 0, 0, 0, 100, 0),
(2620700, 114, -2624.9705, -82.19271, -5.3842874, NULL, 0, 0, 0, 100, 0),
(2620700, 115, -2623.795, -50.004665, -3.3034098, NULL, 0, 0, 0, 100, 0),
(2620700, 116, -2654.1157, -13.759549, 3.1332266, NULL, 0, 0, 0, 100, 0),
(2620700, 117, -2674.728, 19.094673, 13.6595745, NULL, 0, 0, 0, 100, 0),
(2620700, 118, -2647.6116, 47.942493, 23.471582, NULL, 0, 0, 0, 100, 0),
(2620700, 119, -2644.0598, 80.47784, 31.887161, NULL, 0, 0, 0, 100, 0),
(2620700, 120, -2652.186, 106.53426, 41.890396, NULL, 0, 0, 0, 100, 0),
(2620700, 121, -2666.4324, 130.52155, 46.667397, NULL, 0, 0, 0, 100, 0),
(2620700, 122, -2673.6243, 159.4376, 51.764732, NULL, 0, 0, 0, 100, 0),
(2620700, 123, -2710.6592, 163.31958, 63.226166, NULL, 0, 0, 0, 100, 0),
(2620700, 124, -2729.8914, 197.9978, 76.868744, NULL, 0, 0, 0, 100, 0),
(2620900, 1, -1020.2051, -980.88086, 7.1683216, NULL, 0, 0, 0, 100, 0),
(2620900, 2, -1053.2329, -975.79126, 6.623329, NULL, 0, 0, 0, 100, 0),
(2620900, 3, -1084.5875, -977.6635, 6.817415, NULL, 0, 0, 0, 100, 0),
(2620900, 4, -1116.7161, -978.35114, 3.4320922, NULL, 0, 0, 0, 100, 0),
(2620900, 5, -1138.5924, -962.28125, 1.474831, NULL, 0, 0, 0, 100, 0),
(2620900, 6, -1148.5856, -919.54126, -2.596854, NULL, 0, 0, 0, 100, 0),
(2620900, 7, -1138.5454, -892.65125, -7.208537, NULL, 0, 0, 0, 100, 0),
(2620900, 8, -1150.0491, -851.04224, -16.409548, NULL, 0, 0, 0, 100, 0),
(2620900, 9, -1150.8984, -817.8583, -27.014313, NULL, 0, 0, 0, 100, 0),
(2620900, 10, -1147.5518, -776.8227, -44.30559, NULL, 0, 0, 0, 100, 0),
(2620900, 11, -1147.0758, -744.05914, -53.639885, NULL, 0, 0, 0, 100, 0),
(2620900, 12, -1147.7943, -718.74664, -58.091347, NULL, 0, 0, 0, 100, 0),
(2620900, 13, -1146.8345, -686.5961, -61.089966, NULL, 0, 0, 0, 100, 0),
(2620900, 14, -1146.251, -645.767, -57.616802, NULL, 0, 0, 0, 100, 0),
(2620900, 15, -1146.3079, -617.2496, -56.594704, NULL, 0, 0, 0, 100, 0),
(2620900, 16, -1152.5471, -582.02844, -57.719322, NULL, 0, 0, 0, 100, 0),
(2620900, 17, -1182.1832, -547.8252, -59.111668, NULL, 0, 0, 0, 100, 0),
(2620900, 18, -1187.4406, -514.64386, -55.33011, NULL, 0, 0, 0, 100, 0),
(2620900, 19, -1185.5323, -474.7066, -44.741253, NULL, 0, 0, 0, 100, 0),
(2620900, 20, -1206.8162, -445.11026, -44.441757, NULL, 0, 0, 0, 100, 0),
(2620900, 21, -1220.2743, -405.9527, -37.069504, NULL, 0, 0, 0, 100, 0),
(2620900, 22, -1230.3921, -363.70865, -26.883204, NULL, 0, 0, 0, 100, 0),
(2620900, 23, -1255.6671, -345.25363, -30.52438, NULL, 0, 0, 0, 100, 0),
(2620900, 24, -1286.9879, -315.80774, -32.31261, NULL, 0, 0, 0, 100, 0),
(2620900, 25, -1318.4122, -284.01877, -24.305344, NULL, 0, 0, 0, 100, 0),
(2620900, 26, -1355.5906, -280.10587, -15.520838, NULL, 0, 0, 0, 100, 0),
(2620900, 27, -1386.877, -287.93073, -17.552814, NULL, 0, 0, 0, 100, 0),
(2620900, 28, -1417.005, -286.57834, -13.878449, NULL, 0, 0, 0, 100, 0),
(2620900, 29, -1449.1166, -291.51437, -19.961262, NULL, 0, 0, 0, 100, 0),
(2620900, 30, -1475.7887, -319.79575, -34.36045, NULL, 0, 0, 0, 100, 0),
(2620900, 31, -1509.4084, -345.9926, -40.824417, NULL, 0, 0, 0, 100, 0),
(2620900, 32, -1525.5438, -382.69748, -42.79975, NULL, 0, 0, 0, 100, 0),
(2620900, 33, -1553.9834, -412.6861, -42.164524, NULL, 0, 0, 0, 100, 0),
(2620900, 34, -1590.6992, -412.87088, -39.847183, NULL, 0, 0, 0, 100, 0),
(2620900, 35, -1617.6337, -390.4591, -32.760555, NULL, 0, 0, 0, 100, 0),
(2620900, 36, -1648.6624, -355.2722, -27.633928, NULL, 0, 0, 0, 100, 0),
(2620900, 37, -1685.4014, -350.49475, -18.68922, NULL, 0, 0, 0, 100, 0),
(2620900, 38, -1721.133, -348.4744, -11.851406, NULL, 0, 0, 0, 100, 0),
(2620900, 39, -1755.0455, -344.01053, -9.548318, NULL, 0, 0, 0, 100, 0),
(2620900, 40, -1782.8278, -322.65842, -9.424843, NULL, 0, 0, 0, 100, 0),
(2620900, 41, -1819.2301, -318.81494, -8.874444, NULL, 0, 0, 0, 100, 0),
(2620900, 42, -1851.8077, -323.0484, -7.2307463, NULL, 0, 0, 0, 100, 0),
(2620900, 43, -1877.3624, -346.32922, -9.093119, NULL, 0, 0, 0, 100, 0),
(2620900, 44, -1854.1841, -381.51065, -7.991462, NULL, 0, 0, 0, 100, 0),
(2620900, 45, -1830.9149, -410.4619, -8.048546, NULL, 0, 0, 0, 100, 0),
(2620900, 46, -1827.4146, -441.5103, -7.292081, NULL, 0, 0, 0, 100, 0),
(2620900, 47, -1839.0156, -472.3828, -4.388832, NULL, 0, 0, 0, 100, 0),
(2620900, 48, -1844.6571, -521.93195, 0.857855, NULL, 0, 0, 0, 100, 0),
(2620900, 49, -1840.5328, -549.9421, -1.5416535, NULL, 0, 0, 0, 100, 0),
(2620900, 50, -1843.9037, -588.4754, -1.2690234, NULL, 0, 0, 0, 100, 0),
(2620900, 51, -1820.9545, -620.83606, -9.77841, NULL, 0, 0, 0, 100, 0),
(2620900, 52, -1809.1964, -660.40656, -10.850664, NULL, 0, 0, 0, 100, 0),
(2620900, 53, -1811.9022, -689.7712, -9.4739685, NULL, 0, 0, 0, 100, 0),
(2620900, 54, -1818.152, -715.43555, -9.424848, NULL, 0, 0, 0, 100, 0),
(2620900, 55, -1827.0248, -752.0289, -8.905457, NULL, 0, 0, 0, 100, 0),
(2620900, 56, -1845.9939, -776.34735, -5.783878, NULL, 0, 0, 0, 100, 0),
(2620900, 57, -1882.477, -791.6018, -7.7184834, NULL, 0, 0, 0, 100, 0),
(2620900, 58, -1912.0764, -811.54114, -0.89575887, NULL, 0, 0, 0, 100, 0),
(2620900, 59, -1923.2053, -849.5344, 3.833979, NULL, 0, 0, 0, 100, 0),
(2620900, 60, -1950.4001, -884.6272, 0.7706809, NULL, 0, 0, 0, 100, 0),
(2620900, 61, -1979.5773, -915.40845, 8.118938, NULL, 0, 0, 0, 100, 0),
(2620900, 62, -2024.5035, -924.3658, 2.138451, NULL, 0, 0, 0, 100, 0),
(2620900, 63, -2047.3091, -920.10114, 0.87201357, NULL, 0, 0, 0, 100, 0),
(2620900, 64, -2091.5933, -922.33997, 8.777015, NULL, 0, 0, 0, 100, 0),
(2620900, 65, -2119.8962, -922.5559, 10.534827, NULL, 0, 0, 0, 100, 0),
(2620900, 66, -2153.0735, -929.1006, 9.6171465, NULL, 0, 0, 0, 100, 0),
(2620900, 67, -2183.8567, -946.16095, 6.301245, NULL, 0, 0, 0, 100, 0),
(2620900, 68, -2217.3403, -948.37195, 0.41538173, NULL, 0, 0, 0, 100, 0),
(2620900, 69, -2255.0247, -925.83386, -7.886299, NULL, 0, 0, 0, 100, 0),
(2620900, 70, -2279.3665, -888.14996, -4.49362, NULL, 0, 0, 0, 100, 0),
(2620900, 71, -2285.2222, -846.1835, -7.1040916, NULL, 0, 0, 0, 100, 0),
(2620900, 72, -2291.1272, -816.87134, -5.591943, NULL, 0, 0, 0, 100, 0),
(2620900, 73, -2319.851, -789.5738, -8.415098, NULL, 0, 0, 0, 100, 0),
(2620900, 74, -2363.6467, -777.8217, -7.7410345, NULL, 0, 0, 0, 100, 0),
(2620900, 75, -2386.841, -777.74915, -1.931078, NULL, 0, 0, 0, 100, 0),
(2620900, 76, -2420.0496, -759.81696, -2.805012, NULL, 0, 0, 0, 100, 0),
(2620900, 77, -2433.9304, -784.26886, -1.9161642, NULL, 0, 0, 0, 100, 0),
(2620900, 78, -2453.8037, -811.69653, -5.838523, NULL, 0, 0, 0, 100, 0),
(2620900, 79, -2457.6191, -839.9908, -4.2054973, NULL, 0, 0, 0, 100, 0),
(2620900, 80, -2465.2732, -881.242, -4.847744, NULL, 0, 0, 0, 100, 0),
(2620900, 81, -2490.7522, -889.43164, -6.9935, NULL, 0, 0, 0, 100, 0),
(2620900, 82, -2513.5232, -886.17896, -7.119336, NULL, 0, 0, 0, 100, 0),
(2620900, 83, -2541.5662, -891.89105, -8.848616, NULL, 0, 0, 0, 100, 0),
(2620900, 84, -2550.9543, -913.97235, -9.117775, NULL, 0, 0, 0, 100, 0),
(2620900, 85, -2585.972, -921.22516, -4.9074683, NULL, 0, 0, 0, 100, 0),
(2620900, 86, -2616.3623, -890.53973, -4.647091, NULL, 0, 0, 0, 100, 0),
(2620900, 87, -2585.972, -921.22516, -4.9074683, NULL, 0, 0, 0, 100, 0),
(2620900, 88, -2550.9543, -913.97235, -9.117775, NULL, 0, 0, 0, 100, 0),
(2620900, 89, -2541.5662, -891.89105, -8.848616, NULL, 0, 0, 0, 100, 0),
(2620900, 90, -2513.5232, -886.17896, -7.119336, NULL, 0, 0, 0, 100, 0),
(2620900, 91, -2490.7522, -889.43164, -6.9935, NULL, 0, 0, 0, 100, 0),
(2620900, 92, -2465.2732, -881.242, -4.847744, NULL, 0, 0, 0, 100, 0),
(2620900, 93, -2457.6191, -839.9908, -4.2054973, NULL, 0, 0, 0, 100, 0),
(2620900, 94, -2453.8037, -811.69653, -5.838523, NULL, 0, 0, 0, 100, 0),
(2620900, 95, -2433.9304, -784.26886, -1.9161642, NULL, 0, 0, 0, 100, 0),
(2620900, 96, -2420.0496, -759.81696, -2.805012, NULL, 0, 0, 0, 100, 0),
(2620900, 97, -2386.841, -777.74915, -1.931078, NULL, 0, 0, 0, 100, 0),
(2620900, 98, -2363.6467, -777.8217, -7.7410345, NULL, 0, 0, 0, 100, 0),
(2620900, 99, -2319.851, -789.5738, -8.415098, NULL, 0, 0, 0, 100, 0),
(2620900, 100, -2291.1272, -816.87134, -5.591943, NULL, 0, 0, 0, 100, 0),
(2620900, 101, -2285.2222, -846.1835, -7.1040916, NULL, 0, 0, 0, 100, 0),
(2620900, 102, -2279.3665, -888.14996, -4.49362, NULL, 0, 0, 0, 100, 0),
(2620900, 103, -2255.0247, -925.83386, -7.886299, NULL, 0, 0, 0, 100, 0),
(2620900, 104, -2217.3403, -948.37195, 0.41538173, NULL, 0, 0, 0, 100, 0),
(2620900, 105, -2183.8567, -946.16095, 6.301245, NULL, 0, 0, 0, 100, 0),
(2620900, 106, -2153.0735, -929.1006, 9.6171465, NULL, 0, 0, 0, 100, 0),
(2620900, 107, -2119.8962, -922.5559, 10.534827, NULL, 0, 0, 0, 100, 0),
(2620900, 108, -2091.5933, -922.33997, 8.777015, NULL, 0, 0, 0, 100, 0),
(2620900, 109, -2047.3091, -920.10114, 0.87201357, NULL, 0, 0, 0, 100, 0),
(2620900, 110, -2024.5035, -924.3658, 2.138451, NULL, 0, 0, 0, 100, 0),
(2620900, 111, -1979.5773, -915.40845, 8.118938, NULL, 0, 0, 0, 100, 0),
(2620900, 112, -1950.4001, -884.6272, 0.7706809, NULL, 0, 0, 0, 100, 0),
(2620900, 113, -1923.2053, -849.5344, 3.833979, NULL, 0, 0, 0, 100, 0),
(2620900, 114, -1912.0764, -811.54114, -0.89575887, NULL, 0, 0, 0, 100, 0),
(2620900, 115, -1882.477, -791.6018, -7.7184834, NULL, 0, 0, 0, 100, 0),
(2620900, 116, -1845.9939, -776.34735, -5.783878, NULL, 0, 0, 0, 100, 0),
(2620900, 117, -1827.0248, -752.0289, -8.905457, NULL, 0, 0, 0, 100, 0),
(2620900, 118, -1818.152, -715.43555, -9.424848, NULL, 0, 0, 0, 100, 0),
(2620900, 119, -1811.9022, -689.7712, -9.4739685, NULL, 0, 0, 0, 100, 0),
(2620900, 120, -1809.1964, -660.40656, -10.850664, NULL, 0, 0, 0, 100, 0),
(2620900, 121, -1820.9545, -620.83606, -9.77841, NULL, 0, 0, 0, 100, 0),
(2620900, 122, -1843.9037, -588.4754, -1.2690234, NULL, 0, 0, 0, 100, 0),
(2620900, 123, -1840.5328, -549.9421, -1.5416535, NULL, 0, 0, 0, 100, 0),
(2620900, 124, -1844.6571, -521.93195, 0.857855, NULL, 0, 0, 0, 100, 0),
(2620900, 125, -1839.0156, -472.3828, -4.388832, NULL, 0, 0, 0, 100, 0),
(2620900, 126, -1827.4146, -441.5103, -7.292081, NULL, 0, 0, 0, 100, 0),
(2620900, 127, -1830.9149, -410.4619, -8.048546, NULL, 0, 0, 0, 100, 0),
(2620900, 128, -1854.1841, -381.51065, -7.991462, NULL, 0, 0, 0, 100, 0),
(2620900, 129, -1877.3624, -346.32922, -9.093119, NULL, 0, 0, 0, 100, 0),
(2620900, 130, -1851.8077, -323.0484, -7.2307463, NULL, 0, 0, 0, 100, 0),
(2620900, 131, -1819.2301, -318.81494, -8.874444, NULL, 0, 0, 0, 100, 0),
(2620900, 132, -1782.8278, -322.65842, -9.424843, NULL, 0, 0, 0, 100, 0),
(2620900, 133, -1755.0455, -344.01053, -9.548318, NULL, 0, 0, 0, 100, 0),
(2620900, 134, -1721.133, -348.4744, -11.851406, NULL, 0, 0, 0, 100, 0),
(2620900, 135, -1685.4014, -350.49475, -18.68922, NULL, 0, 0, 0, 100, 0),
(2620900, 136, -1648.6624, -355.2722, -27.633928, NULL, 0, 0, 0, 100, 0),
(2620900, 137, -1617.6337, -390.4591, -32.760555, NULL, 0, 0, 0, 100, 0),
(2620900, 138, -1590.6992, -412.87088, -39.847183, NULL, 0, 0, 0, 100, 0),
(2620900, 139, -1553.9834, -412.6861, -42.164524, NULL, 0, 0, 0, 100, 0),
(2620900, 140, -1525.5438, -382.69748, -42.79975, NULL, 0, 0, 0, 100, 0),
(2620900, 141, -1509.4084, -345.9926, -40.824417, NULL, 0, 0, 0, 100, 0),
(2620900, 142, -1475.7887, -319.79575, -34.36045, NULL, 0, 0, 0, 100, 0),
(2620900, 143, -1449.1166, -291.51437, -19.961262, NULL, 0, 0, 0, 100, 0),
(2620900, 144, -1417.005, -286.57834, -13.878449, NULL, 0, 0, 0, 100, 0),
(2620900, 145, -1386.877, -287.93073, -17.552814, NULL, 0, 0, 0, 100, 0),
(2620900, 146, -1355.5906, -280.10587, -15.520838, NULL, 0, 0, 0, 100, 0),
(2620900, 147, -1318.4122, -284.01877, -24.305344, NULL, 0, 0, 0, 100, 0),
(2620900, 148, -1286.9879, -315.80774, -32.31261, NULL, 0, 0, 0, 100, 0),
(2620900, 149, -1255.6671, -345.25363, -30.52438, NULL, 0, 0, 0, 100, 0),
(2620900, 150, -1230.3921, -363.70865, -26.883204, NULL, 0, 0, 0, 100, 0),
(2620900, 151, -1220.2743, -405.9527, -37.069504, NULL, 0, 0, 0, 100, 0),
(2620900, 152, -1206.8162, -445.11026, -44.441757, NULL, 0, 0, 0, 100, 0),
(2620900, 153, -1185.5323, -474.7066, -44.741253, NULL, 0, 0, 0, 100, 0),
(2620900, 154, -1187.4406, -514.64386, -55.33011, NULL, 0, 0, 0, 100, 0),
(2620900, 155, -1182.1832, -547.8252, -59.111668, NULL, 0, 0, 0, 100, 0),
(2620900, 156, -1152.5471, -582.02844, -57.719322, NULL, 0, 0, 0, 100, 0),
(2620900, 157, -1146.3079, -617.2496, -56.594704, NULL, 0, 0, 0, 100, 0),
(2620900, 158, -1146.251, -645.767, -57.616802, NULL, 0, 0, 0, 100, 0),
(2620900, 159, -1146.8345, -686.5961, -61.089966, NULL, 0, 0, 0, 100, 0),
(2620900, 160, -1147.7943, -718.74664, -58.091347, NULL, 0, 0, 0, 100, 0),
(2620900, 161, -1147.0758, -744.05914, -53.639885, NULL, 0, 0, 0, 100, 0),
(2620900, 162, -1147.5518, -776.8227, -44.30559, NULL, 0, 0, 0, 100, 0),
(2620900, 163, -1150.8984, -817.8583, -27.014313, NULL, 0, 0, 0, 100, 0),
(2620900, 164, -1150.0491, -851.04224, -16.409548, NULL, 0, 0, 0, 100, 0),
(2620900, 165, -1138.5454, -892.65125, -7.208537, NULL, 0, 0, 0, 100, 0),
(2620900, 166, -1148.5856, -919.54126, -2.596854, NULL, 0, 0, 0, 100, 0),
(2620900, 167, -1138.5924, -962.28125, 1.474831, NULL, 0, 0, 0, 100, 0),
(2620900, 168, -1116.7161, -978.35114, 3.4320922, NULL, 0, 0, 0, 100, 0),
(2620900, 169, -1084.5875, -977.6635, 6.817415, NULL, 0, 0, 0, 100, 0),
(2620900, 170, -1053.2329, -975.79126, 6.623329, NULL, 0, 0, 0, 100, 0),
(2620900, 171, -1020.2051, -980.88086, 7.1683216, NULL, 0, 0, 0, 100, 0),
(2620900, 172, -990.1825, -1000.7083, 11.565266, NULL, 0, 0, 0, 100, 0),
(2657800, 1, -1142.8879, -1120.528, 27.3758, NULL, 0, 0, 0, 100, 0),
(2657800, 2, -1150.968, -1115.959, 24.5076, NULL, 0, 0, 0, 100, 0),
(2657800, 3, -1158.046, -1106.704, 20.3599, NULL, 0, 0, 0, 100, 0),
(2657800, 4, -1165.9821, -1101.266, 17.5439, NULL, 0, 0, 0, 100, 0),
(2657800, 5, -1170.084, -1095.677, 15.3294, NULL, 0, 0, 0, 100, 0),
(2657800, 6, -1173.754, -1081.303, 11.0727, NULL, 0, 0, 0, 100, 0),
(2657800, 7, -1179.774, -1047.3831, 3.5325, NULL, 0, 0, 0, 100, 0),
(2657800, 8, -1185.896, -1030.351, 0.1813, NULL, 0, 0, 0, 100, 0),
(2657800, 9, -1200.679, -1007.499, -1.913, NULL, 0, 0, 0, 100, 0),
(2657800, 10, -1221.334, -983.8833, -4.1149, NULL, 0, 0, 0, 100, 0),
(2657800, 11, -1238.451, -967.6768, -6.8332, NULL, 0, 0, 0, 100, 0),
(2657800, 12, -1248.23, -961.4964, -7.2026, NULL, 0, 0, 0, 100, 0),
(2657800, 13, -1270.1639, -952.7275, -4.2838, NULL, 0, 0, 0, 100, 0),
(2657800, 14, -1294.37, -940.5132, 1.7639, NULL, 0, 0, 0, 100, 0),
(2657800, 15, -1318.322, -927.8248, 2.7704, NULL, 0, 0, 0, 100, 0),
(2657800, 16, -1334.959, -917.764, 1.6299, NULL, 0, 0, 0, 100, 0),
(2657800, 17, -1350.093, -901.2927, -1.8786, NULL, 0, 0, 0, 100, 0),
(2657800, 18, -1356.792, -884.5527, -6.5991, NULL, 0, 0, 0, 100, 0),
(2657800, 19, -1359.635, -869.5883, -8.6639, NULL, 0, 0, 0, 100, 0),
(2657800, 20, -1360.873, -850.4725, -6.8834, NULL, 0, 0, 0, 100, 0),
(2657800, 21, -1358.259, -820.6336, -12.6024, NULL, 0, 0, 0, 100, 0),
(2657800, 22, -1353.615, -799.7418, -19.2468, NULL, 0, 0, 0, 100, 0),
(2657800, 23, -1330.298, -762.4741, -32.1011, NULL, 0, 0, 0, 100, 0),
(2657800, 24, -1325.793, -737.2004, -38.4164, NULL, 0, 0, 0, 100, 0),
(2657800, 25, -1328.448, -739.9135, -37.8191, NULL, 0, 0, 0, 100, 0),
(2657800, 26, -1336.6479, -727.98, -40.7091, NULL, 0, 0, 0, 100, 0),
(2657800, 27, -1352.392, -713.3746, -46.4379, NULL, 0, 0, 0, 100, 0),
(2657800, 28, -1381.1169, -692.936, -52.8673, NULL, 0, 0, 0, 100, 0),
(2657800, 29, -1395.8929, -679.4994, -55.0795, NULL, 0, 0, 0, 100, 0),
(2657800, 30, -1406.655, -667.7491, -55.7912, NULL, 0, 0, 0, 100, 0),
(2657800, 31, -1423.808, -645.707, -52.7877, NULL, 0, 0, 0, 100, 0),
(2657800, 32, -1444.541, -616.1832, -56.1242, NULL, 0, 0, 0, 100, 0),
(2657800, 33, -1459.9301, -603.6383, -57.1929, NULL, 0, 0, 0, 100, 0),
(2657800, 34, -1470.057, -597.0546, -56.169, NULL, 0, 0, 0, 100, 0),
(2657800, 35, -1480.7469, -578.5486, -56.5383, NULL, 0, 0, 0, 100, 0),
(2657800, 36, -1487.157, -563.9292, -56.2795, NULL, 0, 0, 0, 100, 0),
(2657800, 37, -1489.577, -544.7419, -53.4087, NULL, 0, 0, 0, 100, 0),
(2657800, 38, -1489.574, -528.8965, -52.8374, NULL, 0, 0, 0, 100, 0),
(2657800, 39, -1489.62, -501.6599, -56.2315, NULL, 0, 0, 0, 100, 0),
(2657800, 40, -1492.634, -462.393, -50.279, NULL, 0, 0, 0, 100, 0),
(2657800, 41, -1505.76, -429.489, -45.7027, NULL, 0, 0, 0, 100, 0),
(2657800, 42, -1517.928, -391.2411, -42.8314, NULL, 0, 0, 0, 100, 0),
(2657800, 43, -1530.9821, -366.4191, -42.0044, NULL, 0, 0, 0, 100, 0),
(2657800, 44, -1541.627, -349.674, -38.6939, NULL, 0, 0, 0, 100, 0),
(2657800, 45, -1545.7271, -327.7592, -36.2629, NULL, 0, 0, 0, 100, 0),
(2657800, 46, -1553.165, -305.085, -32.1405, NULL, 0, 0, 0, 100, 0),
(2657800, 47, -1560.412, -287.1764, -27.0584, NULL, 0, 0, 0, 100, 0),
(2657800, 48, -1574.387, -260.7307, -15.7614, NULL, 0, 0, 0, 100, 0),
(2657800, 49, -1580.829, -247.3122, -12.0043, NULL, 0, 0, 0, 100, 0),
(2657800, 50, -1588.9611, -224.9691, -9.4461, NULL, 0, 0, 0, 100, 0),
(2657800, 51, -1606.261, -193.2352, -9.4434, NULL, 0, 0, 0, 100, 0),
(2657800, 52, -1620.4771, -164.6241, -5.5898, NULL, 0, 0, 0, 100, 0),
(2657800, 53, -1625.116, -130.617, -0.8691, NULL, 0, 0, 0, 100, 0),
(2657800, 54, -1623.778, -118.7694, -0.7166, NULL, 0, 0, 0, 100, 0),
(2657800, 55, -1618.616, -99.6451, -2.0879, NULL, 0, 0, 0, 100, 0),
(2657800, 56, -1609, -78.8948, 2.2697, NULL, 0, 0, 0, 100, 0),
(2657800, 57, -1598.49, -62.4247, 5.6697, NULL, 0, 0, 0, 100, 0),
(2657800, 58, -1590.646, -44.399, 5.9124, NULL, 0, 0, 0, 100, 0),
(2657800, 59, -1584.077, -25.5933, 3.9493, NULL, 0, 0, 0, 100, 0),
(2657800, 60, -1574.15, -8.5372, 2.3977, NULL, 0, 0, 0, 100, 0),
(2657800, 61, -1567.4871, 1.2559, 3.2112, NULL, 0, 0, 0, 100, 0),
(2657800, 62, -1558.6689, 13.8431, 7.8111, NULL, 0, 0, 0, 100, 0),
(2657800, 63, -1546.21, 28.2542, 11.6561, NULL, 0, 0, 0, 100, 0),
(2657800, 64, -1540.385, 33.92, 11.4862, NULL, 0, 0, 0, 100, 0),
(2657800, 65, -1524.016, 50.8436, 7.0849, NULL, 0, 0, 0, 100, 0),
(2657800, 66, -1494.799, 88.4423, 5.8093, NULL, 0, 0, 0, 100, 0),
(2657800, 67, -1487.8311, 87.5801, 7.3979, NULL, 0, 0, 0, 100, 0),
(2657800, 68, -1484.606, 90.7981, 7.1212, NULL, 0, 0, 0, 100, 0),
(2657800, 69, -1482.177, 118.8498, 0.2327, NULL, 0, 0, 0, 100, 0),
(2657800, 70, -1481.145, 161.8865, -7.5023, NULL, 0, 0, 0, 100, 0),
(2657800, 71, -1476.234, 226.3871, -7.535, NULL, 0, 0, 0, 100, 0),
(2657800, 72, -1465.848, 244.7017, -3.9568, NULL, 0, 0, 0, 100, 0),
(2657800, 73, -1454.155, 259.6542, 2.3833, NULL, 0, 0, 0, 100, 0),
(2657800, 74, -1449.089, 265.0599, 5.1455, NULL, 0, 0, 0, 100, 0),
(2657800, 75, -1441.824, 269.9399, 6.9387, NULL, 0, 0, 0, 100, 0),
(2657800, 76, -1428.3149, 276.9652, 7.5371, NULL, 0, 0, 0, 100, 0),
(2657800, 77, -1410.17, 284.0968, 6.4244, NULL, 0, 0, 0, 100, 0),
(2657800, 78, -1394.998, 286.2836, 5.8466, NULL, 0, 0, 0, 100, 0),
(2657800, 79, -1367.895, 286.6947, 1.3263, NULL, 0, 0, 0, 100, 0),
(2657800, 80, -1352.324, 288.1959, 0.0568, NULL, 0, 0, 0, 100, 0),
(2657800, 81, -1320.894, 291.7737, 2.1251, NULL, 0, 0, 0, 100, 0),
(2657800, 82, -1311.193, 297.3018, 1.6912, NULL, 0, 0, 0, 100, 0),
(2657800, 83, -1298.239, 308.9933, 0.0275, NULL, 0, 0, 0, 100, 0),
(2657800, 84, -1272.351, 316.5668, 0.4111, NULL, 0, 0, 0, 100, 0),
(2657800, 85, -1253.1021, 320.9234, 3.232, NULL, 0, 0, 0, 100, 0),
(2657800, 86, -1233.017, 334.9345, 4.4056, NULL, 0, 0, 0, 100, 0),
(2657800, 87, -1211.292, 358.0211, 1.1399, NULL, 0, 0, 0, 100, 0),
(2657800, 88, -1211.292, 358.0211, 1.1399, NULL, 0, 0, 0, 100, 0),
(2657800, 89, -1233.017, 334.9345, 4.4056, NULL, 0, 0, 0, 100, 0),
(2657800, 90, -1253.1021, 320.9234, 3.232, NULL, 0, 0, 0, 100, 0),
(2657800, 91, -1272.351, 316.5668, 0.4111, NULL, 0, 0, 0, 100, 0),
(2657800, 92, -1298.239, 308.9933, 0.0275, NULL, 0, 0, 0, 100, 0),
(2657800, 93, -1311.193, 297.3018, 1.6912, NULL, 0, 0, 0, 100, 0),
(2657800, 94, -1320.894, 291.7737, 2.1251, NULL, 0, 0, 0, 100, 0),
(2657800, 95, -1352.324, 288.1959, 0.0568, NULL, 0, 0, 0, 100, 0),
(2657800, 96, -1367.895, 286.6947, 1.3263, NULL, 0, 0, 0, 100, 0),
(2657800, 97, -1394.998, 286.2836, 5.8466, NULL, 0, 0, 0, 100, 0),
(2657800, 98, -1410.17, 284.0968, 6.4244, NULL, 0, 0, 0, 100, 0),
(2657800, 99, -1428.3149, 276.9652, 7.5371, NULL, 0, 0, 0, 100, 0),
(2657800, 100, -1441.824, 269.9399, 6.9387, NULL, 0, 0, 0, 100, 0),
(2657800, 101, -1449.089, 265.0599, 5.1455, NULL, 0, 0, 0, 100, 0),
(2657800, 102, -1454.155, 259.6542, 2.3833, NULL, 0, 0, 0, 100, 0),
(2657800, 103, -1465.848, 244.7017, -3.9568, NULL, 0, 0, 0, 100, 0),
(2657800, 104, -1476.234, 226.3871, -7.535, NULL, 0, 0, 0, 100, 0),
(2657800, 105, -1481.145, 161.8865, -7.5023, NULL, 0, 0, 0, 100, 0),
(2657800, 106, -1482.177, 118.8498, 0.2327, NULL, 0, 0, 0, 100, 0),
(2657800, 107, -1484.606, 90.7981, 7.1212, NULL, 0, 0, 0, 100, 0),
(2657800, 108, -1487.8311, 87.5801, 7.3979, NULL, 0, 0, 0, 100, 0),
(2657800, 109, -1494.799, 88.4423, 5.8093, NULL, 0, 0, 0, 100, 0),
(2657800, 110, -1524.016, 50.8436, 7.0849, NULL, 0, 0, 0, 100, 0),
(2657800, 111, -1540.385, 33.92, 11.4862, NULL, 0, 0, 0, 100, 0),
(2657800, 112, -1546.21, 28.2542, 11.6561, NULL, 0, 0, 0, 100, 0),
(2657800, 113, -1558.6689, 13.8431, 7.8111, NULL, 0, 0, 0, 100, 0),
(2657800, 114, -1567.4871, 1.2559, 3.2112, NULL, 0, 0, 0, 100, 0),
(2657800, 115, -1574.15, -8.5372, 2.3977, NULL, 0, 0, 0, 100, 0),
(2657800, 116, -1584.077, -25.5933, 3.9493, NULL, 0, 0, 0, 100, 0),
(2657800, 117, -1590.646, -44.399, 5.9124, NULL, 0, 0, 0, 100, 0),
(2657800, 118, -1598.49, -62.4247, 5.6697, NULL, 0, 0, 0, 100, 0),
(2657800, 119, -1609, -78.8948, 2.2697, NULL, 0, 0, 0, 100, 0),
(2657800, 120, -1618.616, -99.6451, -2.0879, NULL, 0, 0, 0, 100, 0),
(2657800, 121, -1623.778, -118.7694, -0.7166, NULL, 0, 0, 0, 100, 0),
(2657800, 122, -1625.116, -130.617, -0.8691, NULL, 0, 0, 0, 100, 0),
(2657800, 123, -1620.4771, -164.6241, -5.5898, NULL, 0, 0, 0, 100, 0),
(2657800, 124, -1606.261, -193.2352, -9.4434, NULL, 0, 0, 0, 100, 0),
(2657800, 125, -1588.9611, -224.9691, -9.4461, NULL, 0, 0, 0, 100, 0),
(2657800, 126, -1580.829, -247.3122, -12.0043, NULL, 0, 0, 0, 100, 0),
(2657800, 127, -1574.387, -260.7307, -15.7614, NULL, 0, 0, 0, 100, 0),
(2657800, 128, -1560.412, -287.1764, -27.0584, NULL, 0, 0, 0, 100, 0),
(2657800, 129, -1553.165, -305.085, -32.1405, NULL, 0, 0, 0, 100, 0),
(2657800, 130, -1545.7271, -327.7592, -36.2629, NULL, 0, 0, 0, 100, 0),
(2657800, 131, -1541.627, -349.674, -38.6939, NULL, 0, 0, 0, 100, 0),
(2657800, 132, -1530.9821, -366.4191, -42.0044, NULL, 0, 0, 0, 100, 0),
(2657800, 133, -1517.928, -391.2411, -42.8314, NULL, 0, 0, 0, 100, 0),
(2657800, 134, -1505.76, -429.489, -45.7027, NULL, 0, 0, 0, 100, 0),
(2657800, 135, -1492.634, -462.393, -50.279, NULL, 0, 0, 0, 100, 0),
(2657800, 136, -1489.62, -501.6599, -56.2315, NULL, 0, 0, 0, 100, 0),
(2657800, 137, -1489.574, -528.8965, -52.8374, NULL, 0, 0, 0, 100, 0),
(2657800, 138, -1489.577, -544.7419, -53.4087, NULL, 0, 0, 0, 100, 0),
(2657800, 139, -1487.157, -563.9292, -56.2795, NULL, 0, 0, 0, 100, 0),
(2657800, 140, -1480.7469, -578.5486, -56.5383, NULL, 0, 0, 0, 100, 0),
(2657800, 141, -1470.057, -597.0546, -56.169, NULL, 0, 0, 0, 100, 0),
(2657800, 142, -1459.9301, -603.6383, -57.1929, NULL, 0, 0, 0, 100, 0),
(2657800, 143, -1444.541, -616.1832, -56.1242, NULL, 0, 0, 0, 100, 0),
(2657800, 144, -1423.808, -645.707, -52.7877, NULL, 0, 0, 0, 100, 0),
(2657800, 145, -1406.655, -667.7491, -55.7912, NULL, 0, 0, 0, 100, 0),
(2657800, 146, -1395.8929, -679.4994, -55.0795, NULL, 0, 0, 0, 100, 0),
(2657800, 147, -1381.1169, -692.936, -52.8673, NULL, 0, 0, 0, 100, 0),
(2657800, 148, -1352.392, -713.3746, -46.4379, NULL, 0, 0, 0, 100, 0),
(2657800, 149, -1336.6479, -727.98, -40.7091, NULL, 0, 0, 0, 100, 0),
(2657800, 150, -1328.448, -739.9135, -37.8191, NULL, 0, 0, 0, 100, 0),
(2657800, 151, -1325.793, -737.2004, -38.4164, NULL, 0, 0, 0, 100, 0),
(2657800, 152, -1330.298, -762.4741, -32.1011, NULL, 0, 0, 0, 100, 0),
(2657800, 153, -1353.615, -799.7418, -19.2468, NULL, 0, 0, 0, 100, 0),
(2657800, 154, -1358.259, -820.6336, -12.6024, NULL, 0, 0, 0, 100, 0),
(2657800, 155, -1360.873, -850.4725, -6.8834, NULL, 0, 0, 0, 100, 0),
(2657800, 156, -1359.635, -869.5883, -8.6639, NULL, 0, 0, 0, 100, 0),
(2657800, 157, -1356.792, -884.5527, -6.5991, NULL, 0, 0, 0, 100, 0),
(2657800, 158, -1350.093, -901.2927, -1.8786, NULL, 0, 0, 0, 100, 0),
(2657800, 159, -1334.959, -917.764, 1.6299, NULL, 0, 0, 0, 100, 0),
(2657800, 160, -1318.322, -927.8248, 2.7704, NULL, 0, 0, 0, 100, 0),
(2657800, 161, -1294.37, -940.5132, 1.7639, NULL, 0, 0, 0, 100, 0),
(2657800, 162, -1270.1639, -952.7275, -4.2838, NULL, 0, 0, 0, 100, 0),
(2657800, 163, -1248.23, -961.4964, -7.2026, NULL, 0, 0, 0, 100, 0),
(2657800, 164, -1238.451, -967.6768, -6.8332, NULL, 0, 0, 0, 100, 0),
(2657800, 165, -1221.334, -983.8833, -4.1149, NULL, 0, 0, 0, 100, 0),
(2657800, 166, -1200.679, -1007.499, -1.913, NULL, 0, 0, 0, 100, 0),
(2657800, 167, -1185.896, -1030.351, 0.1813, NULL, 0, 0, 0, 100, 0),
(2657800, 168, -1179.774, -1047.3831, 3.5325, NULL, 0, 0, 0, 100, 0),
(2657800, 169, -1173.754, -1081.303, 11.0727, NULL, 0, 0, 0, 100, 0),
(2657800, 170, -1170.084, -1095.677, 15.3294, NULL, 0, 0, 0, 100, 0),
(2657800, 171, -1165.9821, -1101.266, 17.5439, NULL, 0, 0, 0, 100, 0),
(2657800, 172, -1158.046, -1106.704, 20.3599, NULL, 0, 0, 0, 100, 0),
(2657800, 173, -1150.968, -1115.959, 24.5076, NULL, 0, 0, 0, 100, 0),
(2657800, 174, -1142.8879, -1120.528, 27.3758, NULL, 0, 0, 0, 100, 0),
(2657800, 175, -1139, -1120.123, 28.01516, NULL, 0, 0, 0, 100, 0);
-- Set Idle to followers.
UPDATE `creature` SET `wander_distance` = 0, `MovementType` = 0 WHERE (`id1` IN (2972, 2974));
-- Update Kodo Bull spawn points & add a new one.
UPDATE `creature` SET `position_x` = -974.2193, `position_y` = 417.11154, `position_z` = 15.5879545, `orientation` = 3.073724, `wander_distance` = 0, `MovementType` = 2 WHERE (`id1` = 2973) AND (`guid` = 26196);
UPDATE `creature` SET `position_x` = -2729.8914, `position_y` = 197.9978, `position_z` = 76.868744, `orientation` = 5.064711, `wander_distance` = 0, `MovementType` = 2 WHERE (`id1` = 2973) AND (`guid` = 26207);
UPDATE `creature` SET `position_x` = -990.1825, `position_y` = -1000.7083, `position_z` = 11.565266, `orientation` = 2.755629, `wander_distance` = 0, `MovementType` = 2 WHERE (`id1` = 2973) AND (`guid` = 26209);
DELETE FROM `creature` WHERE (`id1` = 2973) AND (`guid` IN (26578));
INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `Comment`, `VerifiedBuild`) VALUES
(26578, 2973, 0, 0, 1, 0, 0, 1, 1, 0, -1139, -1120.123, 28.01516, 3.02302, 250, 0, 0, 222, 0, 2, 0, 0, 0, '', NULL, 0);
-- Update Kodo Matriarch spawn points.
UPDATE `creature` SET `position_x` = -957.4887, `position_y` = 405.5724, `position_z` = 14.7732, `orientation` = 2.6232 WHERE (`id1` = 2974) AND (`guid` = 26210);
UPDATE `creature` SET `position_x` = -2737.903, `position_y` = 214.0841, `position_z` = 78.0185, `orientation` = 4.9165 WHERE (`id1` = 2974) AND (`guid` = 26211);
UPDATE `creature` SET `position_x` = -969.828, `position_y` = -1009.202, `position_z` = 13.8013, `orientation` = 2.7488 WHERE (`id1` = 2974) AND (`guid` = 26212);
UPDATE `creature` SET `position_x` = -1115.81, `position_y` = -1128.848, `position_z` = 37.0506, `orientation` = 2.8038 WHERE (`id1` = 2974) AND (`guid` = 26213);
-- Update Kodo Calf spawn points.
UPDATE `creature` SET `position_x` = -962.6667, `position_y` = 419.3729, `position_z` = 15.43035, `orientation` = 2.8149 WHERE (`id1` = 2972) AND (`guid` = 26184);
UPDATE `creature` SET `position_x` = -968.2633, `position_y` = 406.777, `position_z` = 15.4245, `orientation` = 2.6224 WHERE (`id1` = 2972) AND (`guid` = 26185);
UPDATE `creature` SET `position_x` = -2741.7703, `position_y` = 203.1685, `position_z` = 76.2887, `orientation` = 5.14828 WHERE (`id1` = 2972) AND (`guid` = 26186);
UPDATE `creature` SET `position_x` = -2727.2537, `position_y` = 209.523, `position_z` = 78.6638, `orientation` = 5.00692 WHERE (`id1` = 2972) AND (`guid` = 26187);
UPDATE `creature` SET `position_x` = -981.24414, `position_y` = -996.193, `position_z` = 10.4870, `orientation` = 2.6978 WHERE (`id1` = 2972) AND (`guid` = 26188);
UPDATE `creature` SET `position_x` = -986.4947, `position_y` = -1008.282, `position_z` = 13.3611, `orientation` = 2.7253 WHERE (`id1` = 2972) AND (`guid` = 26189);
UPDATE `creature` SET `position_x` = -1127.913, `position_y` = -1115.951, `position_z` = 29.7654, `orientation` = 2.8745 WHERE (`id1` = 2972) AND (`guid` = 26190);
UPDATE `creature` SET `position_x` = -1132.868, `position_y` = -1129.695, `position_z` = 32.5567, `orientation` = 2.7331 WHERE (`id1` = 2972) AND (`guid` = 26191);
-- Set Kodo Bull creature addons.
DELETE FROM `creature_addon` WHERE (`guid` IN (26196, 26207, 26209, 26578));
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
(26196, 2619600, 0, 0, 0, 0, 0, NULL),
(26207, 2620700, 0, 0, 0, 0, 0, NULL),
(26209, 2620900, 0, 0, 0, 0, 0, NULL),
(26578, 2657800, 0, 0, 0, 0, 0, NULL);
-- Set Kodo's Packs.
DELETE FROM `creature_formations` WHERE (`LeaderGUID` IN (26196, 26207, 26209, 26578));
INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES
(26196, 26196, 0, 0, 512, 0, 0),
(26196, 26184, 14, 155, 512, 0, 0),
(26196, 26185, 24, 205, 512, 0, 0),
(26196, 26210, 32, 180, 512, 0, 0),
(26207, 26207, 0, 0, 512, 0, 0),
(26207, 26186, 14, 155, 512, 0, 0),
(26207, 26187, 24, 205, 512, 0, 0),
(26207, 26211, 32, 180, 512, 0, 0),
(26209, 26209, 0, 0, 512, 0, 0),
(26209, 26188, 14, 155, 512, 0, 0),
(26209, 26189, 24, 205, 512, 0, 0),
(26209, 26212, 32, 180, 512, 0, 0),
(26578, 26578, 0, 0, 512, 0, 0),
(26578, 26190, 14, 155, 512, 0, 0),
(26578, 26191, 24, 205, 512, 0, 0),
(26578, 26213, 32, 180, 512, 0, 0);
@@ -0,0 +1,3 @@
-- DB update 2026_05_19_01 -> 2026_05_20_00
-- from "$R" to "troll" according to the sniff 67156
UPDATE `quest_request_items` SET `CompletionText` = 'Have you been to Vejrek\'s hut, $N? Is that troll stink I smell on you?' WHERE (`ID` = 1678);
@@ -0,0 +1,11 @@
-- DB update 2026_05_20_00 -> 2026_05_22_00
--
-- Quest 'The Deadliest Trap Ever Laid' (11097/11101): kill counter survives evade
--
UPDATE `smart_scripts` SET `event_type` = 38, `event_param1` = 1, `event_param2` = 20, `comment` = 'Commander Hobb - On Data Set field=1 value=20 - Run Script (Complete Quest)' WHERE `entryorguid` = 23434 AND `source_type` = 0 AND `id` = 11;
UPDATE `smart_scripts` SET `event_type` = 38, `event_param1` = 1, `event_param2` = 20, `comment` = 'Commander Arcus - On Data Set field=1 value=20 - Run Script (Complete Quest)' WHERE `entryorguid` = 23452 AND `source_type` = 0 AND `id` = 11;
UPDATE `smart_scripts` SET `action_type` = 242, `action_param1` = 1, `action_param2` = 1, `action_param3` = 0, `comment` = 'Dragonmaw Skybreaker - On Just Died - Inc Data field=1 +1 on Commander Hobb' WHERE `entryorguid` = 23440 AND `source_type` = 0 AND `id` = 3;
UPDATE `smart_scripts` SET `action_type` = 242, `action_param1` = 1, `action_param2` = 1, `action_param3` = 0, `comment` = 'Dragonmaw Skybreaker - On Just Died - Inc Data field=1 +1 on Commander Arcus' WHERE `entryorguid` = 23441 AND `source_type` = 0 AND `id` = 3;
UPDATE `smart_scripts` SET `action_type` = 45, `action_param1` = 1, `action_param2` = 0, `action_param3` = 0, `comment` = 'Commander Hobb - Actionlist - Seed Data field=1 value=0' WHERE `entryorguid` = 2343400 AND `source_type` = 9 AND `id` = 1;
UPDATE `smart_scripts` SET `action_type` = 45, `action_param1` = 1, `action_param2` = 0, `action_param3` = 0, `comment` = 'Commander Arcus - Actionlist - Seed Data field=1 value=0' WHERE `entryorguid` = 2345200 AND `source_type` = 9 AND `id` = 1;
+5
View File
@@ -36,6 +36,11 @@ target_compile_options(acore-compile-option-interface
INTERFACE
/utf-8)
target_compile_options(acore-compile-option-interface
INTERFACE
/Zc:preprocessor)
message(STATUS "MSVC: Enabled standard conforming preprocessor")
if(PLATFORM EQUAL 64)
# This definition is necessary to work around a bug with Intellisense described
# here: http://tinyurl.com/2cb428. Syntax highlighting is important for proper
@@ -3388,6 +3388,16 @@ DungeonAccessRequirements.OptionalStringID = 0
JoinBGAndLFG.Enable = 0
#
# LFG.MailItemOnFullInventory
# Description: When a player wins a group roll but their inventory is full, mail
# the item to them instead of leaving it on the corpse.
# Default: 0 - Disabled
# 1 - Only in LFG/RDF groups
# 2 - In all group types
LFG.MailItemOnFullInventory = 0
#
# DungeonFinder.OptionsMask
# Description: Dungeon and raid finder system.
@@ -1369,6 +1369,7 @@ void SmartGameObjectAI::UpdateAI(uint32 diff)
void SmartGameObjectAI::InitializeAI()
{
GetScript()->OnInitialize(me);
aiDataSet.clear();
// Xinef: do not call respawn event if go is not spawned
if (me->isSpawned())
@@ -1437,9 +1438,19 @@ void SmartGameObjectAI::SetData(uint32 id, uint32 value, WorldObject* invoker)
gob = invoker->ToGameObject();
}
aiDataSet[id] = value;
GetScript()->ProcessEventsFor(SMART_EVENT_DATA_SET, unit, id, value, false, nullptr, gob);
}
uint32 SmartGameObjectAI::GetData(uint32 id) const
{
std::unordered_map<uint32, uint32>::const_iterator itr = aiDataSet.find(id);
if (itr != aiDataSet.end())
return itr->second;
return 0;
}
void SmartGameObjectAI::SetScript9(SmartScriptHolder& e, uint32 entry, WorldObject* invoker)
{
if (invoker)
@@ -304,6 +304,7 @@ public:
void Destroyed(Player* player, uint32 eventId) override;
void SetData(uint32 id, uint32 value) override { SetData(id, value, nullptr); }
void SetData(uint32 id, uint32 value, WorldObject* invoker);
uint32 GetData(uint32 id) const override;
void SetScript9(SmartScriptHolder& e, uint32 entry, WorldObject* invoker);
void OnGameEvent(bool start, uint16 eventId) override;
void OnStateChanged(uint32 state, Unit* unit) override;
@@ -324,6 +325,7 @@ public:
protected:
SmartScript mScript;
std::unordered_map<uint32, uint32> aiDataSet;
};
/// Registers scripts required by the SAI scripting system
@@ -1463,6 +1463,35 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
}
break;
}
case SMART_ACTION_INC_DATA:
{
WorldObject* invoker = me ? static_cast<WorldObject*>(me) : static_cast<WorldObject*>(go);
for (WorldObject* target : targets)
{
if (Creature* cTarget = target->ToCreature())
{
if (SmartAI* smartAI = CAST_AI(SmartAI, cTarget->AI()))
{
uint32 const newValue = smartAI->GetData(e.action.setData.field) + e.action.setData.data;
smartAI->SetData(e.action.setData.field, newValue, invoker);
}
else
LOG_ERROR("sql.sql", "SmartScript: Action target for SMART_ACTION_INC_DATA is not using SmartAI, skipping");
}
else if (GameObject* oTarget = target->ToGameObject())
{
if (SmartGameObjectAI* smartGOAI = CAST_AI(SmartGameObjectAI, oTarget->AI()))
{
uint32 const newValue = smartGOAI->GetData(e.action.setData.field) + e.action.setData.data;
smartGOAI->SetData(e.action.setData.field, newValue, invoker);
}
else
LOG_ERROR("sql.sql", "SmartScript: Action target for SMART_ACTION_INC_DATA is not using SmartGameObjectAI, skipping");
}
}
break;
}
case SMART_ACTION_MOVE_FORWARD:
{
if (!me)
@@ -759,6 +759,7 @@ bool SmartAIMgr::CheckUnusedActionParams(SmartScriptHolder const& e)
case SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL: return sizeof(SmartAction::morphOrMount);
case SMART_ACTION_SET_INGAME_PHASE_MASK: return sizeof(SmartAction::ingamePhaseMask);
case SMART_ACTION_SET_DATA: return sizeof(SmartAction::setData);
case SMART_ACTION_INC_DATA: return sizeof(SmartAction::setData);
case SMART_ACTION_MOVE_FORWARD: return sizeof(SmartAction::moveRandom);
case SMART_ACTION_ATTACK_STOP: return NO_PARAMS;
case SMART_ACTION_SET_VISIBILITY: return sizeof(SmartAction::visibility);
@@ -1975,6 +1976,7 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
case SMART_ACTION_THREAT_SINGLE_PCT:
case SMART_ACTION_SET_INST_DATA64:
case SMART_ACTION_SET_DATA:
case SMART_ACTION_INC_DATA:
case SMART_ACTION_MOVE_FORWARD:
case SMART_ACTION_ESCORT_PAUSE:
case SMART_ACTION_SET_FLY:
@@ -726,8 +726,9 @@ enum SMART_ACTION
SMART_ACTION_SET_ANIM_TIER = 239, // animtier
SMART_ACTION_SET_GOSSIP_MENU = 240, // gossipMenuId
SMART_ACTION_SUMMON_GAMEOBJECT_GROUP = 241, // group
SMART_ACTION_INC_DATA = 242, // field, increment (uses aiDataSet, wipe-safe across evade)
SMART_ACTION_AC_END = 242, // placeholder
SMART_ACTION_AC_END = 243, // placeholder
};
enum class SmartActionSummonCreatureFlags
+2
View File
@@ -681,6 +681,8 @@ enum RBACPermissions
RBAC_PERM_COMMAND_RESPAWN_GAMEOBJECT_GUID = 917,
RBAC_PERM_COMMAND_RESPAWN_CREATURE_ENTRY = 918,
RBAC_PERM_COMMAND_RESPAWN_GAMEOBJECT_ENTRY = 919,
RBAC_PERM_COMMAND_DEBUG_INFO = 920,
RBAC_PERM_COMMAND_DEBUG_COSMETIC = 921,
// custom permissions 1000+
RBAC_PERM_MAX
};
+11 -9
View File
@@ -129,17 +129,16 @@ void Battlefield::HandlePlayerLeaveZone(Player* player, uint32 /*zone*/)
for (BfCapturePoint* cp : CapturePoints)
cp->HandlePlayerLeave(player);
InvitedPlayers[player->GetTeamId()].erase(player->GetGUID());
PlayersInQueue[player->GetTeamId()].erase(player->GetGUID());
PlayersWillBeKick[player->GetTeamId()].erase(player->GetGUID());
Players[player->GetTeamId()].erase(player->GetGUID());
for (uint8 i = 0; i < PVP_TEAMS_COUNT; ++i)
{
InvitedPlayers[i].erase(player->GetGUID());
PlayersInQueue[i].erase(player->GetGUID());
PlayersWillBeKick[i].erase(player->GetGUID());
Players[i].erase(player->GetGUID());
}
SendRemoveWorldStates(player);
RemovePlayerFromResurrectQueue(player->GetGUID());
OnPlayerLeaveZone(player);
// Scripts must restore player->GetTeamId() here (e.g. ClearFakePlayer).
// All Battlefield data-structure cleanup above has already completed using
// the assigned team, so it is safe to restore the real team now.
sScriptMgr->OnBattlefieldPlayerLeaveZone(this, player);
}
bool Battlefield::Update(uint32 diff)
@@ -379,7 +378,10 @@ void Battlefield::DoPlaySoundToAll(uint32 soundId)
bool Battlefield::HasPlayer(Player* player) const
{
return Players[player->GetTeamId()].find(player->GetGUID()) != Players[player->GetTeamId()].end();
for (uint8 i = 0; i < PVP_TEAMS_COUNT; ++i)
if (Players[i].count(player->GetGUID()))
return true;
return false;
}
// Called in WorldSession::HandleBfQueueInviteResponse
@@ -17,6 +17,7 @@
#include "BattlefieldMgr.h"
#include "Player.h"
#include "ScriptMgr.h"
#include "Zones/BattlefieldWG.h"
BattlefieldMgr::BattlefieldMgr() : _updateTimer(0)
@@ -86,6 +87,7 @@ void BattlefieldMgr::HandlePlayerLeaveZone(Player* player, uint32 zoneId)
// teleport: remove once in removefromworld, once in updatezone
if (!itr->second->HasPlayer(player))
return;
sScriptMgr->OnBattlefieldPlayerLeaveZone(itr->second, player);
itr->second->HandlePlayerLeaveZone(player, zoneId);
LOG_DEBUG("bg.battlefield", "Player {} left outdoorpvp id {}", player->GetGUID().ToString(), itr->second->GetTypeId());
}
@@ -21,6 +21,7 @@
#include "AreaDefines.h"
#include "BattlefieldWG.h"
#include "ScriptMgr.h"
#include "Chat.h"
#include "GameTime.h"
#include "MapMgr.h"
@@ -722,16 +723,19 @@ void BattlefieldWG::HandleKill(Player* killer, Unit* victim)
// xinef: tower cannons also grant rank
if (victim->IsPlayer() || IsKeepNpc(victim->GetEntry()) || victim->GetEntry() == NPC_WINTERGRASP_TOWER_CANNON)
{
if (victim->IsPlayer() && victim->HasAura(SPELL_LIEUTENANT))
if (Player* victimPlayer = victim->ToPlayer())
{
// Quest - Wintergrasp - PvP Kill - Horde/Alliance
for (ObjectGuid const& playerGuid : PlayersInWar[killerTeam])
sScriptMgr->OnBattlefieldPlayerKill(this, killer, victimPlayer);
if (victimPlayer->HasAura(SPELL_LIEUTENANT))
{
if (Player* player = ObjectAccessor::FindPlayer(playerGuid))
// Quest - Wintergrasp - PvP Kill - Horde/Alliance
for (ObjectGuid const& playerGuid : PlayersInWar[killerTeam])
{
if (player->GetDistance2d(killer) < 40)
if (Player* player = ObjectAccessor::FindPlayer(playerGuid))
{
player->KilledMonsterCredit(killerTeam == TEAM_HORDE ? NPC_QUEST_PVP_KILL_ALLIANCE : NPC_QUEST_PVP_KILL_HORDE);
if (player->GetDistance2d(killer) < 40)
player->KilledMonsterCredit(killerTeam == TEAM_HORDE ? NPC_QUEST_PVP_KILL_ALLIANCE : NPC_QUEST_PVP_KILL_HORDE);
}
}
}
@@ -703,13 +703,21 @@ void BattlegroundSA::OverrideGunFaction()
for (uint8 i = BG_SA_GUN_1; i <= BG_SA_GUN_10; i++)
{
if (Creature* gun = GetBGCreature(i))
{
gun->SetFaction(BG_SA_Factions[Attackers ? TEAM_ALLIANCE : TEAM_HORDE]);
// NullCreatureAI never evades and PvE combat refs have no timer,
// so attackers would stay in combat until death after damaging it.
gun->SetIsCombatDisallowed(true);
}
}
for (uint8 i = BG_SA_DEMOLISHER_1; i <= BG_SA_DEMOLISHER_4; i++)
{
if (Creature* dem = GetBGCreature(i))
{
dem->SetFaction(BG_SA_Factions[Attackers]);
dem->SetIsCombatDisallowed(true);
}
}
}
@@ -968,7 +976,10 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
BG_SA_NpcSpawnlocs[j][2], BG_SA_NpcSpawnlocs[j][3], 600);
if (Creature* dem = GetBGCreature(j))
{
dem->SetFaction(BG_SA_Factions[Attackers]);
dem->SetIsCombatDisallowed(true);
}
}
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_LEFT_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));
@@ -999,7 +1010,10 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
BG_SA_NpcSpawnlocs[j][2], BG_SA_NpcSpawnlocs[j][3], 600);
if (Creature* dem = GetBGCreature(j))
{
dem->SetFaction(BG_SA_Factions[Attackers]);
dem->SetIsCombatDisallowed(true);
}
}
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_RIGHT_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));
+5
View File
@@ -967,6 +967,11 @@ std::string CliHandler::GetAcoreString(uint32 entry) const
return sObjectMgr->GetAcoreStringForDBCLocale(entry);
}
std::string const* CliHandler::GetModuleString(std::string module, uint32 id) const
{
return sObjectMgr->GetModuleString(module, id, LocaleConstant(sObjectMgr->GetDBCLocaleIndex()));
}
void CliHandler::SendSysMessage(std::string_view str, bool /*escapeCharacters*/)
{
m_print(m_callbackArg, str);
+2 -1
View File
@@ -163,7 +163,7 @@ public:
return Acore::StringFormat(GetAcoreString(entry), std::forward<Args>(args)...);
}
std::string const* GetModuleString(std::string module, uint32 id) const;
virtual std::string const* GetModuleString(std::string module, uint32 id) const;
template<typename... Args>
void PSendModuleSysMessage(std::string module, uint32 id, Args&&... args)
@@ -267,6 +267,7 @@ public:
// overwrite functions
std::string GetAcoreString(uint32 entry) const override;
std::string const* GetModuleString(std::string module, uint32 id) const override;
void SendSysMessage(std::string_view, bool escapeCharacters) override;
bool ParseCommands(std::string_view str) override;
std::string GetNameLink() const override;
+1
View File
@@ -1669,6 +1669,7 @@ public:
[[nodiscard]] PlayerMails const& GetMails() const { return m_mail; }
void SendItemRetrievalMail(uint32 itemEntry, uint32 count); // Item retrieval mails sent by The Postmaster (34337)
void SendItemRetrievalMail(std::vector<std::pair<uint32, uint32>> mailItems); // Item retrieval mails sent by The Postmaster (34337)
void SendItemRetrievalMail(Item* item); // As above, but for a pre-created item (preserves randomPropertyId)
/*********************************************************/
/*** MAILED ITEMS SYSTEM ***/
@@ -508,3 +508,16 @@ void Player::SendItemRetrievalMail(std::vector<std::pair<uint32, uint32>> mailIt
CharacterDatabase.CommitTransaction(trans);
}
void Player::SendItemRetrievalMail(Item* item)
{
if (!item)
return;
CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
item->SaveToDB(trans);
MailDraft("Recovered Item", "We recovered a lost item in the twisting nether and noted that it was yours.$B$BPlease find said object enclosed.")
.AddItem(item)
.SendMailTo(trans, MailReceiver(this, GetGUID().GetCounter()), MailSender(MAIL_CREATURE, 34337 /* The Postmaster */));
CharacterDatabase.CommitTransaction(trans);
}
@@ -422,6 +422,7 @@ bool Player::CanRewardQuest(Quest const* quest, bool msg)
void Player::AddQuestAndCheckCompletion(Quest const* quest, Object* questGiver)
{
AddQuest(quest, questGiver);
sScriptMgr->OnPlayerQuestAccept(this, quest);
if (CanCompleteQuest(quest->GetQuestId()))
CompleteQuest(quest->GetQuestId());
@@ -5425,6 +5425,11 @@ bool Player::LoadFromDB(ObjectGuid playerGuid, CharacterDatabaseQueryHolder cons
uint32 extraflags = fields[36].Get<uint16>();
// Mirror before the gate below so saved bits survive when the gate
// skips effect application; otherwise the next SaveToDB writes 0
// over them.
m_ExtraFlags = extraflags;
_LoadPetStable(fields[37].Get<uint8>(), holder.GetPreparedResult(PLAYER_LOGIN_QUERY_LOAD_PET_SLOTS));
m_atLoginFlags = fields[38].Get<uint16>();
+4 -1
View File
@@ -506,6 +506,9 @@ void Vehicle::RemovePassenger(Unit* unit)
seat->second.Passenger.Reset();
// RemoveCharmedBy() clears MOVEMENTFLAG_FLYING, so cache this before uncharm.
bool wasFlying = _me->IsFlying();
if (_me->IsCreature() && unit->IsPlayer() && seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_CAN_CONTROL)
_me->RemoveCharmedBy(unit);
@@ -521,7 +524,7 @@ void Vehicle::RemovePassenger(Unit* unit)
}
// only for flyable vehicles
if (_me->IsFlying() && !_me->GetInstanceId() && unit->IsPlayer() && !(unit->ToPlayer()->GetDelayedOperations() & DELAYED_VEHICLE_TELEPORT) && _me->GetEntry() != 30275 /*NPC_WILD_WYRM*/)
if (wasFlying && !_me->GetInstanceId() && unit->IsPlayer() && !(unit->ToPlayer()->GetDelayedOperations() & DELAYED_VEHICLE_TELEPORT) && _me->GetEntry() != 30275 /*NPC_WILD_WYRM*/)
_me->CastSpell(unit, VEHICLE_SPELL_PARACHUTE, true);
if (_me->IsCreature())
+32 -6
View File
@@ -1497,9 +1497,22 @@ void Group::CountTheRoll(Rolls::iterator rollI, Map* allowedMap)
}
else
{
item->is_blocked = false;
item->rollWinnerGUID = player->GetGUID();
player->SendEquipError(msg, nullptr, nullptr, roll->itemid);
uint32 mailOnFull = sWorld->getIntConfig(CONFIG_LFG_MAIL_ITEM_ON_FULL_INVENTORY);
if (mailOnFull == MAIL_ITEM_ON_FULL_INVENTORY_EVERYWHERE || (mailOnFull == MAIL_ITEM_ON_FULL_INVENTORY_LFG_ONLY && isLFGGroup()))
{
item->is_looted = true;
roll->getLoot()->NotifyItemRemoved(roll->itemSlot);
roll->getLoot()->unlootedCount--;
player->SendEquipError(msg, nullptr, nullptr, roll->itemid);
if (Item* mailItem = Item::CreateItem(roll->itemid, item->count, player, false, item->randomPropertyId))
player->SendItemRetrievalMail(mailItem);
}
else
{
item->is_blocked = false;
item->rollWinnerGUID = player->GetGUID();
player->SendEquipError(msg, nullptr, nullptr, roll->itemid);
}
}
}
}
@@ -1567,9 +1580,22 @@ void Group::CountTheRoll(Rolls::iterator rollI, Map* allowedMap)
}
else
{
item->is_blocked = false;
item->rollWinnerGUID = player->GetGUID();
player->SendEquipError(msg, nullptr, nullptr, roll->itemid);
uint32 mailOnFull = sWorld->getIntConfig(CONFIG_LFG_MAIL_ITEM_ON_FULL_INVENTORY);
if (mailOnFull == MAIL_ITEM_ON_FULL_INVENTORY_EVERYWHERE || (mailOnFull == MAIL_ITEM_ON_FULL_INVENTORY_LFG_ONLY && isLFGGroup()))
{
item->is_looted = true;
roll->getLoot()->NotifyItemRemoved(roll->itemSlot);
roll->getLoot()->unlootedCount--;
player->SendEquipError(msg, nullptr, nullptr, roll->itemid);
if (Item* mailItem = Item::CreateItem(roll->itemid, item->count, player, false, item->randomPropertyId))
player->SendItemRetrievalMail(mailItem);
}
else
{
item->is_blocked = false;
item->rollWinnerGUID = player->GetGUID();
player->SendEquipError(msg, nullptr, nullptr, roll->itemid);
}
}
}
else if (rollvote == DISENCHANT)
+7
View File
@@ -128,6 +128,13 @@ enum lfgGroupFlags
GROUP_LFG_FLAG_IS_HEROIC = 0x004
};
enum MailItemOnFullInventory
{
MAIL_ITEM_ON_FULL_INVENTORY_DISABLED = 0,
MAIL_ITEM_ON_FULL_INVENTORY_LFG_ONLY = 1,
MAIL_ITEM_ON_FULL_INVENTORY_EVERYWHERE = 2,
};
enum DifficultyPreventionChangeType
{
DIFFICULTY_PREVENTION_CHANGE_NONE = 0,
@@ -49,6 +49,11 @@ void ScriptMgr::OnBattlefieldWarEnd(Battlefield* bf, bool endByTimer)
CALL_ENABLED_HOOKS(BattlefieldScript, BATTLEFIELDHOOK_ON_WAR_END, script->OnBattlefieldWarEnd(bf, endByTimer));
}
void ScriptMgr::OnBattlefieldPlayerKill(Battlefield* bf, Player* killer, Player* victim)
{
CALL_ENABLED_HOOKS(BattlefieldScript, BATTLEFIELDHOOK_ON_PLAYER_KILL, script->OnBattlefieldPlayerKill(bf, killer, victim));
}
BattlefieldScript::BattlefieldScript(char const* name, std::vector<uint16> enabledHooks) :
ScriptObject(name, BATTLEFIELDHOOK_END)
{
@@ -29,6 +29,7 @@ enum BattlefieldHook
BATTLEFIELDHOOK_ON_PLAYER_LEAVE_WAR, // 3 - fires after player is removed from the active war
BATTLEFIELDHOOK_BEFORE_INVITE_PLAYER_TO_WAR, // 4 - fires in InvitePlayerToWar before InvitedPlayers insert
BATTLEFIELDHOOK_ON_WAR_END, // 5 - fires in EndBattle after OnBattleEnd(), before timer reset
BATTLEFIELDHOOK_ON_PLAYER_KILL, // 6 - fires in HandleKill for every player-kills-player event
BATTLEFIELDHOOK_END
};
@@ -99,6 +100,17 @@ public:
* @param endByTimer True if the war ended by the countdown timer expiring
*/
virtual void OnBattlefieldWarEnd(Battlefield* /*bf*/, bool /*endByTimer*/) { }
/**
* @brief Called inside BattlefieldWG::HandleKill for every player-kills-player event,
* regardless of the victim's WG rank. Fired before the core's own lieutenant-gated
* quest-credit loop so modules may grant credit for non-lieutenant kills.
*
* @param bf The Battlefield instance
* @param killer The player who landed the killing blow
* @param victim The player who was killed
*/
virtual void OnBattlefieldPlayerKill(Battlefield* /*bf*/, Player* /*killer*/, Player* /*victim*/) { }
};
#endif // SCRIPT_OBJECT_BATTLEFIELD_SCRIPT_H_
@@ -858,6 +858,11 @@ void ScriptMgr::OnPlayerQuestAbandon(Player* player, uint32 questId)
CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_QUEST_ABANDON, script->OnPlayerQuestAbandon(player, questId));
}
void ScriptMgr::OnPlayerQuestAccept(Player* player, Quest const* quest)
{
CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_PLAYER_QUEST_ACCEPT, script->OnPlayerQuestAccept(player, quest));
}
// Player anti cheat
void ScriptMgr::AnticheatSetCanFlybyServer(Player* player, bool apply)
{
@@ -196,6 +196,7 @@ enum PlayerHook
PLAYERHOOK_ON_PLAYER_ENTER_COMBAT,
PLAYERHOOK_ON_PLAYER_LEAVE_COMBAT,
PLAYERHOOK_ON_QUEST_ABANDON,
PLAYERHOOK_ON_PLAYER_QUEST_ACCEPT,
PLAYERHOOK_ON_GET_QUEST_RATE,
PLAYERHOOK_ON_CAN_PLAYER_FLY_IN_ZONE,
PLAYERHOOK_ANTICHEAT_SET_CAN_FLY_BY_SERVER,
@@ -737,6 +738,14 @@ public:
*/
virtual void OnPlayerQuestAbandon(Player* /*player*/, uint32 /*questId*/) { }
/**
* @brief This hook called after a player accepts a quest, regardless of quest giver type
*
* @param player Contains information about the Player
* @param quest Contains information about the Quest
*/
virtual void OnPlayerQuestAccept(Player* /*player*/, Quest const* /*quest*/) { }
/**
* @brief This hook called before other CanFlyChecks are applied
*
+2
View File
@@ -475,6 +475,7 @@ public: /* PlayerScript */
void OnPlayerEnterCombat(Player* player, Unit* enemy);
void OnPlayerLeaveCombat(Player* player);
void OnPlayerQuestAbandon(Player* player, uint32 questId);
void OnPlayerQuestAccept(Player* player, Quest const* quest);
bool OnPlayerCanSendErrorAlreadyLooted(Player* player);
void OnPlayerAfterCreatureLoot(Player* player);
void OnPlayerAfterCreatureLootMoney(Player* player);
@@ -609,6 +610,7 @@ public: /* BattlefieldScript */
void OnBattlefieldPlayerLeaveWar(Battlefield* bf, Player* player);
void OnBattlefieldBeforeInvitePlayerToWar(Battlefield* bf, Player* player);
void OnBattlefieldWarEnd(Battlefield* bf, bool endByTimer);
void OnBattlefieldPlayerKill(Battlefield* bf, Player* killer, Player* victim);
public: /* BGScript */
void OnBattlegroundStart(Battleground* bg);
+2 -2
View File
@@ -2111,8 +2111,8 @@ void Spell::SearchChainTargets(std::list<WorldObject*>& targets, uint32 chainTar
jumpRadius = 7.5f;
break;
case SPELL_DAMAGE_CLASS_MELEE:
// 5y for swipe, cleave and similar
jumpRadius = 5.0f;
// 10y for swipe, cleave and similar
jumpRadius = 10.0f;
break;
case SPELL_DAMAGE_CLASS_NONE:
case SPELL_DAMAGE_CLASS_MAGIC:
@@ -562,11 +562,15 @@ void SpellMgr::LoadSpellInfoCorrections()
20184, // Judgement of Justice
20185, // Judgement of Light
20186, // Judgement of Wisdom
20267, // Judgement of Light (triggered heal on attacker)
20268, // Judgement of Wisdom (triggered mana on attacker)
68055 // Judgements of the Just
}, [](SpellInfo* spellInfo)
{
// hack for seal of light and few spells, judgement consists of few single casts and each of them can proc
// some spell, base one has disabled proc flag but those dont have this flag
// 20267/20268 are passive proc effects from the judgement debuff; they must not cause the paladin's
// on-heal/on-cast procs (e.g. Soul Preserver, which has CAN_PROC_FROM_PROCS) to fire
spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPPRESS_CASTER_PROCS;
});
+2
View File
@@ -494,6 +494,8 @@ void WorldConfig::BuildConfigCache()
SetConfigValue<bool>(CONFIG_ALLOW_JOIN_BG_AND_LFG, "JoinBGAndLFG.Enable", false);
SetConfigValue<uint32>(CONFIG_LFG_MAIL_ITEM_ON_FULL_INVENTORY, "LFG.MailItemOnFullInventory", 0);
SetConfigValue<bool>(CONFIG_LEAVE_GROUP_ON_LOGOUT, "LeaveGroupOnLogout.Enabled", false);
SetConfigValue<uint32>(CONFIG_RANDOM_ROLL_MAXIMUM, "Group.RandomRollMaximum", 1000000);
+1
View File
@@ -375,6 +375,7 @@ enum ServerConfigs
CONFIG_LOOT_NEED_BEFORE_GREED_ILVL_RESTRICTION,
CONFIG_LFG_MAX_KICK_COUNT,
CONFIG_LFG_KICK_PREVENTION_TIMER,
CONFIG_LFG_MAIL_ITEM_ON_FULL_INVENTORY,
CONFIG_CHANGE_FACTION_MAX_MONEY,
CONFIG_WATER_BREATH_TIMER,
CONFIG_DAILY_RBG_MIN_LEVEL_AP_REWARD,
+53 -53
View File
@@ -58,71 +58,71 @@ public:
{
static ChatCommandTable debugPlayCommandTable =
{
{ "cinematic", HandleDebugPlayCinematicCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "movie", HandleDebugPlayMovieCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "sound", HandleDebugPlaySoundCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "music", HandleDebugPlayMusicCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "visual", HandleDebugVisualCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No }
{ "cinematic", HandleDebugPlayCinematicCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No },
{ "movie", HandleDebugPlayMovieCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No },
{ "sound", HandleDebugPlaySoundCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No },
{ "music", HandleDebugPlayMusicCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No },
{ "visual", HandleDebugVisualCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No }
};
static ChatCommandTable debugSendCommandTable =
{
{ "buyerror", HandleDebugSendBuyErrorCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "channelnotify", HandleDebugSendChannelNotifyCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "chatmessage", HandleDebugSendChatMsgCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "equiperror", HandleDebugSendEquipErrorCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "largepacket", HandleDebugSendLargePacketCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "opcode", HandleDebugSendOpcodeCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "qpartymsg", HandleDebugSendQuestPartyMsgCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "qinvalidmsg", HandleDebugSendQuestInvalidMsgCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "sellerror", HandleDebugSendSellErrorCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "setphaseshift", HandleDebugSendSetPhaseShiftCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "spellfail", HandleDebugSendSpellFailCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No }
{ "buyerror", HandleDebugSendBuyErrorCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No },
{ "channelnotify", HandleDebugSendChannelNotifyCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No },
{ "chatmessage", HandleDebugSendChatMsgCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No },
{ "equiperror", HandleDebugSendEquipErrorCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No },
{ "largepacket", HandleDebugSendLargePacketCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No },
{ "opcode", HandleDebugSendOpcodeCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "qpartymsg", HandleDebugSendQuestPartyMsgCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No },
{ "qinvalidmsg", HandleDebugSendQuestInvalidMsgCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No },
{ "sellerror", HandleDebugSendSellErrorCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No },
{ "setphaseshift", HandleDebugSendSetPhaseShiftCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "spellfail", HandleDebugSendSpellFailCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No }
};
static ChatCommandTable debugCommandTable =
{
{ "setbit", HandleDebugSet32BitCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "threat", HandleDebugThreatListCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "threatinfo", HandleDebugThreatInfoCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "combat", HandleDebugCombatListCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "hostile", HandleDebugHostileRefListCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "anim", HandleDebugAnimCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "arena", HandleDebugArenaCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "bg", HandleDebugBattlegroundCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::Yes},
{ "cooldown", HandleDebugCooldownCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "getitemstate", HandleDebugGetItemStateCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "lootrecipient", HandleDebugGetLootRecipientCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "getvalue", HandleDebugGetValueCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "getitemvalue", HandleDebugGetItemValueCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "Mod32Value", HandleDebugMod32ValueCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "setbit", HandleDebugSet32BitCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "threat", HandleDebugThreatListCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::No },
{ "threatinfo", HandleDebugThreatInfoCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::No },
{ "combat", HandleDebugCombatListCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::No },
{ "hostile", HandleDebugHostileRefListCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::No },
{ "anim", HandleDebugAnimCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No },
{ "arena", HandleDebugArenaCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "bg", HandleDebugBattlegroundCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::Yes},
{ "cooldown", HandleDebugCooldownCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "getitemstate", HandleDebugGetItemStateCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::No },
{ "lootrecipient", HandleDebugGetLootRecipientCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::No },
{ "getvalue", HandleDebugGetValueCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::No },
{ "getitemvalue", HandleDebugGetItemValueCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::No },
{ "Mod32Value", HandleDebugMod32ValueCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "play", debugPlayCommandTable },
{ "send", debugSendCommandTable },
{ "setaurastate", HandleDebugSetAuraStateCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "setitemvalue", HandleDebugSetItemValueCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "setvalue", HandleDebugSetValueCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "spawnvehicle", HandleDebugSpawnVehicleCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "setvid", HandleDebugSetVehicleIdCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "entervehicle", HandleDebugEnterVehicleCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "uws", HandleDebugUpdateWorldStateCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "update", HandleDebugUpdateCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "itemexpire", HandleDebugItemExpireCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "areatriggers", HandleDebugAreaTriggersCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "lfg", HandleDebugDungeonFinderCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::Yes},
{ "loot", HandleDebugLootCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::Yes},
{ "los", HandleDebugLoSCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "moveflags", HandleDebugMoveflagsCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "unitstate", HandleDebugUnitStateCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "objectcount", HandleDebugObjectCountCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::Yes},
{ "dummy", HandleDebugDummyCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "mapdata", HandleDebugMapDataCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "boundary", HandleDebugBoundaryCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "visibilitydata", HandleDebugVisibilityDataCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "factionchange", HandleDebugFactionChangeCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::Yes},
{ "zonestats", HandleDebugZoneStatsCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::Yes}
{ "setaurastate", HandleDebugSetAuraStateCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "setitemvalue", HandleDebugSetItemValueCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "setvalue", HandleDebugSetValueCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "spawnvehicle", HandleDebugSpawnVehicleCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "setvid", HandleDebugSetVehicleIdCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "entervehicle", HandleDebugEnterVehicleCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "uws", HandleDebugUpdateWorldStateCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "update", HandleDebugUpdateCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "itemexpire", HandleDebugItemExpireCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "areatriggers", HandleDebugAreaTriggersCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::No },
{ "lfg", HandleDebugDungeonFinderCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::Yes},
{ "loot", HandleDebugLootCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::Yes},
{ "los", HandleDebugLoSCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::No },
{ "moveflags", HandleDebugMoveflagsCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "unitstate", HandleDebugUnitStateCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "objectcount", HandleDebugObjectCountCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::Yes},
{ "dummy", HandleDebugDummyCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No },
{ "mapdata", HandleDebugMapDataCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::No },
{ "boundary", HandleDebugBoundaryCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No },
{ "visibilitydata", HandleDebugVisibilityDataCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::No },
{ "factionchange", HandleDebugFactionChangeCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::Yes},
{ "zonestats", HandleDebugZoneStatsCommand, rbac::RBAC_PERM_COMMAND_DEBUG_INFO, Console::Yes}
};
static ChatCommandTable commandTable =
{
{ "debug", debugCommandTable },
{ "wpgps", HandleWPGPSCommand, rbac::RBAC_PERM_COMMAND_DEBUG, Console::No }
{ "wpgps", HandleWPGPSCommand, rbac::RBAC_PERM_COMMAND_DEBUG_COSMETIC, Console::No }
};
return commandTable;
}
@@ -1190,7 +1190,7 @@ public:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
me->CastSpell(target, SPELL_ARTHAS_EXORCISM, false);
combatEvents.Repeat(7300ms);
combatEvents.Repeat(7s, 14s);
break;
case EVENT_COMBAT_HEALTH_CHECK:
if (HealthBelowPct(40))
@@ -1247,8 +1247,8 @@ void npc_arthas::npc_arthasAI::JustEngagedWith(Unit* /*who*/)
DoCast(me, SPELL_ARTHAS_AURA);
// Fight
combatEvents.ScheduleEvent(EVENT_COMBAT_EXORCISM, 2s);
combatEvents.ScheduleEvent(EVENT_COMBAT_HEALTH_CHECK, 2s);
combatEvents.RescheduleEvent(EVENT_COMBAT_EXORCISM, 7s, 14s);
combatEvents.RescheduleEvent(EVENT_COMBAT_HEALTH_CHECK, 2s);
}
void npc_arthas::npc_arthasAI::ReorderInstance(uint32 data)
@@ -382,7 +382,11 @@ public:
if (Creature* leader = GetCreature(NPC_SYLVANAS_PART2))
leader->setActive(false);
if (Creature* lichKing = GetCreature(NPC_LICH_KING_BOSS))
{
lichKing->GetThreatMgr().ClearAllThreat();
lichKing->CombatStop(true);
lichKing->setActive(false);
}
_isLichKingFightActive = false;
_outroStep = 1;
_outroTimer = 0;
@@ -342,7 +342,7 @@ struct boss_blindeye_the_seer : public ScriptedAI
DoCast(target, SPELL_HEAL);
}
context.Repeat(7200ms);
}).Schedule(37500s, [this](TaskContext context)
}).Schedule(37500ms, [this](TaskContext context)
{
DoCastSelf(SPELL_GREATER_PW_SHIELD);
_scheduler.Schedule(1200ms, [this](TaskContext)
+1 -1
View File
@@ -191,7 +191,7 @@ enum Heartpierce
enum MarkOfConquest
{
SPELL_MARK_OF_CONQUEST_ENERGIZE = 33671
SPELL_MARK_OF_CONQUEST_ENERGIZE = 39599
};
enum PersistentShieldMisc
@@ -110,7 +110,8 @@ TEST_F(GameObjectSummonGroupTest, DifferentGroupsAreIndependent)
TEST_F(GameObjectSummonGroupTest, SmartActionEnumValue)
{
EXPECT_EQ(SMART_ACTION_SUMMON_GAMEOBJECT_GROUP, 241);
EXPECT_EQ(SMART_ACTION_AC_END, 242);
EXPECT_EQ(SMART_ACTION_INC_DATA, 242);
EXPECT_EQ(SMART_ACTION_AC_END, 243);
}
TEST_F(GameObjectSummonGroupTest, SmartActionUnionSize)