Skip to content

Commit

Permalink
TK: Rework Kael using spell scripts, combat ai, bct and spell lists
Browse files Browse the repository at this point in the history
  • Loading branch information
killerwife committed Nov 21, 2023
1 parent 40574b6 commit e51c81d
Show file tree
Hide file tree
Showing 10 changed files with 752 additions and 1,378 deletions.
53 changes: 0 additions & 53 deletions sql/scriptdev2/scriptdev2.sql
Expand Up @@ -4769,59 +4769,6 @@ INSERT INTO script_texts (entry,content_default,sound,type,language,emote,broadc
('-1548056','%s takes a deep breath!','0','3','0','0','20774','lurker below EMOTE_DEEP_BREATH');

-- -1 550 000 THE EYE
INSERT INTO script_texts (entry,content_default,sound,type,language,emote,broadcast_text_id,comment) VALUES
('-1550000','Alert! You are marked for extermination.','11213','1','0','0','20906','voidreaver SAY_AGGRO'),
('-1550001','Extermination, successful.','11215','1','0','0','20908','voidreaver SAY_SLAY1'),
('-1550002','Imbecile life form, no longer functional.','11216','1','0','0','20909','voidreaver SAY_SLAY2'),
('-1550003','Threat neutralized.','11217','1','0','0','20910','voidreaver SAY_SLAY3'),
('-1550004','Systems... shutting... d-o-w-n...','11214','1','0','0','20907','voidreaver SAY_DEATH'),
('-1550005','Alternative measure commencing...','11218','1','0','0','20911','voidreaver SAY_POUNDING1'),
('-1550006','Calculating force parameters...','11219','1','0','0','20912','voidreaver SAY_POUNDING2'),

('-1550007','Tal anu''men no sin''dorei!','11134','1','0','0','20849','solarian SAY_AGGRO'),
('-1550008','Ha ha ha! You are hopelessly outmatched!','11139','1','0','0','56464','solarian SAY_SUMMON1'),
('-1550009','I will crush your delusions of grandeur!','11140','1','0','0','20855','solarian SAY_SUMMON2'),
('-1550010','Your soul belongs to the Abyss!','11136','1','0','0','20851','solarian SAY_KILL1'),
('-1550011','By the blood of the Highborne!','11137','1','0','0','20852','solarian SAY_KILL2'),
('-1550012','For the Sunwell!','11138','1','0','0','20853','solarian SAY_KILL3'),
('-1550013','The warmth of the sun... awaits.','11135','1','0','0','20850','solarian SAY_DEATH'),
('-1550014','Enough of this! Now I call upon the fury of the cosmos itself.','0','1','0','0','20372','solarian SAY_VOIDA'),
('-1550015','I become ONE... with the VOID!','0','1','0','0','20373','solarian SAY_VOIDB'),

('-1550016','Energy. Power. My people are addicted to it... a dependence made manifest after the Sunwell was destroyed. Welcome... to the future. A pity you are too late to stop it. No one can stop me now! Selama ashal''anore!','11256','1','0','0','20195','kaelthas SAY_INTRO note: was changed sometime after TBC'),
('-1550017','Capernian will see to it that your stay here is a short one.','11257','1','0','0','19004','kaelthas SAY_INTRO_CAPERNIAN'),
('-1550018','Well done, you have proven worthy to test your skills against my master engineer, Telonicus.','11258','1','0','0','19005','kaelthas SAY_INTRO_TELONICUS'),
('-1550019','Let us see how your nerves hold up against the Darkener, Thaladred!','11259','1','0','0','19006','kaelthas SAY_INTRO_THALADRED'),
('-1550020','You have persevered against some of my best advisors... but none can withstand the might of the Blood Hammer. Behold, Lord Sanguinar!','11260','1','0','0','19003','kaelthas SAY_INTRO_SANGUINAR'),
('-1550021','As you see, I have many weapons in my arsenal....','11261','1','0','0','19053','kaelthas SAY_PHASE2_WEAPON'),
('-1550022','Perhaps I underestimated you. It would be unfair to make you fight all four advisors at once, but... fair treatment was never shown to my people. I''m just returning the favor.','11262','1','0','0','19060','kaelthas SAY_PHASE3_ADVANCE'),
('-1550023','Alas, sometimes one must take matters into one''s own hands. Balamore shanal!','11263','1','0','0','19195','kaelthas SAY_PHASE4_INTRO2'),
('-1550024','I have not come this far to be stopped! The future I have planned will not be jeopardized! Now you will taste true power!!','11273','1','0','0','20208','kaelthas SAY_PHASE5_NUTS'),
('-1550025','You will not prevail.','11270','1','0','0','20204','kaelthas SAY_SLAY1'),
('-1550026','You gambled...and lost.','11271','1','0','0','20205','kaelthas SAY_SLAY2'),
('-1550027','This was Child''s play.','11272','1','0','0','20206','kaelthas SAY_SLAY3'),
('-1550028','Obey me.','11268','1','0','0','20202','kaelthas SAY_MINDCONTROL1'),
('-1550029','Bow to my will.','11269','1','0','0','18259','kaelthas SAY_MINDCONTROL2'),
('-1550030','Let us see how you fare when your world is turned upside down.','11264','1','0','0','20198','kaelthas SAY_GRAVITYLAPSE1'),
('-1550031','Having trouble staying grounded?','11265','1','0','0','20199','kaelthas SAY_GRAVITYLAPSE2'),
('-1550032','Anar''anel belore!','11267','1','0','0','20201','kaelthas SAY_SUMMON_PHOENIX1'),
('-1550033','By the power of the sun!','11266','1','0','0','20200','kaelthas SAY_SUMMON_PHOENIX2'),
('-1550034','For... Quel''...Thalas!','11274','1','0','0','20207','kaelthas SAY_DEATH'),

('-1550035','Prepare yourselves!','11203','1','0','0','20905','thaladred SAY_THALADRED_AGGRO'),
('-1550036','Forgive me, my prince! I have... failed.','11204','1','0','0','20904','thaladred SAY_THALADRED_DEATH'),
('-1550037','%s sets eyes on $n!','0','2','0','0','11074','thaladred EMOTE_THALADRED_GAZE'),

('-1550038','Blood for blood!','11152','1','0','0','20859','sanguinar SAY_SANGUINAR_AGGRO'),
('-1550039','NO! I... will... not...','11153','1','0','0','20858','sanguinar SAY_SANGUINAR_DEATH'),

('-1550040','The sin''dorei reign supreme!','11117','1','0','0','20847','capernian SAY_CAPERNIAN_AGGRO'),
('-1550041','This is not over!','11118','1','0','0','29826','capernian SAY_CAPERNIAN_DEATH'),

('-1550042','Anar''alah belore!','11157','1','0','0','20860','telonicus SAY_TELONICUS_AGGRO'),
('-1550043','More perils... await...','11158','1','0','0','20861','telonicus SAY_TELONICUS_DEATH'),

('-1550044','%s begins to cast Pyroblast!','0','3','0','0','20775','kaelthas EMOTE_PYROBLAST');

-- -1 552 000 THE ARCATRAZ

Expand Down
16 changes: 16 additions & 0 deletions sql/scriptdev2/spell.sql
Expand Up @@ -252,6 +252,21 @@ INSERT INTO spell_scripts(Id, ScriptName) VALUES
(34662,'spell_bear_command'),
(36815,'spell_shock_barrier'),
(46165,'spell_shock_barrier'),
(36797,'spell_mind_control_kaelthas'),
(35869,'spell_nether_beam'),
(36819,'spell_pyroblast_kael'),
(36730,'spell_flame_strike_kael'),
(36089,'spell_netherbeam_speed_kael'),
(36090,'spell_netherbeam_speed_kael'),
(36091,'spell_kael_gaining_power'),
(36092,'spell_kael_explodes'),
(36196,'spell_pure_nether_beam'),
(36197,'spell_pure_nether_beam'),
(36198,'spell_pure_nether_beam'),
(36201,'spell_pure_nether_beam_parent'),
(36290,'spell_pure_nether_beam_parent'),
(36291,'spell_pure_nether_beam_parent'),
(37027,'spell_remote_toy_trigger'),
(39228,'spell_argussian_compass'),
(41341,'spell_balance_of_power'),
(41475,'spell_reflective_shield_malande'),
Expand Down Expand Up @@ -376,6 +391,7 @@ INSERT INTO spell_scripts(Id, ScriptName) VALUES
(39810,'spell_sparrowhawk_net'),
(34190,'spell_void_reaver_arcane_orb'),
(41034,'spell_spell_absorption'),
(36709,'spell_kael_phase_two'),
(35861,'spell_nether_vapor_summon'),
(35862,'spell_nether_vapor_summon'),
(35863,'spell_nether_vapor_summon'),
Expand Down
Expand Up @@ -29,15 +29,15 @@ EndScriptData */

enum
{
SAY_AGGRO = -1550007,
SAY_SUMMON1 = -1550008,
SAY_SUMMON2 = -1550009,
SAY_KILL1 = -1550010,
SAY_KILL2 = -1550011,
SAY_KILL3 = -1550012,
SAY_DEATH = -1550013,
SAY_VOIDA = -1550014,
SAY_VOIDB = -1550015,
SAY_AGGRO = 20849,
SAY_SUMMON1 = 20854,
SAY_SUMMON2 = 20855,
SAY_KILL1 = 20851,
SAY_KILL2 = 20852,
SAY_KILL3 = 20853,
SAY_DEATH = 20850,
SAY_VOIDA = 20372,
SAY_VOIDB = 20373,

SPELL_ARCANE_MISSILES = 33031,
SPELL_WRATH_OF_THE_ASTROMANCER = 42783,
Expand Down Expand Up @@ -132,6 +132,7 @@ struct boss_high_astromancer_solarianAI : public CombatAI
AddCustomAction(SOLARIAN_SPLIT_AGENTS, true, [&]() { HandleSplitAgents(); });
AddCustomAction(SOLARIAN_SPLIT_PRIESTS, true, [&]() { HandleSplitPriests(); });
m_uiDefaultArmor = m_creature->GetArmor();
AddOnKillText(SAY_KILL1, SAY_KILL2, SAY_KILL3);
}

ScriptedInstance* m_instance;
Expand All @@ -158,30 +159,17 @@ struct boss_high_astromancer_solarianAI : public CombatAI
SetCombatMovement(true);
}

void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;

switch (urand(0, 2))
{
case 0: DoScriptText(SAY_KILL1, m_creature); break;
case 1: DoScriptText(SAY_KILL2, m_creature); break;
case 2: DoScriptText(SAY_KILL3, m_creature); break;
}
}

void JustDied(Unit* /*killer*/) override
{
DoScriptText(SAY_DEATH, m_creature);
DoBroadcastText(SAY_DEATH, m_creature);

if (m_instance)
m_instance->SetData(TYPE_SOLARIAN, DONE);
}

void Aggro(Unit* /*who*/) override
{
DoScriptText(SAY_AGGRO, m_creature);
DoBroadcastText(SAY_AGGRO, m_creature);

if (m_instance)
m_instance->SetData(TYPE_SOLARIAN, IN_PROGRESS);
Expand Down Expand Up @@ -224,7 +212,7 @@ struct boss_high_astromancer_solarianAI : public CombatAI

void HandlePhase2Delay()
{
DoScriptText(SAY_VOIDB, m_creature);
DoBroadcastText(SAY_VOIDB, m_creature);

SetCombatScriptStatus(false);
SetCombatMovement(true);
Expand All @@ -249,7 +237,7 @@ struct boss_high_astromancer_solarianAI : public CombatAI

m_creature->SetVisibility(VISIBILITY_OFF);

DoScriptText(urand(0, 1) ? SAY_SUMMON1 : SAY_SUMMON2, m_creature);
DoBroadcastText(urand(0, 1) ? SAY_SUMMON1 : SAY_SUMMON2, m_creature);
ResetTimer(SOLARIAN_SPLIT_AGENTS, 5000);
}

Expand Down Expand Up @@ -296,7 +284,7 @@ struct boss_high_astromancer_solarianAI : public CombatAI
{
if (DoCastSpellIfCan(nullptr, SPELL_SOLARIAN_TRANSFORM) == CAST_OK)
{
DoScriptText(SAY_VOIDA, m_creature);
DoBroadcastText(SAY_VOIDA, m_creature);
ResetTimer(SOLARIAN_PHASE_2_DELAY, 2000);

m_creature->SetArmor(WV_ARMOR);
Expand Down

0 comments on commit e51c81d

Please sign in to comment.