Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /************************************************************************/
- /* IsDamagingSpell, this function seems slow, its only used rarely */
- /************************************************************************/
- ARCEMU_INLINE bool IsDamagingSpell(SpellEntry *sp)
- {
- switch (sp->Effect[0])
- {
- case SPELL_EFFECT_SCHOOL_DAMAGE:
- case SPELL_EFFECT_ENVIRONMENTAL_DAMAGE:
- case SPELL_EFFECT_HEALTH_LEECH:
- case SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL:
- case SPELL_EFFECT_ADD_EXTRA_ATTACKS:
- case SPELL_EFFECT_WEAPON_PERCENT_DAMAGE:
- case SPELL_EFFECT_POWER_BURN:
- case SPELL_EFFECT_ATTACK:
- return true;
- }
- switch (sp->Effect[1])
- {
- case SPELL_EFFECT_SCHOOL_DAMAGE:
- case SPELL_EFFECT_ENVIRONMENTAL_DAMAGE:
- case SPELL_EFFECT_HEALTH_LEECH:
- case SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL:
- case SPELL_EFFECT_ADD_EXTRA_ATTACKS:
- case SPELL_EFFECT_WEAPON_PERCENT_DAMAGE:
- case SPELL_EFFECT_POWER_BURN:
- case SPELL_EFFECT_ATTACK:
- return true;
- }
- switch (sp->Effect[2])
- {
- case SPELL_EFFECT_SCHOOL_DAMAGE:
- case SPELL_EFFECT_ENVIRONMENTAL_DAMAGE:
- case SPELL_EFFECT_HEALTH_LEECH:
- case SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL:
- case SPELL_EFFECT_ADD_EXTRA_ATTACKS:
- case SPELL_EFFECT_WEAPON_PERCENT_DAMAGE:
- case SPELL_EFFECT_POWER_BURN:
- case SPELL_EFFECT_ATTACK:
- return true;
- }
- if( sp->Effect[0]==SPELL_EFFECT_APPLY_AURA ||
- sp->Effect[0]==SPELL_EFFECT_APPLY_AREA_AURA ||
- sp->Effect[0]==SPELL_EFFECT_APPLY_AREA_AURA2 )
- {
- switch (sp->EffectApplyAuraName[0])
- {
- case 3://SPELL_AURA_PERIODIC_DAMAGE:
- case 43://SPELL_AURA_PROC_TRIGGER_DAMAGE:
- case 89://SPELL_AURA_PERIODIC_DAMAGE_PERCENT:
- case 162://SPELL_AURA_POWER_BURN:
- return true;
- }
- }
- if( sp->Effect[1]==SPELL_EFFECT_APPLY_AURA ||
- sp->Effect[1]==SPELL_EFFECT_APPLY_AREA_AURA ||
- sp->Effect[1]==SPELL_EFFECT_APPLY_AREA_AURA2 )
- {
- switch (sp->EffectApplyAuraName[1])
- {
- case 3://SPELL_AURA_PERIODIC_DAMAGE:
- case 43://SPELL_AURA_PROC_TRIGGER_DAMAGE:
- case 89://SPELL_AURA_PERIODIC_DAMAGE_PERCENT:
- case 162://SPELL_AURA_POWER_BURN:
- return true;
- }
- }
- if( sp->Effect[2]==SPELL_EFFECT_APPLY_AURA ||
- sp->Effect[2]==SPELL_EFFECT_APPLY_AREA_AURA ||
- sp->Effect[2]==SPELL_EFFECT_APPLY_AREA_AURA2 )
- {
- switch (sp->EffectApplyAuraName[2])
- {
- case 3://SPELL_AURA_PERIODIC_DAMAGE:
- case 43://SPELL_AURA_PROC_TRIGGER_DAMAGE:
- case 89://SPELL_AURA_PERIODIC_DAMAGE_PERCENT:
- case 162://SPELL_AURA_POWER_BURN:
- return true;
- }
- }
- return false;
- }
- /////////////////////////////////////////////////////////////////////////////////
- //bool IsDamagingSpell( SpellEntry *sp )
- // Tells if a Spell is damaging
- //
- //Parameters
- // SpellEntry *sp - Pointer to a SpellEntry structure
- //
- //Return Value
- // Returns true if the Spell is damaging
- // Returns false otherwise.
- //
- ////////////////////////////////////////////////////////////////////////////////
- ARCEMU_INLINE bool IsDamagingSpell( SpellEntry *sp ){
- if( sp->HasEffect( SPELL_EFFECT_SCHOOL_DAMAGE ) ||
- sp->HasEffect( SPELL_EFFECT_ENVIRONMENTAL_DAMAGE ) ||
- sp->HasEffect( SPELL_EFFECT_HEALTH_LEECH ) ||
- sp->HasEffect( SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL ) ||
- sp->HasEffect( SPELL_EFFECT_ADD_EXTRA_ATTACKS ) ||
- sp->HasEffect( SPELL_EFFECT_WEAPON_PERCENT_DAMAGE ) ||
- sp->HasEffect( SPELL_EFFECT_POWER_BURN ) ||
- sp->HasEffect( SPELL_EFFECT_ATTACK ) )
- return true;
- if( sp->AppliesAura( SPELL_AURA_PERIODIC_DAMAGE ) ||
- sp->AppliesAura( SPELL_AURA_PROC_TRIGGER_DAMAGE ) ||
- sp->AppliesAura( SPELL_AURA_PERIODIC_DAMAGE_PERCENT )||
- sp->AppliesAura( SPELL_AURA_POWER_BURN ) )
- return true;
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement