Glyphe 'Sukkubus' Bugfix - Sonstiges - ExiliuM-Network

Glyphe 'Sukkubus' Bugfix

    Glyphe 'Sukkubus' Bugfix

    Hallo,

    ich habe mich mal ran gesetzt und versucht einen Bug zu fixen, der die Dots nicht aufgehoben hat obwohl sukkubus glyphe drinnen war. Nach etwas rumprobieren mit verschiedenen Snippets ist es mir endlich gelungen da was gescheites zusammen zu basteln. Ich teile den Fix hier mit euch, in der Hoffnung das es hier bald auch gefixt wird. Ist zwar nicht ganz feine Lösung aber besser als max buggy :)

    Der Teil wo '>' vor dem Code steht, muss in den schon vorhandenen implementiert werden.


    src/server/scripts/Spells/spell_warlock.cpp


    enum WarlockSpells
    {
    WARLOCK_GLYPH_OF_SUCCUBUS = 56250,
    PRIEST_SHADOW_WORD_DEATH = 32409,

    }



    }
    };

    class spell_warl_seduction : public SpellScriptLoader
    {
    public:
    spell_warl_seduction() : SpellScriptLoader("spell_warl_seduction") { }
    class spell_warl_seduction_SpellScript : public SpellScript
    {
    PrepareSpellScript(spell_warl_seduction_SpellScript);
    void HandleScriptEffect(SpellEffIndex /*effIndex*/)
    {
    Unit* caster = GetCaster();
    if (Unit* target = GetHitUnit())
    {
    if (caster->GetOwner() && caster->GetOwner()->HasAura(WARLOCK_GLYPH_OF_SUCCUBUS))
    {
    target->RemoveAurasByType(SPELL_AURA_PERIODIC_DAMAGE, 0, target->GetAura(PRIEST_SHADOW_WORD_DEATH)); // SW:D shall not be removed.
    target->RemoveAurasByType(SPELL_AURA_PERIODIC_DAMAGE_PERCENT);
    target->RemoveAurasByType(SPELL_AURA_PERIODIC_LEECH);
    }
    }
    }
    void Register()
    {
    OnEffectHitTarget += SpellEffectFn(spell_warl_seduction_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_APPLY_AURA);
    }
    };
    SpellScript* GetSpellScript() const
    {
    return new spell_warl_seduction_SpellScript();
    }
    };


    void AddSC_warlock_spell_scripts()
    {



    void AddSC_warlock_spell_scripts()
    {
    new spell_warl_seduction();
    }



    Und zu guter letzt in der WDB:

    SQL-Abfrage

    1. DELETE FROM `spell_script_names` WHERE `spell_id`=6358;
    2. INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES(6358,'spell_warl_seduction');



    ok.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „scorni“ ()