Merge branch 'master' into Playerbot

This commit is contained in:
Yunfan Li
2024-09-07 14:27:11 +08:00
12 changed files with 1266 additions and 864 deletions

View File

@@ -1041,6 +1041,10 @@ uint32 Unit::DealDamage(Unit* attacker, Unit* victim, uint32 damage, CleanDamage
if (!victim->IsPlayer())
{
/// @fix: Hack to avoid premature leashing
if (damagetype != DOT && damage > 0 && !victim->GetOwnerGUID().IsPlayer() && (!spellProto || !spellProto->HasAura(SPELL_AURA_DAMAGE_SHIELD)))
victim->ToCreature()->UpdateLeashExtensionTime();
if (attacker)
{
if (spellProto && victim->CanHaveThreatList() && !victim->HasUnitState(UNIT_STATE_EVADE) && !victim->IsInCombatWith(attacker))
@@ -13554,8 +13558,6 @@ void Unit::SetInCombatWith(Unit* enemy, uint32 duration)
return;
}
}
if (Creature* pCreature = ToCreature())
pCreature->UpdateLeashExtensionTime();
SetInCombatState(false, enemy, duration);
}
@@ -13714,6 +13716,8 @@ void Unit::SetInCombatState(bool PvP, Unit* enemy, uint32 duration)
if (enemy)
{
creature->UpdateLeashExtensionTime();
if (IsAIEnabled)
creature->AI()->JustEngagedWith(enemy);