fix(Core/Player): Prevent player gaining client control when charmed (#24539)

Co-authored-by: ariel- <[email protected]>
Co-authored-by: Treeston <[email protected]>
This commit is contained in:
sogladev
2026-01-30 10:15:27 -03:00
committed by GitHub
co-authored by ariel- Treeston
parent dab8d7c6f6
commit f9bc6c6292
3 changed files with 19 additions and 3 deletions
+4
View File
@@ -11125,6 +11125,8 @@ void Unit::SetCharm(Unit* charm, bool apply)
}
else
{
charm->ClearUnitState(UNIT_STATE_CHARMED);
if (IsPlayer())
{
if (!RemoveGuidValue(UNIT_FIELD_CHARM, charm->GetGUID()))
@@ -18798,6 +18800,8 @@ bool Unit::SetCharmedBy(Unit* charmer, CharmType type, AuraApplication const* au
else if (IsPlayer())
RemoveAurasByType(SPELL_AURA_MOD_SHAPESHIFT);
AddUnitState(UNIT_STATE_CHARMED);
if (Creature* creature = ToCreature())
creature->RefreshSwimmingFlag();