Spell script for endless absorb and preevent death amount.

Hi all, I decided to create a custom spell script for endless absorb. 40733 Aura unreliable, for example twilight eruption and its quarantine measures can calmly movement from his attribute, which ignores the whole immune system.

Spell analog spell script Hodir Protective Gaze. Thanks Shauren for example.

.cheat god - i am not sure about reliable.



[/CODE]class spell_gen_forest_soul_absorb : public SpellScriptLoader     // 500000

{
	    public:
	        spell_gen_forest_soul_absorb() : SpellScriptLoader("spell_gen_forest_soul_absorb") { }

        class spell_gen_forest_soul_absorb_AuraScript : public AuraScript
	        {
	            PrepareAuraScript(spell_gen_forest_soul_absorb_AuraScript);

            void OnAbsorb(AuraEffect* aurEff, DamageInfo& dmgInfo, uint32& absorbAmount)
	            {
	                absorbAmount = CalculatePct(dmgInfo.GetDamage(), aurEff->GetAmount());
	                RoundToInterval<uint32>(absorbAmount, 0, dmgInfo.GetDamage());
	                dmgInfo.AbsorbDamage(absorbAmount);
	            }

            void Register() OVERRIDE
	            {
	                OnEffectAbsorb += AuraEffectAbsorbFn(spell_gen_forest_soul_absorb_AuraScript::OnAbsorb, EFFECT_0);
	            }
	        };

        AuraScript* GetAuraScript() const OVERRIDE
	        {
	            return new spell_gen_forest_soul_absorb_AuraScript();
	        }
	};

In SpellEffect.cpp need add check after EffectInstaKill

if (!unitTarget || !unitTarget->IsAlive())
return;

if (unitTarget->HasAura(500000))
return;

[COLOR=rgb(167,29,93)]DELETE [COLOR=rgb(167,29,93)]FROM [COLOR=rgb(24,54,145)]spell_script_names[COLOR=rgb(24,54,145)] [COLOR=rgb(167,29,93)]WHERE [COLOR=rgb(24,54,145)]ScriptName[COLOR=rgb(24,54,145)] [COLOR=rgb(167,29,93)]= [COLOR=rgb(24,54,145)]‘[COLOR=rgb(0,0,0)]spell_gen_forest_soul_absorb[COLOR=rgb(24,54,145)]’; [COLOR=rgb(167,29,93)]INSERT INTO [COLOR=rgb(24,54,145)]spell_script_names[COLOR=rgb(24,54,145)] ([COLOR=rgb(24,54,145)]spell_id[COLOR=rgb(24,54,145)],[COLOR=rgb(24,54,145)]ScriptName[COLOR=rgb(24,54,145)]) [COLOR=rgb(167,29,93)]VALUES ([COLOR=rgb(0,134,179)]500000,[COLOR=rgb(24,54,145)]’ [COLOR=rgb(0,0,0)]spell_gen_forest_soul_absorb[COLOR=rgb(24,54,145)]');