diff options
author | Vincent_Michael <Vincent_Michael@gmx.de> | 2013-03-04 19:09:57 +0100 |
---|---|---|
committer | Vincent_Michael <Vincent_Michael@gmx.de> | 2013-03-04 19:09:57 +0100 |
commit | 7ce02e7900c9682a35f77dfa873fefc59b5014d2 (patch) | |
tree | 295103173d4a2501f39269ff3ae17ea246734712 /src/server/game/Spells/Spell.cpp | |
parent | c3767572416f7a22b66d1db8139500bafbe93f61 (diff) | |
parent | 226e0fdd1b08e315cb7f534b97a7d48e33bbf4fe (diff) |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
src/server/game/Entities/Creature/Creature.h
src/server/game/Entities/Player/Player.cpp
src/server/game/Entities/Player/Player.h
src/server/game/Entities/Unit/Unit.cpp
src/server/game/Entities/Unit/Unit.h
src/server/game/Globals/ObjectMgr.cpp
src/server/game/Handlers/CharacterHandler.cpp
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index be0d7628774..3c3c36b86dc 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3071,8 +3071,8 @@ void Spell::prepare(SpellCastTargets const* targets, AuraEffect const* triggered // set target for proper facing if ((m_casttime || m_spellInfo->IsChanneled()) && !(_triggeredCastFlags & TRIGGERED_IGNORE_SET_FACING)) - if (m_caster->GetGUID() != m_targets.GetObjectTargetGUID() && m_caster->GetTypeId() == TYPEID_UNIT) - m_caster->FocusTarget(this, m_targets.GetObjectTargetGUID()); + if (m_caster->GetTypeId() == TYPEID_UNIT && m_targets.GetObjectTarget() && m_caster != m_targets.GetObjectTarget()) + m_caster->FocusTarget(this, m_targets.GetObjectTarget()); if (!(_triggeredCastFlags & TRIGGERED_IGNORE_GCD)) TriggerGlobalCooldown(); @@ -3164,10 +3164,12 @@ void Spell::cast(bool skipCheck) if (playerPet->isAlive() && playerPet->isControlled() && (m_targets.GetTargetMask() & TARGET_FLAG_UNIT)) playerPet->AI()->OwnerAttacked(m_targets.GetObjectTarget()->ToUnit()); } + SetExecutedCurrently(true); - if (m_caster->GetTypeId() != TYPEID_PLAYER && m_targets.GetUnitTarget() && m_targets.GetUnitTarget() != m_caster) - m_caster->SetInFront(m_targets.GetUnitTarget()); + if (!(_triggeredCastFlags & TRIGGERED_IGNORE_SET_FACING)) + if (m_caster->GetTypeId() == TYPEID_UNIT && m_targets.GetObjectTarget() && m_caster != m_targets.GetObjectTarget()) + m_caster->SetInFront(m_targets.GetObjectTarget()); // Should this be done for original caster? if (m_caster->GetTypeId() == TYPEID_PLAYER) |