Core/Quests: Allow more objects to update their dynamicflags in Player::UpdateForQuestWorldObjects

Port From (https://github.com/TrinityCore/TrinityCore/commit/6e5f35a14ce0b894d95434f27fab8f7d0ba6dedc)
This commit is contained in:
hondacrx
2021-12-07 17:07:38 -05:00
parent c1fd2cef37
commit ab828b2cb6
+9 -5
View File
@@ -2915,6 +2915,12 @@ namespace Game.Entities
GameObject obj = ObjectAccessor.GetGameObject(this, guid);
if (obj != null)
{
ObjectFieldData objMask = new();
GameObjectFieldData goMask = new();
if (m_questObjectiveStatus.ContainsKey((QuestObjectiveType.GameObject, (int)obj.GetEntry())))
objMask.MarkChanged(obj.m_objectData.DynamicFlags);
switch (obj.GetGoType())
{
case GameObjectTypes.QuestGiver:
@@ -2922,16 +2928,14 @@ namespace Game.Entities
case GameObjectTypes.Goober:
case GameObjectTypes.Generic:
if (Global.ObjectMgr.IsGameObjectForQuests(obj.GetEntry()))
{
ObjectFieldData objMask = new();
GameObjectFieldData goMask = new();
objMask.MarkChanged(obj.m_objectData.DynamicFlags);
obj.BuildValuesUpdateForPlayerWithMask(udata, objMask._changesMask, goMask._changesMask, this);
}
break;
default:
break;
}
if (objMask.GetUpdateMask().IsAnySet() || goMask.GetUpdateMask().IsAnySet())
obj.BuildValuesUpdateForPlayerWithMask(udata, objMask.GetUpdateMask(), goMask.GetUpdateMask(), this);
}
}
else if (guid.IsCreatureOrVehicle())