aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDeadMouse <maximinua08@gmail.com>2024-06-27 15:03:28 +0300
committerGitHub <noreply@github.com>2024-06-27 14:03:28 +0200
commit02ebab7ea6a50a0ae14b4eaf812106a7c45bbc80 (patch)
tree1f8dabc22dc3d68fe3135792c00f23dc7a4c57e8
parenta33864ce2d9038e491fe99eba8acc532ebd6327f (diff)
Core/Creatures: Update visible Flags2 when changing gm mode state (#30058)
-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 dd2ce8fc587..820934bd338 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -24036,11 +24036,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())