Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ulduar: Convert Auriaya to BossAI and Spell Lists #440

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

insunaa
Copy link
Contributor

@insunaa insunaa commented Feb 22, 2023

🍰 Pullrequest

This PR converts Auriaya to BossAI and adds Spell Lists

Todo / Checklist

  • Testing
DELETE FROM `creature_spell_list` WHERE `Id` IN (34035, 34171);
INSERT INTO `creature_spell_list` (`Id`, `Position`, `SpellId`, `InitialMin`, `InitialMax`, `RepeatMin`, `RepeatMax`, `Flags`, `TargetId`, `ScriptId`, `Availability`, `Probability`, `Comments`) VALUES
(3403500, 0, 64478, 9000, 12000, 13000, 16000, 0, 100, 0, 100, 0, 'Feral Defender 10 - Feral Pounce'),
(3417100, 0, 64669, 9000, 12000, 13000, 16000, 0, 100, 0, 100, 0, 'Feral Defender 25 - Feral Pounce');

DELETE FROM `creature_spell_list_entry` WHERE `Id` IN (3403500, 3417100);
INSERT INTO `creature_spell_list_entry` VALUES
(3403500, 'Ulduar - Feral Defender (10)', 100, 100),
(3417100, 'Ulduar - Feral Defender (25)', 100, 100);

UPDATE `creature_template` SET `SpellList`=3403500 WHERE `entry` IN (34035);
UPDATE `creature_template` SET `SpellList`=3417100 WHERE `entry` IN (34171);

DELETE FROM `creature_spell_list` WHERE `Id`  IN (3351500, 3417500);
INSERT INTO `creature_spell_list` (`Id`, `Position`, `SpellId`, `InitialMin`, `InitialMax`, `RepeatMin`, `RepeatMax`, `Flags`, `TargetId`, `ScriptId`, `Availability`, `Probability`, `Comments`) VALUES
(3351500, 0, 64396, 50000,  50000,  37000,   37000,   0, 100,     0, 100, 1, 'Auriaya 10 - Swarm'),
(3351500, 1, 64422, 58000,  58000,  27000,   27000,   0,   0,     0, 100, 1, 'Auriaya 10 - Sonic Screech'),
(3351500, 2, 64386, 38000,  38000,  35000,   35000,   0,   0, 29270, 100, 1, 'Auriaya 10 - Terrifying Screech'),
(3351500, 2, 47008, 600000, 600000, 1800000, 1800000, 0,   0, 29271, 100, 1, 'Auriaya 10 - Berserk'),
(3417500, 0, 64396, 50000,  50000,  37000,   37000,   0, 100,     0, 100, 1, 'Auriaya 25 - Swarm'),
(3417500, 1, 64688, 58000,  58000,  27000,   27000,   0,   0,     0, 100, 1, 'Auriaya 25 - Sonic Screech'),
(3417500, 2, 64386, 38000,  38000,  35000,   35000,   0,   0, 29270, 100, 1, 'Auriaya 25 - Terrifying Screech'),
(3417500, 2, 47008, 600000, 600000, 1800000, 1800000, 0,   0, 29271, 100, 1, 'Auriaya 25 - Berserk');

INSERT INTO `creature_spell_list_entry` VALUES
(3351500, 'Ulduar - Auriaya (10)', 100, 100),
(3417500, 'Ulduar - Auriaya (25)', 100, 100);

UPDATE `creature_template` SET `SpellList`=3351500 WHERE `entry`=33515;
UPDATE `creature_template` SET `SpellList`=3417500 WHERE `entry`=34175;

INSERT INTO `dbscripts_on_relay` (id, command, dataint, comments) VALUES
(29270, 0, 34450, 'Auriaya - Emote Screech'),
(29271, 0, 34358, 'Auriaya - Say Berserk');

UPDATE `broadcast_text` SET `ChatTypeID`=3 WHERE `Id`=34450;
UPDATE `broadcast_text` SET `ChatTypeID`=3 WHERE `Id`=34162;
UPDATE `broadcast_text` SET `ChatTypeID`=1, `SoundEntriesID1`=15473 WHERE `Id`=34341;
UPDATE `broadcast_text` SET `ChatTypeID`=1, `SoundEntriesID1`=15475 WHERE `Id`=34355;
UPDATE `broadcast_text` SET `ChatTypeID`=1, `SoundEntriesID1`=15474 WHERE `Id`=34354;
UPDATE `broadcast_text` SET `ChatTypeID`=1, `SoundEntriesID1`=15477 WHERE `Id`=34358;

UPDATE `spell_template` SET `InterruptFlags`=8, `ChannelInterruptFlags`=0 WHERE `Id` IN (64389, 64678);
UPDATE `creature_template` SET `MechanicImmuneMask`=`MechanicImmuneMask`&~0x2000000 WHERE `entry` IN (33515, 34175);
UPDATE `creature_addon` SET `moveflags`=0 WHERE `guid`=6031179;

UPDATE `creature_template` SET `DisplayIdProbability2`=50,`DisplayIdProbability3`=50 WHERE `Entry` IN (34014,34166);

UPDATE `creature_ai_scripts` SET `event_param1`=100,`event_param2`=1000 WHERE `id` IN (3401404, 3401405);

-- Testing Only!!

DELETE FROM `spell_scripts` WHERE `Id` IN (64386, 64456);
INSERT INTO `spell_scripts` VALUES
(64386,'spell_terrifying_screech'),
(64456,'spell_feral_essence_removal');

@killerwife
Copy link
Contributor

Also move

Id: 64456
Name: Feral Essence Application Removal

to the auriaya file

struct boss_auriayaAI : public BossAI
{
boss_auriayaAI(Creature* creature) : BossAI(creature, AURIAYA_ACTIONS_MAX),
m_instance(dynamic_cast<instance_ulduar*>(creature->GetInstanceData())),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Static cast is enough afaik.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It usually is, but with this I can be 100% certain that the instance is what I think it will be. Yes dynamic_cast is more expensive than static_cast, but in this case it's only invoked once at construction, so I believe the overall impact should be negligible in return for guaranteeing that I can't accidentally call some m_instance-> function that is only available in instance_ulduar if someone spawns this Boss outside of Ulduar for a giggle for example

@killerwife
Copy link
Contributor

Ok feature wise pr is complete, for sql, im missing the defender abilities and the 2 (normal) 4 (hc) creatures that accompany her, also in spell lists. They are both integral parts of the fight. After that, ill give it a test ingame and can be merged.

@insunaa
Copy link
Contributor Author

insunaa commented Nov 2, 2024

Her adds are currently scripted in EAI. I can convert them to spellscript too, but it didn't seem necessary at the time.

@killerwife
Copy link
Contributor

They are such an integral part of the fight in this case that it is kinda necessary. Either way after that we can merge it.

@insunaa
Copy link
Contributor Author

insunaa commented Nov 5, 2024

Alright, will do

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants