Scripts/LCT: fixed Siamat's Achievement 'Headed South'

This commit is contained in:
Ovahlord
2021-07-29 17:29:36 +02:00
parent c58d2752d3
commit 8cabdc6c85
2 changed files with 56 additions and 21 deletions

View File

@@ -0,0 +1,12 @@
DELETE FROM `spell_script_names` WHERE `ScriptName`= 'spell_siamat_lightning_charge';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(93959, 'spell_siamat_lightning_charge');
DELETE FROM `spell_dbc` WHERE `Id`= 93957;
INSERT INTO `spell_dbc` (`Id`, `Attributes`, `AttributesEx`, `AttributesEx3`, `AttributesEx6`, `CastingTimeIndex`, `DurationIndex`, `RangeIndex`, `SchoolMask`, `Comment`) VALUES
(93957, 0x100, 0x10000000, 0x00100000, 0x00000400, 1, 36, 1, 1, '(Serverside/Non-DB2) Lightning Charge');
DELETE FROM `spelleffect_dbc` WHERE `Id`= 160111;
INSERT INTO `spelleffect_dbc` (`Id`, `Effect`, `EffectAura`, `EffectImplicitTargetA`, `EffectImplicitTargetB`, `SpellID`, `EffectIndex`, `Comment`) VALUES
(160111, 6, 4, 1, 0, 93957, 0, '(Serverside/Non-DB2) Lightning Charge');

View File

@@ -37,31 +37,34 @@ enum Texts
enum Spells
{
// Siamat
SPELL_STATIC_SHOCK_1 = 84546,
SPELL_STATIC_SHOCK_2 = 84555,
SPELL_STATIC_SHOCK_3 = 84556,
SPELL_STORM_BOLT = 73564,
SPELL_DEFLECTING_WINDS = 84589,
SPELL_WAILING_WINDS = 83066,
SPELL_WAILING_WINDS_DAMAGE = 83094,
SPELL_CLOUD_BURST = 83790,
SPELL_CALL_OF_SKY = 84956,
SPELL_STORM_BOLT_PHASE_2 = 91853,
SPELL_ABSORB_STORMS = 83151,
SPELL_STATIC_SHOCK_1 = 84546,
SPELL_STATIC_SHOCK_2 = 84555,
SPELL_STATIC_SHOCK_3 = 84556,
SPELL_STORM_BOLT = 73564,
SPELL_DEFLECTING_WINDS = 84589,
SPELL_WAILING_WINDS = 83066,
SPELL_WAILING_WINDS_DAMAGE = 83094,
SPELL_CLOUD_BURST = 83790,
SPELL_CALL_OF_SKY = 84956,
SPELL_STORM_BOLT_PHASE_2 = 91853,
SPELL_ABSORB_STORMS = 83151,
// Servant of Siamat
SPELL_SHRINK = 59632, // Serverside spell
SPELL_THUNDER_CRASH = 84521,
SPELL_LIGHTNING_NOVA = 84544,
SPELL_LIGHTNING_CHARGE = 91872,
SPELL_SUICIDE = 43388,
SPELL_SHRINK = 59632, // Serverside spell
SPELL_THUNDER_CRASH = 84521,
SPELL_LIGHTNING_NOVA = 84544,
SPELL_LIGHTNING_CHARGE = 91872,
SPELL_SUICIDE = 43388,
// Minion of Siamat
SPELL_DEPLETION = 84550,
SPELL_CHAIN_LIGHTNING = 83455,
SPELL_TEMPEST_STORM_SUMMON = 83414,
SPELL_TEMPEST_STORM_TRANSFORM = 83170,
SPELL_TEMPEST_STORM_AURA = 83406
SPELL_DEPLETION = 84550,
SPELL_CHAIN_LIGHTNING = 83455,
SPELL_TEMPEST_STORM_SUMMON = 83414,
SPELL_TEMPEST_STORM_TRANSFORM = 83170,
SPELL_TEMPEST_STORM_AURA = 83406,
// Player
SPELL_LIGHTNING_CHARGE_ACHIEVEMENT_AURA = 93957
};
enum Events
@@ -619,6 +622,25 @@ class spell_siamat_absorb_storms : public AuraScript
}
};
class spell_siamat_lightning_charge : public AuraScript
{
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_LIGHTNING_CHARGE_ACHIEVEMENT_AURA });
}
void HandlePeriodic(AuraEffect const* /*aurEff*/)
{
if (GetStackAmount() == GetSpellInfo()->StackAmount)
GetTarget()->CastSpell(nullptr, SPELL_LIGHTNING_CHARGE_ACHIEVEMENT_AURA, true);
}
void Register() override
{
OnEffectPeriodic.Register(&spell_siamat_lightning_charge::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
void AddSC_boss_siamat()
{
RegisterLostCityOfTheTolvirAI(boss_siamat);
@@ -630,4 +652,5 @@ void AddSC_boss_siamat()
RegisterSpellScript(spell_siamat_wailing_winds_knockback);
RegisterSpellScript(spell_siamat_gathered_storms);
RegisterSpellScript(spell_siamat_absorb_storms);
RegisterSpellScript(spell_siamat_lightning_charge);
}