diff options
| author | xinef1 <w.szyszko2@gmail.com> | 2017-02-04 19:38:36 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2017-02-04 19:38:36 +0100 |
| commit | 0fa38d0ae03e3d301fb1f94c48122ea81f000131 (patch) | |
| tree | 1bc09e1df5f7cddbb7a4212693a21f7898b16d04 /src/server/game/Spells/SpellInfo.cpp | |
| parent | 2063ef0891c400affb55f80c219d3289567ce7b8 (diff) | |
Core/Pets: Fixed flashing pet attack button (#18906)
Diffstat (limited to 'src/server/game/Spells/SpellInfo.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index e969c3d35d0..5b766d2426c 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -1631,16 +1631,9 @@ SpellCastResult SpellInfo::CheckTarget(Unit const* caster, WorldObject const* ta // creature/player specific target checks if (unitTarget) { - if (HasAttribute(SPELL_ATTR1_CANT_TARGET_IN_COMBAT)) - { - if (unitTarget->IsInCombat()) - return SPELL_FAILED_TARGET_AFFECTING_COMBAT; - // player with active pet counts as a player in combat - else if (Player const* player = unitTarget->ToPlayer()) - if (Pet* pet = player->GetPet()) - if (pet->GetVictim() && !pet->HasUnitState(UNIT_STATE_CONTROLLED)) - return SPELL_FAILED_TARGET_AFFECTING_COMBAT; - } + // spells cannot be cast if player is in fake combat also + if (HasAttribute(SPELL_ATTR1_CANT_TARGET_IN_COMBAT) && (unitTarget->IsInCombat() || unitTarget->IsPetInCombat())) + return SPELL_FAILED_TARGET_AFFECTING_COMBAT; // only spells with SPELL_ATTR3_ONLY_TARGET_GHOSTS can target ghosts if (HasAttribute(SPELL_ATTR3_ONLY_TARGET_GHOSTS) != unitTarget->HasAuraType(SPELL_AURA_GHOST)) |
