*Redefine procflags:
PROC_FLAG_SUCCESSFUL_POSITIVE_MAGIC_SPELL = 0x00004000 PROC_FLAG_TAKEN_POSITIVE_MAGIC_SPELL = 0x00008000 PROC_FLAG_SUCCESSFUL_NEGATIVE_MAGIC_SPELL = 0x00010000 PROC_FLAG_TAKEN_NEGATIVE_MAGIC_SPELL = 0x00020000 *Add procEx flag: PROC_EX_NOT_ACTIVE_SPELL = 0x0008000 for spells which proc on spells not doing damage and not specified by familyflags. --HG-- branch : trunk
This commit is contained in:
+2
-2
@@ -2982,7 +2982,7 @@ SpellMissInfo Unit::SpellHitResult(Unit *pVictim, SpellEntry const *spell, bool
|
||||
if (reflectchance > 0 && roll_chance_i(reflectchance))
|
||||
{
|
||||
// Start triggers for remove charges if need (trigger only for victim, and mark as active spell)
|
||||
ProcDamageAndSpell(pVictim, PROC_FLAG_NONE, PROC_FLAG_SUCCESSFUL_DAMAGING_SPELL_HIT, PROC_EX_REFLECT, 1, BASE_ATTACK, spell);
|
||||
ProcDamageAndSpell(pVictim, PROC_FLAG_NONE, PROC_FLAG_SUCCESSFUL_NEGATIVE_MAGIC_SPELL, PROC_EX_REFLECT, 1, BASE_ATTACK, spell);
|
||||
return SPELL_MISS_REFLECT;
|
||||
}
|
||||
}
|
||||
@@ -7897,7 +7897,7 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig
|
||||
|
||||
// try detect target manually if not set
|
||||
if ( target == NULL )
|
||||
target = !(procFlags & (PROC_FLAG_SUCCESSFUL_POSITIVE_SPELL | PROC_FLAG_SUCCESSFUL_HEALING_SPELL)) && IsPositiveSpell(trigger_spell_id) ? this : pVictim;
|
||||
target = !(procFlags & (PROC_FLAG_SUCCESSFUL_POSITIVE_MAGIC_SPELL | PROC_FLAG_SUCCESSFUL_POSITIVE_SPELL_HIT)) && IsPositiveSpell(trigger_spell_id) ? this : pVictim;
|
||||
|
||||
// default case
|
||||
if(!target || target!=this && !target->isAlive())
|
||||
|
||||
Reference in New Issue
Block a user