From 47b1de526e9f380c96307edc5fb618ad18f04206 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 13 May 2023 18:35:54 +0200 Subject: Core/Units: Corrected AURA_INTERRUPT_FLAG_NOT_SEATED implementation to only interrupt when actually standing (flag not renamed but its correct name is SpellAuraInterruptFlags::Standing) --- src/server/game/Entities/Unit/Unit.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 12fdafb6887..f2f1fbb955e 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -3382,7 +3382,7 @@ void Unit::_ApplyAura(AuraApplication* aurApp, uint8 effMask) return; // Sitdown on apply aura req seated - if (aura->GetSpellInfo()->AuraInterruptFlags & AURA_INTERRUPT_FLAG_NOT_SEATED && IsStandState()) + if (aura->GetSpellInfo()->AuraInterruptFlags & AURA_INTERRUPT_FLAG_NOT_SEATED && GetStandState() == UNIT_STAND_STATE_STAND) SetStandState(UNIT_STAND_STATE_SIT); Unit* caster = aura->GetCaster(); @@ -10341,7 +10341,7 @@ void Unit::SetStandState(UnitStandStateType state) { SetByteValue(UNIT_FIELD_BYTES_1, UNIT_BYTES_1_OFFSET_STAND_STATE, state); - if (IsStandState()) + if (state == UNIT_STAND_STATE_STAND) RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_NOT_SEATED); if (GetTypeId() == TYPEID_PLAYER) -- cgit v1.2.3