aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/AI/CoreAI/UnitAI.cpp12
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp48
-rw-r--r--src/server/game/Entities/Unit/Unit.h1
3 files changed, 2 insertions, 59 deletions
diff --git a/src/server/game/AI/CoreAI/UnitAI.cpp b/src/server/game/AI/CoreAI/UnitAI.cpp
index 14badafd886..39d9a9b14dc 100644
--- a/src/server/game/AI/CoreAI/UnitAI.cpp
+++ b/src/server/game/AI/CoreAI/UnitAI.cpp
@@ -72,21 +72,13 @@ void UnitAI::DoMeleeAttackIfReady()
//Make sure our attack is ready and we aren't currently casting before checking distance
if (me->isAttackReady())
{
- if (ShouldSparWith(victim))
- me->FakeAttackerStateUpdate(victim);
- else
- me->AttackerStateUpdate(victim);
-
+ me->AttackerStateUpdate(victim);
me->resetAttackTimer();
}
if (me->haveOffhandWeapon() && me->isAttackReady(OFF_ATTACK))
{
- if (ShouldSparWith(victim))
- me->FakeAttackerStateUpdate(victim, OFF_ATTACK);
- else
- me->AttackerStateUpdate(victim, OFF_ATTACK);
-
+ me->AttackerStateUpdate(victim, OFF_ATTACK);
me->resetAttackTimer(OFF_ATTACK);
}
}
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 8a08eed986c..93092432ea0 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -2040,54 +2040,6 @@ void Unit::AttackerStateUpdate(Unit* victim, WeaponAttackType attType, bool extr
}
}
-void Unit::FakeAttackerStateUpdate(Unit* victim, WeaponAttackType attType /*= BASE_ATTACK*/)
-{
- if (HasUnitState(UNIT_STATE_CANNOT_AUTOATTACK) || HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED))
- return;
-
- if (!victim->IsAlive())
- return;
-
- if ((attType == BASE_ATTACK || attType == OFF_ATTACK) && !IsWithinLOSInMap(victim))
- return;
-
- AttackedTarget(victim, true);
- RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_MELEE_ATTACK);
-
- if (attType != BASE_ATTACK && attType != OFF_ATTACK)
- return; // ignore ranged case
-
- if (GetTypeId() == TYPEID_UNIT && !HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_POSSESSED) && !HasFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_DISABLE_TURN))
- SetFacingToObject(victim, false); // update client side facing to face the target (prevents visual glitches when casting untargeted spells)
-
- CalcDamageInfo damageInfo;
- damageInfo.Attacker = this;
- damageInfo.Target = victim;
-
- for (uint8 i = 0; i < MAX_ITEM_PROTO_DAMAGES; ++i)
- {
- damageInfo.Damages[i].DamageSchoolMask = GetMeleeDamageSchoolMask(attType, i);
- damageInfo.Damages[i].Damage = 0;
- damageInfo.Damages[i].Absorb = 0;
- damageInfo.Damages[i].Resist = 0;
- }
-
- damageInfo.AttackType = attType;
- damageInfo.CleanDamage = 0;
- damageInfo.Blocked = 0;
-
- damageInfo.TargetState = VICTIMSTATE_HIT;
- damageInfo.HitInfo = HITINFO_AFFECTS_VICTIM | HITINFO_NORMALSWING | HITINFO_FAKE_DAMAGE;
- if (attType == OFF_ATTACK)
- damageInfo.HitInfo |= HITINFO_OFFHAND;
-
- damageInfo.ProcAttacker = PROC_FLAG_NONE;
- damageInfo.ProcVictim = PROC_FLAG_NONE;
- damageInfo.HitOutCome = MELEE_HIT_NORMAL;
-
- SendAttackStateUpdate(&damageInfo);
-}
-
void Unit::HandleProcExtraAttackFor(Unit* victim)
{
while (m_extraAttacks)
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index acef91c46d6..19e7ab5e11a 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -951,7 +951,6 @@ class TC_GAME_API Unit : public WorldObject
void HandleEmoteCommand(uint32 anim_id);
void AttackerStateUpdate (Unit* victim, WeaponAttackType attType = BASE_ATTACK, bool extra = false);
- void FakeAttackerStateUpdate(Unit* victim, WeaponAttackType attType = BASE_ATTACK);
void CalculateMeleeDamage(Unit* victim, CalcDamageInfo* damageInfo, WeaponAttackType attackType = BASE_ATTACK);
void DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss);