Skip to content

Commit

Permalink
[ACID][Instance] The Botanica - rework part 2 (#1203)
Browse files Browse the repository at this point in the history
* Start reworking groups behind first boss

They have random spawned entrys (Sunseeker Researcher or Sunseeker Chemist) need more research about how much of each can be up per group

* Add all static groups

* typos and add patrols

* Rework Sunseeker Geomancer RP and add this group to spawn_group

* Add last group before 2nd Boss to spawn_group

add correct sunseeker researcher waypoints and dbscript

* Add correct waypoints and db script for boss high botanist freywinn

* Add all trash npcs between first and 2nd boss to spell_list

update timers and use correct % for healers (tested on wotlk classic)

* Add back 2 rp scripts using guid based scripts

* correct some more positions to sniff points

* Final Cleanup
  • Loading branch information
miraco authored Apr 29, 2024
1 parent 42328cf commit d3a2d51
Show file tree
Hide file tree
Showing 5 changed files with 366 additions and 198 deletions.
28 changes: 7 additions & 21 deletions ACID/acid_tbc.sql
Original file line number Diff line number Diff line change
Expand Up @@ -26548,28 +26548,16 @@ INSERT INTO `creature_ai_scripts` (`id`,`creature_id`,`event_type`,`event_invers
('1840502','18405','34','0','100','1','34793','-1','0','0','0','0','13','-100','0','0','0','0','0','0','0','0','0','0','Tempest Forge Peacekeeper - Reset Target Threat on hit by Arcane Blast'),
-- Bloodwarder Greenkeeper 18419 - spell_list - guid based
('5530050','-5530050','1','0','100','1','0','0','25000','30000','0','0','53','5530001','0','0','0','0','0','0','0','0','0','0','Bloodwarder Greenkeeper - Start RelayScript'),
-- Sunseeker Geomancer (4.3.4 Official Data - Normal)
('1842001','18420','9','0','100','1025','0','8','3600','8400','0','0','11','35124','0','0','0','0','0','0','0','0','0','0','Sunseeker Geomancer - Cast Arcane Explosion'),
-- Sunseeker Researcher 18421 (4.3.4 Official Data - Normal/Heroic)
('1842101','18421','0','0','100','1025','7200','16900','7200','21700','0','0','11','34352','1','0','0','0','0','0','0','0','0','0','Sunseeker Researcher - Cast Mind Shock'),
('1842102','18421','0','0','100','1025','5500','21700','12100','24100','0','0','11','34354','1','0','0','0','0','0','0','0','0','0','Sunseeker Researcher - Cast Flame Shock'),
('1842103','18421','0','0','100','1025','25300','33100','12100','19300','0','0','11','34353','1','0','0','0','0','0','0','0','0','0','Sunseeker Researcher - Cast Frost Shock'),
('1842104','18421','0','0','100','1025','3000','5000','2000','5000','0','0','11','34355','0','32','0','0','0','0','0','0','0','0','Sunseeker Researcher - Cast Poison Shield'),
-- Sunseeker Botanist (4.3.4 Official Data - Normal/Heroic)
('1842201','18422','16','0','100','1025','34350','15','16900','27700','0','0','11','34350','12','0','0','0','0','0','0','0','0','0','Sunseeker Botanist - Cast Nature''s Rage on Friendly Missing Buff'),
('1842202','18422','0','0','100','1027','19300','19300','38600','38600','0','0','11','34254','1','0','0','0','0','0','0','0','0','0','Sunseeker Botanist (Normal) - Cast Rejuvenate Plant'),
('1842203','18422','0','0','100','1029','19300','19300','38600','38600','0','0','11','39126','1','0','0','0','0','0','0','0','0','0','Sunseeker Botanist (Heroic) - Cast Rejuvenate Plant'),
('1842204','18422','14','0','100','1027','4000','15','13300','35100','0','0','11','27637','12','0','0','0','0','0','0','0','0','0','Sunseeker Botanist (Normal) - Cast Regrowth on Friendly Missing HP'),
('1842205','18422','14','0','100','1029','5600','15','13300','35100','0','0','11','39125','12','0','0','0','0','0','0','0','0','0','Sunseeker Botanist (Heroic) - Cast Regrowth on Friendly Missing HP'),
-- Sunseeker Geomancer - spell_list
-- Sunseeker Researcher 18421 - spell_list
-- Sunseeker Botanist - spell_list - guid based rp scriots
('5530068','-5530068','1','0','100','1','0','20000','50000','80000','0','0','53','5530012','0','0','0','0','0','0','0','0','0','0','Sunseeker Botanist - Start RelayScript'),
('5530069','-5530069','1','0','100','1','0','20000','50000','80000','0','0','53','5530012','0','0','0','0','0','0','0','0','0','0','Sunseeker Botanist - Start RelayScript'),
-- Frayer (4.3.4 Official Data - Normal/Heroic)
('1858701','18587','8','0','100','1','34167','-1','1000','1000','0','0','11','34202','0','33','0','0','0','0','0','0','0','0','Frayer - Cast Frost Form on Blizzard SpellHit'),
('1858702','18587','8','0','100','1','34169','-1','1000','1000','0','0','11','34203','0','33','0','0','0','0','0','0','0','0','Frayer - Cast Fire Form on Rain of Fire SpellHit'),
('1858703','18587','8','0','100','1','34170','-1','1000','1000','0','0','11','34204','0','33','0','0','0','0','0','0','0','0','Frayer - Cast Arcane Form on Arcane Explosion SpellHit'),
-- Sunseeker Chemist (4.3.4 Official Data - Normal)
('1948601','19486','0','0','100','1027','4300','21500','18100','36200','0','0','11','34358','1','0','0','0','0','0','0','0','0','0','Sunseeker Chemist (Normal) - Cast Vial of Poison'),
('1948602','19486','0','0','100','1029','4300','18200','18100','36200','0','0','11','39127','1','0','0','0','0','0','0','0','0','0','Sunseeker Chemist (Heroic) - Cast Vial of Poison'),
('1948603','19486','0','0','100','1027','14400','22900','14500','24100','0','0','11','34359','0','0','0','0','0','0','0','0','0','0','Sunseeker Chemist (Normal) - Cast Fire Breath Potion'),
('1948604','19486','0','0','100','1029','12200','19600','14500','24100','0','0','11','39128','0','0','0','0','0','0','0','0','0','0','Sunseeker Chemist (Heroic) - Cast Fire Breath Potion'),
-- Sunseeker Chemist - spell_list
-- Sunseeker Channeler 19505 (4.3.4 Official Data - Normal/Heroic)
('1950501','19505','4','0','100','0','0','0','0','0','0','0','52','3','0','0','0','0','0','0','0','0','0','0','Sunseeker Channeler - Interrupt Channelling on Aggro'),
('1950502','19505','0','0','100','1025','5000','10000','12000','18000','0','0','11','34634','0','0','0','0','0','0','0','0','0','0','Sunseeker Channeler - Cast Sunseeker Aura'),
Expand All @@ -26593,9 +26581,7 @@ INSERT INTO `creature_ai_scripts` (`id`,`creature_id`,`event_type`,`event_invers
('1951203','19512','0','0','100','1025','4300','16100','8100','12200','0','0','11','15284','1','0','0','0','0','0','0','0','0','0','Nethervine Reaper - Cast Cleave'),
-- Mutate Fear-Shrieker (FEAR SPELL WAS REMOVED IN 4.x.x)
('1951301','19513','0','0','100','1025','8000','24000','28000','36000','0','0','11','30584','0','0','0','0','0','0','0','0','0','0','Mutate Fear-Shrieker - Cast Fear'),
-- Greater Frayer (4.3.4 Official Data - Normal/Heroic)
('1955701','19557','0','0','100','1027','2300','8300','5100','12100','0','0','11','34644','1','0','0','0','0','0','0','0','0','0','Greater Frayer (Normal) - Cast Lash'),
('1955702','19557','0','0','100','1029','2300','8300','5100','12100','0','0','11','39122','1','0','0','0','0','0','0','0','0','0','Greater Frayer (Heroic) - Cast Lash'),
-- Greater Frayer - spell_list
-- Mutate Fleshlasher (4.3.4 Official Data - Normal/Heroic)
('1959801','19598','0','0','100','1025','7800','12100','6200','12100','0','0','11','34351','1','0','0','0','0','0','0','0','0','0','Mutate Fleshlasher - Cast Vicious Bite'),
-- Frayer Wildling (4.3.4 Official Data - Normal/Heroic)
Expand Down
27 changes: 26 additions & 1 deletion Updates/0394_bota_movement_corrections.sql
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,29 @@ UPDATE creature_template SET SpeedWalk = '1', SpeedRun = '1.14286' WHERE entry I
-- Commander Sarannis
-- WalkSpeed: 4
-- RunSpeed: 10
UPDATE creature_template SET SpeedWalk = '1.6', SpeedRun = '1.428' WHERE entry IN (17976, 21551);
UPDATE creature_template SET SpeedWalk = '1.6', SpeedRun = '1.428' WHERE entry IN (17976, 21551);

-- Sunseeker Botanist
-- WalkSpeed: 2.5
-- RunSpeed: 8
UPDATE creature_template SET SpeedWalk = '1', SpeedRun = '1.14286' WHERE entry IN (18422, 21570);

-- Greater Frayer
-- WalkSpeed: 2.5
-- RunSpeed: 8
UPDATE creature_template SET SpeedWalk = '1', SpeedRun = '1.14286' WHERE entry IN (19557, 21555);

-- Sunseeker Researcher
-- WalkSpeed: 2.5
-- RunSpeed: 8
UPDATE creature_template SET SpeedWalk = '1', SpeedRun = '1.14286' WHERE entry IN (18421, 21577);

-- Sunseekeker Chemist
-- WalkSpeed: 2.5
-- RunSpeed: 8
UPDATE creature_template SET SpeedWalk = '1', SpeedRun = '1.14286' WHERE entry IN (19486, 21572);

-- High Botanist Freywinn
-- [0] WalkSpeed: 4
-- [0] RunSpeed: 10
UPDATE creature_template SET SpeedWalk = '1.6', SpeedRun = '1.428' WHERE entry IN (17975, 21558);
118 changes: 115 additions & 3 deletions Updates/0395_bota_spell_list.sql
Original file line number Diff line number Diff line change
Expand Up @@ -122,14 +122,126 @@ DELETE FROM `creature_template_spells` WHERE `entry` IN (18404, 21549);

DELETE FROM `creature_spell_list_entry` WHERE `Id` IN (1840401, 2154901);
INSERT INTO `creature_spell_list_entry` (`Id`, `Name`, `ChanceSupportAction`, `ChanceRangedAttack`) VALUES
(1840401, 'Botanica - Bloodwarder Steward - Normal', 90, 0),
(2154901, 'Botanica - Bloodwarder Steward - Heroic', 90, 0);
(1840401, 'Botanica - Bloodwarder Steward - Normal', 0, 0),
(2154901, 'Botanica - Bloodwarder Steward - Heroic', 0, 0);

DELETE FROM `creature_spell_list` WHERE `Id` IN (1840401, 2154901);
INSERT INTO `creature_spell_list` (`Id`, `Position`, `SpellId`, `Flags`, `CombatCondition`, `TargetId`, `ScriptId`, `Availability`, `Probability`, `InitialMin`, `InitialMax`, `RepeatMin`, `RepeatMax`, `Comments`) VALUES
(1840401, 1, 34821, 0, -1, 0, 0, 100, 0, 11000, 18000, 17000, 25000, 'Bloodwarder Steward - Arcane Flurry - none'),
(2154901, 1, 34821, 0, -1, 0, 0, 100, 0, 11000, 18000, 17000, 25000, 'Bloodwarder Steward - Arcane Flurry - none');


UPDATE `creature_template` SET `SpellList` = 1840401 WHERE `entry` = 18404;
UPDATE `creature_template` SET `SpellList` = 2154901 WHERE `entry` = 21549;

-- Sunseeker Geomancer 18420
DELETE FROM `creature_template_spells` WHERE `entry` IN (18420, 21574);

DELETE FROM `creature_spell_list_entry` WHERE `Id` IN (1842001, 2157401);
INSERT INTO `creature_spell_list_entry` (`Id`, `Name`, `ChanceSupportAction`, `ChanceRangedAttack`) VALUES
(1842001, 'Botanica - Sunseeker Geomancer - Normal', 0, 0),
(2157401, 'Botanica - Sunseeker Geomancer - Heroic', 0, 0);

DELETE FROM `creature_spell_list` WHERE `Id` IN (1842001, 2157401);
INSERT INTO `creature_spell_list` (`Id`, `Position`, `SpellId`, `Flags`, `CombatCondition`, `TargetId`, `ScriptId`, `Availability`, `Probability`, `InitialMin`, `InitialMax`, `RepeatMin`, `RepeatMax`, `Comments`) VALUES
(1842001, 1, 35124, 0, -1, 2, 0, 100, 0, 4000, 8000, 4000, 8000, 'Sunseeker Geomancer - Arcane Explosion - self'),
(2157401, 1, 35124, 0, -1, 2, 0, 100, 0, 4000, 8000, 4000, 8000, 'Sunseeker Geomancer - AArcane Explosion - self');

UPDATE `creature_template` SET `SpellList` = 1842001 WHERE `entry` = 18420;
UPDATE `creature_template` SET `SpellList` = 2157401 WHERE `entry` = 21574;


-- Sunseeker Researcher 18421
DELETE FROM `creature_template_spells` WHERE `entry` IN (18421, 21577);

DELETE FROM `creature_spell_list_entry` WHERE `Id` IN (1842101, 2157701);
INSERT INTO `creature_spell_list_entry` (`Id`, `Name`, `ChanceSupportAction`, `ChanceRangedAttack`) VALUES
(1842101, 'Botanica - Sunseeker Researcher - Normal', 0, 0),
(2157701, 'Botanica - Sunseeker Researcher - Heroic', 0, 0);

DELETE FROM `creature_spell_list` WHERE `Id` IN (1842101, 2157701);
INSERT INTO `creature_spell_list` (`Id`, `Position`, `SpellId`, `Flags`, `CombatCondition`, `TargetId`, `ScriptId`, `Availability`, `Probability`, `InitialMin`, `InitialMax`, `RepeatMin`, `RepeatMax`, `Comments`) VALUES
(1842101, 1, 34353, 0, -1, 1, 0, 100, 0, 6000, 10000, 6000, 10000, 'Sunseeker Researcher - Frost Shock - current'),
(1842101, 2, 34355, 0, -1, 2, 0, 100, 0, 12000, 20000, 24000, 30000, 'Sunseeker Researcher - Poison Shield - self'),
(1842101, 3, 34352, 0, -1, 100, 0, 100, 0, 4000, 18000, 6000, 20000, 'Sunseeker Researcher - Mind Shock - random'),
(1842101, 4, 34354, 0, -1, 1, 0, 100, 0, 6000, 16000, 8000, 18000, 'Sunseeker Researcher - Flame Shock - current'),
(2157701, 1, 34353, 0, -1, 1, 0, 100, 0, 6000, 10000, 6000, 10000, 'Sunseeker Researcher - Frost Shock - current'),
(2157701, 2, 34355, 0, -1, 2, 0, 100, 0, 12000, 20000, 24000, 30000, 'Sunseeker Researcher - Poison Shield - self'),
(2157701, 3, 34352, 0, -1, 100, 0, 100, 0, 4000, 18000, 6000, 20000, 'Sunseeker Researcher - Mind Shock - random'),
(2157701, 4, 34354, 0, -1, 1, 0, 100, 0, 6000, 16000, 8000, 18000, 'Sunseeker Researcher - Flame Shock - current');


UPDATE `creature_template` SET `SpellList` = 1842101 WHERE `entry` = 18421;
UPDATE `creature_template` SET `SpellList` = 2157701 WHERE `entry` = 21577;


-- Sunseeker Botanist 18422
DELETE FROM `creature_template_spells` WHERE `entry` IN (18422, 21570);

DELETE FROM `creature_spell_list_entry` WHERE `Id` IN (1842201, 2157001);
INSERT INTO `creature_spell_list_entry` (`Id`, `Name`, `ChanceSupportAction`, `ChanceRangedAttack`) VALUES
(1842201, 'Botanica - Sunseeker Botanist - Normal', 80, 0),
(2157001, 'Botanica - Sunseeker Botanist - Heroic', 80, 0);

DELETE FROM `creature_spell_list` WHERE `Id` IN (1842201, 2157001);
INSERT INTO `creature_spell_list` (`Id`, `Position`, `SpellId`, `Flags`, `CombatCondition`, `TargetId`, `ScriptId`, `Availability`, `Probability`, `InitialMin`, `InitialMax`, `RepeatMin`, `RepeatMax`, `Comments`) VALUES
(1842201, 1, 34350, 0, -1, 6, 0, 100, 0, 6000, 16000, 17000, 28000, 'Sunseeker Botanist - Nature''s Rage - friendly missing buff skip self'),
(1842201, 2, 34254, 0, -5530001, 0, 0, 100, 0, 2000, 12000, 25000, 35000, 'Sunseeker Botanist - Rejuvenate Plant - friendly missing 20% skip self'),
(1842201, 3, 27637, 0, -1, 206, 0, 100, 0, 4000, 14000, 22000, 32000, 'Sunseeker Botanist - Regrowth - friendly missing 25% including self'),
(2157001, 1, 34350, 0, -1, 6, 0, 100, 0, 6000, 16000, 17000, 28000, 'Sunseeker Botanist - Nature''s Rage - friendly missing buff skip self'),
(2157001, 2, 39126, 0, -5530001, 0, 0, 100, 0, 2000, 12000, 25000, 35000, 'Sunseeker Botanist - Rejuvenate Plant - friendly missing 20% skip self'),
(2157001, 3, 39125, 0, -1, 206, 0, 100, 0, 4000, 14000, 22000, 32000, 'Sunseeker Botanist - Regrowth - friendly missing 25% including self');

UPDATE `creature_template` SET `SpellList` = 1842201 WHERE `entry` = 18422;
UPDATE `creature_template` SET `SpellList` = 2157001 WHERE `entry` = 21570;

-- Sunseeker Botanist Rejuvenate Plant should only be casted on friendly Plants, using custom unit_condition combat condition for this
-- Unit Condition for Sunseeker Botanist
DELETE FROM `unit_condition` WHERE `Id` IN (-5530001);
INSERT INTO `unit_condition` (Id,Variable_0,Op_0,Value_0,Variable_1,Op_1,Value_1) VALUES
(-5530001,75,1,5530015,12,4,80); -- STRING_ID EQUAL_TO 5320001, HEALTH_PERCENT, LESS_THAN_OR_EQUAL_TO 80

-- Combat Condition for Sunseeker Botanist
DELETE FROM `combat_condition` WHERE `Id` IN (-5530001);
INSERT INTO `combat_condition` (Id, FriendConditionID_0,FriendConditionOp_0,FriendConditionCount_0) VALUES
(-5530001,-5530001,6,1); -- STRING_ID EQUAL_TO 5530015

-- Assign string_id to all plants in botanica
UPDATE `creature_template` SET `StringId1` = 5530015 WHERE `entry` IN (19557, 19608, 19920, 19958, 19962, 19964, 19969, 21555, 21554, 21579, 21583, 21550, 21566, 21557);

-- Sunseeker Chemist 19486
DELETE FROM `creature_template_spells` WHERE `entry` IN (19486, 21572);

DELETE FROM `creature_spell_list_entry` WHERE `Id` IN (1948601, 2157201);
INSERT INTO `creature_spell_list_entry` (`Id`, `Name`, `ChanceSupportAction`, `ChanceRangedAttack`) VALUES
(1948601, 'Botanica - Sunseeker Chemist - Normal', 0, 0),
(2157201, 'Botanica - Sunseeker Chemist - Heroic', 0, 0);

DELETE FROM `creature_spell_list` WHERE `Id` IN (1948601, 2157201);
INSERT INTO `creature_spell_list` (`Id`, `Position`, `SpellId`, `Flags`, `CombatCondition`, `TargetId`, `ScriptId`, `Availability`, `Probability`, `InitialMin`, `InitialMax`, `RepeatMin`, `RepeatMax`, `Comments`) VALUES
(1948601, 1, 34358, 0, -1, 100, 0, 100, 0, 8000, 16000, 18000, 28000, 'Sunseeker Chemist - Vial of Poison - random'),
(1948601, 2, 34359, 0, -1, 3, 0, 100, 0, 12000, 21000, 14000, 24000, 'Sunseeker Chemist - Fire Breath Potion - self'),
(2157201, 1, 39127, 0, -1, 100, 0, 100, 0, 8000, 16000, 18000, 28000, 'Sunseeker Chemist - Vial of Poison - random'),
(2157201, 2, 39128, 0, -1, 3, 0, 100, 0, 12000, 21000, 14000, 24000, 'Sunseeker Chemist - Fire Breath Potion - self');


UPDATE `creature_template` SET `SpellList` = 1948601 WHERE `entry` = 19486;
UPDATE `creature_template` SET `SpellList` = 2157201 WHERE `entry` = 21572;


-- Greater Frayer 19557
DELETE FROM `creature_template_spells` WHERE `entry` IN (19557, 21555);

DELETE FROM `creature_spell_list_entry` WHERE `Id` IN (1955701, 2155501);
INSERT INTO `creature_spell_list_entry` (`Id`, `Name`, `ChanceSupportAction`, `ChanceRangedAttack`) VALUES
(1955701, 'Botanica - Greater Frayer - Normal', 0, 0),
(2155501, 'Botanica - Greater Frayer - Heroic', 0, 0);

DELETE FROM `creature_spell_list` WHERE `Id` IN (1955701, 2155501);
INSERT INTO `creature_spell_list` (`Id`, `Position`, `SpellId`, `Flags`, `CombatCondition`, `TargetId`, `ScriptId`, `Availability`, `Probability`, `InitialMin`, `InitialMax`, `RepeatMin`, `RepeatMax`, `Comments`) VALUES
(1955701, 1, 34644, 0, -1, 1, 0, 100, 0, 5000, 13000, 6000, 14000, 'Greater Frayer - Lash - current'),
(2155501, 1, 39122, 0, -1, 1, 0, 100, 0, 5000, 13000, 6000, 14000, 'Greater Frayer - Lash - current');


UPDATE `creature_template` SET `SpellList` = 1955701 WHERE `entry` = 19557;
UPDATE `creature_template` SET `SpellList` = 2155501 WHERE `entry` = 21555;

16 changes: 15 additions & 1 deletion Updates/0396_bota_cleanup.sql
Original file line number Diff line number Diff line change
@@ -1,2 +1,16 @@
-- DELETE unused dbscripts_on_creature_movement from botanica
DELETE FROM dbscripts_on_creature_movement WHERE id IN (1797602, 1797603, 1797604, 1799305);
DELETE FROM dbscripts_on_creature_movement WHERE id IN (1797602, 1797603, 1797604, 1799305, 1842005, 1842006, 1842201, 1842202, 1842203);

-- Text should be TextEmote
UPDATE broadcast_text SET ChatTypeID = '2' WHERE Id = '16944';

-- add correct spell_script target for heroic version of Rejuvenate Plant
DELETE FROM spell_script_target WHERE entry IN(39126);
INSERT INTO spell_script_target(entry, type, targetEntry, inverseEffectMask) VALUES
(39126,1,21555,0), -- 19557 normal entry
(39126,1,21554,0), -- 19608 normal entry
(39126,1,21579,0), -- 19920 normal entry
(39126,1,21583,0), -- 19958 normal entry
(39126,1,21550,0), -- 19962 normal entry
(39126,1,21566,0), -- 19964 normal entry
(39126,1,21557,0); -- 19969 normal entry
Loading

0 comments on commit d3a2d51

Please sign in to comment.