diff options
Diffstat (limited to 'src/game/Unit.cpp')
| -rw-r--r-- | src/game/Unit.cpp | 30 | 
1 files changed, 17 insertions, 13 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 4cef59a9037..037c00fcff2 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -4915,6 +4915,17 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger                      }                      return false;                  } +                // Overkill +                case 58426: +                { +                    if (procEx & AURA_REMOVE_PROC_EX_MASK) +                        triggered_spell_id = 58428; +                    else +                    { +                        triggered_spell_id = 58427; +                    } +                    break; +                }                  // Eye for an Eye                  case 9799:                  case 25988: @@ -5033,18 +5044,6 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger                      triggered_spell_id = 34650;                      break;                  } -                // Overkill -                case 58426: -                { -                    if (procEx & AURA_REMOVE_PROC_EX_MASK) -                        triggered_spell_id = 58428; -                    else -                    { -                        basepoints0 = -triggerAmount; -                        triggered_spell_id = 58427; -                    } -                    break; -                }                  // Mark of Malice                  case 33493:                  { @@ -13340,6 +13339,12 @@ void Unit::AddPetAura(PetAura const* petSpell)      if(GetTypeId() != TYPEID_PLAYER)          return; +    // Aura already added - not need to add it twice +    // This check is to prevent existing pet having aura applied twice (passive auras can stack) +    // if aura has more than 1 dummy effect +    if (m_petAuras.find(petSpell)!= m_petAuras.end()) +        return; +      m_petAuras.insert(petSpell);      if(Pet* pet = ((Player*)this)->GetPet())          pet->CastPetAura(petSpell); @@ -13480,7 +13485,6 @@ bool Unit::IsTriggeredAtSpellProcEvent(Unit *pVictim, Aura * aura, SpellEntry co      {          modOwner->ApplySpellMod(spellProto->Id,SPELLMOD_CHANCE_OF_SUCCESS,chance);      } -      return roll_chance_f(chance);  }  | 
