Core/Spell: SpellAura Redux (#22794)

* typo and correction

* spell aura no longer shared between targets

_spellAura isolated

* SPELL_AURA_CONTROL_VEHICLE is not strictly single target spell

Steam Tank Control and Wyrmrest Commander

units can reseat themselves again

* Rename 9999_99_99_99_world.sql to 2019_03_08_00_world.sql
This commit is contained in:
PolarCookie
2019-03-08 08:34:16 +01:00
committed by Giacomo Pozzoni
parent 3eecadcebf
commit ec3cb05d7f
7 changed files with 49 additions and 22 deletions

View File

@@ -4126,6 +4126,26 @@ class spell_corrupting_plague_aura : public AuraScript
}
};
enum SiegeTankControl
{
SPELL_SIEGE_TANK_CONTROL = 47963
};
class spell_gen_vehicle_control_link : public AuraScript
{
PrepareAuraScript(spell_gen_vehicle_control_link);
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
GetTarget()->RemoveAurasDueToSpell(SPELL_SIEGE_TANK_CONTROL); //aurEff->GetAmount()
}
void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_gen_vehicle_control_link::OnRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
// 34779 - Freezing Circle
enum FreezingCircleSpells
{
@@ -4289,5 +4309,6 @@ void AddSC_generic_spell_scripts()
RegisterSpellScript(spell_gen_clear_debuffs);
RegisterAuraScript(spell_gen_pony_mount_check);
RegisterAuraScript(spell_corrupting_plague_aura);
RegisterAuraScript(spell_gen_vehicle_control_link);
RegisterSpellScript(spell_freezing_circle);
}

View File

@@ -773,7 +773,7 @@ class spell_warl_haunt : public SpellScriptLoader
{
if (Aura* aura = GetHitAura())
if (AuraEffect* aurEff = aura->GetEffect(EFFECT_1))
aurEff->SetAmount(CalculatePct(aurEff->GetAmount(), GetHitDamage()));
aurEff->SetAmount(CalculatePct(GetHitDamage(), aurEff->GetAmount()));
}
void Register() override