@@ -82,7 +82,9 @@ typedef AreaTrigger AreaTriggerEntry;
8282#else
8383class InstanceData ;
8484struct ItemPrototype ;
85+ #if !defined ELUNA_VMANGOS
8586struct SpellEntry ;
87+ #endif
8688typedef ItemPrototype ItemTemplate;
8789typedef SpellEffectIndex SpellEffIndex;
8890typedef SpellEntry SpellInfo;
@@ -639,7 +641,7 @@ class ELUNA_GAME_API Eluna
639641 void OnBGDestroy (BattleGround* bg, BattleGroundTypeId bgId, uint32 instanceId);
640642
641643 /* Spell */
642- #ifdef ELUNA_TRINITY
644+ #ifdef ELUNA_TRINITY
643645 void OnSpellCast (Spell* pSpell, bool skipCheck);
644646 bool OnAuraApplication (Aura* aura, AuraEffect const * auraEff, Unit* target, uint8 mode, bool apply);
645647 void OnAuraDispel (Aura* aura, DispelInfo* dispelInfo);
@@ -663,7 +665,7 @@ class ELUNA_GAME_API Eluna
663665 void OnSpellHit (Spell* pSpell);
664666 void OnAfterSpellHit (Spell* pSpell);
665667 void OnEffectCalcAbsorb (Spell* pSpell, DamageInfo const & damageInfo, uint32& resistAmount, int32& absorbAmount);
666- # else
668+ # elif defined ELUNA_CMANGOS
667669 void OnSpellCast (Spell* pSpell, bool skipCheck);
668670 bool OnAuraApplication (Aura* aura, Unit* target, uint8 mode, bool apply);
669671 void OnAuraDispel (Aura* aura, Unit* dispeller, uint32 dispellingSpellId, uint32 originalStacks);
@@ -687,7 +689,31 @@ class ELUNA_GAME_API Eluna
687689 void OnSpellHit (Spell* pSpell);
688690 void OnAfterSpellHit (Spell* pSpell);
689691 void OnEffectCalcAbsorb (Spell* pSpell, SpellNonMeleeDamage const & damageInfo, uint32& resistAmount, int32& absorbAmount);
690- #endif
692+ #elif defined ELUNA_VMANGOS
693+ void OnSpellCast (Spell* pSpell, bool skipCheck);
694+ bool OnAuraApplication (Aura* aura, Unit* target, uint8 mode, bool apply);
695+ void OnAuraDispel (Aura* aura, Unit* dispeller, uint32 dispellingSpellId, uint32 originalStacks);
696+ bool OnPeriodicTick (Aura* aura, Unit* target);
697+ void OnPeriodicUpdate (Aura* aura);
698+ void OnAuraCalcAmount (Aura* aura, int32& amount, bool & canBeRecalculated);
699+ void OnCalcPeriodic (Aura* aura, bool & isPeriodic, int32& amplitude);
700+ // bool OnAuraCanProc(Aura* aura, ProcExecutionData& procInfo);
701+ // bool OnAuraProc(Aura* aura, ProcExecutionData& procInfo);
702+ uint32 OnCheckCast (Spell* pSpell);
703+ void OnBeforeCast (Spell* pSpell);
704+ void OnAfterCast (Spell* pSpell);
705+ void OnObjectAreaTargetSelect (Spell* pSpell, uint8 effIndex, std::list<WorldObject*>& targets);
706+ void OnObjectTargetSelect (Spell* pSpell, uint8 effIndex, WorldObject*& target);
707+ // void OnDestinationTargetSelect(Spell* pSpell, uint8 effIndex, SpellCastTargets& target);
708+ bool OnEffectLaunch (Spell* pSpell, uint8 effIndex, uint8 mode, bool preventDefault);
709+ bool OnEffectLaunchTarget (Spell* pSpell, uint8 effIndex, uint8 mode, bool preventDefault);
710+ bool OnEffectHit (Spell* pSpell, uint8 effIndex, uint8 mode, bool preventDefault);
711+ bool OnEffectHitTarget (Spell* pSpell, uint8 effIndex, uint8 mode, bool preventDefault);
712+ void OnBeforeSpellHit (Spell* pSpell, uint8 missInfo);
713+ void OnSpellHit (Spell* pSpell);
714+ void OnAfterSpellHit (Spell* pSpell);
715+ // void OnEffectCalcAbsorb(Spell* pSpell, SpellNonMeleeDamage const& damageInfo, uint32& resistAmount, int32& absorbAmount);
716+ #endif
691717};
692718template <> Unit* Eluna::CHECKOBJ <Unit>(int narg, bool error);
693719template <> Object* Eluna::CHECKOBJ <Object>(int narg, bool error);
0 commit comments