Core/Auras: Implement SPELL_AURA_DISABLE_AUTOATTACK (#31542)

This commit is contained in:
Aqua Deus
2026-02-01 12:32:35 +01:00
committed by GitHub
parent e8fb3e61f5
commit 3b67d70835
3 changed files with 8 additions and 2 deletions

View File

@@ -2254,6 +2254,9 @@ void Unit::AttackerStateUpdate(Unit* victim, WeaponAttackType attType, bool extr
if (HasAuraType(SPELL_AURA_DISABLE_ATTACKING_EXCEPT_ABILITIES))
return;
if (HasAuraType(SPELL_AURA_DISABLE_AUTOATTACK))
return;
if (!victim->IsAlive())
return;
@@ -3005,6 +3008,9 @@ void Unit::_UpdateAutoRepeatSpell()
{
SpellInfo const* autoRepeatSpellInfo = m_currentSpells[CURRENT_AUTOREPEAT_SPELL]->m_spellInfo;
if (HasAuraType(SPELL_AURA_DISABLE_AUTOATTACK))
return;
// check "realtime" interrupts
// don't cancel spells which are affected by a SPELL_AURA_CAST_WHILE_WALKING effect
if ((isMoving() && m_currentSpells[CURRENT_AUTOREPEAT_SPELL]->CheckMovement() != SPELL_CAST_OK) || IsNonMeleeSpellCast(false, false, true, autoRepeatSpellInfo->Id == 75))

View File

@@ -455,7 +455,7 @@ enum AuraType : uint32
SPELL_AURA_368 = 368, // Not used in 4.3.4
SPELL_AURA_ENABLE_POWER_BAR_TIMER = 369,
SPELL_AURA_SPELL_OVERRIDE_NAME_GROUP = 370, // picks a random SpellOverrideName id from a group (group id in miscValue)
SPELL_AURA_371 = 371,
SPELL_AURA_DISABLE_AUTOATTACK = 371,
SPELL_AURA_OVERRIDE_MOUNT_FROM_SET = 372, // NYI
SPELL_AURA_MOD_SPEED_NO_CONTROL = 373, // NYI
SPELL_AURA_MODIFY_FALL_DAMAGE_PCT = 374,

View File

@@ -440,7 +440,7 @@ NonDefaultConstructible<pAuraEffectHandler> AuraEffectHandler[TOTAL_AURAS]=
&AuraEffect::HandleUnused, //368 unused (4.3.4)
&AuraEffect::HandleNULL, //369 SPELL_AURA_ENABLE_POWER_BAR_TIMER
&AuraEffect::HandleNULL, //370 SPELL_AURA_SPELL_OVERRIDE_NAME_GROUP
&AuraEffect::HandleNULL, //371
&AuraEffect::HandleNoImmediateEffect, //371 SPELL_AURA_DISABLE_AUTOATTACK implemented in Unit::_UpdateAutoRepeatSpell and Unit::AttackerStateUpdate
&AuraEffect::HandleNULL, //372 SPELL_AURA_OVERRIDE_MOUNT_FROM_SET
&AuraEffect::HandleNULL, //373 SPELL_AURA_MOD_SPEED_NO_CONTROL
&AuraEffect::HandleNoImmediateEffect, //374 SPELL_AURA_MODIFY_FALL_DAMAGE_PCT implemented in Player::HandleFall