aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDeadMouse <maximinua08@gmail.com>2024-06-27 15:03:28 +0300
committerOvahlord <dreadkiller@gmx.de>2024-06-28 18:40:33 +0200
commit6e85a825954107d225e2d7d629cfe0a2bfb99851 (patch)
tree3ce1e856b316cc29bbe90fd88c32137ce4ecb439 /src
parent8bfbc245a798cbadad0a308b2f023373e81f8540 (diff)
Core/Creatures: Update visible Flags2 when changing gm mode state (#30058)
(cherry picked from commit 02ebab7ea6a50a0ae14b4eaf812106a7c45bbc80)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 83a7653e176..9efe33d3f34 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -23284,11 +23284,13 @@ void Player::UpdateTriggerVisibility()
{
Creature* creature = GetMap()->GetCreature(*itr);
// Update fields of triggers, transformed units or uninteractible units (values dependent on GM state)
- if (!creature || (!creature->IsTrigger() && !creature->HasAuraType(SPELL_AURA_TRANSFORM) && !creature->IsUninteractible()))
+ if (!creature || (!creature->IsTrigger() && !creature->HasAuraType(SPELL_AURA_TRANSFORM) && !creature->IsUninteractible() &&
+ !creature->HasUnitFlag2(UNIT_FLAG2_UNTARGETABLE_BY_CLIENT)))
continue;
creature->ForceUpdateFieldChange(creature->m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::DisplayID));
creature->ForceUpdateFieldChange(creature->m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags));
+ creature->ForceUpdateFieldChange(creature->m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags2));
creature->BuildValuesUpdateBlockForPlayer(&udata, this);
}
else if (itr->IsAnyTypeGameObject())