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:
@@ -2915,6 +2915,12 @@ namespace Game.Entities
|
|||||||
GameObject obj = ObjectAccessor.GetGameObject(this, guid);
|
GameObject obj = ObjectAccessor.GetGameObject(this, guid);
|
||||||
if (obj != null)
|
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())
|
switch (obj.GetGoType())
|
||||||
{
|
{
|
||||||
case GameObjectTypes.QuestGiver:
|
case GameObjectTypes.QuestGiver:
|
||||||
@@ -2922,16 +2928,14 @@ namespace Game.Entities
|
|||||||
case GameObjectTypes.Goober:
|
case GameObjectTypes.Goober:
|
||||||
case GameObjectTypes.Generic:
|
case GameObjectTypes.Generic:
|
||||||
if (Global.ObjectMgr.IsGameObjectForQuests(obj.GetEntry()))
|
if (Global.ObjectMgr.IsGameObjectForQuests(obj.GetEntry()))
|
||||||
{
|
|
||||||
ObjectFieldData objMask = new();
|
|
||||||
GameObjectFieldData goMask = new();
|
|
||||||
objMask.MarkChanged(obj.m_objectData.DynamicFlags);
|
objMask.MarkChanged(obj.m_objectData.DynamicFlags);
|
||||||
obj.BuildValuesUpdateForPlayerWithMask(udata, objMask._changesMask, goMask._changesMask, this);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (objMask.GetUpdateMask().IsAnySet() || goMask.GetUpdateMask().IsAnySet())
|
||||||
|
obj.BuildValuesUpdateForPlayerWithMask(udata, objMask.GetUpdateMask(), goMask.GetUpdateMask(), this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (guid.IsCreatureOrVehicle())
|
else if (guid.IsCreatureOrVehicle())
|
||||||
|
|||||||
Reference in New Issue
Block a user