Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //INSERT INTO spell_script_names VALUES (244550, 'freakz_aura_the_future_chromie');
- class freakz_aura_the_future_chromie : public SpellScriptLoader
- {
- public:
- freakz_aura_the_future_chromie() : SpellScriptLoader("freakz_aura_the_future_chromie") { }
- class freakz_aura_the_future_chromie_AuraScript : public AuraScript
- {
- PrepareAuraScript(freakz_aura_the_future_chromie_AuraScript);
- void OnPeriodic(AuraEffect const* aurEff)
- {
- Unit* caster = GetCaster();
- if (!caster || !caster->IsPlayer())
- return;
- uint32 itemLevel = FREAKZ::Utils::Players::GetItemLevelEquipped(caster);
- int32 amount = (990 - itemLevel);
- if (amount > 100)
- amount = 100;
- else if (amount < 30)
- amount = 30;
- AuraEffect* dmgEffect = aurEff->GetBase()->GetEffect(EFFECT_2);
- AuraEffect* healEffect = aurEff->GetBase()->GetEffect(EFFECT_3);
- AuraEffect* hpEffect = aurEff->GetBase()->GetEffect(EFFECT_4);
- dmgEffect->ChangeAmount(amount);
- healEffect->ChangeAmount(amount);
- hpEffect->ChangeAmount(amount);
- }
- void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
- {
- Unit* caster = GetCaster();
- if (!caster)
- return;
- caster->SetUInt32Value(UNIT_FIELD_EFFECTIVE_LEVEL, 112);
- }
- void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
- {
- Unit* caster = GetCaster();
- if (!caster)
- return;
- caster->SetUInt32Value(UNIT_FIELD_EFFECTIVE_LEVEL, 0);
- }
- void Register() override
- {
- OnEffectPeriodic += AuraEffectPeriodicFn(freakz_aura_the_future_chromie_AuraScript::OnPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
- AfterEffectApply += AuraEffectApplyFn(freakz_aura_the_future_chromie_AuraScript::OnApply, EFFECT_5, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
- AfterEffectRemove += AuraEffectRemoveFn(freakz_aura_the_future_chromie_AuraScript::OnRemove, EFFECT_5, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
- }
- };
- AuraScript* GetAuraScript() const override
- {
- return new freakz_aura_the_future_chromie_AuraScript();
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment