mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-18 03:15:41 +00:00
Compare commits
45 Commits
hermensbas
...
Playerbot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2d2a5223cb | ||
|
|
756d502d8c | ||
|
|
1589861810 | ||
|
|
8f1ba2a484 | ||
|
|
d21c3ec106 | ||
|
|
bd3fae16a6 | ||
|
|
5ed3e533f1 | ||
|
|
45c8f242c2 | ||
|
|
e1685a23f5 | ||
|
|
76dc129839 | ||
|
|
2bac143eb8 | ||
|
|
87a3be1dc2 | ||
|
|
aa3a27c430 | ||
|
|
df98dc87a3 | ||
|
|
4ef9b00b01 | ||
|
|
fded8c48af | ||
|
|
86b411ea99 | ||
|
|
67f9b7254f | ||
|
|
d1e9496fa4 | ||
|
|
15f596c9d8 | ||
|
|
4b9c6ae55f | ||
|
|
9e6493ff26 | ||
|
|
7ffef7b5fa | ||
|
|
088b86052d | ||
|
|
db2dafec95 | ||
|
|
6bdc48c7d4 | ||
|
|
b37d504c99 | ||
|
|
36560a4ff3 | ||
|
|
d81355460f | ||
|
|
0b9472b7cd | ||
|
|
1b35971f00 | ||
|
|
71cc99f1a9 | ||
|
|
838e49f007 | ||
|
|
a4c2476957 | ||
|
|
beae2ba6d6 | ||
|
|
226591a02e | ||
|
|
1f270d0fd1 | ||
|
|
e12f739dc9 | ||
|
|
01488006ff | ||
|
|
a98971a5be | ||
|
|
cb69e65716 | ||
|
|
43f496d372 | ||
|
|
b6124e2727 | ||
|
|
8785a9a726 | ||
|
|
a43dda6444 |
@@ -31,8 +31,16 @@ $SUDO apt-get install -y gdbserver gdb unzip curl \
|
|||||||
|
|
||||||
VAR_PATH="$CURRENT_PATH/../../../../var"
|
VAR_PATH="$CURRENT_PATH/../../../../var"
|
||||||
|
|
||||||
# run noninteractive install for MYSQL 8.4 LTS
|
# run noninteractive install for MYSQL
|
||||||
wget https://dev.mysql.com/get/mysql-apt-config_0.8.35-1_all.deb -P "$VAR_PATH"
|
# Version
|
||||||
DEBIAN_FRONTEND="noninteractive" $SUDO dpkg -i "$VAR_PATH/mysql-apt-config_0.8.35-1_all.deb"
|
MYSQL_APT_CONFIG_VERSION=0.8.36-1
|
||||||
$SUDO apt-get update
|
# # # # #
|
||||||
DEBIAN_FRONTEND="noninteractive" $SUDO apt-get install -y mysql-server libmysqlclient-dev
|
mkdir -p "$VAR_PATH/mysqlpackages" && cd "$VAR_PATH/mysqlpackages"
|
||||||
|
# Download
|
||||||
|
wget "https://dev.mysql.com/get/mysql-apt-config_${MYSQL_APT_CONFIG_VERSION}_all.deb"
|
||||||
|
# Install
|
||||||
|
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i ./mysql-apt-config_${MYSQL_APT_CONFIG_VERSION}_all.deb
|
||||||
|
sudo apt update
|
||||||
|
sudo DEBIAN_FRONTEND="noninteractive" apt install -y mysql-server libmysqlclient-dev
|
||||||
|
# Cleanup
|
||||||
|
rm -v mysql-apt-config_${MYSQL_APT_CONFIG_VERSION}_all* && unset MYSQL_APT_CONFIG_VERSION
|
||||||
|
|||||||
17
data/sql/updates/db_world/2026_01_09_00.sql
Normal file
17
data/sql/updates/db_world/2026_01_09_00.sql
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
-- DB update 2026_01_08_00 -> 2026_01_09_00
|
||||||
|
--
|
||||||
|
DELETE FROM `creature` WHERE `guid` IN (106509, 106879, 106611, 106612, 106613) AND `id1` IN (23666, 23667, 23670);
|
||||||
|
INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `unit_flags`, `CreateObject`, `VerifiedBuild`) VALUES
|
||||||
|
(106509, 23666, 23667, 23670, 571, 495, 3980, 1, 1, 1, 1212.23486328125, -5282.193359375, 178.7692413330078125, 6.091198921203613281, 120, 33554432, 1, 53788),
|
||||||
|
(106879, 23666, 23667, 23670, 571, 495, 3980, 1, 1, 1, 1226.8583984375, -5312.6591796875, 179.46478271484375, 3.96189737319946289, 120, 33554432, 1, 53788),
|
||||||
|
(106611, 23666, 23667, 23670, 571, 495, 3980, 1, 1, 1, 1247.4696044921875, -5301.1455078125, 178.558868408203125, 2.897246599197387695, 120, 33554432, 1, 53788),
|
||||||
|
(106612, 23666, 23667, 23670, 571, 495, 3980, 1, 1, 1, 1241.3194580078125, -5319.017578125, 177.4776763916015625, 0.890117883682250976, 120, 33554432, 1, 53788),
|
||||||
|
(106613, 23666, 23667, 23670, 571, 495, 3980, 1, 1, 1, 1252.26025390625, -5307.59375, 177.487030029296875, 0.837758064270019531, 120, 33554432, 1, 53788);
|
||||||
|
|
||||||
|
DELETE FROM `creature_addon` WHERE (`guid` IN (106509, 106879, 106611, 106612, 106613));
|
||||||
|
INSERT INTO `creature_addon` (`guid`, `bytes2`, `auras`) VALUES
|
||||||
|
(106509, 1, '29266'),
|
||||||
|
(106879, 1, '29266'),
|
||||||
|
(106611, 1, '29266'),
|
||||||
|
(106612, 1, '29266'),
|
||||||
|
(106613, 1, '29266');
|
||||||
67
data/sql/updates/db_world/2026_01_09_01.sql
Normal file
67
data/sql/updates/db_world/2026_01_09_01.sql
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
-- DB update 2026_01_09_00 -> 2026_01_09_01
|
||||||
|
--
|
||||||
|
DELETE FROM `spell_area` WHERE `spell` = 58139 AND `area` = 4588 AND `quest_start` = 13144;
|
||||||
|
INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
|
||||||
|
(58139, 4588, 13144, 13220, 0, 0, 2, 1, 64, 9);
|
||||||
|
|
||||||
|
UPDATE `creature` SET `phaseMask` = `phaseMask`|64 WHERE `id1` = 30631 AND `guid` = 123657;
|
||||||
|
|
||||||
|
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 30631;
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 30631);
|
||||||
|
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
|
||||||
|
(30631, 0, 0, 0, 20, 0, 100, 0, 13144, 30000, 30000, 0, 0, 0, 80, 3063100, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Darkrider Arly - On Quest \'Killing Two Scourge With One Skeleton\' Finished - Run Script');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 3063100);
|
||||||
|
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
|
||||||
|
(3063100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 12, 31428, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 6648.76, 3217.7263, 810.50073, 1.6057028770446777, 'Darkrider Arly - Actionlist - Summon Creature \'Crusader Olakin Sainrith\''),
|
||||||
|
(3063100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 12, 31432, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 6588.4272, 3278.2026, 818.2033, 5.044001579284668, 'Darkrider Arly - Actionlist - Summon Creature \'Ghostwing\'');
|
||||||
|
|
||||||
|
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 22) AND (`SourceGroup` = 1) AND (`SourceEntry` = 31428) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 23) AND (`ConditionTarget` = 1) AND (`ConditionValue1` = 4530) AND (`ConditionValue2` = 0) AND (`ConditionValue3` = 0);
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||||
|
(22, 1, 31428, 0, 0, 23, 1, 4530, 0, 0, 0, 0, 0, '', 'Only run script if summon occurs in Sanctum of Reanimation (4530)');
|
||||||
|
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 22) AND (`SourceGroup` = 6) AND (`SourceEntry` = 31428) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 23) AND (`ConditionTarget` = 1) AND (`ConditionValue1` = 4588) AND (`ConditionValue2` = 0) AND (`ConditionValue3` = 0);
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||||
|
(22, 6, 31428, 0, 0, 23, 1, 4588, 0, 0, 0, 0, 0, '', 'Only run script if summon occurs in Blackwatch (4588)');
|
||||||
|
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 13) AND (`SourceGroup` = 1) AND (`SourceEntry` = 59091) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 31) AND (`ConditionTarget` = 0) AND (`ConditionValue1` = 3) AND (`ConditionValue2` = 31432) AND (`ConditionValue3` = 0);
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||||
|
(13, 1, 59091, 0, 0, 31, 0, 3, 31432, 0, 0, 0, 0, '', 'Ride Ghostwing (59091) Only Targets Ghostwing (31432)');
|
||||||
|
|
||||||
|
UPDATE `creature_template_addon` SET `mount` = 0 WHERE (`entry` = 31428);
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 31428);
|
||||||
|
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
|
||||||
|
(31428, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 0, 0, 2, 1770, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Crusader Olakin Sainrith - On Just Summoned, Condition: Only in Sanctum of Reanimation - Set Faction 1770'),
|
||||||
|
(31428, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 80, 3142800, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Crusader Olakin Sainrith - On Just Summoned - Run Script'),
|
||||||
|
(31428, 0, 2, 3, 38, 0, 100, 0, 1, 1, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Crusader Olakin Sainrith - On Data Set 1 1 - Set Event Phase 1'),
|
||||||
|
(31428, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 10, 74956, 30698, 0, 0, 0, 0, 0, 0, 'Crusader Olakin Sainrith - On Data Set 1 1 - Start Attacking'),
|
||||||
|
(31428, 0, 4, 0, 7, 1, 100, 0, 0, 0, 0, 0, 0, 0, 41, 8000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Crusader Olakin Sainrith - On Evade - Despawn In 8000 ms (Phase 1)'),
|
||||||
|
(31428, 0, 5, 0, 54, 0, 100, 0, 0, 0, 0, 0, 0, 0, 80, 3142801, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Crusader Olakin Sainrith - On Just Summoned, Condition: Only in Blackwatch - Run Script');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 3142801);
|
||||||
|
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
|
||||||
|
(3142801, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 44, 64, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Crusader Olakin Sainrith - Actionlist - Set PhaseMask 64'),
|
||||||
|
(3142801, 9, 1, 0, 0, 0, 100, 0, 1300, 1300, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Crusader Olakin Sainrith - Actionlist - Say Line 1');
|
||||||
|
|
||||||
|
UPDATE `creature_template` SET `AIName` = 'SmartAI', `unit_flags` = 768 WHERE `entry` = 31432;
|
||||||
|
UPDATE `creature_template_movement` SET `Flight` = 2 WHERE (`CreatureId` = 31432);
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 31432);
|
||||||
|
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
|
||||||
|
(31432, 0, 0, 0, 54, 0, 100, 0, 0, 0, 0, 0, 0, 0, 80, 3143200, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Ghostwing - On Just Summoned - Run Script'),
|
||||||
|
(31432, 0, 1, 0, 34, 0, 100, 0, 8, 1, 0, 0, 0, 0, 80, 3143201, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Ghostwing - On Reached Point Blackwatch - Run Script'),
|
||||||
|
(31432, 0, 2, 3, 34, 0, 100, 0, 8, 2, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 31428, 40, 0, 0, 0, 0, 0, 0, 'Ghostwing - On Reached Despawn Point - Despawn Olakin'),
|
||||||
|
(31432, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Ghostwing - On Reached Despawn Point - Despawn Self');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 3143200);
|
||||||
|
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
|
||||||
|
(3143200, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 44, 64, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Ghostwing - Actionlist - Set PhaseMask 64'),
|
||||||
|
(3143200, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 239, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Ghostwing - Actionlist - Set AnimTier Flying'),
|
||||||
|
(3143200, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 6644.4297, 3222.9124, 823.0705, 0, 'Ghostwing - Actionlist - Move To Position');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 3143201);
|
||||||
|
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
|
||||||
|
(3143201, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 5, 460, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Ghostwing - Actionlist - Play Emote 460 (OneShotFlyDragonSpit)'),
|
||||||
|
(3143201, 9, 1, 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, 'Ghostwing - Actionlist - Say Line 0'),
|
||||||
|
(3143201, 9, 2, 0, 0, 0, 100, 0, 6470, 6470, 0, 0, 0, 0, 5, 452, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Ghostwing - Actionlist - Play Emote 452 (OneShotFlyGrab)'),
|
||||||
|
(3143201, 9, 3, 0, 0, 0, 100, 0, 400, 400, 0, 0, 0, 0, 86, 59091, 2, 19, 31428, 40, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Ghostwing - Actionlist - Cross Cast \'Ride Ghostwing\''),
|
||||||
|
(3143201, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 19, 30631, 40, 0, 0, 0, 0, 0, 0, 'Ghostwing - Actionlist - Store Arly as Target'),
|
||||||
|
(3143201, 9, 5, 0, 0, 0, 100, 0, 2840, 2840, 0, 0, 0, 0, 69, 2, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 6690.6504, 3177.2793, 860.5705, 0, 'Ghostwing - Actionlist - Move To Position'),
|
||||||
|
(3143201, 9, 6, 0, 0, 0, 100, 0, 1200, 1200, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 'Ghostwing - Actionlist - Arly Say Line 0');
|
||||||
5
data/sql/updates/db_world/2026_01_10_00.sql
Normal file
5
data/sql/updates/db_world/2026_01_10_00.sql
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
-- DB update 2026_01_09_01 -> 2026_01_10_00
|
||||||
|
--
|
||||||
|
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 17) AND (`SourceGroup` = 0) AND (`SourceEntry` = 49266) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 1) AND (`ConditionTarget` = 1) AND (`ConditionValue1` = 49282) AND (`ConditionValue2` = 0) AND (`ConditionValue3` = 0);
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||||
|
(17, 0, 49266, 0, 0, 1, 1, 49282, 0, 0, 1, 0, 0, '', 'Mounting Up (12414): Dangle Wild Carrot (49266) cannot be cast on a horse that is already mounted with Ride Highland Mustang (49282)');
|
||||||
5
data/sql/updates/db_world/2026_01_12_00.sql
Normal file
5
data/sql/updates/db_world/2026_01_12_00.sql
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
-- DB update 2026_01_10_00 -> 2026_01_12_00
|
||||||
|
-- bb
|
||||||
|
DELETE FROM `spell_script_names` WHERE `spell_id` = -49182;
|
||||||
|
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||||
|
(-49182, 'spell_dk_blade_barrier');
|
||||||
9
data/sql/updates/db_world/2026_01_12_01.sql
Normal file
9
data/sql/updates/db_world/2026_01_12_01.sql
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
-- DB update 2026_01_12_00 -> 2026_01_12_01
|
||||||
|
--
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 314 AND `id` = 1);
|
||||||
|
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
|
||||||
|
(314, 0, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 20819, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Eliza - In Combat - Cast Frostbolt');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 5354 AND `id` = 0);
|
||||||
|
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `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
|
||||||
|
(5354, 0, 0, 0, 4, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 11922, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Gnarl Leafbrother - On Aggro - Cast Entangling Roots');
|
||||||
14
data/sql/updates/db_world/2026_01_13_00.sql
Normal file
14
data/sql/updates/db_world/2026_01_13_00.sql
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
-- DB update 2026_01_12_01 -> 2026_01_13_00
|
||||||
|
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 1 AND `SourceEntry` = 20400 AND `ConditionTypeOrReference` = 12;
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||||
|
(1, 27830, 20400, 0, 0, 12, 0, 12, 0, 0, 0, 0, 0, '', 'Pumpkin Bag - Venture Co. Evacuee - Requires Hallow''s End'),
|
||||||
|
(1, 29330, 20400, 0, 0, 12, 0, 12, 0, 0, 0, 0, 0, '', 'Pumpkin Bag - Onslaught Harbor Guard - Requires Hallow''s End'),
|
||||||
|
(1, 29722, 20400, 0, 0, 12, 0, 12, 0, 0, 0, 0, 0, '', 'Pumpkin Bag - Rabid Cannibal - Requires Hallow''s End'),
|
||||||
|
(1, 30243, 20400, 0, 0, 12, 0, 12, 0, 0, 0, 0, 0, '', 'Pumpkin Bag - Njorndar Spear-Sister - Requires Hallow''s End'),
|
||||||
|
(1, 30687, 20400, 0, 0, 12, 0, 12, 0, 0, 0, 0, 0, '', 'Pumpkin Bag - Skeletal Constructor - Requires Hallow''s End'),
|
||||||
|
(1, 31738, 20400, 0, 0, 12, 0, 12, 0, 0, 0, 0, 0, '', 'Pumpkin Bag - Cultist Corrupter - Requires Hallow''s End'),
|
||||||
|
(1, 32259, 20400, 0, 0, 12, 0, 12, 0, 0, 0, 0, 0, '', 'Pumpkin Bag - Void Summoner - Requires Hallow''s End');
|
||||||
|
|
||||||
|
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 1 AND `SourceEntry` = 21235 AND `ConditionTypeOrReference` = 12;
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||||
|
(1, 11459, 21235, 0, 0, 12, 0, 2, 0, 0, 0, 0, 0, '', 'Winter Veil Roast - Ironbark Protector - Requires Winter Veil');
|
||||||
28
data/sql/updates/db_world/2026_01_13_01.sql
Normal file
28
data/sql/updates/db_world/2026_01_13_01.sql
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
-- DB update 2026_01_13_00 -> 2026_01_13_01
|
||||||
|
--
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 2936800);
|
||||||
|
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
|
||||||
|
(2936800, 9, 0 , 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 12, 29801, 4, 40000, 0, 0, 0, 8, 0, 0, 0, 0, 7725, 105, 1010.64, 1.6, 'Valduran the Stormborn - Actionlist - Summon Creature \'Bouldercrag the Rockshaper\''),
|
||||||
|
(2936800, 9, 1 , 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - Actionlist - Set Fly Off'),
|
||||||
|
(2936800, 9, 2 , 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 12, 30152, 4, 40000, 0, 0, 0, 8, 0, 0, 0, 0, 7734, 113, 1010.64, 3, 'Valduran the Stormborn - Actionlist - Summon Creature \'Bruor Ironbane\''),
|
||||||
|
(2936800, 9, 3 , 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 11, 0, 30, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - Actionlist - Set Npc Flag '),
|
||||||
|
(2936800, 9, 4 , 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 29801, 30, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - Actionlist - Say Line 0'),
|
||||||
|
(2936800, 9, 5 , 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 30152, 30, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - Actionlist - Say Line 0'),
|
||||||
|
(2936800, 9, 6 , 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 30152, 30, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - Actionlist - Say Line 1'),
|
||||||
|
(2936800, 9, 7 , 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - Actionlist - Say Line 0'),
|
||||||
|
(2936800, 9, 8 , 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - Actionlist - Say Line 1'),
|
||||||
|
(2936800, 9, 9, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - Actionlist - Remove Flags Immune To Players & Immune To NPC\'s'),
|
||||||
|
(2936800, 9, 10, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 21, 30, 0, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - Actionlist - Start Attacking');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 29368);
|
||||||
|
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
|
||||||
|
(29368, 0, 1, 0, 25, 0, 100, 512, 0, 0, 0, 0, 0, 0, 11, 56220, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - On Reset - Cast \'Valduran`s Channel\''),
|
||||||
|
(29368, 0, 2, 3, 8, 0, 100, 513, 56189, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - On Spellhit \'Sound War Horn\' - Remove Auras (No Repeat)'),
|
||||||
|
(29368, 0, 3, 0, 61, 0, 100, 513, 0, 0, 0, 0, 0, 0, 80, 2936800, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - On Spellhit \'Sound War Horn\' - Run Script (No Repeat)'),
|
||||||
|
(29368, 0, 5, 0, 0, 0, 100, 0, 2000, 4000, 15000, 17000, 0, 0, 11, 56319, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - In Combat - Cast \'Ball Lightning\''),
|
||||||
|
(29368, 0, 6, 0, 0, 0, 100, 0, 5000, 7000, 8000, 10000, 0, 0, 11, 56326, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - In Combat - Cast \'Lightning Bolt\''),
|
||||||
|
(29368, 0, 7, 0, 0, 0, 100, 0, 11000, 13000, 25000, 30000, 0, 0, 11, 56322, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - In Combat - Cast \'Spark Frenzy\''),
|
||||||
|
(29368, 0, 8, 9, 6, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 29801, 30, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - On Just Died - Say Line 1'),
|
||||||
|
(29368, 0, 9, 10, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, 30152, 30, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - On Just Died - Say Line 2'),
|
||||||
|
(29368, 0, 10, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 33, 29368, 0, 0, 0, 0, 0, 18, 30, 0, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - On Just Died - Quest Credit'),
|
||||||
|
(29368, 0, 11, 0, 25, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valduran the Stormborn - On Reset - Set Flags Immune To Players & Immune To NPC\'s');
|
||||||
40
data/sql/updates/db_world/2026_01_13_02.sql
Normal file
40
data/sql/updates/db_world/2026_01_13_02.sql
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
-- DB update 2026_01_13_01 -> 2026_01_13_02
|
||||||
|
--
|
||||||
|
DELETE FROM `creature` WHERE `guid` IN (202969, 202970) AND `id1` IN (28667, 28668);
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 28659);
|
||||||
|
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
|
||||||
|
(28659, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 12, 28667, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 5616.92, 3772.68, -94.258, 1.78024, 'Artruis the Heartless - On Respawn - Summon Creature \'Jaloot\''),
|
||||||
|
(28659, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 12, 28668, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 5631.63, 3794.36, -92.236, 3.45575, 'Artruis the Heartless - On Respawn - Summon Creature \'Zepik the Gorloc Hunter\''),
|
||||||
|
(28659, 0, 2, 0, 0, 0, 100, 0, 7000, 11000, 11000, 15000, 0, 0, 11, 54261, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - In Combat - Cast \'Ice Lance\''),
|
||||||
|
(28659, 0, 3, 0, 0, 0, 100, 0, 3000, 5000, 3000, 5000, 0, 0, 11, 15530, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - In Combat - Cast \'Frostbolt\''),
|
||||||
|
(28659, 0, 4, 0, 0, 0, 100, 0, 9000, 13000, 25000, 35000, 0, 0, 11, 54792, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - In Combat - Cast \'Icy Veins\''),
|
||||||
|
(28659, 0, 5, 0, 9, 0, 100, 0, 7000, 9000, 14000, 18000, 0, 10, 11, 11831, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Within 0-10 Range - Cast \'Frost Nova\''),
|
||||||
|
(28659, 0, 6, 7, 2, 0, 100, 0, 0, 30, 0, 0, 0, 0, 11, 52185, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Between 0-30% Health - Cast \'Bindings of Submission\''),
|
||||||
|
(28659, 0, 7, 8, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Between 0-30% Health - Set Data 1 1 for Jaloot'),
|
||||||
|
(28659, 0, 8, 9, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 12, 2, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Between 0-30% Health - Set Data 1 1 for Zepik the Gorloc Hunter'),
|
||||||
|
(28659, 0, 9, 10, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 3, 10000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Between 0-30% Health - Say Line 3'),
|
||||||
|
(28659, 0, 10, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 4, 10000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Between 0-30% Health - Say Line 4'),
|
||||||
|
(28659, 0, 11, 12, 25, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 2, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Reset - Set Data 1 2 for Jaloot'),
|
||||||
|
(28659, 0, 12, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 2, 0, 0, 0, 0, 12, 2, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Reset - Set Data 1 2 for Zepik the Gorloc Hunter'),
|
||||||
|
(28659, 0, 13, 0, 2, 0, 100, 0, 0, 75, 0, 0, 0, 0, 1, 1, 10000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Between 0-75% Health - Say Line 1'),
|
||||||
|
(28659, 0, 14, 0, 2, 0, 100, 0, 0, 50, 0, 0, 0, 0, 1, 2, 10000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Between 0-50% Health - Say Line 2'),
|
||||||
|
(28659, 0, 17, 0, 4, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 0, 10000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Aggro - Say Line 0'),
|
||||||
|
(28659, 0, 18, 19, 6, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 52518, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Just Died - Cast \'Summon Artruis Quest Complete\''),
|
||||||
|
(28659, 0, 19, 20, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 3, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Just Died - Set Data 1 3 for Jaloot'),
|
||||||
|
(28659, 0, 20, 21, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 3, 0, 0, 0, 0, 12, 2, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Just Died - Set Data 1 3 for Zepik the Gorloc Hunter'),
|
||||||
|
(28659, 0, 21, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 5, 10000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Just Died - Say Line 5'),
|
||||||
|
(28659, 0, 22, 23, 38, 0, 100, 0, 1, 1, 0, 0, 0, 0, 45, 1, 4, 0, 0, 0, 0, 12, 2, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Data Set 1 1 - Set Data 1 4 for Zepik the Gorloc Hunter'),
|
||||||
|
(28659, 0, 23, 24, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 28, 52185, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Data Set 1 1 - Remove Aura \'Bindings of Submission\''),
|
||||||
|
(28659, 0, 24, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Data Set 1 1 - Set Data 1 0 for self'),
|
||||||
|
(28659, 0, 25, 26, 38, 0, 100, 0, 1, 2, 0, 0, 0, 0, 45, 1, 4, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Data Set 1 2 - Set Data 1 4 for Jaloot'),
|
||||||
|
(28659, 0, 26, 27, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 28, 52185, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Data Set 1 2 - Remove Aura \'Bindings of Submission\''),
|
||||||
|
(28659, 0, 27, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Data Set 1 2 - Set Data 1 0'),
|
||||||
|
(28659, 0, 28, 0, 0, 0, 100, 0, 1000, 1000, 1000, 1000, 0, 0, 11, 53163, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - In Combat - Cast \'Dessawn Retainer\''),
|
||||||
|
(28659, 0, 29, 0, 17, 0, 100, 0, 28667, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Summoned Unit - Store Targetlist 1 (Jaloot)'),
|
||||||
|
(28659, 0, 30, 0, 17, 0, 100, 0, 28668, 0, 0, 0, 0, 0, 64, 2, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Summoned Unit - Store Targetlist 2 (Zepik)'),
|
||||||
|
(28659, 0, 31, 32, 7, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 0, 30, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Evade - Despawn Instant'),
|
||||||
|
(28659, 0, 32, 33, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Evade - Despawn Summons'),
|
||||||
|
(28659, 0, 33, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 12, 2, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Evade - Despawn Summons'),
|
||||||
|
(28659, 0, 34, 0, 107, 0, 100, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Summoned Unit Evade - Evade'),
|
||||||
|
(28659, 0, 35, 0, 6, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 30000, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Just Died - Despawn Summons In 30s'),
|
||||||
|
(28659, 0, 36, 0, 6, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 30000, 0, 0, 0, 0, 0, 12, 2, 0, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Just Died - Despawn Summons In 30s');
|
||||||
124
data/sql/updates/db_world/2026_01_13_03.sql
Normal file
124
data/sql/updates/db_world/2026_01_13_03.sql
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
-- DB update 2026_01_13_02 -> 2026_01_13_03
|
||||||
|
-- Implicit Targets
|
||||||
|
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 13) AND (`SourceGroup` = 1) AND (`SourceEntry` IN (52833, 52834, 52837, 52838)) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 31) AND (`ConditionValue1` = 3) AND (`ConditionValue2` = 26298);
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||||
|
(13, 1, 52834, 0, 0, 31, 0, 3, 26298, 113551, 0, 0, 0, '', 'Rampage: Akali\'s Chains can only target specific paws'),
|
||||||
|
(13, 1, 52833, 0, 0, 31, 0, 3, 26298, 113550, 0, 0, 0, '', 'Rampage: Akali\'s Chains can only target specific paws'),
|
||||||
|
(13, 1, 52837, 0, 0, 31, 0, 3, 26298, 113478, 0, 0, 0, '', 'Rampage: Akali\'s Chains can only target specific paws'),
|
||||||
|
(13, 1, 52838, 0, 0, 31, 0, 3, 26298, 113479, 0, 0, 0, '', 'Rampage: Akali\'s Chains can only target specific paws');
|
||||||
|
|
||||||
|
-- Right Front Paw
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = -113549);
|
||||||
|
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
|
||||||
|
(-113549, 0, 0, 1, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 52834, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Action 10 Received: Reset \'Rampage\' Status - Cast \'Rampage: Akali`s Chains - Right Front Paw\''),
|
||||||
|
(-113549, 0, 1, 0, 61, 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, 'ELM General Purpose Bunny (scale x0.01) Large - On Action 10 Received: Reset \'Rampage\' Status - Set Event Phase 1'),
|
||||||
|
(-113549, 0, 2, 3, 8, 1, 100, 0, 52816, 0, 0, 0, 0, 0, 28, 52834, 0, 0, 0, 0, 0, 10, 113551, 26298, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Remove Aura \'Rampage: Akali`s Chains - Right Front Paw\' (Phase 1)'),
|
||||||
|
(-113549, 0, 3, 4, 61, 1, 100, 0, 0, 0, 0, 0, 0, 0, 223, 11, 0, 0, 0, 0, 0, 10, 98159, 28952, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Do Action ID 11 On Akali: Right Front Paw Freed (Phase 1)'),
|
||||||
|
(-113549, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Set Event Phase 0 (Phase 1)');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = -100336);
|
||||||
|
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
|
||||||
|
(-100336, 0, 0, 0, 8, 0, 100, 512, 52816, 0, 0, 0, 0, 0, 28, 52855, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Remove Aura \'Cosmetic - Low Poly Fire (with Sound)\' on Self'),
|
||||||
|
(-100336, 0, 1, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 52855, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny Large - On Action 10 Received: Reset \'Rampage\' Status - Cast \'Cosmetic - Low Poly Fire (with Sound)\' on Self');
|
||||||
|
|
||||||
|
-- Left Front Paw
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = -113548);
|
||||||
|
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
|
||||||
|
(-113548, 0, 0, 1, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 52833, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Action 10 Received: Reset \'Rampage\' Status - Cast \'Rampage: Akali`s Chains - Left Front Paw\''),
|
||||||
|
(-113548, 0, 1, 0, 61, 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, 'ELM General Purpose Bunny (scale x0.01) Large - On Action 10 Received: Reset \'Rampage\' Status - Set Event Phase 1'),
|
||||||
|
(-113548, 0, 2, 3, 8, 1, 100, 0, 52816, 0, 0, 0, 0, 0, 28, 52833, 0, 0, 0, 0, 0, 10, 113550, 26298, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Remove Aura \'Rampage: Akali`s Chains - Left Front Paw\' (Phase 1)'),
|
||||||
|
(-113548, 0, 3, 4, 61, 1, 100, 0, 0, 0, 0, 0, 0, 0, 223, 11, 0, 0, 0, 0, 0, 10, 98159, 28952, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Do Action ID 11 On Akali: Left Front Paw Freed (Phase 1)'),
|
||||||
|
(-113548, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Set Event Phase 0 (Phase 1)');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = -100333);
|
||||||
|
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
|
||||||
|
(-100333, 0, 0, 0, 8, 0, 100, 512, 52816, 0, 0, 0, 0, 0, 28, 52855, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Remove Aura \'Cosmetic - Low Poly Fire (with Sound)\' on Self'),
|
||||||
|
(-100333, 0, 1, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 52855, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny Large - On Action 10 Received: Reset \'Rampage\' Status - Cast \'Cosmetic - Low Poly Fire (with Sound)\' on Self');
|
||||||
|
|
||||||
|
-- Right Rear Paw
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = -61994);
|
||||||
|
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
|
||||||
|
(-61994, 0, 0, 1, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 52837, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Action 10 Received: Reset \'Rampage\' Status - Cast \'Rampage: Akali`s Chains - Right Rear Paw\''),
|
||||||
|
(-61994, 0, 1, 0, 61, 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, 'ELM General Purpose Bunny (scale x0.01) Large - On Action 10 Received: Reset \'Rampage\' Status - Set Event Phase 1'),
|
||||||
|
(-61994, 0, 2, 3, 8, 1, 100, 0, 52816, 0, 0, 0, 0, 0, 28, 52837, 0, 0, 0, 0, 0, 10, 113478, 26298, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Remove Aura \'Rampage: Akali`s Chains - Right Rear Paw\' (Phase 1)'),
|
||||||
|
(-61994, 0, 3, 4, 61, 1, 100, 0, 0, 0, 0, 0, 0, 0, 223, 11, 0, 0, 0, 0, 0, 10, 98159, 28952, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Do Action ID 11 On Akali: Right Rear Paw Freed (Phase 1)'),
|
||||||
|
(-61994, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Set Event Phase 0 (Phase 1)');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = -100335);
|
||||||
|
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
|
||||||
|
(-100335, 0, 0, 0, 8, 0, 100, 512, 52816, 0, 0, 0, 0, 0, 28, 52855, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Remove Aura \'Cosmetic - Low Poly Fire (with Sound)\' on Self'),
|
||||||
|
(-100335, 0, 1, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 52855, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny Large - On Action 10 Received: Reset \'Rampage\' Status - Cast \'Cosmetic - Low Poly Fire (with Sound)\' on Self');
|
||||||
|
|
||||||
|
-- Left Rear Paw
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = -61995);
|
||||||
|
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
|
||||||
|
(-61995, 0, 0, 1, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 52838, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Action 10 Received: Reset \'Rampage\' Status - Cast \'Rampage: Akali`s Chains - Left Rear Paw\''),
|
||||||
|
(-61995, 0, 1, 0, 61, 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, 'ELM General Purpose Bunny (scale x0.01) Large - On Action 10 Received: Reset \'Rampage\' Status - Set Event Phase 1'),
|
||||||
|
(-61995, 0, 2, 3, 8, 1, 100, 0, 52816, 0, 0, 0, 0, 0, 28, 52838, 0, 0, 0, 0, 0, 10, 113479, 26298, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Remove Aura \'Rampage: Akali`s Chains - Left Rear Paw\' (Phase 1)'),
|
||||||
|
(-61995, 0, 3, 4, 61, 1, 100, 0, 0, 0, 0, 0, 0, 0, 223, 11, 0, 0, 0, 0, 0, 10, 98159, 28952, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Do Action ID 11 On Akali: Left Rear Paw Freed (Phase 1)'),
|
||||||
|
(-61995, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny (scale x0.01) Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Set Event Phase 0 (Phase 1)');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = -100334);
|
||||||
|
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
|
||||||
|
(-100334, 0, 0, 0, 8, 0, 100, 512, 52816, 0, 0, 0, 0, 0, 28, 52855, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny Large - On Spellhit \'Rampage: Akali Chain Anchor On Disturb\' - Remove Aura \'Cosmetic - Low Poly Fire (with Sound)\' on Self'),
|
||||||
|
(-100334, 0, 1, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 52855, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny Large - On Action 10 Received: Reset \'Rampage\' Status - Cast \'Cosmetic - Low Poly Fire (with Sound)\' on Self');
|
||||||
|
|
||||||
|
-- Center
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = -61996);
|
||||||
|
|
||||||
|
-- Akali
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 28952);
|
||||||
|
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
|
||||||
|
(28952, 0, 0, 0, 77, 0, 100, 512, 1, 4, 0, 0, 0, 0, 80, 2895200, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - On 4 Chains Broken - Run Quest Success Script'),
|
||||||
|
(28952, 0, 1, 2, 8, 0, 100, 512, 52859, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - On Spellhit \'Submission\' - Set Health Regeneration Off'),
|
||||||
|
(28952, 0, 2, 3, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - On Spellhit \'Submission\' - Set Flags Immune To Players & Immune To NPC\'s'),
|
||||||
|
(28952, 0, 3, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 6829.59, -4525.52, 442.068, 0, 'Akali - On Spellhit \'Submission\' - Move To Position'),
|
||||||
|
(28952, 0, 4, 0, 34, 0, 100, 512, 0, 1, 0, 0, 0, 0, 80, 2895201, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - On Reached Point 1 - Run Quest End Script'),
|
||||||
|
(28952, 0, 5, 0, 9, 0, 100, 0, 0, 0, 10000, 10000, 0, 80, 11, 52856, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - Within 0-80 Range - Cast \'Charge\''),
|
||||||
|
(28952, 0, 6, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 80, 2895202, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - On Respawn - Run Quest Reset Script'),
|
||||||
|
(28952, 0, 7, 0, 72, 0, 100, 0, 11, 0, 0, 0, 0, 0, 63, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - On Action 11 Done: Paw Freed - Add 1 to Broken Chains Counter');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 2895200);
|
||||||
|
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
|
||||||
|
(2895200, 9, 0, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - Quest Success Script - Say Line 0'),
|
||||||
|
(2895200, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 15, 12721, 0, 0, 0, 0, 0, 18, 60, 0, 0, 0, 0, 0, 0, 0, 'Akali - Quest Success Script - Quest Credit \'Rampage\''),
|
||||||
|
(2895200, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - Quest Success Script - Summon Creature Group 1'),
|
||||||
|
(2895200, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 92, 0, 45579, 0, 0, 0, 0, 9, 28988, 0, 100, 0, 0, 0, 0, 0, 'Akali - Actionlist - Interrupt Spell \'Fire Channeling\''),
|
||||||
|
(2895200, 9, 4, 0, 0, 0, 100, 0, 4600, 4600, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - Quest Success Script - Remove Flag Immune To NPC\'s'),
|
||||||
|
(2895200, 9, 5, 0, 0, 0, 100, 0, 55000, 55000, 0, 0, 0, 0, 12, 28996, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 6882.03, -4571, 442.312, 2.37365, 'Akali - Quest Success Script - Summon Creature \'Prophet of Akali\'');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 2895201);
|
||||||
|
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
|
||||||
|
(2895201, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 2, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - Quest End Script - Set Faction 35'),
|
||||||
|
(2895201, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - Quest End Script - Evade'),
|
||||||
|
(2895201, 9, 2, 0, 0, 0, 100, 0, 200, 200, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 28996, 100, 0, 0, 0, 0, 0, 0, 'Akali - Quest End Script - Set Orientation Closest Creature \'Prophet of Akali\''),
|
||||||
|
(2895201, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 19, 28996, 100, 0, 0, 0, 0, 0, 0, 'Akali - Quest End Script - Set Data 0 1');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 2895202);
|
||||||
|
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
|
||||||
|
(2895202, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - Reset Script - Set Flags Immune To Players & Immune To NPC\'s'),
|
||||||
|
(2895202, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 2, 1770, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - Reset Script - Set Faction 1770'),
|
||||||
|
(2895202, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 223, 10, 0, 0, 0, 0, 0, 9, 0, 0, 100, 0, 0, 0, 0, 0, 'Akali - Reset Script - Do Action ID 28952: Relay Reset \'Rampage\' to All Creatures'),
|
||||||
|
(2895202, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - Actionlist - Set Health Regeneration Off'),
|
||||||
|
(2895202, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 63, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali - Actionlist - Reset Counter');
|
||||||
|
|
||||||
|
DELETE FROM `creature_addon` WHERE (`guid` IN (100333, 100334, 100335, 100336));
|
||||||
|
|
||||||
|
UPDATE `creature_template` SET `flags_extra` = `flags_extra`|134217728 WHERE (`entry` = 28988);
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` IN (-101661,-101662,-101663,-101665,-101666,-101667,-101668,-101669,-203572,-203573,-203574,-203575,-203576,-203577));
|
||||||
|
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
|
||||||
|
(-101661, 0, 1000, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 45579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali Subduer - On Action 10 Done - Cast \'Fire Channeling\''),
|
||||||
|
(-101662, 0, 1000, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 45579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali Subduer - On Action 10 Done - Cast \'Fire Channeling\''),
|
||||||
|
(-101663, 0, 1000, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 45579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali Subduer - On Action 10 Done - Cast \'Fire Channeling\''),
|
||||||
|
(-101665, 0, 1000, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 45579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali Subduer - On Action 10 Done - Cast \'Fire Channeling\''),
|
||||||
|
(-101666, 0, 1000, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 45579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali Subduer - On Action 10 Done - Cast \'Fire Channeling\''),
|
||||||
|
(-101667, 0, 1000, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 45579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali Subduer - On Action 10 Done - Cast \'Fire Channeling\''),
|
||||||
|
(-101668, 0, 1000, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 45579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali Subduer - On Action 10 Done - Cast \'Fire Channeling\''),
|
||||||
|
(-101669, 0, 1000, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 45579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali Subduer - On Action 10 Done - Cast \'Fire Channeling\''),
|
||||||
|
(-203572, 0, 1000, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 45579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali Subduer - On Action 10 Done - Cast \'Fire Channeling\''),
|
||||||
|
(-203573, 0, 1000, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 45579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali Subduer - On Action 10 Done - Cast \'Fire Channeling\''),
|
||||||
|
(-203574, 0, 1000, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 45579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali Subduer - On Action 10 Done - Cast \'Fire Channeling\''),
|
||||||
|
(-203575, 0, 1000, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 45579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali Subduer - On Action 10 Done - Cast \'Fire Channeling\''),
|
||||||
|
(-203576, 0, 1000, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 45579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali Subduer - On Action 10 Done - Cast \'Fire Channeling\''),
|
||||||
|
(-203577, 0, 1000, 0, 72, 0, 100, 0, 10, 0, 0, 0, 0, 0, 11, 45579, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Akali Subduer - On Action 10 Done - Cast \'Fire Channeling\'');
|
||||||
61
data/sql/updates/db_world/2026_01_14_00.sql
Normal file
61
data/sql/updates/db_world/2026_01_14_00.sql
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
-- DB update 2026_01_13_03 -> 2026_01_14_00
|
||||||
|
-- Gryphon
|
||||||
|
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 27886;
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 27886);
|
||||||
|
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
|
||||||
|
(27886, 0, 0, 0, 27, 0, 100, 0, 0, 0, 0, 0, 0, 0, 80, 2788600, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valgarde Gryphon - On Passenger Boarded - Run Script'),
|
||||||
|
(27886, 0, 1, 0, 108, 0, 100, 0, 15, 278861, 0, 0, 0, 0, 80, 2788601, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valgarde Gryphon - On Point 15 of Path 278861 Reached - Run Script');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 2788600);
|
||||||
|
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
|
||||||
|
(2788600, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 'Valgarde Gryphon - Actionlist - Say Line 0'),
|
||||||
|
(2788600, 9, 1, 0, 0, 0, 100, 0, 1200, 1200, 0, 0, 0, 0, 11, 49303, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valgarde Gryphon - Actionlist - Cast \'Flight + Speed\''),
|
||||||
|
(2788600, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 232, 278861, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valgarde Gryphon - Actionlist - Start Path 278861');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 2788601);
|
||||||
|
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
|
||||||
|
(2788601, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 45472, 2, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 0, 0, 0, 'Valgarde Gryphon - Actionlist - Cast \'Parachute\''),
|
||||||
|
(2788601, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 62539, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valgarde Gryphon - Actionlist - Cast \'Eject Passenger 2\''),
|
||||||
|
(2788601, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 'Valgarde Gryphon - Actionlist - Say Line 1'),
|
||||||
|
(2788601, 9, 3, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Valgarde Gryphon - Actionlist - Despawn Instant');
|
||||||
|
|
||||||
|
DELETE FROM `vehicle_template_accessory` WHERE `entry`=27886 AND `seat_id`=0;
|
||||||
|
INSERT INTO `vehicle_template_accessory` (`entry`, `accessory_entry`, `seat_id`, `minion`, `description`, `summontype`, `summontimer`) VALUES (27886, 27887, 0, 1, 'Valgarde Gryphon', 5, 0);
|
||||||
|
|
||||||
|
DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=27886 AND `spell_id`=48365;
|
||||||
|
INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES (27886, 48365, 1, 1);
|
||||||
|
|
||||||
|
DELETE FROM `waypoint_data` WHERE `id` = 278861;
|
||||||
|
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`) VALUES
|
||||||
|
(278861, 1, 611.694, -5049.68, 24.2361, NULL, 0, 2),
|
||||||
|
(278861, 2, 645.473, -5088.02, 30.9664, NULL, 0, 2),
|
||||||
|
(278861, 3, 712.811, -5091.94, 35.1508, NULL, 0, 2),
|
||||||
|
(278861, 4, 943.165, -5001.23, 51.6465, NULL, 0, 2),
|
||||||
|
(278861, 5, 1043.21, -4975.55, 42.5367, NULL, 0, 2),
|
||||||
|
(278861, 6, 1105.99, -4981.37, 44.6164, NULL, 0, 2),
|
||||||
|
(278861, 7, 1168.69, -4956.15, 43.58, NULL, 0, 2),
|
||||||
|
(278861, 8, 1188.28, -4949.07, 43.8891, NULL, 0, 2),
|
||||||
|
(278861, 9, 1224.69, -5034.33, 45.4934, NULL, 0, 2),
|
||||||
|
(278861, 10, 1284.04, -5064.89, 70.9363, NULL, 0, 2),
|
||||||
|
(278861, 11, 1299.86, -5123.96, 92.313, NULL, 0, 2),
|
||||||
|
(278861, 12, 1268.89, -5172.31, 125.225, NULL, 0, 2),
|
||||||
|
(278861, 13, 1204.63, -5202.03, 162.438, NULL, 0, 2),
|
||||||
|
(278861, 14, 1264.15, -5293.07, 194.687, NULL, 0, 2),
|
||||||
|
(278861, 15, 1250.92, -5318.65, 202.334, NULL, 0, 2),
|
||||||
|
(278861, 16, 1100.08, -5329.92, 227.263, NULL, 0, 2);
|
||||||
|
|
||||||
|
-- Zorek
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 23728);
|
||||||
|
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
|
||||||
|
(23728, 0, 0, 0, 10, 0, 100, 512, 1, 50, 120000, 300000, 0, 0, 80, 2372800, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Guard Captain Zorek - Within 1-50 Range Out of Combat LoS - Run Script'),
|
||||||
|
(23728, 0, 1, 0, 19, 0, 100, 0, 11427, 0, 0, 0, 0, 0, 134, 49845, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Guard Captain Zorek - On Quest \'Meet Lieutenant Icehammer...\' Taken - Invoker Cast \'Call Valgarde Gryphon\'');
|
||||||
|
|
||||||
|
DELETE FROM `spell_target_position` WHERE `ID` = 49845;
|
||||||
|
INSERT INTO `spell_target_position` (`ID`, `EffectIndex`, `MapID`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `VerifiedBuild`) VALUES
|
||||||
|
(49845, 0, 571, 603.603, -5034.4, 1.1338, 0.694764, 0);
|
||||||
|
|
||||||
|
-- Rider
|
||||||
|
DELETE FROM `creature_text` WHERE `CreatureID` = 27887;
|
||||||
|
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
|
||||||
|
(27887, 0, 0, 'Off we go!', 12, 7, 100, 0, 0, 0, 27225, 0, 'Valgarde Gryphon Rider'),
|
||||||
|
(27887, 1, 0, 'Here ya go, friend! Icehammer is right inside that vrykul building! Give \'em hell!', 12, 7, 100, 0, 0, 0, 27228, 0, 'Valgarde Gryphon Rider');
|
||||||
66
data/sql/updates/db_world/2026_01_14_01.sql
Normal file
66
data/sql/updates/db_world/2026_01_14_01.sql
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
-- DB update 2026_01_14_00 -> 2026_01_14_01
|
||||||
|
--
|
||||||
|
DELETE FROM `gossip_menu_option` WHERE (`MenuID` IN (1041, 1042, 1465, 1467, 1468, 1469, 2741, 2743, 2749, 2784, 3202, 3203, 4110, 4111, 4117, 4128, 4129, 4134, 4135, 4136, 4138, 4151, 4156, 4160, 4164, 4165, 4169, 4170, 4171, 4184, 4186, 4208, 4211, 4241, 4242, 4244, 4263, 4351, 4356, 4748, 4842, 4843, 7455, 7459, 7512, 7809, 7815, 7820, 7833, 8308, 8460, 8522, 8760, 8863, 9084, 9131, 9132, 10363, 10437, 10568, 21222, 61025));
|
||||||
|
INSERT INTO `gossip_menu_option` (`MenuID`, `OptionID`, `OptionIcon`, `OptionText`, `OptionBroadcastTextID`, `OptionType`, `OptionNpcFlag`, `ActionMenuID`, `ActionPoiID`, `BoxCoded`, `BoxMoney`, `BoxText`, `BoxBroadcastTextID`, `VerifiedBuild`) VALUES
|
||||||
|
(1041, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(1042, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(1465, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(1467, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(1468, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(1469, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(2741, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(2743, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(2749, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(2784, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(3202, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(3203, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4110, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4111, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4117, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4128, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4129, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4134, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4135, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4136, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4138, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4151, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4156, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4160, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4164, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4165, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4169, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4170, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4171, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4184, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4186, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4208, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4211, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4241, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4242, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4244, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4263, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4351, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4356, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4748, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4842, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(4843, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(7455, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(7459, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(7512, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(7809, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(7815, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(7820, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(7833, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(8308, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(8460, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(8522, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(8760, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(8863, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(9084, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(9131, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(9132, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(10363, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(10437, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(10568, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(21222, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0),
|
||||||
|
(61025, 0, 3, 'Train me.', 3266, 5, 16, 0, 0, 0, 0, '', 0, 0);
|
||||||
60
deps/SFMT/CMakeLists.txt
vendored
60
deps/SFMT/CMakeLists.txt
vendored
@@ -40,39 +40,39 @@ target_include_directories(sfmt
|
|||||||
target_compile_definitions(sfmt PUBLIC -DSFMT_MEXP=19937)
|
target_compile_definitions(sfmt PUBLIC -DSFMT_MEXP=19937)
|
||||||
|
|
||||||
# enable SIMD instructions if available
|
# enable SIMD instructions if available
|
||||||
include(CheckCCompilerFlag)
|
include(CheckCXXCompilerFlag)
|
||||||
if (CMAKE_SYSTEM_PROCESSOR MATCHES "(powerpc|ppc)64|(powerpc|ppc)64le")
|
|
||||||
check_c_compiler_flag("-maltivec" HAVE_ALTIVEC)
|
|
||||||
if (HAVE_ALTIVEC)
|
|
||||||
target_compile_options(sfmt PRIVATE -mabi=altivec -maltivec)
|
|
||||||
target_compile_definitions(sfmt PUBLIC -DHAVE_ALTIVEC)
|
|
||||||
else ()
|
|
||||||
message(WARNING "Altivec not available - performance will be poor!")
|
|
||||||
endif ()
|
|
||||||
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "arm|ARM")
|
|
||||||
check_c_compiler_flag(-mfpu=neon HAVE_NEON)
|
|
||||||
if (HAVE_NEON)
|
|
||||||
target_compile_options(sfmt PRIVATE -mfpu=neon -ftree-vectorize)
|
|
||||||
target_compile_definitions(sfmt PUBLIC -DHAVE_NEON)
|
|
||||||
else ()
|
|
||||||
message(WARNING "Neon not available - performance will be poor!")
|
|
||||||
endif ()
|
|
||||||
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64")
|
|
||||||
check_c_compiler_flag(-march=armv8-a+simd HAVE_NEON)
|
|
||||||
if (HAVE_NEON)
|
|
||||||
target_compile_options(sfmt PRIVATE -ftree-vectorize)
|
|
||||||
target_compile_definitions(sfmt PUBLIC -DHAVE_NEON)
|
|
||||||
else ()
|
|
||||||
message(WARNING "Neon not available - performance will be poor!")
|
|
||||||
endif ()
|
|
||||||
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "i686|amd64|x86_64|AMD64")
|
|
||||||
#SSE2 is always available
|
|
||||||
set(HAVE_SSE2 1)
|
|
||||||
|
|
||||||
if (NOT CMAKE_C_COMPILER_ID MATCHES "MSVC")
|
# MSVC does not have any flags to check
|
||||||
|
if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||||
|
if (ACORE_SYSTEM_PROCESSOR MATCHES "^arm")
|
||||||
|
set(HAVE_NEON 1)
|
||||||
|
else ()
|
||||||
|
set(HAVE_SSE2 1)
|
||||||
|
endif ()
|
||||||
|
else ()
|
||||||
|
if (ACORE_SYSTEM_PROCESSOR STREQUAL "arm")
|
||||||
|
check_cxx_compiler_flag(-mfpu=neon HAVE_NEON)
|
||||||
|
if (HAVE_NEON)
|
||||||
|
target_compile_options(sfmt PRIVATE -mfpu=neon -ftree-vectorize)
|
||||||
|
endif()
|
||||||
|
elseif (ACORE_SYSTEM_PROCESSOR STREQUAL "arm64")
|
||||||
|
check_cxx_compiler_flag(-march=armv8-a+simd HAVE_NEON)
|
||||||
|
if (HAVE_NEON)
|
||||||
|
target_compile_options(sfmt PRIVATE -ftree-vectorize)
|
||||||
|
endif ()
|
||||||
|
elseif (ACORE_SYSTEM_PROCESSOR MATCHES "x86|amd64")
|
||||||
|
#SSE2 is always available
|
||||||
|
set(HAVE_SSE2 1)
|
||||||
target_compile_options(sfmt PRIVATE -msse2)
|
target_compile_options(sfmt PRIVATE -msse2)
|
||||||
endif ()
|
endif ()
|
||||||
target_compile_definitions(sfmt PUBLIC -DHAVE_SSE2)
|
endif ()
|
||||||
|
|
||||||
|
if (HAVE_NEON)
|
||||||
|
target_compile_definitions(sfmt PUBLIC HAVE_NEON)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (HAVE_SSE2)
|
||||||
|
target_compile_definitions(sfmt PUBLIC HAVE_SSE2)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
set_target_properties(sfmt PROPERTIES LINKER_LANGUAGE CXX)
|
set_target_properties(sfmt PROPERTIES LINKER_LANGUAGE CXX)
|
||||||
|
|||||||
8
deps/argon2/CMakeLists.txt
vendored
8
deps/argon2/CMakeLists.txt
vendored
@@ -12,12 +12,12 @@
|
|||||||
|
|
||||||
file(GLOB_RECURSE sources *.c)
|
file(GLOB_RECURSE sources *.c)
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
|
if(ACORE_SYSTEM_PROCESSOR MATCHES "x86|amd64")
|
||||||
list(REMOVE_ITEM sources
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/argon2/opt.c)
|
|
||||||
else()
|
|
||||||
list(REMOVE_ITEM sources
|
list(REMOVE_ITEM sources
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/argon2/ref.c)
|
${CMAKE_CURRENT_SOURCE_DIR}/argon2/ref.c)
|
||||||
|
else()
|
||||||
|
list(REMOVE_ITEM sources
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/argon2/opt.c)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_library(argon2 STATIC
|
add_library(argon2 STATIC
|
||||||
|
|||||||
2
deps/jemalloc/CMakeLists.txt
vendored
2
deps/jemalloc/CMakeLists.txt
vendored
@@ -30,7 +30,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT NOJEM)
|
|||||||
set(JEM_MADFREE_DEF "#undef")
|
set(JEM_MADFREE_DEF "#undef")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
|
if(ACORE_SYSTEM_PROCESSOR MATCHES "arm")
|
||||||
set(JEM_CPU_SPINWAIT "")
|
set(JEM_CPU_SPINWAIT "")
|
||||||
set(JEM_HAVE_CPU_SPINWAIT 0)
|
set(JEM_HAVE_CPU_SPINWAIT 0)
|
||||||
else()
|
else()
|
||||||
|
|||||||
@@ -31,11 +31,14 @@ if(PLATFORM EQUAL 32)
|
|||||||
-mfpmath=sse)
|
-mfpmath=sse)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_compile_definitions(acore-compile-option-interface
|
if(ACORE_SYSTEM_PROCESSOR MATCHES "x86|amd64")
|
||||||
INTERFACE
|
target_compile_definitions(acore-compile-option-interface
|
||||||
-DHAVE_SSE2
|
INTERFACE
|
||||||
-D__SSE2__)
|
-DHAVE_SSE2
|
||||||
message(STATUS "GCC: SFMT enabled, SSE2 flags forced")
|
-D__SSE2__)
|
||||||
|
|
||||||
|
message(STATUS "GCC: SFMT enabled, SSE2 flags forced")
|
||||||
|
endif()
|
||||||
|
|
||||||
if( WITH_WARNINGS )
|
if( WITH_WARNINGS )
|
||||||
target_compile_options(acore-warning-interface
|
target_compile_options(acore-warning-interface
|
||||||
|
|||||||
@@ -21,6 +21,30 @@ endif()
|
|||||||
|
|
||||||
include("${CMAKE_SOURCE_DIR}/src/cmake/platform/settings.cmake")
|
include("${CMAKE_SOURCE_DIR}/src/cmake/platform/settings.cmake")
|
||||||
|
|
||||||
|
if(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64")
|
||||||
|
set(ACORE_SYSTEM_PROCESSOR "amd64")
|
||||||
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|ARM|aarch|AARCH)64$")
|
||||||
|
set(ACORE_SYSTEM_PROCESSOR "arm64")
|
||||||
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|ARM|aarch|AARCH)$")
|
||||||
|
set(ACORE_SYSTEM_PROCESSOR "arm")
|
||||||
|
else()
|
||||||
|
set(ACORE_SYSTEM_PROCESSOR "x86")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# detect MSVC special case of using cmake -A switch (which doesn't set any cross compiling variables)
|
||||||
|
|
||||||
|
if(CMAKE_GENERATOR_PLATFORM STREQUAL "Win32")
|
||||||
|
set(ACORE_SYSTEM_PROCESSOR "x86")
|
||||||
|
elseif(CMAKE_GENERATOR_PLATFORM STREQUAL "x64")
|
||||||
|
set(ACORE_SYSTEM_PROCESSOR "amd64")
|
||||||
|
elseif(CMAKE_GENERATOR_PLATFORM STREQUAL "ARM")
|
||||||
|
set(ACORE_SYSTEM_PROCESSOR "arm")
|
||||||
|
elseif(CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64")
|
||||||
|
set(ACORE_SYSTEM_PROCESSOR "arm64")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message(STATUS "Detected ${ACORE_SYSTEM_PROCESSOR} processor architecture")
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
include("${CMAKE_SOURCE_DIR}/src/cmake/platform/win/settings.cmake")
|
include("${CMAKE_SOURCE_DIR}/src/cmake/platform/win/settings.cmake")
|
||||||
elseif(UNIX)
|
elseif(UNIX)
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ elseif (MSVC)
|
|||||||
set(_OPENSSL_MSI_INSTALL_GUIDS "")
|
set(_OPENSSL_MSI_INSTALL_GUIDS "")
|
||||||
|
|
||||||
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
||||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES "ARM64")
|
if(ACORE_SYSTEM_PROCESSOR STREQUAL "arm64")
|
||||||
set(_arch "Win64-ARM")
|
set(_arch "Win64-ARM")
|
||||||
set(_OPENSSL_MSI_INSTALL_GUIDS "99C28AFA-6419-40B1-B88D-32B810BB4234")
|
set(_OPENSSL_MSI_INSTALL_GUIDS "99C28AFA-6419-40B1-B88D-32B810BB4234")
|
||||||
else()
|
else()
|
||||||
@@ -319,7 +319,7 @@ if(WIN32 AND NOT CYGWIN)
|
|||||||
# Since OpenSSL 1.1, lib names are like libcrypto32MTd.lib and libssl32MTd.lib
|
# Since OpenSSL 1.1, lib names are like libcrypto32MTd.lib and libssl32MTd.lib
|
||||||
if( "${CMAKE_SIZEOF_VOID_P}" STREQUAL "8" )
|
if( "${CMAKE_SIZEOF_VOID_P}" STREQUAL "8" )
|
||||||
set(_OPENSSL_MSVC_ARCH_SUFFIX "64")
|
set(_OPENSSL_MSVC_ARCH_SUFFIX "64")
|
||||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES "ARM64")
|
if(ACORE_SYSTEM_PROCESSOR STREQUAL "arm64")
|
||||||
set(_OPENSSL_MSVC_ARCH_DIRECTORY "arm64")
|
set(_OPENSSL_MSVC_ARCH_DIRECTORY "arm64")
|
||||||
else()
|
else()
|
||||||
set(_OPENSSL_MSVC_ARCH_DIRECTORY "x64")
|
set(_OPENSSL_MSVC_ARCH_DIRECTORY "x64")
|
||||||
|
|||||||
@@ -718,7 +718,6 @@ Logger.spells.scripts=2,Console Errors
|
|||||||
Logger.playerbots=5,Console Playerbots
|
Logger.playerbots=5,Console Playerbots
|
||||||
#Logger.achievement=4,Console Server
|
#Logger.achievement=4,Console Server
|
||||||
#Logger.addon=4,Console Server
|
#Logger.addon=4,Console Server
|
||||||
#Logger.ahbot=4,Console Server
|
|
||||||
#Logger.auctionHouse=4,Console Server
|
#Logger.auctionHouse=4,Console Server
|
||||||
#Logger.autobroadcast=4, Console Server
|
#Logger.autobroadcast=4, Console Server
|
||||||
#Logger.bg.arena=4,Console Server
|
#Logger.bg.arena=4,Console Server
|
||||||
|
|||||||
@@ -951,6 +951,14 @@ void SmartAI::InitializeAI()
|
|||||||
if (!(event.action.cast.castFlags & SMARTCAST_MAIN_SPELL))
|
if (!(event.action.cast.castFlags & SMARTCAST_MAIN_SPELL))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(event.action.cast.spell);
|
||||||
|
if (spellInfo && spellInfo->IsPositive())
|
||||||
|
{
|
||||||
|
LOG_WARN("scripts.ai", "SmartAI: Creature {} has SMARTCAST_MAIN_SPELL on positive spell {} - positive spells should not be used as main spell",
|
||||||
|
me->GetEntry(), event.action.cast.spell);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
SetMainSpell(event.action.cast.spell);
|
SetMainSpell(event.action.cast.spell);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -966,6 +974,11 @@ void SmartAI::InitializeAI()
|
|||||||
if (!(event.action.cast.castFlags & SMARTCAST_COMBAT_MOVE))
|
if (!(event.action.cast.castFlags & SMARTCAST_COMBAT_MOVE))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
// Don't use positive (healing/buff) spells to determine attack distance
|
||||||
|
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(event.action.cast.spell);
|
||||||
|
if (spellInfo && spellInfo->IsPositive())
|
||||||
|
continue;
|
||||||
|
|
||||||
SetMainSpell(event.action.cast.spell);
|
SetMainSpell(event.action.cast.spell);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6002,6 +6002,19 @@ void Player::RewardReputation(Unit* victim)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FactionTemplateEntry const* GetAnyFactionTemplateForFaction(uint32 factionId)
|
||||||
|
{
|
||||||
|
for (uint32 i = 0; i < sFactionTemplateStore.GetNumRows(); ++i)
|
||||||
|
{
|
||||||
|
if (FactionTemplateEntry const* factionTemplate = sFactionTemplateStore.LookupEntry(i))
|
||||||
|
{
|
||||||
|
if (factionTemplate->faction == factionId)
|
||||||
|
return factionTemplate;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
// Calculate how many reputation points player gain with the quest
|
// Calculate how many reputation points player gain with the quest
|
||||||
void Player::RewardReputation(Quest const* quest)
|
void Player::RewardReputation(Quest const* quest)
|
||||||
{
|
{
|
||||||
@@ -6055,10 +6068,24 @@ void Player::RewardReputation(Quest const* quest)
|
|||||||
sScriptMgr->OnPlayerGiveReputation(this, quest->RewardFactionId[i], rep, REPUTATION_SOURCE_QUEST);
|
sScriptMgr->OnPlayerGiveReputation(this, quest->RewardFactionId[i], rep, REPUTATION_SOURCE_QUEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (FactionEntry const* factionEntry = sFactionStore.LookupEntry(quest->RewardFactionId[i]))
|
FactionEntry const* factionEntry = sFactionStore.LookupEntry(quest->RewardFactionId[i]);
|
||||||
|
if (!factionEntry)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
FactionTemplateEntry const* templateEntry = GetAnyFactionTemplateForFaction(factionEntry->ID);
|
||||||
|
if (templateEntry)
|
||||||
{
|
{
|
||||||
GetReputationMgr().ModifyReputation(factionEntry, rep, quest->HasSpecialFlag(QUEST_SPECIAL_FLAGS_NO_REP_SPILLOVER));
|
bool hostile = (GetTeamId() == TEAM_ALLIANCE) ? templateEntry->IsHostileToAlliancePlayers()
|
||||||
|
: templateEntry->IsHostileToHordePlayers();
|
||||||
|
|
||||||
|
if (hostile)
|
||||||
|
{
|
||||||
|
LOG_DEBUG("sql.sql", "RewardReputation: {} is hostile with player ({}), skipping!", templateEntry->ID, GetGUID().ToString());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GetReputationMgr().ModifyReputation(factionEntry, rep, quest->HasSpecialFlag(QUEST_SPECIAL_FLAGS_NO_REP_SPILLOVER));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -970,6 +970,9 @@ enum PlayerRestState
|
|||||||
{
|
{
|
||||||
REST_STATE_RESTED = 0x01,
|
REST_STATE_RESTED = 0x01,
|
||||||
REST_STATE_NOT_RAF_LINKED = 0x02,
|
REST_STATE_NOT_RAF_LINKED = 0x02,
|
||||||
|
REST_STATE_TIRED = 0x03,
|
||||||
|
REST_STATE_TIRED_XP_REDUCED = 0x04, // 50% XP
|
||||||
|
REST_STATE_EXHAUSTED = 0x05, // 25% XP
|
||||||
REST_STATE_RAF_LINKED = 0x06
|
REST_STATE_RAF_LINKED = 0x06
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -9629,6 +9629,28 @@ void ObjectMgr::LoadGossipMenuItems()
|
|||||||
_gossipMenuItemsStore.insert(GossipMenuItemsContainer::value_type(gMenuItem.MenuID, gMenuItem));
|
_gossipMenuItemsStore.insert(GossipMenuItemsContainer::value_type(gMenuItem.MenuID, gMenuItem));
|
||||||
} while (result->NextRow());
|
} while (result->NextRow());
|
||||||
|
|
||||||
|
// Warn if any trainer creature templates reference a GossipMenuId that has no gossip_menu_option entries
|
||||||
|
// This will cause the gossip menu to fallback to MenuID 0 at runtime which will display: "I wish to unlearn my talents."
|
||||||
|
std::set<uint32> checkedMenuIds;
|
||||||
|
for (auto const& [entry, tmpl] : _creatureTemplateStore)
|
||||||
|
{
|
||||||
|
uint32 menuId = tmpl.GossipMenuId;
|
||||||
|
if (!menuId)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (!(tmpl.npcflag & UNIT_NPC_FLAG_TRAINER))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (checkedMenuIds.contains(menuId))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
checkedMenuIds.insert(menuId);
|
||||||
|
|
||||||
|
auto [first, second] = _gossipMenuItemsStore.equal_range(menuId);
|
||||||
|
if (first == second)
|
||||||
|
LOG_WARN("server.loading", "Trainer creature template references GossipMenuId {} has no `gossip_menu_option` entries. This will fallback to MenuID 0.", menuId);
|
||||||
|
}
|
||||||
|
|
||||||
LOG_INFO("server.loading", ">> Loaded {} gossip_menu_option entries in {} ms", uint32(_gossipMenuItemsStore.size()), GetMSTimeDiffToNow(oldMSTime));
|
LOG_INFO("server.loading", ">> Loaded {} gossip_menu_option entries in {} ms", uint32(_gossipMenuItemsStore.size()), GetMSTimeDiffToNow(oldMSTime));
|
||||||
LOG_INFO("server.loading", " ");
|
LOG_INFO("server.loading", " ");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -335,10 +335,13 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
|
|||||||
msg.erase(end, msg.end());
|
msg.erase(end, msg.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate hyperlinks
|
// mod_playerbots: skip validation for playerbots module
|
||||||
if (!ValidateHyperlinksAndMaybeKick(msg))
|
auto playerbotsHyperlink = msg.find("Hfound:") != std::string::npos;
|
||||||
|
if (!playerbotsHyperlink)
|
||||||
{
|
{
|
||||||
return;
|
// Validate hyperlinks
|
||||||
|
if (!ValidateHyperlinksAndMaybeKick(msg))
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -482,6 +482,8 @@ void WorldSession::HandlePetitionSignOpcode(WorldPacket& recvData)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sScriptMgr->OnPlayerbotCheckPetitionAccount(_player, found);
|
||||||
|
|
||||||
if (found)
|
if (found)
|
||||||
{
|
{
|
||||||
WorldPacket data(SMSG_PETITION_SIGN_RESULTS, (8 + 8 + 4));
|
WorldPacket data(SMSG_PETITION_SIGN_RESULTS, (8 + 8 + 4));
|
||||||
|
|||||||
@@ -1722,6 +1722,13 @@ void Map::SendObjectUpdates()
|
|||||||
WorldPacket packet; // here we allocate a std::vector with a size of 0x10000
|
WorldPacket packet; // here we allocate a std::vector with a size of 0x10000
|
||||||
for (UpdateDataMapType::iterator iter = update_players.begin(); iter != update_players.end(); ++iter)
|
for (UpdateDataMapType::iterator iter = update_players.begin(); iter != update_players.end(); ++iter)
|
||||||
{
|
{
|
||||||
|
if (!sScriptMgr->OnPlayerbotCheckUpdatesToSend(iter->first))
|
||||||
|
{
|
||||||
|
iter->second.Clear();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
iter->second.BuildPacket(packet);
|
iter->second.BuildPacket(packet);
|
||||||
iter->first->SendDirectMessage(&packet);
|
iter->first->SendDirectMessage(&packet);
|
||||||
packet.clear(); // clean the string
|
packet.clear(); // clean the string
|
||||||
|
|||||||
@@ -47,6 +47,11 @@ void PointMovementGenerator<T>::DoInitialize(T* unit)
|
|||||||
|
|
||||||
i_recalculateSpeed = false;
|
i_recalculateSpeed = false;
|
||||||
Movement::MoveSplineInit init(unit);
|
Movement::MoveSplineInit init(unit);
|
||||||
|
|
||||||
|
// mod-playerbots
|
||||||
|
if (_reverseOrientation)
|
||||||
|
init.SetOrientationInversed();
|
||||||
|
|
||||||
if (m_precomputedPath.size() > 2) // pussywizard: for charge
|
if (m_precomputedPath.size() > 2) // pussywizard: for charge
|
||||||
init.MovebyPath(m_precomputedPath);
|
init.MovebyPath(m_precomputedPath);
|
||||||
else if (_generatePath)
|
else if (_generatePath)
|
||||||
|
|||||||
@@ -389,10 +389,10 @@ void FlightPathMovementGenerator::LoadPath(Player* player)
|
|||||||
LOG_ERROR("movement.flightpath", "Failed to build correct path for player: {}. Current node: {}, max nodes: {}. Paths: {}. Player pos: {}.", player->GetGUID().ToString(), GetCurrentNode(), i_path.size(), paths, player->GetPosition().ToString());
|
LOG_ERROR("movement.flightpath", "Failed to build correct path for player: {}. Current node: {}, max nodes: {}. Paths: {}. Player pos: {}.", player->GetGUID().ToString(), GetCurrentNode(), i_path.size(), paths, player->GetPosition().ToString());
|
||||||
|
|
||||||
// Lets choose the second last element so that a player would still have some flight.
|
// Lets choose the second last element so that a player would still have some flight.
|
||||||
if (int(i_path.size()) - 2 >= 0)
|
if (i_path.size() >= 2)
|
||||||
i_currentNode = uint32(i_path.size() - 2);
|
i_currentNode = uint32(i_path.size() - 2);
|
||||||
else
|
else
|
||||||
i_currentNode = uint32(i_path.size() - 1);
|
i_currentNode = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -195,7 +195,7 @@ public:
|
|||||||
{ "string", HandleStringCommand, SEC_GAMEMASTER, Console::No },
|
{ "string", HandleStringCommand, SEC_GAMEMASTER, Console::No },
|
||||||
{ "opendoor", HandleOpenDoorCommand, SEC_GAMEMASTER, Console::No },
|
{ "opendoor", HandleOpenDoorCommand, SEC_GAMEMASTER, Console::No },
|
||||||
{ "bm", HandleBMCommand, SEC_GAMEMASTER, Console::No },
|
{ "bm", HandleBMCommand, SEC_GAMEMASTER, Console::No },
|
||||||
{ "packetlog", HandlePacketLog, SEC_GAMEMASTER, Console::No }
|
{ "packetlog", HandlePacketLog, SEC_GAMEMASTER, Console::Yes }
|
||||||
};
|
};
|
||||||
|
|
||||||
return commandTable;
|
return commandTable;
|
||||||
@@ -3109,9 +3109,19 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool HandlePacketLog(ChatHandler* handler, Optional<bool> enableArg)
|
static bool HandlePacketLog(ChatHandler* handler, Optional<PlayerIdentifier> target, Optional<bool> enableArg)
|
||||||
{
|
{
|
||||||
WorldSession* session = handler->GetSession();
|
if (!target)
|
||||||
|
target = PlayerIdentifier::FromTargetOrSelf(handler);
|
||||||
|
|
||||||
|
if (!target || !target->IsConnected())
|
||||||
|
{
|
||||||
|
handler->SendErrorMessage(LANG_PLAYER_NOT_FOUND);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player* playerTarget = target->GetConnectedPlayer();
|
||||||
|
WorldSession* session = playerTarget->GetSession();
|
||||||
|
|
||||||
if (!session)
|
if (!session)
|
||||||
return false;
|
return false;
|
||||||
@@ -3121,13 +3131,13 @@ public:
|
|||||||
if (*enableArg)
|
if (*enableArg)
|
||||||
{
|
{
|
||||||
session->SetPacketLogging(true);
|
session->SetPacketLogging(true);
|
||||||
handler->SendNotification(LANG_ON);
|
handler->PSendSysMessage("Packet logging enabled for {}.", playerTarget->GetName());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
session->SetPacketLogging(false);
|
session->SetPacketLogging(false);
|
||||||
handler->SendNotification(LANG_OFF);
|
handler->PSendSysMessage("Packet logging disabled for {}.", playerTarget->GetName());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,13 +112,14 @@ public:
|
|||||||
me->SetImmuneToAll(true);
|
me->SetImmuneToAll(true);
|
||||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||||
me->SetReactState(REACT_PASSIVE);
|
me->SetReactState(REACT_PASSIVE);
|
||||||
if (InstanceScript* pInstance = me->GetInstanceScript())
|
if (InstanceScript* instance = me->GetInstanceScript())
|
||||||
{
|
{
|
||||||
if (Creature* cr = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(DATA_ARTHAS)))
|
if (Creature* cr = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ARTHAS)))
|
||||||
cr->AI()->DoAction(ACTION_KILLED_MALGANIS);
|
cr->AI()->DoAction(ACTION_KILLED_MALGANIS);
|
||||||
|
|
||||||
// give credit to players
|
// give credit to players
|
||||||
me->CastSpell(me, 58630, true);
|
me->CastSpell(me, 58630, true);
|
||||||
|
instance->instance->SummonGameObject(DUNGEON_MODE(GO_MALGANIS_CHEST_N, GO_MALGANIS_CHEST_H), 2288.35f, 1498.73f, 128.414f, -0.994837f, 0, 0, 0, 0, 7 * DAY * IN_MILLISECONDS);
|
||||||
}
|
}
|
||||||
|
|
||||||
// quest completion
|
// quest completion
|
||||||
|
|||||||
@@ -1153,8 +1153,6 @@ public:
|
|||||||
pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_FINISHED);
|
pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_FINISHED);
|
||||||
if (GameObject* go = pInstance->instance->GetGameObject(pInstance->GetGuidData(DATA_EXIT_GATE)))
|
if (GameObject* go = pInstance->instance->GetGameObject(pInstance->GetGuidData(DATA_EXIT_GATE)))
|
||||||
go->SetGoState(GO_STATE_ACTIVE);
|
go->SetGoState(GO_STATE_ACTIVE);
|
||||||
|
|
||||||
pInstance->instance->SummonGameObject(DUNGEON_MODE(GO_MALGANIS_CHEST_N, GO_MALGANIS_CHEST_H), 2288.35f, 1498.73f, 128.414f, -0.994837f, 0, 0, 0, 0, 7 * DAY * IN_MILLISECONDS);
|
|
||||||
}
|
}
|
||||||
ScheduleNextEvent(currentEvent, 10s);
|
ScheduleNextEvent(currentEvent, 10s);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -118,22 +118,41 @@ public:
|
|||||||
|
|
||||||
void OnUnitDeath(Unit* unit) override
|
void OnUnitDeath(Unit* unit) override
|
||||||
{
|
{
|
||||||
if (unit->EntryEquals(NPC_WATCHER_GASHRA, NPC_WATCHER_NARJIL, NPC_WATCHER_SILTHIK, NPC_ANUBAR_SHADOWCASTER, NPC_ANUBAR_SKIRMISHER, NPC_ANUBAR_WARRIOR))
|
if (!unit->EntryEquals(NPC_WATCHER_GASHRA, NPC_WATCHER_NARJIL, NPC_WATCHER_SILTHIK, NPC_ANUBAR_SHADOWCASTER, NPC_ANUBAR_SKIRMISHER, NPC_ANUBAR_WARRIOR))
|
||||||
|
return;
|
||||||
|
|
||||||
|
Creature* creature = unit->ToCreature();
|
||||||
|
if (!creature)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// For trash mobs, ensure their leader is a Watcher
|
||||||
|
if (unit->EntryEquals(NPC_ANUBAR_SHADOWCASTER, NPC_ANUBAR_SKIRMISHER, NPC_ANUBAR_WARRIOR))
|
||||||
{
|
{
|
||||||
if (Creature* creature = unit->ToCreature())
|
CreatureGroup* formation = creature->GetFormation();
|
||||||
{
|
if (!formation)
|
||||||
ObjectGuid creatureGuid = creature->GetGUID();
|
return;
|
||||||
scheduler.CancelAll();
|
|
||||||
scheduler.Schedule(1s, [this, creatureGuid](TaskContext /*context*/)
|
Creature* leader = formation->GetLeader();
|
||||||
{
|
if (!leader || !leader->EntryEquals(NPC_WATCHER_GASHRA, NPC_WATCHER_NARJIL, NPC_WATCHER_SILTHIK))
|
||||||
if (Creature* creature = instance->GetCreature(creatureGuid))
|
return;
|
||||||
if (CreatureGroup* formation = creature->GetFormation())
|
|
||||||
if (!formation->IsAnyMemberAlive())
|
|
||||||
if (Creature* krikthir = GetCreature(DATA_KRIKTHIR))
|
|
||||||
krikthir->AI()->DoAction(ACTION_MINION_DIED);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ObjectGuid creatureGuid = creature->GetGUID();
|
||||||
|
|
||||||
|
scheduler.CancelAll();
|
||||||
|
scheduler.Schedule(1s, [this, creatureGuid](TaskContext /*context*/)
|
||||||
|
{
|
||||||
|
Creature* creature = instance->GetCreature(creatureGuid);
|
||||||
|
if (!creature)
|
||||||
|
return;
|
||||||
|
|
||||||
|
CreatureGroup* formation = creature->GetFormation();
|
||||||
|
if (!formation || formation->IsAnyMemberAlive())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (Creature* krikthir = GetCreature(DATA_KRIKTHIR))
|
||||||
|
krikthir->AI()->DoAction(ACTION_MINION_DIED);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -598,7 +598,7 @@ public:
|
|||||||
|
|
||||||
void SetData(uint32 id, uint32 value) override
|
void SetData(uint32 id, uint32 value) override
|
||||||
{
|
{
|
||||||
if (!events.HasTimeUntilEvent(EVENT_CHECK_CORPOREALITY))
|
if (!_events.HasTimeUntilEvent(EVENT_CHECK_CORPOREALITY))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (id == DATA_MATERIAL_DAMAGE_TAKEN)
|
if (id == DATA_MATERIAL_DAMAGE_TAKEN)
|
||||||
|
|||||||
@@ -37,141 +37,126 @@ enum Spells
|
|||||||
{
|
{
|
||||||
SPELL_IMPALE = 28783,
|
SPELL_IMPALE = 28783,
|
||||||
SPELL_LOCUST_SWARM = 28785,
|
SPELL_LOCUST_SWARM = 28785,
|
||||||
SPELL_SUMMON_CORPSE_SCRABS_5 = 29105,
|
SPELL_SUMMON_CORPSE_SCARABS_5 = 29105,
|
||||||
SPELL_SUMMON_CORPSE_SCRABS_10 = 28864,
|
SPELL_SUMMON_CORPSE_SCARABS_10 = 28864,
|
||||||
SPELL_BERSERK = 26662
|
SPELL_BERSERK = 26662
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Misc
|
enum Misc
|
||||||
{
|
{
|
||||||
NPC_CORPSE_SCARAB = 16698,
|
ACHIEV_TIMED_START_EVENT = 9891,
|
||||||
NPC_CRYPT_GUARD = 16573,
|
EVENT_SPAWN_CRYPT_GUARDS_1 = 0,
|
||||||
|
EVENT_BERSERK = 1,
|
||||||
ACHIEV_TIMED_START_EVENT = 9891
|
EVENT_SPAWN_CRYPT_GUARDS_EXTRA = 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
class boss_anubrekhan : public CreatureScript
|
Position const cryptguardPositions[] = {
|
||||||
{
|
{ 3299.732f, -3502.489f, 287.077f, 2.378f },
|
||||||
public:
|
{ 3299.086f, -3450.929f, 287.077f, 3.999f },
|
||||||
boss_anubrekhan() : CreatureScript("boss_anubrekhan") { }
|
{ 3331.217f, -3476.607f, 287.074f, 3.269f }
|
||||||
|
};
|
||||||
|
|
||||||
CreatureAI* GetAI(Creature* pCreature) const override
|
struct boss_anubrekhan : public BossAI
|
||||||
|
{
|
||||||
|
boss_anubrekhan(Creature* creature) : BossAI(creature, BOSS_ANUB) { }
|
||||||
|
|
||||||
|
void SummonCryptGuards()
|
||||||
{
|
{
|
||||||
return GetNaxxramasAI<boss_anubrekhanAI>(pCreature);
|
if (Is25ManRaid())
|
||||||
|
{
|
||||||
|
me->SummonCreature(NPC_CRYPT_GUARD, cryptguardPositions[0], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
|
||||||
|
me->SummonCreature(NPC_CRYPT_GUARD, cryptguardPositions[1], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct boss_anubrekhanAI : public BossAI
|
void Reset() override
|
||||||
{
|
{
|
||||||
boss_anubrekhanAI(Creature* c) : BossAI(c, BOSS_ANUB)
|
BossAI::Reset();
|
||||||
{
|
SummonCryptGuards();
|
||||||
sayGreet = false;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
void SummonCryptGuards()
|
void JustSummoned(Creature* cr) override
|
||||||
{
|
{
|
||||||
if (Is25ManRaid())
|
if (me->IsInCombat())
|
||||||
{
|
|
||||||
me->SummonCreature(NPC_CRYPT_GUARD, 3299.732f, -3502.489f, 287.077f, 2.378f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
|
|
||||||
me->SummonCreature(NPC_CRYPT_GUARD, 3299.086f, -3450.929f, 287.077f, 3.999f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void Reset() override
|
|
||||||
{
|
|
||||||
BossAI::Reset();
|
|
||||||
SummonCryptGuards();
|
|
||||||
me->m_Events.KillAllEvents(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
void JustSummoned(Creature* cr) override
|
|
||||||
{
|
|
||||||
if (me->IsInCombat())
|
|
||||||
{
|
|
||||||
cr->SetInCombatWithZone();
|
|
||||||
if (cr->GetEntry() == NPC_CRYPT_GUARD)
|
|
||||||
cr->AI()->Talk(EMOTE_SPAWN, me);
|
|
||||||
}
|
|
||||||
summons.Summon(cr);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SummonedCreatureDies(Creature* cr, Unit*) override
|
|
||||||
{
|
{
|
||||||
|
cr->SetInCombatWithZone();
|
||||||
if (cr->GetEntry() == NPC_CRYPT_GUARD)
|
if (cr->GetEntry() == NPC_CRYPT_GUARD)
|
||||||
{
|
cr->AI()->Talk(EMOTE_SPAWN, me);
|
||||||
cr->CastSpell(cr, SPELL_SUMMON_CORPSE_SCRABS_10, true, nullptr, nullptr, me->GetGUID());
|
|
||||||
cr->AI()->Talk(EMOTE_SCARAB);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
summons.Summon(cr);
|
||||||
|
}
|
||||||
|
|
||||||
void JustDied(Unit* killer) override
|
void SummonedCreatureDies(Creature* summon, Unit* /*killer*/) override
|
||||||
|
{
|
||||||
|
if (summon->GetEntry() == NPC_CRYPT_GUARD)
|
||||||
{
|
{
|
||||||
BossAI::JustDied(killer);
|
summon->CastSpell(summon, SPELL_SUMMON_CORPSE_SCARABS_10, true, nullptr, nullptr, me->GetGUID());
|
||||||
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
|
summon->AI()->Talk(EMOTE_SCARAB);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void KilledUnit(Unit* victim) override
|
void JustDied(Unit* killer) override
|
||||||
|
{
|
||||||
|
BossAI::JustDied(killer);
|
||||||
|
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void KilledUnit(Unit* victim) override
|
||||||
|
{
|
||||||
|
if (!victim->IsPlayer())
|
||||||
|
return;
|
||||||
|
|
||||||
|
Talk(SAY_SLAY);
|
||||||
|
victim->CastSpell(victim, SPELL_SUMMON_CORPSE_SCARABS_5, true, nullptr, nullptr, me->GetGUID());
|
||||||
|
instance->StorePersistentData(PERSISTENT_DATA_IMMORTAL_FAIL, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void JustEngagedWith(Unit* who) override
|
||||||
|
{
|
||||||
|
BossAI::JustEngagedWith(who);
|
||||||
|
me->CallForHelp(30.0f);
|
||||||
|
Talk(SAY_AGGRO);
|
||||||
|
|
||||||
|
if (!summons.HasEntry(NPC_CRYPT_GUARD))
|
||||||
|
SummonCryptGuards();
|
||||||
|
if (!Is25ManRaid())
|
||||||
{
|
{
|
||||||
if (!victim->IsPlayer())
|
ScheduleUniqueTimedEvent(17500ms, [&] {
|
||||||
return;
|
me->SummonCreature(NPC_CRYPT_GUARD, cryptguardPositions[2], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
|
||||||
|
}, EVENT_SPAWN_CRYPT_GUARDS_1);
|
||||||
Talk(SAY_SLAY);
|
|
||||||
victim->CastSpell(victim, SPELL_SUMMON_CORPSE_SCRABS_5, true, nullptr, nullptr, me->GetGUID());
|
|
||||||
instance->StorePersistentData(PERSISTENT_DATA_IMMORTAL_FAIL, 1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustEngagedWith(Unit* who) override
|
ScheduleTimedEvent(15s, [&] {
|
||||||
|
DoCastRandomTarget(SPELL_IMPALE);
|
||||||
|
}, 20s);
|
||||||
|
|
||||||
|
ScheduleTimedEvent(70s, 2min, [&] {
|
||||||
|
Talk(EMOTE_LOCUST);
|
||||||
|
DoCastSelf(SPELL_LOCUST_SWARM);
|
||||||
|
|
||||||
|
scheduler.Schedule(3s, [this](TaskContext /*context*/) {
|
||||||
|
me->SummonCreature(NPC_CRYPT_GUARD, cryptguardPositions[2], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
|
||||||
|
});
|
||||||
|
}, 90s);
|
||||||
|
|
||||||
|
ScheduleEnrageTimer(SPELL_BERSERK, 10min);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MoveInLineOfSight(Unit* who) override
|
||||||
|
{
|
||||||
|
if (!_sayGreet && who->IsPlayer())
|
||||||
{
|
{
|
||||||
BossAI::JustEngagedWith(who);
|
Talk(SAY_GREET);
|
||||||
me->CallForHelp(30.0f);
|
_sayGreet = true;
|
||||||
Talk(SAY_AGGRO);
|
|
||||||
|
|
||||||
if (!summons.HasEntry(NPC_CRYPT_GUARD))
|
|
||||||
SummonCryptGuards();
|
|
||||||
if (!Is25ManRaid())
|
|
||||||
{
|
|
||||||
me->m_Events.AddEventAtOffset([&]
|
|
||||||
{
|
|
||||||
me->SummonCreature(NPC_CRYPT_GUARD, 3331.217f, -3476.607f, 287.074f, 3.269f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
|
|
||||||
}, Milliseconds(urand(15000, 20000)));
|
|
||||||
}
|
|
||||||
|
|
||||||
ScheduleTimedEvent(15s, [&] {
|
|
||||||
DoCastRandomTarget(SPELL_IMPALE);
|
|
||||||
}, 20s);
|
|
||||||
|
|
||||||
ScheduleTimedEvent(70s, 2min, [&] {
|
|
||||||
Talk(EMOTE_LOCUST);
|
|
||||||
DoCastSelf(SPELL_LOCUST_SWARM);
|
|
||||||
|
|
||||||
me->m_Events.AddEventAtOffset([&]
|
|
||||||
{
|
|
||||||
me->SummonCreature(NPC_CRYPT_GUARD, 3331.217f, -3476.607f, 287.074f, 3.269f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
|
|
||||||
}, 3s);
|
|
||||||
|
|
||||||
}, 90s);
|
|
||||||
|
|
||||||
me->m_Events.AddEventAtOffset([&]
|
|
||||||
{
|
|
||||||
DoCastSelf(SPELL_BERSERK, true);
|
|
||||||
}, 10min);
|
|
||||||
}
|
}
|
||||||
|
BossAI::MoveInLineOfSight(who);
|
||||||
|
}
|
||||||
|
|
||||||
void MoveInLineOfSight(Unit* who) override
|
private:
|
||||||
{
|
bool _sayGreet{false};
|
||||||
if (!sayGreet && who->IsPlayer())
|
|
||||||
{
|
|
||||||
Talk(SAY_GREET);
|
|
||||||
sayGreet = true;
|
|
||||||
}
|
|
||||||
ScriptedAI::MoveInLineOfSight(who);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
bool sayGreet;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void AddSC_boss_anubrekhan()
|
void AddSC_boss_anubrekhan()
|
||||||
{
|
{
|
||||||
new boss_anubrekhan();
|
RegisterNaxxramasCreatureAI(boss_anubrekhan);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -464,6 +464,19 @@ public:
|
|||||||
go->SetGoState(GO_STATE_ACTIVE);
|
go->SetGoState(GO_STATE_ACTIVE);
|
||||||
|
|
||||||
gateOpened = true;
|
gateOpened = true;
|
||||||
|
summons.DoForAllSummons([&](WorldObject* summon)
|
||||||
|
{
|
||||||
|
if (Creature* gothikMinion = summon->ToCreature())
|
||||||
|
if (gothikMinion->IsAlive())
|
||||||
|
{
|
||||||
|
if (Unit* target = SelectTarget(SelectTargetMethod::MinDistance, 0, 200.0f))
|
||||||
|
{
|
||||||
|
gothikMinion->AI()->AttackStart(target);
|
||||||
|
gothikMinion->SetReactState(REACT_AGGRESSIVE);
|
||||||
|
gothikMinion->SetInCombatWithZone();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
Talk(EMOTE_GATE_OPENED);
|
Talk(EMOTE_GATE_OPENED);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -146,6 +146,9 @@ enum NaxxramasGameObjectsDisplayId
|
|||||||
|
|
||||||
enum NaxxramasCreatureId
|
enum NaxxramasCreatureId
|
||||||
{
|
{
|
||||||
|
// Anub'Rekhan
|
||||||
|
NPC_CRYPT_GUARD = 16573,
|
||||||
|
|
||||||
// Patchwerk
|
// Patchwerk
|
||||||
NPC_PATCHWERK = 16028,
|
NPC_PATCHWERK = 16028,
|
||||||
NPC_PATCHWORK_GOLEM = 16017,
|
NPC_PATCHWORK_GOLEM = 16017,
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ enum Spells
|
|||||||
SPELL_ARCANE_MAGUS_SUMMON = 47708,
|
SPELL_ARCANE_MAGUS_SUMMON = 47708,
|
||||||
|
|
||||||
SPELL_FIRE_MAGUS_DEATH = 47711,
|
SPELL_FIRE_MAGUS_DEATH = 47711,
|
||||||
|
SPELL_FROST_MAGUS_DEATH = 47712,
|
||||||
SPELL_ARCANE_MAGUS_DEATH = 47713,
|
SPELL_ARCANE_MAGUS_DEATH = 47713,
|
||||||
|
|
||||||
SPELL_WEAR_CHRISTMAS_HAT = 61400
|
SPELL_WEAR_CHRISTMAS_HAT = 61400
|
||||||
@@ -83,13 +84,11 @@ struct boss_magus_telestra : public BossAI
|
|||||||
{
|
{
|
||||||
boss_magus_telestra(Creature* creature) : BossAI(creature, DATA_MAGUS_TELESTRA_EVENT) { }
|
boss_magus_telestra(Creature* creature) : BossAI(creature, DATA_MAGUS_TELESTRA_EVENT) { }
|
||||||
|
|
||||||
uint8 copiesDied;
|
|
||||||
bool achievement;
|
bool achievement;
|
||||||
|
|
||||||
void Reset() override
|
void Reset() override
|
||||||
{
|
{
|
||||||
BossAI::Reset();
|
BossAI::Reset();
|
||||||
copiesDied = 0;
|
|
||||||
achievement = true;
|
achievement = true;
|
||||||
|
|
||||||
if (IsHeroic() && sGameEventMgr->IsActiveEvent(GAME_EVENT_WINTER_VEIL) && !me->HasAura(SPELL_WEAR_CHRISTMAS_HAT))
|
if (IsHeroic() && sGameEventMgr->IsActiveEvent(GAME_EVENT_WINTER_VEIL) && !me->HasAura(SPELL_WEAR_CHRISTMAS_HAT))
|
||||||
@@ -152,9 +151,8 @@ struct boss_magus_telestra : public BossAI
|
|||||||
events.ScheduleEvent(EVENT_MAGUS_FAIL_ACHIEVEMENT, 5s);
|
events.ScheduleEvent(EVENT_MAGUS_FAIL_ACHIEVEMENT, 5s);
|
||||||
caster->ToCreature()->DespawnOrUnsummon(1s);
|
caster->ToCreature()->DespawnOrUnsummon(1s);
|
||||||
|
|
||||||
if (++copiesDied >= 3)
|
if (me->HasAura(SPELL_FIRE_MAGUS_DEATH) && me->HasAura(SPELL_FROST_MAGUS_DEATH) && me->HasAura(SPELL_ARCANE_MAGUS_DEATH))
|
||||||
{
|
{
|
||||||
copiesDied = 0;
|
|
||||||
events.CancelEvent(EVENT_MAGUS_FAIL_ACHIEVEMENT);
|
events.CancelEvent(EVENT_MAGUS_FAIL_ACHIEVEMENT);
|
||||||
events.ScheduleEvent(EVENT_MAGUS_MERGED, 5s);
|
events.ScheduleEvent(EVENT_MAGUS_MERGED, 5s);
|
||||||
me->CastSpell(me, SPELL_BURNING_WINDS, true);
|
me->CastSpell(me, SPELL_BURNING_WINDS, true);
|
||||||
@@ -168,13 +166,14 @@ struct boss_magus_telestra : public BossAI
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
events.Update(diff);
|
events.Update(diff);
|
||||||
if (me->HasUnitState(UNIT_STATE_CASTING))
|
if (me->HasUnitState(UNIT_STATE_CASTING) ||
|
||||||
|
(me->HasUnitState(UNIT_STATE_STUNNED) && !me->HasAura(SPELL_START_SUMMON_CLONES))) // Reflected Ice Nova can stun her as its mechanic bypasses immunities
|
||||||
return;
|
return;
|
||||||
|
|
||||||
switch (events.ExecuteEvent())
|
switch (events.ExecuteEvent())
|
||||||
{
|
{
|
||||||
case EVENT_MAGUS_HEALTH1:
|
case EVENT_MAGUS_HEALTH1:
|
||||||
if (me->HealthBelowPct(51))
|
if (me->HealthBelowPct(51) && me->HealthAbovePct(11))
|
||||||
{
|
{
|
||||||
me->CastSpell(me, SPELL_START_SUMMON_CLONES, false);
|
me->CastSpell(me, SPELL_START_SUMMON_CLONES, false);
|
||||||
events.ScheduleEvent(EVENT_MAGUS_RELOCATE, 3500ms);
|
events.ScheduleEvent(EVENT_MAGUS_RELOCATE, 3500ms);
|
||||||
|
|||||||
@@ -32,6 +32,11 @@ ObjectData const creatureData[] =
|
|||||||
{ 0, 0 }
|
{ 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
BossBoundaryData const boundaries =
|
||||||
|
{
|
||||||
|
{ BOSS_SJONNIR, new RectangleBoundary(1206.56f, 1341.4185f, 579.9434f, 753.9599f) }
|
||||||
|
};
|
||||||
|
|
||||||
class instance_halls_of_stone : public InstanceMapScript
|
class instance_halls_of_stone : public InstanceMapScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -72,6 +77,7 @@ public:
|
|||||||
SetBossNumber(MAX_ENCOUNTER);
|
SetBossNumber(MAX_ENCOUNTER);
|
||||||
LoadObjectData(creatureData, nullptr);
|
LoadObjectData(creatureData, nullptr);
|
||||||
LoadSummonData(summonData);
|
LoadSummonData(summonData);
|
||||||
|
LoadBossBoundaries(boundaries);
|
||||||
memset(&Encounter, 0, sizeof(Encounter));
|
memset(&Encounter, 0, sizeof(Encounter));
|
||||||
|
|
||||||
brannAchievement = false;
|
brannAchievement = false;
|
||||||
|
|||||||
@@ -2314,6 +2314,26 @@ class spell_dk_army_of_the_dead_passive : public AuraScript
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// -49182 Blade Barrier
|
||||||
|
class spell_dk_blade_barrier : public AuraScript
|
||||||
|
{
|
||||||
|
PrepareAuraScript(spell_dk_blade_barrier);
|
||||||
|
|
||||||
|
bool CheckProc(ProcEventInfo& /*eventInfo*/)
|
||||||
|
{
|
||||||
|
if (Player* player = GetCaster()->ToPlayer())
|
||||||
|
if (player->getClass() == CLASS_DEATH_KNIGHT && player->IsBaseRuneSlotsOnCooldown(RUNE_BLOOD))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Register() override
|
||||||
|
{
|
||||||
|
DoCheckProc += AuraCheckProcFn(spell_dk_blade_barrier::CheckProc);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
void AddSC_deathknight_spell_scripts()
|
void AddSC_deathknight_spell_scripts()
|
||||||
{
|
{
|
||||||
RegisterSpellScript(spell_dk_wandering_plague);
|
RegisterSpellScript(spell_dk_wandering_plague);
|
||||||
@@ -2362,4 +2382,5 @@ void AddSC_deathknight_spell_scripts()
|
|||||||
RegisterSpellScript(spell_dk_will_of_the_necropolis);
|
RegisterSpellScript(spell_dk_will_of_the_necropolis);
|
||||||
RegisterSpellScript(spell_dk_ghoul_thrash);
|
RegisterSpellScript(spell_dk_ghoul_thrash);
|
||||||
RegisterSpellScript(spell_dk_army_of_the_dead_passive);
|
RegisterSpellScript(spell_dk_army_of_the_dead_passive);
|
||||||
|
RegisterSpellScript(spell_dk_blade_barrier);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1015,6 +1015,8 @@ struct FactionTemplateEntry
|
|||||||
return (hostileMask & entry.ourMask) != 0;
|
return (hostileMask & entry.ourMask) != 0;
|
||||||
}
|
}
|
||||||
[[nodiscard]] bool IsHostileToPlayers() const { return (hostileMask & FACTION_MASK_PLAYER) != 0; }
|
[[nodiscard]] bool IsHostileToPlayers() const { return (hostileMask & FACTION_MASK_PLAYER) != 0; }
|
||||||
|
[[nodiscard]] bool IsHostileToAlliancePlayers() const { return (hostileMask & FACTION_MASK_ALLIANCE) != 0; }
|
||||||
|
[[nodiscard]] bool IsHostileToHordePlayers() const { return (hostileMask & FACTION_MASK_HORDE) != 0; }
|
||||||
[[nodiscard]] bool IsNeutralToAll() const
|
[[nodiscard]] bool IsNeutralToAll() const
|
||||||
{
|
{
|
||||||
for (unsigned int i : enemyFaction)
|
for (unsigned int i : enemyFaction)
|
||||||
|
|||||||
Reference in New Issue
Block a user