mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2025-11-29 17:38:24 +08:00
fix(DB/SAI/Scripts) [Sholazar Basin] Quest: A Hero's Burden -- Behavior of all NPCs (#22278)
This commit is contained in:
110
data/sql/updates/pending_db_world/rev_1749078508814122559.sql
Normal file
110
data/sql/updates/pending_db_world/rev_1749078508814122559.sql
Normal file
@@ -0,0 +1,110 @@
|
||||
SET @ARTRUIS := 28659;
|
||||
SET @ARTRUISGUID := 202971;
|
||||
SET @JALOOT := 28667;
|
||||
SET @JALOOTGUID := 202969;
|
||||
SET @ZEPIK := 28668;
|
||||
SET @ZEPIKGUID := 202970;
|
||||
|
||||
DELETE FROM `creature` WHERE (`id1` = @JALOOT) AND (`guid` IN (@JALOOTGUID));
|
||||
INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`) VALUES
|
||||
(@JALOOTGUID, @JALOOT, 0, 0, 571, 0, 0, 1, 1, 0, 5616.92, 3772.68, -94.258, 1.78024, 120, 0, 0, 1, 0, 0, 0, 0, 0, '', 0);
|
||||
|
||||
DELETE FROM `creature` WHERE (`id1` = @ZEPIK) AND (`guid` IN (@ZEPIKGUID));
|
||||
INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`) VALUES
|
||||
(@ZEPIKGUID, @ZEPIK, 0, 0, 571, 0, 0, 1, 1, 0, 5631.63, 3794.36, -92.236, 3.45575, 120, 0, 0, 1, 0, 0, 0, 0, 0, '', 0);
|
||||
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE (`entry` = @ARTRUIS);
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = @ARTRUIS);
|
||||
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
|
||||
(@ARTRUIS, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 10, @JALOOTGUID, @JALOOT, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Respawn - Respawn Closest Creature \'Jaloot\''),
|
||||
(@ARTRUIS, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 10, @ZEPIKGUID, @ZEPIK, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Respawn - Respawn Closest Creature \'Zepik the Gorloc Hunter\''),
|
||||
(@ARTRUIS, 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\''),
|
||||
(@ARTRUIS, 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\''),
|
||||
(@ARTRUIS, 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\''),
|
||||
(@ARTRUIS, 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\''),
|
||||
(@ARTRUIS, 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\''),
|
||||
(@ARTRUIS, 0, 7, 8, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, @JALOOTGUID, @JALOOT, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Between 0-30% Health - Set Data 1 1 for Jaloot'),
|
||||
(@ARTRUIS, 0, 8, 9, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, @ZEPIKGUID, @ZEPIK, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - Between 0-30% Health - Set Data 1 1 for Zepik the Gorloc Hunter'),
|
||||
(@ARTRUIS, 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'),
|
||||
(@ARTRUIS, 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'),
|
||||
(@ARTRUIS, 0, 11, 12, 25, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 2, 0, 0, 0, 0, 10, @JALOOTGUID, @JALOOT, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Reset - Set Data 1 2 for Jaloot'),
|
||||
(@ARTRUIS, 0, 12, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 2, 0, 0, 0, 0, 10, @ZEPIKGUID, @ZEPIK, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Reset - Set Data 1 2 for Zepik the Gorloc Hunter'),
|
||||
(@ARTRUIS, 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'),
|
||||
(@ARTRUIS, 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'),
|
||||
(@ARTRUIS, 0, 15, 16, 4, 0, 100, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 10, @JALOOTGUID, @JALOOT, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Aggro - Respawn Closest Creature \'Jaloot\''),
|
||||
(@ARTRUIS, 0, 16, 17, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 10, @ZEPIKGUID, @ZEPIK, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Aggro - Respawn Closest Creature \'Zepik the Gorloc Hunter\''),
|
||||
(@ARTRUIS, 0, 17, 0, 61, 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'),
|
||||
(@ARTRUIS, 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\''),
|
||||
(@ARTRUIS, 0, 19, 20, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 3, 0, 0, 0, 0, 10, @JALOOTGUID, @JALOOT, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Just Died - Set Data 1 3 for Jaloot'),
|
||||
(@ARTRUIS, 0, 20, 21, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 3, 0, 0, 0, 0, 10, @ZEPIKGUID, @ZEPIK, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Just Died - Set Data 1 3 for Zepik the Gorloc Hunter'),
|
||||
(@ARTRUIS, 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'),
|
||||
(@ARTRUIS, 0, 22, 23, 38, 0, 100, 0, 1, 1, 0, 0, 0, 0, 45, 1, 4, 0, 0, 0, 0, 10, @ZEPIKGUID, @ZEPIK, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Data Set 1 1 - Set Data 1 4 for Zepik the Gorloc Hunter'),
|
||||
(@ARTRUIS, 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\''),
|
||||
(@ARTRUIS, 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'),
|
||||
(@ARTRUIS, 0, 25, 26, 38, 0, 100, 0, 1, 2, 0, 0, 0, 0, 45, 1, 4, 0, 0, 0, 0, 10, @JALOOTGUID, @JALOOT, 0, 0, 0, 0, 0, 0, 'Artruis the Heartless - On Data Set 1 2 - Set Data 1 4 for Jaloot'),
|
||||
(@ARTRUIS, 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\''),
|
||||
(@ARTRUIS, 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'),
|
||||
(@ARTRUIS, 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\'');
|
||||
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = @JALOOT;
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = @JALOOT);
|
||||
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
|
||||
(@JALOOT, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Respawn - Set Npc Flag '),
|
||||
(@JALOOT, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Respawn - Set Flags Immune To NPC\'s'),
|
||||
(@JALOOT, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 52182, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Respawn - Cast \'Tomb of the Heartless\''),
|
||||
(@JALOOT, 0, 3, 0, 9, 0, 100, 0, 7500, 10000, 15000, 20000, 0, 5, 11, 52943, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Within 0-5 Range - Cast \'Lightning Whirl\''),
|
||||
(@JALOOT, 0, 4, 0, 9, 0, 100, 0, 7500, 9000, 15000, 18000, 0, 40, 11, 52944, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Within 0-40 Range - Cast \'Lightning Strike\''),
|
||||
(@JALOOT, 0, 5, 0, 9, 0, 100, 0, 10000, 12500, 20000, 25000, 0, 5, 11, 52964, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Within 0-5 Range - Cast \'Spark Frenzy\''),
|
||||
(@JALOOT, 0, 6, 0, 2, 0, 100, 0, 0, 30, 9000, 12000, 0, 0, 11, 52969, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - Between 0-30% Health - Cast \'Energy Siphon\''),
|
||||
(@JALOOT, 0, 7, 8, 38, 0, 100, 0, 1, 1, 0, 0, 0, 0, 2, 14, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 1 - Set Faction 14'),
|
||||
(@JALOOT, 0, 8, 9, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 28, 52182, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 1 - Remove Aura \'Tomb of the Heartless\''),
|
||||
(@JALOOT, 0, 9, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 18, 40, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 1 - Start Attacking'),
|
||||
(@JALOOT, 0, 10, 11, 38, 0, 100, 0, 1, 2, 0, 0, 0, 0, 2, 250, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 2 - Set Faction 250 - Friendly'),
|
||||
(@JALOOT, 0, 11, 12, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 2 - Set Flags Immune To NPC\'s'),
|
||||
(@JALOOT, 0, 12, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 52182, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 2 - Cast \'Tomb of the Heartless\''),
|
||||
(@JALOOT, 0, 13, 14, 38, 0, 100, 0, 1, 3, 0, 0, 0, 0, 2, 250, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 3 - Set Faction 250 - Friendly'),
|
||||
(@JALOOT, 0, 14, 15, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 3 - Set Flags Immune To NPC\'s'),
|
||||
(@JALOOT, 0, 15, 16, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 81, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 3 - Set Npc Flags Questgiver'),
|
||||
(@JALOOT, 0, 16, 17, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 90000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 3 - Despawn In 90000 ms'),
|
||||
(@JALOOT, 0, 17, 0, 61, 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, 'Jaloot - On Data Set 1 3 - Evade'),
|
||||
(@JALOOT, 0, 18, 0, 6, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, @ARTRUISGUID, @ARTRUIS, 0, 0, 0, 0, 0, 0, 'Jaloot - On Just Died - Set Data 1 1 for Artruis the Heartless'),
|
||||
(@JALOOT, 0, 19, 20, 38, 0, 100, 0, 1, 4, 0, 0, 0, 0, 2, 250, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 4 - Set Faction 250 - Friendly'),
|
||||
(@JALOOT, 0, 20, 21, 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, 'Jaloot - On Data Set 1 4 - Remove Aura \'Bindings of Submission\''),
|
||||
(@JALOOT, 0, 21, 22, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 19, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 4 - Remove Flags Immune To NPC\'s'),
|
||||
(@JALOOT, 0, 22, 23, 61, 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, 'Jaloot - On Data Set 1 4 - Say Line 0'),
|
||||
(@JALOOT, 0, 23, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 10, @ARTRUISGUID, @ARTRUIS, 0, 0, 0, 0, 0, 0, 'Jaloot - On Data Set 1 4 - Start Attacking Artruis the Heartless');
|
||||
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = @ZEPIK;
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = @ZEPIK);
|
||||
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
|
||||
(@ZEPIK, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Respawn - Set Npc Flag '),
|
||||
(@ZEPIK, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Respawn - Set Flags Immune To NPC\'s'),
|
||||
(@ZEPIK, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 52182, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Respawn - Cast \'Tomb of the Heartless\''),
|
||||
(@ZEPIK, 0, 3, 0, 9, 0, 100, 0, 7500, 9000, 15000, 18000, 0, 20, 11, 52761, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Within 0-20 Range - Cast \'Barbed Net\''),
|
||||
(@ZEPIK, 0, 4, 0, 9, 0, 100, 0, 6000, 7500, 12000, 15000, 5, 30, 11, 52889, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Within 5-30 Range - Cast \'Envenomed Shot\''),
|
||||
(@ZEPIK, 0, 5, 0, 9, 0, 100, 0, 3000, 7000, 3000, 7000, 0, 5, 11, 52873, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Within 0-5 Range - Cast \'Open Wound\''),
|
||||
(@ZEPIK, 0, 6, 0, 9, 0, 100, 0, 15000, 20000, 30000, 40000, 0, 5, 11, 52886, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Within 0-5 Range - Cast \'Spike Trap\''),
|
||||
(@ZEPIK, 0, 7, 0, 2, 0, 100, 0, 0, 30, 30000, 30000, 0, 0, 11, 52895, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - Between 0-30% Health - Cast \'Bandage\''),
|
||||
(@ZEPIK, 0, 8, 9, 38, 0, 100, 0, 1, 1, 0, 0, 0, 0, 2, 14, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 1 - Set Faction 14'),
|
||||
(@ZEPIK, 0, 9, 10, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 28, 52182, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 1 - Remove Aura \'Tomb of the Heartless\''),
|
||||
(@ZEPIK, 0, 10, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 18, 40, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 1 - Start Attacking'),
|
||||
(@ZEPIK, 0, 11, 12, 38, 0, 100, 0, 1, 2, 0, 0, 0, 0, 2, 250, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 2 - Set Faction 250 - Friendly'),
|
||||
(@ZEPIK, 0, 12, 13, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 2 - Set Flags Immune To NPC\'s'),
|
||||
(@ZEPIK, 0, 13, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 52182, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 2 - Cast \'Tomb of the Heartless\''),
|
||||
(@ZEPIK, 0, 14, 15, 38, 0, 100, 0, 1, 3, 0, 0, 0, 0, 2, 250, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 3 - Set Faction 250 - Friendly'),
|
||||
(@ZEPIK, 0, 15, 16, 61, 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, 'Zepik the Gorloc Hunter - On Data Set 1 3 - Evade'),
|
||||
(@ZEPIK, 0, 16, 17, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 3 - Set Flags Immune To NPC\'s'),
|
||||
(@ZEPIK, 0, 17, 18, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 81, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 3 - Set Npc Flags Questgiver'),
|
||||
(@ZEPIK, 0, 18, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 90000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 3 - Despawn In 90000 ms'),
|
||||
(@ZEPIK, 0, 19, 0, 6, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 2, 0, 0, 0, 0, 10, @ARTRUISGUID, @ARTRUIS, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Just Died - Set Data 1 2 for Artruis the Heartless'),
|
||||
(@ZEPIK, 0, 20, 21, 38, 0, 100, 0, 1, 4, 0, 0, 0, 0, 2, 250, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 4 - Set Faction 250 - Friendly'),
|
||||
(@ZEPIK, 0, 21, 22, 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, 'Zepik the Gorloc Hunter - On Data Set 1 4 - Remove Aura \'Bindings of Submission\''),
|
||||
(@ZEPIK, 0, 22, 23, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 19, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 4 - Remove Flags Immune To NPC\'s'),
|
||||
(@ZEPIK, 0, 23, 24, 61, 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, 'Zepik the Gorloc Hunter - On Data Set 1 4 - Say Line 0'),
|
||||
(@ZEPIK, 0, 24, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 10, @ARTRUISGUID, @ARTRUIS, 0, 0, 0, 0, 0, 0, 'Zepik the Gorloc Hunter - On Data Set 1 4 - Start Attacking Artruis the Heartless');
|
||||
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry`=52185;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
|
||||
(13,1,52185,0,0,31,0,3,@ZEPIK,0,0,0,'','Bindings of Submission for Zepik'),
|
||||
(13,1,52185,0,1,31,0,3,@JALOOT,0,0,0,'','Bindings of Submission for Jaloot'),
|
||||
(13,1,52185,0,2,31,0,3,@ARTRUIS,0,0,0,'','Bindings of Submission for Artruis the Heartless');
|
||||
@@ -65,201 +65,6 @@ class spell_q12726_song_of_wind_and_water : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
enum AHerosBurden
|
||||
{
|
||||
SPELL_TOMB_OF_THE_HEARTLESS = 52182,
|
||||
SPELL_ARTRUIS_FROST_NOVA = 11831,
|
||||
SPELL_ARTRUIS_FROSTBOLT = 15530,
|
||||
SPELL_ARTRUIS_ICE_LANCE = 54261,
|
||||
SPELL_ARTRUIS_ICY_VEINS = 54792,
|
||||
SPELL_ARTRUIS_BINDING = 52185,
|
||||
|
||||
NPC_JALOOT = 28667,
|
||||
NPC_ZEPIK = 28668,
|
||||
NPC_ARTRUIS = 28659,
|
||||
|
||||
EVENT_CAST_FROST_BOLT = 1,
|
||||
EVENT_CAST_FROST_NOVA = 2,
|
||||
EVENT_CAST_ICE_LANCE = 3,
|
||||
EVENT_CAST_ICY_VEINS = 4,
|
||||
EVENT_ARTRUIS_HP_CHECK = 5,
|
||||
EVENT_ARTRUIS_TALK1 = 6,
|
||||
EVENT_ARTRUIS_TALK2 = 7,
|
||||
EVENT_ARTRUIS_TALK3 = 8,
|
||||
|
||||
ACTION_BIND_MINIONS = 1,
|
||||
ACTION_MAKE_FRIENDLY = 2,
|
||||
|
||||
GO_ARTRUIS_PHYLACTERY = 190777,
|
||||
|
||||
// Texts
|
||||
SAY_TURNED_FRIENDLY = 0, // Zepik and Jaloot
|
||||
|
||||
SAY_ARTRUIS_AGGRO = 0,
|
||||
SAY_ARTRUIS_TALK_1 = 1,
|
||||
SAY_ARTRUIS_TALK_2 = 2,
|
||||
SAY_ARTRUIS_TALK_3 = 3,
|
||||
SAY_ARTRUIS_SHIELD = 4, // Boss emote
|
||||
SAY_ARTRUIS_TALK_4 = 5,
|
||||
};
|
||||
|
||||
class npc_artruis_the_hearthless : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_artruis_the_hearthless() : CreatureScript("npc_artruis_the_hearthless") { }
|
||||
|
||||
struct npc_artruis_the_hearthlessAI : public ScriptedAI
|
||||
{
|
||||
npc_artruis_the_hearthlessAI(Creature* creature) : ScriptedAI(creature), summons(me) { }
|
||||
|
||||
EventMap events;
|
||||
SummonList summons;
|
||||
void Reset() override
|
||||
{
|
||||
events.Reset();
|
||||
summons.DespawnAll();
|
||||
me->SetControlled(false, UNIT_STATE_STUNNED);
|
||||
|
||||
Creature* cr;
|
||||
if ((cr = me->SummonCreature(NPC_JALOOT, 5616.91f, 3772.67f, -94.26f, 1.78f)))
|
||||
{
|
||||
summons.Summon(cr);
|
||||
cr->CastSpell(cr, SPELL_TOMB_OF_THE_HEARTLESS, true);
|
||||
cr->SetFaction(me->GetFaction());
|
||||
}
|
||||
if ((cr = me->SummonCreature(NPC_ZEPIK, 5631.63f, 3794.36f, -92.24f, 3.45f)))
|
||||
{
|
||||
summons.Summon(cr);
|
||||
cr->CastSpell(cr, SPELL_TOMB_OF_THE_HEARTLESS, true);
|
||||
cr->SetFaction(me->GetFaction());
|
||||
}
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit* who) override
|
||||
{
|
||||
if (who->GetEntry() == NPC_JALOOT || who->GetEntry() == NPC_ZEPIK)
|
||||
return;
|
||||
|
||||
ScriptedAI::MoveInLineOfSight(who);
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
Talk(SAY_ARTRUIS_AGGRO);
|
||||
me->CastSpell(me, SPELL_ARTRUIS_ICY_VEINS, true);
|
||||
events.RescheduleEvent(EVENT_CAST_FROST_BOLT, 4s);
|
||||
events.RescheduleEvent(EVENT_CAST_FROST_NOVA, 15s);
|
||||
events.RescheduleEvent(EVENT_CAST_ICE_LANCE, 8500ms);
|
||||
events.RescheduleEvent(EVENT_CAST_ICY_VEINS, 30s);
|
||||
events.RescheduleEvent(EVENT_ARTRUIS_HP_CHECK, 1s);
|
||||
events.RescheduleEvent(EVENT_ARTRUIS_TALK1, 6s);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
if (GameObject* go = me->SummonGameObject(GO_ARTRUIS_PHYLACTERY, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 600000))
|
||||
me->RemoveGameObject(go, false);
|
||||
}
|
||||
|
||||
void SummonedCreatureDies(Creature* summon, Unit*) override
|
||||
{
|
||||
SummonsAction(ACTION_MAKE_FRIENDLY);
|
||||
me->RemoveAurasDueToSpell(SPELL_ARTRUIS_BINDING);
|
||||
summon->DespawnOrUnsummon(60000);
|
||||
me->SetControlled(false, UNIT_STATE_STUNNED);
|
||||
}
|
||||
|
||||
void SummonsAction(uint8 action)
|
||||
{
|
||||
if (!summons.empty())
|
||||
{
|
||||
if (action == ACTION_BIND_MINIONS)
|
||||
me->CastSpell(me, SPELL_ARTRUIS_BINDING, true);
|
||||
|
||||
for (ObjectGuid const& guid : summons)
|
||||
{
|
||||
Creature* minion = ObjectAccessor::GetCreature(*me, guid);
|
||||
if (minion && minion->IsAlive())
|
||||
{
|
||||
if (action == ACTION_BIND_MINIONS)
|
||||
{
|
||||
minion->RemoveAurasDueToSpell(SPELL_TOMB_OF_THE_HEARTLESS);
|
||||
if (me->GetVictim())
|
||||
minion->AI()->AttackStart(me->GetVictim());
|
||||
}
|
||||
else if (action == ACTION_MAKE_FRIENDLY && me->GetVictim())
|
||||
{
|
||||
minion->AI()->Talk(SAY_TURNED_FRIENDLY);
|
||||
minion->RemoveAurasDueToSpell(SPELL_ARTRUIS_BINDING);
|
||||
minion->SetFaction(me->GetVictim()->GetFaction());
|
||||
minion->AddThreat(me, 100000.0f);
|
||||
minion->AI()->AttackStart(me);
|
||||
minion->DespawnOrUnsummon(900000);
|
||||
events.RescheduleEvent(EVENT_ARTRUIS_TALK3, 5s);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
events.Update(diff);
|
||||
if (me->HasUnitState(UNIT_STATE_CASTING))
|
||||
return;
|
||||
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_ARTRUIS_HP_CHECK:
|
||||
if (me->GetHealthPct() <= 30)
|
||||
{
|
||||
me->SetControlled(true, UNIT_STATE_STUNNED);
|
||||
Talk(SAY_ARTRUIS_SHIELD);
|
||||
Talk(SAY_ARTRUIS_TALK_3);
|
||||
SummonsAction(ACTION_BIND_MINIONS);
|
||||
break;
|
||||
}
|
||||
events.Repeat(1s);
|
||||
break;
|
||||
case EVENT_ARTRUIS_TALK1:
|
||||
Talk(SAY_ARTRUIS_TALK_1);
|
||||
events.RescheduleEvent(EVENT_ARTRUIS_TALK2, 10s);
|
||||
break;
|
||||
case EVENT_ARTRUIS_TALK2:
|
||||
Talk(SAY_ARTRUIS_TALK_2);
|
||||
break;
|
||||
case EVENT_ARTRUIS_TALK3:
|
||||
Talk(SAY_ARTRUIS_TALK_4);
|
||||
break;
|
||||
case EVENT_CAST_FROST_BOLT:
|
||||
me->CastSpell(me->GetVictim(), SPELL_ARTRUIS_FROSTBOLT, false);
|
||||
events.Repeat(4s);
|
||||
break;
|
||||
case EVENT_CAST_ICE_LANCE:
|
||||
me->CastSpell(me->GetVictim(), SPELL_ARTRUIS_ICE_LANCE, false);
|
||||
events.Repeat(8500ms);
|
||||
break;
|
||||
case EVENT_CAST_FROST_NOVA:
|
||||
me->CastSpell(me, SPELL_ARTRUIS_FROST_NOVA, false);
|
||||
events.Repeat(15s);
|
||||
break;
|
||||
case EVENT_CAST_ICY_VEINS:
|
||||
me->CastSpell(me, SPELL_ARTRUIS_ICY_VEINS, false);
|
||||
events.Repeat(30s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new npc_artruis_the_hearthlessAI(creature);
|
||||
}
|
||||
};
|
||||
|
||||
/******
|
||||
quest Still At It (12644)
|
||||
******/
|
||||
@@ -1488,7 +1293,6 @@ class spell_q12611_deathbolt : public SpellScript
|
||||
void AddSC_sholazar_basin()
|
||||
{
|
||||
RegisterSpellScript(spell_q12726_song_of_wind_and_water);
|
||||
new npc_artruis_the_hearthless();
|
||||
new npc_still_at_it_trigger();
|
||||
new npc_mcmanus();
|
||||
new go_pressure_valve();
|
||||
|
||||
Reference in New Issue
Block a user