20250225合并操作1
This commit is contained in:
parent
560e3fc322
commit
ec320fee20
5
data/sql/updates/db_auth/2025_02_16_00.sql
Normal file
5
data/sql/updates/db_auth/2025_02_16_00.sql
Normal file
@ -0,0 +1,5 @@
|
||||
-- DB update 2025_01_26_00 -> 2025_02_16_00
|
||||
--
|
||||
ALTER TABLE `autobroadcast_locale`
|
||||
DROP PRIMARY KEY,
|
||||
ADD PRIMARY KEY (`realmid`, `id`, `locale`);
|
||||
11
data/sql/updates/db_auth/2025_02_16_01.sql
Normal file
11
data/sql/updates/db_auth/2025_02_16_01.sql
Normal file
@ -0,0 +1,11 @@
|
||||
-- DB update 2025_02_16_00 -> 2025_02_16_01
|
||||
--
|
||||
ALTER TABLE `updates`
|
||||
CHANGE COLUMN `state` `state` ENUM('RELEASED','CUSTOM','MODULE','ARCHIVED','PENDING') NOT NULL DEFAULT 'RELEASED' COMMENT 'defines if an update is released or archived.' COLLATE 'utf8mb4_unicode_ci' AFTER `hash`;
|
||||
|
||||
ALTER TABLE `updates_include`
|
||||
CHANGE COLUMN `state` `state` ENUM('RELEASED','ARCHIVED','CUSTOM','PENDING') NOT NULL DEFAULT 'RELEASED' COMMENT 'defines if the directory contains released or archived updates.' COLLATE 'utf8mb4_unicode_ci' AFTER `path`;
|
||||
|
||||
DELETE FROM `updates_include` WHERE `path` = '$/data/sql/updates/pending_db_auth';
|
||||
INSERT INTO `updates_include` (`path`, `state`) VALUES
|
||||
('$/data/sql/updates/pending_db_auth', 'PENDING');
|
||||
11
data/sql/updates/db_characters/2025_02_16_00.sql
Normal file
11
data/sql/updates/db_characters/2025_02_16_00.sql
Normal file
@ -0,0 +1,11 @@
|
||||
-- DB update 2025_02_12_00 -> 2025_02_16_00
|
||||
--
|
||||
ALTER TABLE `updates`
|
||||
CHANGE COLUMN `state` `state` ENUM('RELEASED','CUSTOM','MODULE','ARCHIVED','PENDING') NOT NULL DEFAULT 'RELEASED' COMMENT 'defines if an update is released or archived.' COLLATE 'utf8mb4_unicode_ci' AFTER `hash`;
|
||||
|
||||
ALTER TABLE `updates_include`
|
||||
CHANGE COLUMN `state` `state` ENUM('RELEASED','ARCHIVED','CUSTOM','PENDING') NOT NULL DEFAULT 'RELEASED' COMMENT 'defines if the directory contains released or archived updates.' COLLATE 'utf8mb4_unicode_ci' AFTER `path`;
|
||||
|
||||
DELETE FROM `updates_include` WHERE `path` = '$/data/sql/updates/pending_db_characters';
|
||||
INSERT INTO `updates_include` (`path`, `state`) VALUES
|
||||
('$/data/sql/updates/pending_db_characters', 'PENDING');
|
||||
77
data/sql/updates/db_world/2025_02_16_00.sql
Normal file
77
data/sql/updates/db_world/2025_02_16_00.sql
Normal file
@ -0,0 +1,77 @@
|
||||
-- DB update 2025_02_15_02 -> 2025_02_16_00
|
||||
|
||||
-- Chillmere Tidehunter
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 24460;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 24460);
|
||||
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
|
||||
(24460, 0, 0, 0, 9, 0, 100, 0, 5000, 10000, 10000, 15000, 0, 5, 11, 6533, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Chillmere Tidehunter - Within 0-5 Range - Cast \'Net\''),
|
||||
(24460, 0, 2, 0, 9, 0, 100, 0, 1000, 2000, 1000, 2000, 5, 30, 11, 38556, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Chillmere Tidehunter - Within 5-30 Range - Cast \'Throw\'');
|
||||
|
||||
-- Chillmere Coastrunner
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 24459;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 24459);
|
||||
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
|
||||
(24459, 0, 0, 0, 0, 0, 100, 0, 6000, 12000, 12000, 18000, 0, 0, 11, 14874, 32, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Chillmere Coastrunner - In Combat - Cast \'Rupture\''),
|
||||
(24459, 0, 1, 0, 0, 0, 100, 0, 12000, 18000, 8000, 16000, 0, 0, 11, 28428, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Chillmere Coastrunner - In Combat - Cast \'Instant Poison\'');
|
||||
|
||||
-- Chillmere Oracle
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 24461;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 24461);
|
||||
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
|
||||
(24461, 0, 0, 0, 9, 0, 100, 0, 1000, 2000, 8000, 45000, 0, 5, 11, 11831, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Chillmere Oracle - Within 0-5 Range - Cast \'Frost Nova\''),
|
||||
(24461, 0, 1, 0, 0, 0, 100, 0, 4000, 8000, 12000, 18000, 0, 0, 11, 49935, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Chillmere Oracle - In Combat - Cast \'Hex of the Murloc\''),
|
||||
(24461, 0, 2, 0, 0, 0, 100, 0, 8000, 12000, 8000, 12000, 0, 0, 11, 49906, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Chillmere Oracle - In Combat - Cast \'Ice Lance\'');
|
||||
|
||||
-- Rotgill
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 24546;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 24546);
|
||||
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
|
||||
(24546, 0, 0, 0, 0, 0, 100, 0, 2000, 4000, 2000, 12000, 0, 0, 11, 49956, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Rotgill - In Combat - Cast \'Searing Wound\''),
|
||||
(24546, 0, 1, 0, 2, 0, 100, 0, 0, 25, 0, 0, 0, 0, 11, 8599, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Rotgill - Between 0-25% Health - Cast \'Enrage\'');
|
||||
|
||||
-- Reef Cow
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 24797;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 24797);
|
||||
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
|
||||
(24797, 0, 0, 0, 0, 0, 100, 0, 4000, 6000, 6000, 16000, 0, 0, 11, 50169, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Reef Cow - In Combat - Cast \'Flipper Thwack\'');
|
||||
|
||||
-- Blood Shade
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 24872;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 24872);
|
||||
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
|
||||
(24872, 0, 0, 0, 0, 0, 100, 0, 4000, 12000, 4000, 12000, 0, 0, 11, 49843, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Blood Shade - In Combat - Cast \'Vexed Blood of the Ancestors\'');
|
||||
|
||||
-- Risen Vrykul Ancestor
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 24871;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 24871);
|
||||
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
|
||||
(24871, 0, 0, 0, 0, 0, 100, 0, 10000, 30000, 30000, 60000, 0, 0, 11, 49841, 32, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Risen Vrykul Ancestor - In Combat - Cast \'Perturbing Strike\'');
|
||||
|
||||
-- Onslaught Infantry
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 27330;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 27330);
|
||||
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
|
||||
(27330, 0, 0, 0, 0, 0, 100, 0, 2000, 4000, 2000, 4000, 0, 0, 11, 50713, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Onslaught Infantry - In Combat - Cast \'Unrelenting Onslaught\'');
|
||||
|
||||
-- Forgotten Captain
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 27220;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 27220);
|
||||
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
|
||||
(27220, 0, 0, 0, 0, 0, 100, 0, 6000, 9000, 8000, 12000, 0, 0, 11, 51591, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Forgotten Captain - In Combat - Cast \'Stormhammer\'');
|
||||
|
||||
-- Old Crystalbark
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 32357;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 32357);
|
||||
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
|
||||
(32357, 0, 0, 0, 0, 0, 100, 0, 3700, 16200, 19200, 28000, 0, 0, 11, 50506, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Old Crystalbark - In Combat - Cast \'Mark of Detonation\''),
|
||||
(32357, 0, 1, 0, 0, 0, 100, 0, 1625, 8100, 9600, 14000, 0, 0, 11, 60903, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Old Crystalbark - In Combat - Cast \'Arcane Breath\'');
|
||||
11
data/sql/updates/db_world/2025_02_16_01.sql
Normal file
11
data/sql/updates/db_world/2025_02_16_01.sql
Normal file
@ -0,0 +1,11 @@
|
||||
-- DB update 2025_02_16_00 -> 2025_02_16_01
|
||||
--
|
||||
ALTER TABLE `updates`
|
||||
CHANGE COLUMN `state` `state` ENUM('RELEASED','CUSTOM','MODULE','ARCHIVED','PENDING') NOT NULL DEFAULT 'RELEASED' COMMENT 'defines if an update is released or archived.' COLLATE 'utf8mb4_unicode_ci' AFTER `hash`;
|
||||
|
||||
ALTER TABLE `updates_include`
|
||||
CHANGE COLUMN `state` `state` ENUM('RELEASED','ARCHIVED','CUSTOM','PENDING') NOT NULL DEFAULT 'RELEASED' COMMENT 'defines if the directory contains released or archived updates.' COLLATE 'utf8mb4_unicode_ci' AFTER `path`;
|
||||
|
||||
DELETE FROM `updates_include` WHERE `path` = '$/data/sql/updates/pending_db_world';
|
||||
INSERT INTO `updates_include` (`path`, `state`) VALUES
|
||||
('$/data/sql/updates/pending_db_world', 'PENDING');
|
||||
2
data/sql/updates/db_world/2025_02_16_02.sql
Normal file
2
data/sql/updates/db_world/2025_02_16_02.sql
Normal file
@ -0,0 +1,2 @@
|
||||
-- DB update 2025_02_16_01 -> 2025_02_16_02
|
||||
UPDATE `quest_template` SET `AllowableRaces` = 0 WHERE (`ID` = 11880);
|
||||
14
data/sql/updates/db_world/2025_02_16_03.sql
Normal file
14
data/sql/updates/db_world/2025_02_16_03.sql
Normal file
@ -0,0 +1,14 @@
|
||||
-- DB update 2025_02_16_02 -> 2025_02_16_03
|
||||
--
|
||||
SET @ZELIEK = 16063;
|
||||
UPDATE `creature_text` SET `Comment` = 'zeliek SAY_ZELI_DIALOG1' WHERE (`CreatureID` = @ZELIEK) AND (`GroupID` = 5);
|
||||
UPDATE `creature_text` SET `Comment` = 'zeliek SAY_ZELI_DIALOG2' WHERE (`CreatureID` = @ZELIEK) AND (`GroupID` = 6);
|
||||
SET @KORTHAZZ = 16064;
|
||||
UPDATE `creature_text` SET `Comment` = 'korthazz SAY_KORT_DIALOG1' WHERE (`CreatureID` = @KORTHAZZ) AND (`GroupID` = 5);
|
||||
UPDATE `creature_text` SET `Comment` = 'korthazz SAY_KORT_DIALOG2' WHERE (`CreatureID` = @KORTHAZZ) AND (`GroupID` = 6);
|
||||
SET @BLAUMEUX = 16065;
|
||||
UPDATE `creature_text` SET `Comment` = 'blaumeux SAY_BLAU_DIALOG1' WHERE (`CreatureID` = @BLAUMEUX) AND (`GroupID` = 5);
|
||||
UPDATE `creature_text` SET `Comment` = 'blaumeux SAY_BLAU_DIALOG2' WHERE (`CreatureID` = @BLAUMEUX) AND (`GroupID` = 6);
|
||||
SET @RIVENDARE = 30549;
|
||||
UPDATE `creature_text` SET `Comment` = 'rivendare SAY_RIVE_DIALOG1' WHERE (`CreatureID` = @RIVENDARE) AND (`GroupID` = 5);
|
||||
UPDATE `creature_text` SET `Comment` = 'rivendare SAY_RIVE_DIALOG2' WHERE (`CreatureID` = @RIVENDARE) AND (`GroupID` = 6);
|
||||
21
data/sql/updates/db_world/2025_02_18_00.sql
Normal file
21
data/sql/updates/db_world/2025_02_18_00.sql
Normal file
@ -0,0 +1,21 @@
|
||||
-- DB update 2025_02_16_03 -> 2025_02_18_00
|
||||
|
||||
-- Remove Wrong Spawns
|
||||
DELETE FROM `creature` WHERE `id1` = 28745;
|
||||
|
||||
-- Blight Cauldron Bunny 00 SmartAI
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 28739;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 28739);
|
||||
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
|
||||
(28739, 0, 0, 1, 8, 0, 100, 0, 52227, 0, 0, 0, 0, 0, 11, 52228, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Blight Cauldron Bunny 00 - On Spellhit \'Dilute Blight Cauldron\' - Cast \'Kill Credit\''),
|
||||
(28739, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 52231, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Blight Cauldron Bunny 00 - On Spellhit \'Dilute Blight Cauldron\' - Cast \'Cauldron Diluted Effect\''),
|
||||
(28739, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 12, 28745, 4, 30000, 0, 0, 0, 202, 20, 3, 1, 0, 0, 0, 0, 0, 'Blight Cauldron Bunny 00 - On Spellhit \'Dilute Blight Cauldron\' - Summon Creature \'Alarmed Blightguard\''),
|
||||
(28739, 0, 3, 0, 1, 0, 100, 512, 30000, 30000, 30000, 30000, 0, 0, 28, 52231, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Blight Cauldron Bunny 00 - Out of Combat - Remove Aura \'Cauldron Diluted Effect\'');
|
||||
|
||||
-- Set Random Movement for Alarmed Blightguard
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 28745;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 28745);
|
||||
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
|
||||
(28745, 0, 0, 0, 25, 0, 100, 0, 0, 0, 0, 0, 0, 0, 89, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Alarmed Blightguard - On Reset - Start Random Movement');
|
||||
7
data/sql/updates/db_world/2025_02_19_00.sql
Normal file
7
data/sql/updates/db_world/2025_02_19_00.sql
Normal file
@ -0,0 +1,7 @@
|
||||
-- DB update 2025_02_18_00 -> 2025_02_19_00
|
||||
--
|
||||
UPDATE `creature_template_addon` SET `auras` = '28305 8273 57989' WHERE (`entry` = 19668);
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id` = 57989 AND `ScriptName` = 'spell_pri_shadowfiend_death';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(57989, 'spell_pri_shadowfiend_death');
|
||||
UPDATE `creature_template` SET `ScriptName` = '' WHERE (`entry` = 19668);
|
||||
36
data/sql/updates/db_world/2025_02_19_01.sql
Normal file
36
data/sql/updates/db_world/2025_02_19_01.sql
Normal file
@ -0,0 +1,36 @@
|
||||
-- DB update 2025_02_19_00 -> 2025_02_19_01
|
||||
-- Bjorn Halgurdsson - Set position
|
||||
UPDATE `creature` SET `position_x` = 1518.61, `position_y` = -5249.85, `position_z` = 215.38, `orientation` = 5.41052, `VerifiedBuild` = 59069 WHERE `guid` = 112513 AND `id1` = 24238;
|
||||
|
||||
-- Bjorn Halgurdsson - Set speed_run
|
||||
UPDATE `creature_template` SET `speed_run` = 1.7435 WHERE (`entry` = 24238);
|
||||
|
||||
-- Bjorn Halgurdsson - Set mount
|
||||
DELETE FROM `creature_addon` WHERE (`guid` IN (112513));
|
||||
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
|
||||
(112513, 0, 22657, 0, 0, 0, 0, NULL);
|
||||
|
||||
-- Bjorn Halgurdsson - Set movement
|
||||
UPDATE `creature_template_movement` SET `Swim` = 0, `Flight` = 0 WHERE (`CreatureId` = 24238);
|
||||
|
||||
-- Bjorn Halgurdsson - SmartAI
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 24238;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 24238);
|
||||
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
|
||||
(24238, 0, 0, 0, 1, 0, 100, 0, 10000, 15000, 45000, 60000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - Out of Combat - Say Line 2'),
|
||||
(24238, 0, 1, 2, 8, 0, 100, 0, 43315, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - On Spellhit \'Vrykul Insult\' - Say Line 0'),
|
||||
(24238, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - On Spellhit \'Vrykul Insult\' - Say Line 1'),
|
||||
(24238, 0, 3, 4, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - On Spellhit \'Vrykul Insult\' - Dismount'),
|
||||
(24238, 0, 4, 5, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - On Spellhit \'Vrykul Insult\' - Set hover 0'),
|
||||
(24238, 0, 5, 6, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - On Spellhit \'Vrykul Insult\' - Set Fly Off'),
|
||||
(24238, 0, 6, 7, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - On Spellhit \'Vrykul Insult\' - Set Reactstate Aggressive'),
|
||||
(24238, 0, 7, 8, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 19, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - On Spellhit \'Vrykul Insult\' - Remove Flags Not Attackable'),
|
||||
(24238, 0, 8, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - On Spellhit \'Vrykul Insult\' - Start Attacking'),
|
||||
(24238, 0, 9, 0, 6, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 43371, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - On Just Died - Cast \'Bjorn Kill Credit\''),
|
||||
(24238, 0, 10, 0, 0, 0, 100, 0, 5000, 10000, 10000, 15000, 0, 0, 11, 32736, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - In Combat - Cast \'Mortal Strike\''),
|
||||
(24238, 0, 11, 0, 0, 0, 100, 0, 0, 5000, 10000, 15000, 0, 0, 11, 33661, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - In Combat - Cast \'Crush Armor\''),
|
||||
(24238, 0, 12, 13, 25, 0, 100, 512, 0, 0, 0, 0, 0, 0, 60, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - On Reset - Set Fly On'),
|
||||
(24238, 0, 13, 14, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 207, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - On Reset - Set hover 1'),
|
||||
(24238, 0, 14, 15, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - On Reset - Set Reactstate Passive'),
|
||||
(24238, 0, 15, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 18, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bjorn Halgurdsson - On Reset - Set Flags Not Attackable');
|
||||
112
data/sql/updates/db_world/2025_02_21_00.sql
Normal file
112
data/sql/updates/db_world/2025_02_21_00.sql
Normal file
@ -0,0 +1,112 @@
|
||||
-- DB update 2025_02_19_01 -> 2025_02_21_00
|
||||
DROP TABLE IF EXISTS `antidos_opcode_policies`;
|
||||
CREATE TABLE `antidos_opcode_policies` (
|
||||
`Opcode` smallint unsigned NOT NULL,
|
||||
`Policy` tinyint unsigned NOT NULL,
|
||||
`MaxAllowedCount` smallint unsigned NOT NULL,
|
||||
PRIMARY KEY (`Opcode`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
INSERT INTO `antidos_opcode_policies` (`Opcode`, `Policy`, `MaxAllowedCount`) VALUES
|
||||
(393, 1, 200),
|
||||
(404, 1, 200),
|
||||
(398, 1, 200),
|
||||
(102, 1, 200),
|
||||
(1217, 1, 200),
|
||||
(643, 1, 200),
|
||||
(642, 1, 200),
|
||||
(98, 1, 200),
|
||||
(1192, 1, 200),
|
||||
(1218, 1, 200),
|
||||
(238, 1, 200),
|
||||
(564, 1, 50),
|
||||
(565, 1, 50),
|
||||
(107, 1, 50),
|
||||
(1065, 1, 50),
|
||||
(999, 1, 50),
|
||||
(1131, 1, 50),
|
||||
(1153, 1, 50),
|
||||
(177, 1, 50),
|
||||
(450, 1, 50),
|
||||
(483, 1, 25),
|
||||
(1282, 1, 20),
|
||||
(1016, 1, 20),
|
||||
(1162, 1, 20),
|
||||
(1133, 1, 20),
|
||||
(448, 1, 10),
|
||||
(452, 1, 10),
|
||||
(638, 1, 10),
|
||||
(454, 1, 10),
|
||||
(1272, 1, 10),
|
||||
(1139, 1, 10),
|
||||
(1241, 1, 10),
|
||||
(56, 1, 10),
|
||||
(106, 1, 10),
|
||||
(105, 1, 10),
|
||||
(711, 1, 10),
|
||||
(810, 1, 10),
|
||||
(458, 1, 10),
|
||||
(120, 1, 10),
|
||||
(654, 1, 10),
|
||||
(655, 1, 10),
|
||||
(445, 1, 10),
|
||||
(1179, 1, 10),
|
||||
(1143, 1, 10),
|
||||
(1144, 1, 10),
|
||||
(1145, 1, 10),
|
||||
(1142, 1, 10),
|
||||
(1193, 1, 10),
|
||||
(1204, 1, 10),
|
||||
(839, 1, 10),
|
||||
(467, 1, 10),
|
||||
(996, 1, 10),
|
||||
(600, 4, 5),
|
||||
(612, 4, 5),
|
||||
(601, 4, 5),
|
||||
(54, 1, 3),
|
||||
(55, 1, 3),
|
||||
(517, 1, 3),
|
||||
(519, 1, 3),
|
||||
(535, 1, 3),
|
||||
(1264, 1, 3),
|
||||
(1069, 1, 3),
|
||||
(1070, 1, 3),
|
||||
(1071, 1, 3),
|
||||
(1072, 1, 3),
|
||||
(1073, 1, 3),
|
||||
(1210, 1, 3),
|
||||
(1074, 1, 3),
|
||||
(1075, 1, 3),
|
||||
(1077, 1, 3),
|
||||
(847, 1, 3),
|
||||
(849, 1, 3),
|
||||
(850, 1, 3),
|
||||
(851, 1, 3),
|
||||
(853, 1, 3),
|
||||
(852, 1, 3),
|
||||
(854, 1, 3),
|
||||
(122, 1, 3),
|
||||
(130, 1, 3),
|
||||
(132, 1, 3),
|
||||
(133, 1, 3),
|
||||
(141, 1, 3),
|
||||
(143, 1, 3),
|
||||
(144, 1, 3),
|
||||
(145, 1, 3),
|
||||
(561, 1, 3),
|
||||
(562, 1, 3),
|
||||
(563, 1, 3),
|
||||
(764, 1, 3),
|
||||
(1004, 1, 3),
|
||||
(1005, 1, 3),
|
||||
(1002, 1, 3),
|
||||
(1003, 1, 3),
|
||||
(1035, 1, 3),
|
||||
(497, 1, 3),
|
||||
(705, 1, 3),
|
||||
(682, 1, 3),
|
||||
(809, 1, 3),
|
||||
(1259, 1, 3),
|
||||
(910, 1, 3),
|
||||
(802, 1, 3),
|
||||
(1203, 1, 150);
|
||||
8
data/sql/updates/db_world/2025_02_21_01.sql
Normal file
8
data/sql/updates/db_world/2025_02_21_01.sql
Normal file
@ -0,0 +1,8 @@
|
||||
-- DB update 2025_02_21_00 -> 2025_02_21_01
|
||||
--
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN
|
||||
('spell_eredar_twins_handle_dark_touched_periodic', 'spell_eredar_twins_handle_flame_touched_periodic', 'spell_eredar_twins_handle_flame_touched_flame_sear');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(45342, 'spell_eredar_twins_handle_flame_touched_periodic'),
|
||||
(45271, 'spell_eredar_twins_handle_dark_touched_periodic'),
|
||||
(46771, 'spell_eredar_twins_handle_flame_touched_flame_sear');
|
||||
5
data/sql/updates/db_world/2025_02_21_02.sql
Normal file
5
data/sql/updates/db_world/2025_02_21_02.sql
Normal file
@ -0,0 +1,5 @@
|
||||
-- DB update 2025_02_21_01 -> 2025_02_21_02
|
||||
--
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 24666) AND (`source_type` = 0) AND (`id` IN (4));
|
||||
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
|
||||
(24666, 0, 4, 0, 37, 0, 100, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Flame Strike Trigger (Kael - 5Man) - On Initialize - Set Reactstate Passive');
|
||||
4
data/sql/updates/db_world/2025_02_21_03.sql
Normal file
4
data/sql/updates/db_world/2025_02_21_03.sql
Normal file
@ -0,0 +1,4 @@
|
||||
-- DB update 2025_02_21_02 -> 2025_02_21_03
|
||||
--
|
||||
UPDATE `creature_onkill_reputation` SET `RewOnKillRepValue1` = 120 WHERE (`creature_id` = 24664);
|
||||
UPDATE `creature_onkill_reputation` SET `MaxStanding1` = 7 WHERE `creature_id` IN (24723, 24560, 24664, 24744);
|
||||
3
data/sql/updates/db_world/2025_02_22_00.sql
Normal file
3
data/sql/updates/db_world/2025_02_22_00.sql
Normal file
@ -0,0 +1,3 @@
|
||||
-- DB update 2025_02_21_03 -> 2025_02_22_00
|
||||
--
|
||||
UPDATE `creature_template_movement` SET `Flight` = 2 WHERE `CreatureId` = 24418;
|
||||
3
data/sql/updates/db_world/2025_02_24_00.sql
Normal file
3
data/sql/updates/db_world/2025_02_24_00.sql
Normal file
@ -0,0 +1,3 @@
|
||||
-- DB update 2025_02_22_00 -> 2025_02_24_00
|
||||
--
|
||||
UPDATE `creature_template` SET `flags_extra` = `flags_extra`|512|2147483648 WHERE `entry` = 25038;
|
||||
76
src/server/game/Globals/WorldGlobals.cpp
Normal file
76
src/server/game/Globals/WorldGlobals.cpp
Normal file
@ -0,0 +1,76 @@
|
||||
/*
|
||||
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Affero General Public License as published by the
|
||||
* Free Software Foundation; either version 3 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "DatabaseEnv.h"
|
||||
#include "Log.h"
|
||||
#include "QueryResult.h"
|
||||
#include "Timer.h"
|
||||
#include "WorldGlobals.h"
|
||||
|
||||
WorldGlobals* WorldGlobals::instance()
|
||||
{
|
||||
static WorldGlobals instance;
|
||||
return &instance;
|
||||
}
|
||||
|
||||
void WorldGlobals::LoadAntiDosOpcodePolicies()
|
||||
{
|
||||
uint32 oldMSTime = getMSTime();
|
||||
|
||||
_antiDosOpcodePolicies = {};
|
||||
|
||||
QueryResult result = WorldDatabase.Query("SELECT Opcode, Policy, MaxAllowedCount FROM antidos_opcode_policies");
|
||||
if (!result)
|
||||
{
|
||||
LOG_WARN("server.loading", ">> Loaded 0 AntiDos Opcode Policies. DB table `antidos_opcode_policies` is empty!");
|
||||
LOG_INFO("server.loading", " ");
|
||||
return;
|
||||
}
|
||||
|
||||
uint32 count = 0;
|
||||
|
||||
do
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
|
||||
uint16 opcode = fields[0].Get<uint16>();
|
||||
if (opcode >= NUM_OPCODE_HANDLERS)
|
||||
{
|
||||
LOG_ERROR("server.loading", "Unkown opcode {} in table `antidos_opcode_policies`, skipping.", opcode);
|
||||
continue;
|
||||
}
|
||||
|
||||
std::unique_ptr<AntiDosOpcodePolicy> policy = std::make_unique<AntiDosOpcodePolicy>();
|
||||
policy->Policy = fields[1].Get<uint8>();
|
||||
policy->MaxAllowedCount = fields[2].Get<uint16>();
|
||||
|
||||
_antiDosOpcodePolicies[opcode] = std::move(policy);
|
||||
|
||||
++count;
|
||||
} while (result->NextRow());
|
||||
|
||||
LOG_INFO("server.loading", ">> Loaded {} AntiDos Opcode Policies in {} ms", count, GetMSTimeDiffToNow(oldMSTime));
|
||||
LOG_INFO("server.loading", " ");
|
||||
}
|
||||
|
||||
AntiDosOpcodePolicy const* WorldGlobals::GetAntiDosPolicyForOpcode(uint16 opcode)
|
||||
{
|
||||
if (opcode >= NUM_OPCODE_HANDLERS)
|
||||
return nullptr;
|
||||
|
||||
return _antiDosOpcodePolicies[opcode].get();
|
||||
}
|
||||
44
src/server/game/Globals/WorldGlobals.h
Normal file
44
src/server/game/Globals/WorldGlobals.h
Normal file
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Affero General Public License as published by the
|
||||
* Free Software Foundation; either version 3 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __WORLDGLOBALS_H
|
||||
#define __WORLDGLOBALS_H
|
||||
|
||||
#include "Common.h"
|
||||
#include "Opcodes.h"
|
||||
|
||||
struct AntiDosOpcodePolicy
|
||||
{
|
||||
uint8 Policy;
|
||||
uint16 MaxAllowedCount;
|
||||
};
|
||||
|
||||
class WorldGlobals
|
||||
{
|
||||
public:
|
||||
static WorldGlobals* instance();
|
||||
|
||||
void LoadAntiDosOpcodePolicies();
|
||||
AntiDosOpcodePolicy const* GetAntiDosPolicyForOpcode(uint16 opcode);
|
||||
|
||||
private:
|
||||
std::array<std::unique_ptr<AntiDosOpcodePolicy>, NUM_OPCODE_HANDLERS> _antiDosOpcodePolicies;
|
||||
};
|
||||
|
||||
#define sWorldGlobals WorldGlobals::instance()
|
||||
|
||||
#endif
|
||||
58
src/server/game/Scripting/ScriptDefines/TicketScript.cpp
Normal file
58
src/server/game/Scripting/ScriptDefines/TicketScript.cpp
Normal file
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Affero General Public License as published by the
|
||||
* Free Software Foundation; either version 3 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "TicketScript.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "ScriptMgrMacros.h"
|
||||
|
||||
void ScriptMgr::OnTicketCreate(GmTicket* ticket)
|
||||
{
|
||||
CALL_ENABLED_HOOKS(TicketScript, TICKETHOOK_ON_TICKET_CREATE, script->OnTicketCreate(ticket));
|
||||
}
|
||||
|
||||
void ScriptMgr::OnTicketUpdateLastChange(GmTicket* ticket)
|
||||
{
|
||||
CALL_ENABLED_HOOKS(TicketScript, TICKETHOOK_ON_TICKET_UPDATE_LAST_CHANGE, script->OnTicketUpdateLastChange(ticket));
|
||||
}
|
||||
|
||||
void ScriptMgr::OnTicketClose(GmTicket* ticket)
|
||||
{
|
||||
CALL_ENABLED_HOOKS(TicketScript, TICKETHOOK_ON_TICKET_CLOSE, script->OnTicketClose(ticket));
|
||||
}
|
||||
|
||||
void ScriptMgr::OnTicketStatusUpdate(GmTicket* ticket)
|
||||
{
|
||||
CALL_ENABLED_HOOKS(TicketScript, TICKETHOOK_ON_TICKET_STATUS_UPDATE, script->OnTicketStatusUpdate(ticket));
|
||||
}
|
||||
|
||||
void ScriptMgr::OnTicketResolve(GmTicket* ticket)
|
||||
{
|
||||
CALL_ENABLED_HOOKS(TicketScript, TICKETHOOK_ON_TICKET_RESOLVE, script->OnTicketResolve(ticket));
|
||||
}
|
||||
|
||||
TicketScript::TicketScript(char const* name, std::vector<uint16> enabledHooks)
|
||||
: ScriptObject(name, TICKETHOOK_END)
|
||||
{
|
||||
// If empty - enable all available hooks.
|
||||
if (enabledHooks.empty())
|
||||
for (uint16 i = 0; i < TICKETHOOK_END; ++i)
|
||||
enabledHooks.emplace_back(i);
|
||||
|
||||
ScriptRegistry<TicketScript>::AddScript(this, std::move(enabledHooks));
|
||||
}
|
||||
|
||||
template class AC_GAME_API ScriptRegistry<TicketScript>;
|
||||
50
src/server/game/Scripting/ScriptDefines/TicketScript.h
Normal file
50
src/server/game/Scripting/ScriptDefines/TicketScript.h
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Affero General Public License as published by the
|
||||
* Free Software Foundation; either version 3 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef SCRIPT_OBJECT_TICKET_SCRIPT_H_
|
||||
#define SCRIPT_OBJECT_TICKET_SCRIPT_H_
|
||||
|
||||
#include "ScriptObject.h"
|
||||
#include "TicketMgr.h"
|
||||
#include <vector>
|
||||
|
||||
enum TicketHook
|
||||
{
|
||||
TICKETHOOK_ON_TICKET_CREATE,
|
||||
TICKETHOOK_ON_TICKET_UPDATE_LAST_CHANGE,
|
||||
TICKETHOOK_ON_TICKET_CLOSE,
|
||||
TICKETHOOK_ON_TICKET_STATUS_UPDATE,
|
||||
TICKETHOOK_ON_TICKET_RESOLVE,
|
||||
TICKETHOOK_END
|
||||
};
|
||||
|
||||
class TicketScript : public ScriptObject
|
||||
{
|
||||
protected:
|
||||
TicketScript(char const* name, std::vector<uint16> enabledHooks = std::vector<uint16>());
|
||||
|
||||
public:
|
||||
[[nodiscard]] bool IsDatabaseBound() const override { return false; }
|
||||
|
||||
virtual void OnTicketCreate(GmTicket* /*ticket*/) { }
|
||||
virtual void OnTicketUpdateLastChange(GmTicket* /*ticket*/) { }
|
||||
virtual void OnTicketClose(GmTicket* /*ticket*/) { }
|
||||
virtual void OnTicketStatusUpdate(GmTicket* /*ticket*/) { }
|
||||
virtual void OnTicketResolve(GmTicket* /*ticket*/) { }
|
||||
};
|
||||
|
||||
#endif
|
||||
Loading…
x
Reference in New Issue
Block a user