Core/Auras: Move periodic aura effect handlers to separate functions, do a little cleanup in these, also allow periodic dummy/periodic trigger spell auras to tick when caster is not available.

This commit is contained in:
QAston
2011-06-19 13:13:41 +02:00
parent 0f95cf7ffd
commit aebb75b816
2 changed files with 1105 additions and 1212 deletions
File diff suppressed because it is too large Load Diff
@@ -65,11 +65,7 @@ class AuraEffect
bool IsAffectedOnSpell(SpellEntry const *spell) const; bool IsAffectedOnSpell(SpellEntry const *spell) const;
void SendTickImmune(Unit* target, Unit *caster) const; void SendTickImmune(Unit* target, Unit *caster) const;
void PeriodicTick(AuraApplication * aurApp, Unit* caster) const; void PeriodicTick(AuraApplication * aurApp, Unit* caster) const;
void PeriodicDummyTick(Unit* target, Unit* caster) const;
void TriggerSpell(Unit* target, Unit* caster) const;
void TriggerSpellWithValue(Unit* target, Unit* caster) const;
void CleanupTriggeredSpells(Unit* target); void CleanupTriggeredSpells(Unit* target);
@@ -95,7 +91,7 @@ class AuraEffect
bool IsPeriodicTickCrit(Unit* target, Unit const* caster) const; bool IsPeriodicTickCrit(Unit* target, Unit const* caster) const;
public: public:
// aura effect handlers // aura effect apply/remove handlers
void HandleNULL(AuraApplication const* /*aurApp*/, uint8 /*mode*/, bool /*apply*/) const void HandleNULL(AuraApplication const* /*aurApp*/, uint8 /*mode*/, bool /*apply*/) const
{ {
// not implemented // not implemented
@@ -259,9 +255,22 @@ class AuraEffect
void HandleAuraConvertRune(AuraApplication const* aurApp, uint8 mode, bool apply) const; void HandleAuraConvertRune(AuraApplication const* aurApp, uint8 mode, bool apply) const;
void HandleAuraLinked(AuraApplication const* aurApp, uint8 mode, bool apply) const; void HandleAuraLinked(AuraApplication const* aurApp, uint8 mode, bool apply) const;
void HandleAuraOpenStable(AuraApplication const* aurApp, uint8 mode, bool apply) const; void HandleAuraOpenStable(AuraApplication const* aurApp, uint8 mode, bool apply) const;
void HandleAuraModFakeInebriation(AuraApplication const* aurApp, uint8 mode, bool apply) const;
void HandleAuraOverrideSpells(AuraApplication const* aurApp, uint8 mode, bool apply) const; void HandleAuraOverrideSpells(AuraApplication const* aurApp, uint8 mode, bool apply) const;
void HandleAuraSetVehicle(AuraApplication const* aurApp, uint8 mode, bool apply) const; void HandleAuraSetVehicle(AuraApplication const* aurApp, uint8 mode, bool apply) const;
void HandleAuraModFakeInebriation(AuraApplication const* aurApp, uint8 mode, bool apply) const;
// aura effect periodic tick handlers
void HandlePeriodicDummyAuraTick(Unit* target, Unit* caster) const;
void HandlePeriodicTriggerSpellAuraTick(Unit* target, Unit* caster) const;
void HandlePeriodicTriggerSpellWithValueAuraTick(Unit* target, Unit* caster) const;
void HandlePeriodicDamageAurasTick(Unit* target, Unit* caster) const;
void HandlePeriodicHealthLeechAuraTick(Unit* target, Unit* caster) const;
void HandlePeriodicHealthFunnelAuraTick(Unit* target, Unit* caster) const;
void HandlePeriodicHealAurasTick(Unit* target, Unit* caster) const;
void HandlePeriodicManaLeechAuraTick(Unit* target, Unit* caster) const;
void HandleObsModPowerAuraTick(Unit* target, Unit* caster) const;
void HandlePeriodicEnergizeAuraTick(Unit* target, Unit* caster) const;
void HandlePeriodicPowerBurnManaAuraTick(Unit* target, Unit* caster) const;
}; };
namespace Trinity namespace Trinity