Skip to content

Commit

Permalink
[ACID][Instance] blood furnance AI rework part 3 (#1197)
Browse files Browse the repository at this point in the history
* [ACID] rework blood furnance ai's into spell_list part 2

* Felguard Annihilator should use Intercept only on normal mode

* Add some missing RP

* Update 0390_bf_ai_part2.sql
  • Loading branch information
miraco authored Apr 2, 2024
1 parent 7c37d40 commit 12abf47
Show file tree
Hide file tree
Showing 3 changed files with 121 additions and 24 deletions.
41 changes: 18 additions & 23 deletions ACID/acid_tbc.sql
Original file line number Diff line number Diff line change
Expand Up @@ -24356,26 +24356,18 @@ INSERT INTO `creature_ai_scripts` (`id`,`creature_id`,`event_type`,`event_invers
('1739701','17397','11','0','100','0','0','0','0','0','0','0','11','8876','0','34','0','0','0','0','0','0','0','0','Shadowmoon Adept - Cast Thrash on Spawn'),
('1739702','17397','4','0','10','0','0','0','0','0','0','0','54','0','0','11999','0','0','0','0','0','0','0','0','Shadowmoon Adept - Random Say on Aggro'),
('1739703','17397','2','0','100','0','15','0','0','0','0','0','25','0','0','0','1','1150','0','0','0','0','0','0','Shadowmoon Adept - Flee at 15% HP'),
-- Nascent Fel Orc 17398 - Random Threat Resets, maybe related to Stomp Knockback?
-- Nascent Fel Orc 17398 - spell_list
('1739801','17398','4','0','15','0','0','0','0','0','0','0','54','0','0','11999','0','0','0','0','0','0','0','0','Nascent Fel Orc - Random Say on Aggro'),
('1739802','17398','0','0','100','1025','4800','11600','12000','16000','0','0','11','22427','1','0','0','0','0','0','0','0','0','0','Nascent Fel Orc - Cast Concussion Blow'),
('1739803','17398','0','0','100','1025','4200','14700','13000','20500','0','0','11','31900','17','0','0','0','0','0','0','0','0','0','Nascent Fel Orc - Cast Stomp'),
-- Seductress 17399 - spell_list
('1739901','17399','11','0','100','0','0','0','0','0','0','0','38','0','0','0','0','0','0','0','0','0','0','0','Seductress - Zone Combat Pulse on Spawn'),
-- Felguard Annihilator 17400 - Reset Threat doesnt seem to be linked to Uppercut but just a 12sec timer
('1740001','17400','32','0','100','1029','8','25','8700','14700','0','0','11','27577','12','0','0','0','0','0','0','0','0','0','Felguard Annihilator (Heroic) - Cast Intercept in Range'),
('1740002','17400','9','0','100','1025','0','10','8200','22100','0','0','11','18072','1','0','0','0','0','0','0','0','0','0','Felguard Annihilator - Cast Uppercut'),
('1740003','17400','13','0','100','1025','6900','9500','0','0','0','0','11','15615','1','0','0','0','0','0','0','0','0','0','Felguard Annihilator - Cast Pummel on Target Casting'),
('1740004','17400','0','0','100','1025','12000','12000','12000','12000','0','0','14','-100','0','0','0','0','0','0','0','0','0','0','Felguard Annihilator - Reset Threat'),
-- Felguard Annihilator 17400 - spell_list, reset threat only in normal mode
('1740001','17400','0','0','100','3','12000','12000','12000','12000','0','0','14','-100','0','0','0','0','0','0','0','0','0','0','Felguard Annihilator (Normal) - Reset Threat'),
-- Felhound Manastalker 17401 - spell_list
('1740101','17401','11','0','100','0','0','0','0','0','0','0','38','0','0','0','0','0','0','0','0','0','0','0','Felhound Manastalker - Zone Combat Pulse on Spawn'),
-- Shadowmoon Technician 17414 - spell_list
('1741401','17414','4','0','15','0','0','0','0','0','0','0','54','0','0','11999','0','0','0','0','0','0','0','0','Shadowmoon Technician - Random Say on Aggro'),
-- Fel Orc Neophyte 17429 - Random Threat Resets?
('1742901','17429','1','0','100','1','3000','3000','8000','8000','10000','10000','10','15','22','53','0','0','0','0','0','0','0','0','Fel Orc Neophyte - Random Emote OOC'),
('1742902','17429','4','0','15','0','0','0','0','0','0','0','54','0','0','11999','0','0','0','0','0','0','0','0','Fel Orc Neophyte - Random Say on Aggro'),
('1742903','17429','0','0','100','1025','3000','6000','20500','20500','0','0','11','22120','4','512','0','0','0','0','0','0','0','0','Fel Orc Neophyte - Cast Charge'),
('1742904','17429','0','0','100','1025','2300','2500','120000','130000','0','0','11','8269','0','0','0','0','0','0','0','0','0','0','Fel Orc Neophyte - Cast Frenzy'),
-- Fel Orc Neophyte 17429 - spell_list
('1742901','17429','4','0','15','0','0','0','0','0','0','0','54','0','0','11999','0','0','0','0','0','0','0','0','Fel Orc Neophyte - Random Say on Aggro'),
-- Hellfire Imp 17477 - spell_list
('1747701','17477','11','0','100','0','0','0','0','0','0','0','57','2','35','0','0','0','0','0','0','0','0','0','Hellfire Imp - Enable Range Mode on Spawn'),
('1747702','17477','4','0','100','0','0','0','0','0','0','0','28','0','35766','0','0','0','0','0','0','0','0','0','Hellfire Imp - Remove Summon Visual Test on Aggro'),
Expand All @@ -24390,16 +24382,19 @@ INSERT INTO `creature_ai_scripts` (`id`,`creature_id`,`event_type`,`event_invers
('1762602','17626','2','0','100','1024','30','0','0','0','0','0','11','8599','0','2','1','1191','0','0','0','0','0','0','Laughing Skull Legionaire - Cast Enrage at 30% HP'),
-- Shadowmoon Channeler 17653 - mob_shadowmoon_channeler
-- Broggok Poison Cloud 17662 - mob_broggok_poisoncloud
-- Felguard Brute 18894
('1889401','18894','9','0','100','1025','0','10','13700','15700','0','0','11','18072','1','0','0','0','0','0','0','0','0','0','Felguard Brute - Cast Uppercut'),
('1889402','18894','0','0','100','1025','4000','8000','10000','15000','0','0','11','15615','1','0','0','0','0','0','0','0','0','0','Felguard Brute - Cast Pummel'),
-- Hellfire Familiar 19016
('1901601','19016','4','0','100','0','0','0','0','0','0','0','57','2','35','0','0','0','0','0','0','0','0','0','Hellfire Familiar - Enable Range Mode on Aggro'),
('1901602','19016','0','0','100','1029','6000','9000','6000','9000','0','0','11','13341','1','0','0','0','0','0','0','0','0','0','Hellfire Familiar (Heroic) - Cast Fire Blast'),
('1901603','19016','9','0','100','1027','0','40','2900','4800','0','0','11','11921','1','256','0','0','0','0','0','0','0','0','Hellfire Familiar (Normal) - Cast Fireball'),
('1901604','19016','9','0','100','1029','0','40','2900','4800','0','0','11','14034','1','256','0','0','0','0','0','0','0','0','Hellfire Familiar (Heroic) - Cast Fireball'),


-- Felguard Brute 18894 - spell_list
-- Hellfire Familiar 19016 - spell_list
('1901601','19016','11','0','100','0','0','0','0','0','0','0','57','2','35','0','0','0','0','0','0','0','0','0','Hellfire Familiar - Enable Range Mode on Spawn'),
-- GUID based rp scripts
('5420040','-5420040','1','0','100','1','0','0','12000','12000','0','0','5','1','0','0','0','0','0','0','0','0','0','0','Shadowmoon Summoner - Talk Emote OOC'),
('5420060','-5420060','1','0','100','1','5000','5000','12000','12000','0','0','5','1','0','0','0','0','0','0','0','0','0','0','Shadowmoon Adept - Talk Emote OOC'),
('5420041','-5420041','1','0','100','1','0','0','12000','12000','0','0','5','1','0','0','0','0','0','0','0','0','0','0','Shadowmoon Summoner - Talk Emote OOC'),
('5420061','-5420061','1','0','100','1','5000','5000','12000','12000','0','0','5','1','0','0','0','0','0','0','0','0','0','0','Shadowmoon Adept - Talk Emote OOC'),
('5420035','-5420035','1','0','100','1','0','0','16000','16000','0','0','53','5420001','0','0','0','0','0','0','0','0','0','0','spawn_group_entry - start rp script'),
('5420086','-5420086','1','0','100','1','0','0','16000','16000','0','0','53','5420001','0','0','0','0','0','0','0','0','0','0','spawn_group_entry - start rp script'),
('5420044','-5420044','1','0','100','1','0','0','16000','16000','0','0','53','5420002','0','0','0','0','0','0','0','0','0', '0','spawn_group_entry - start rp script'),
('5420024','-5420024','1','0','100','1','0','0','20000','30000','0','0','53','5420003','0','0','0','0','0','0','0','0','0', '0','Shadowmoon Warlock - start rp script'),
('5420025','-5420025','1','0','100','1','0','0','20000','30000','0','0','53','5420003','0','0','0','0','0','0','0','0','0', '0','Shadowmoon Warlock - start rp script'),

-- =====================================
-- Hellfire Citadel: The Shattered Halls
Expand Down
92 changes: 92 additions & 0 deletions Updates/0390_bf_ai_part2.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
-- Nascent Fel Orc 17398
DELETE FROM `creature_template_spells` WHERE `entry` IN (17398, 18612);

DELETE FROM `creature_spell_list_entry` WHERE `Id` IN (1739801, 1861201);
INSERT INTO `creature_spell_list_entry` (`Id`, `Name`, `ChanceSupportAction`, `ChanceRangedAttack`) VALUES
(1739801, 'Blood Furnace - Nascent Fel Orc - Normal', 0, 0),
(1861201, 'Blood Furnace - Nascent Fel Orc - Heroic', 0, 0);

DELETE FROM `creature_spell_list` WHERE `Id` IN (1739801, 1861201);
INSERT INTO `creature_spell_list` (`Id`, `Position`, `SpellId`, `Flags`, `CombatCondition`, `TargetId`, `ScriptId`, `Availability`, `Probability`, `InitialMin`, `InitialMax`, `RepeatMin`, `RepeatMax`, `Comments`) VALUES
(1739801, 1, 22427, 0, -1, 1, 0, 100, 0, 6000, 15000, 20000, 30000, 'Nascent Fel Orc - Concussion Blow - current'),
(1739801, 2, 31900, 0, -1, 103, 0, 100, 0, 1000, 8000, 10000, 21000, 'Nascent Fel Orc - Stomp - aoe exists'),
(1861201, 1, 22427, 0, -1, 1, 0, 100, 0, 6000, 15000, 20000, 30000, 'Nascent Fel Orc - Concussion Blow - current'),
(1861201, 2, 31900, 0, -1, 103, 0, 100, 0, 1000, 8000, 10000, 21000, 'Nascent Fel Orc - Stomp - aoe exists');

UPDATE `creature_template` SET `SpellList` = 1739801 WHERE `entry` = 17398;
UPDATE `creature_template` SET `SpellList` = 1861201 WHERE `entry` = 18612;


-- Felguard Annihilator 17400
-- tests on wotlk classic showed that they use intercept only in normal mode
DELETE FROM `creature_template_spells` WHERE `entry` IN (17400, 18604);

DELETE FROM `creature_spell_list_entry` WHERE `Id` IN (1740001, 1860401);
INSERT INTO `creature_spell_list_entry` (`Id`, `Name`, `ChanceSupportAction`, `ChanceRangedAttack`) VALUES
(1740001, 'Blood Furnace - Felguard Annihilator - Normal', 0, 0),
(1860401, 'Blood Furnace - Felguard Annihilator - Heroic', 0, 0);

DELETE FROM `creature_spell_list` WHERE `Id` IN (1740001, 1860401);
INSERT INTO `creature_spell_list` (`Id`, `Position`, `SpellId`, `Flags`, `CombatCondition`, `TargetId`, `ScriptId`, `Availability`, `Probability`, `InitialMin`, `InitialMax`, `RepeatMin`, `RepeatMax`, `Comments`) VALUES
(1740001, 1, 15615, 0, -1, 122, 0, 100, 0, 4000, 13000, 6000, 16000, 'Felguard Annihilator - Pummel - random casting'),
(1740001, 2, 27577, 0, -1, 107, 0, 100, 0, 2000, 10000, 8000, 16000, 'Felguard Annihilator - Intercept - random not in melee'),
(1740001, 3, 18072, 0, -1, 1, 0, 100, 0, 1000, 5000, 8000, 14000, 'Felguard Annihilator - Uppercut - current'),
(1860401, 1, 15615, 0, -1, 122, 0, 100, 0, 4000, 13000, 6000, 16000, 'Felguard Annihilator - Pummel - random casting'),
(1860401, 3, 18072, 0, -1, 1, 0, 100, 0, 1000, 5000, 8000, 14000, 'Felguard Annihilator - Uppercut - current');

UPDATE `creature_template` SET `SpellList` = 1740001 WHERE `entry` = 17400;
UPDATE `creature_template` SET `SpellList` = 1860401 WHERE `entry` = 18604;

-- Fel Orc Neophyte 17429
DELETE FROM `creature_template_spells` WHERE `entry` IN (17429, 18603);

DELETE FROM `creature_spell_list_entry` WHERE `Id` IN (1742901, 1860301);
INSERT INTO `creature_spell_list_entry` (`Id`, `Name`, `ChanceSupportAction`, `ChanceRangedAttack`) VALUES
(1742901, 'Blood Furnace - Fel Orc Neophyte - Normal', 0, 0),
(1860301, 'Blood Furnace - Fel Orc Neophyte - Heroic', 0, 0);

DELETE FROM `creature_spell_list` WHERE `Id` IN (1742901, 1860301);
INSERT INTO `creature_spell_list` (`Id`, `Position`, `SpellId`, `Flags`, `CombatCondition`, `TargetId`, `ScriptId`, `Availability`, `Probability`, `InitialMin`, `InitialMax`, `RepeatMin`, `RepeatMax`, `Comments`) VALUES
(1742901, 1, 22120, 0, -1, 107, 0, 100, 0, 5000, 15000, 20000, 25000, 'Fel Orc Neophyte - Charge - random not in melee'),
(1742901, 2, 8269, 0, -1, 2, 0, 100, 0, 1000, 6000, 100000, 130000, 'Fel Orc Neophyte - Frenzy - self'),
(1860301, 1, 22120, 0, -1, 107, 0, 100, 0, 5000, 15000, 20000, 25000, 'Fel Orc Neophyte - Charge - random not in melee'),
(1860301, 2, 8269, 0, -1, 2, 0, 100, 0, 1000, 6000, 100000, 130000, 'Fel Orc Neophyte - Frenzy - self');

UPDATE `creature_template` SET `SpellList` = 1742901 WHERE `entry` = 17429;
UPDATE `creature_template` SET `SpellList` = 1860301 WHERE `entry` = 18603;

-- Felguard Brute 18894
DELETE FROM `creature_template_spells` WHERE `entry` IN (18894, 21645);

DELETE FROM `creature_spell_list_entry` WHERE `Id` IN (1889401, 2164501);
INSERT INTO `creature_spell_list_entry` (`Id`, `Name`, `ChanceSupportAction`, `ChanceRangedAttack`) VALUES
(1889401, 'Blood Furnace - Felguard Brute - Normal', 0, 0),
(2164501, 'Blood Furnace - Felguard Brute - Heroic', 0, 0);

DELETE FROM `creature_spell_list` WHERE `Id` IN (1889401, 2164501);
INSERT INTO `creature_spell_list` (`Id`, `Position`, `SpellId`, `Flags`, `CombatCondition`, `TargetId`, `ScriptId`, `Availability`, `Probability`, `InitialMin`, `InitialMax`, `RepeatMin`, `RepeatMax`, `Comments`) VALUES
(1889401, 1, 15615, 0, -1, 122, 0, 100, 0, 4000, 13000, 6000, 16000, 'Felguard Brute - Pummel - random casting'),
(1889401, 3, 18072, 0, -1, 1, 0, 100, 0, 1000, 5000, 8000, 14000, 'Felguard Brute - Uppercut - current'),
(2164501, 1, 15615, 0, -1, 122, 0, 100, 0, 4000, 13000, 6000, 16000, 'Felguard Brute - Pummel - random casting'),
(2164501, 3, 18072, 0, -1, 1, 0, 100, 0, 1000, 5000, 8000, 14000, 'Felguard Brute - Uppercut - current');

UPDATE `creature_template` SET `SpellList` = 1889401 WHERE `entry` = 18894;
UPDATE `creature_template` SET `SpellList` = 2164501 WHERE `entry` = 21645;

-- Hellfire Familiar 19016
DELETE FROM `creature_template_spells` WHERE `entry` IN (19016, 21646);

DELETE FROM `creature_spell_list_entry` WHERE `Id` IN (1901601, 2164601);
INSERT INTO `creature_spell_list_entry` (`Id`, `Name`, `ChanceSupportAction`, `ChanceRangedAttack`) VALUES
(1901601, 'Blood Furnace - Hellfire Familiar - Normal', 0, 90),
(2164601, 'Blood Furnace - Hellfire Familiar - Heroic', 0, 90);

DELETE FROM `creature_spell_list` WHERE `Id` IN (1901601, 2164601);
INSERT INTO `creature_spell_list` (`Id`, `Position`, `SpellId`, `Flags`, `CombatCondition`, `TargetId`, `ScriptId`, `Availability`, `Probability`, `InitialMin`, `InitialMax`, `RepeatMin`, `RepeatMax`, `Comments`) VALUES
(1901601, 1, 11921, 2, -1, 1, 0, 100, 0, 0, 0, 0, 0, 'Hellfire Familiar - Fire Ball - on current'),
(2164601, 1, 14034, 2, -1, 1, 0, 100, 0, 0, 0, 0, 0, 'Hellfire Familiar - Fire Ball - on current');

UPDATE `creature_template` SET `SpellList` = 1901601 WHERE `entry` = 19016;
UPDATE `creature_template` SET `SpellList` = 2164601 WHERE `entry` = 21646;


12 changes: 11 additions & 1 deletion Updates/Instances/542_blood_furnace.sql
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ SET @CGUID := 5420000; -- creatures
SET @OGUID := 5420000; -- gameobjects
SET @PGUID := 48100; -- pools
SET @SGGUID := 5420000; -- spawn_groups
SET @RELAYID := 5420000; -- used for varius dbscripts_on_relay

-- =========
-- CREATURES
Expand Down Expand Up @@ -742,10 +743,19 @@ DELETE FROM `dbscripts_on_creature_movement` WHERE `id` IN (1889401);
INSERT INTO `dbscripts_on_creature_movement` (`id`, `delay`, `command`, `datalong`, `datalong2`, `datalong3`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES
(1889401, 2000, 15, 33111, 0, 0, 17371, 8, 3, 0, 0, 0, 0, 0, 0, 0, 0, 'Felguard Brute - Shadowmoon Warlock (17371) - Cast Fel Power on Felguard Brute (18894)');

DELETE FROM dbscripts_on_relay WHERE id BETWEEN @RELAYID+1 AND @RELAYID+3;
INSERT INTO `dbscripts_on_relay` (`id`, `delay`, `priority`, `command`, `datalong`, `datalong2`, `datalong3`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES
(@RELAYID+1,0,0,1,11,0,0,0,0,0,0,0,0,0,0,0,0,0,'spawn_group_entry - emote laugh'),
(@RELAYID+1,8000,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,'spawn_group_entry - emote talk'),
(@RELAYID+2,0,0,1,11,0,0,0,0,0,0,0,0,0,0,0,0,0,'spawn_group_entry - emote laugh'),
(@RELAYID+2,2000,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,'spawn_group_entry - emote talk'),
(@RELAYID+2,8000,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,'spawn_group_entry - emote talk'),
(@RELAYID+3,0,0,31,17400,6,0,0,0,0,0,0,0,0,0,0,0,0,'Shadowmoon Warlock - terminate script if Felguard Annihilator found and alive'),
(@RELAYID+3,0,0,15,33111,0,0,0,0,0,0,0,0,0,0,0,0,0,'Shadowmoon Warlock - Cast Fel Power on Felguard Annihilator');

-- INSERT INTO `dbscripts_on_creature_death` (`id`, `delay`, `command`, `datalong`, `datalong2`, `datalong3`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES
-- INSERT INTO `dbscripts_on_go_use` (`id`, `delay`, `command`, `datalong`, `datalong2`, `datalong3`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES
-- INSERT INTO `dbscripts_on_go_template_use` (`id`, `delay`, `command`, `datalong`, `datalong2`, `datalong3`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES
-- INSERT INTO `dbscripts_on_relay` (`id`, `delay`, `command`, `datalong`, `datalong2`, `datalong3`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES
-- INSERT INTO `dbscripts_on_event` (`id`, `delay`, `command`, `datalong`, `datalong2`, `datalong3`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES
-- INSERT INTO `dbscripts_on_spell` (`id`, `delay`, `command`, `datalong`, `datalong2`, `datalong3`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES
-- INSERT INTO `dbscripts_on_gossip` (`id`, `delay`, `command`, `datalong`, `datalong2`, `datalong3`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES
Expand Down

0 comments on commit 12abf47

Please sign in to comment.