Core/GameObjects: Add missing dynamic flag updates for chests
Port From (https://github.com/TrinityCore/TrinityCore/commit/c672e27f27eda49230d87ec460539429251fefdc)
This commit is contained in:
@@ -518,7 +518,7 @@ namespace Game.Entities
|
|||||||
m_personalLoot.Clear();
|
m_personalLoot.Clear();
|
||||||
m_unique_users.Clear();
|
m_unique_users.Clear();
|
||||||
m_usetimes = 0;
|
m_usetimes = 0;
|
||||||
AddToObjectUpdateIfNeeded();
|
UpdateDynamicFlagsForNearbyPlayers();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
m_lootState = LootState.Ready; // for other GOis same switched without delay to GO_READY
|
m_lootState = LootState.Ready; // for other GOis same switched without delay to GO_READY
|
||||||
@@ -749,7 +749,7 @@ namespace Game.Entities
|
|||||||
m_personalLoot.Clear();
|
m_personalLoot.Clear();
|
||||||
m_unique_users.Clear();
|
m_unique_users.Clear();
|
||||||
m_usetimes = 0;
|
m_usetimes = 0;
|
||||||
AddToObjectUpdateIfNeeded();
|
UpdateDynamicFlagsForNearbyPlayers();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GameObjectTypes.Trap:
|
case GameObjectTypes.Trap:
|
||||||
@@ -847,7 +847,7 @@ namespace Game.Entities
|
|||||||
// Start restock timer when the chest is fully looted
|
// Start restock timer when the chest is fully looted
|
||||||
m_restockTime = GameTime.GetGameTime() + GetGoInfo().Chest.chestRestockTime;
|
m_restockTime = GameTime.GetGameTime() + GetGoInfo().Chest.chestRestockTime;
|
||||||
SetLootState(LootState.NotReady);
|
SetLootState(LootState.NotReady);
|
||||||
AddToObjectUpdateIfNeeded();
|
UpdateDynamicFlagsForNearbyPlayers();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
SetLootState(LootState.Ready);
|
SetLootState(LootState.Ready);
|
||||||
@@ -3655,10 +3655,8 @@ namespace Game.Entities
|
|||||||
|
|
||||||
void UpdateDynamicFlagsForNearbyPlayers()
|
void UpdateDynamicFlagsForNearbyPlayers()
|
||||||
{
|
{
|
||||||
ValuesUpdateForPlayerWithMaskSender sender = new(this);
|
m_values.ModifyValue(m_objectData).ModifyValue(m_objectData.DynamicFlags);
|
||||||
sender.ObjectMask.MarkChanged(m_objectData.DynamicFlags);
|
AddToObjectUpdateIfNeeded();
|
||||||
MessageDistDeliverer<ValuesUpdateForPlayerWithMaskSender> deliverer = new(this, sender, GetVisibilityRange());
|
|
||||||
Cell.VisitWorldObjects(this, deliverer, GetVisibilityRange());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandleCustomTypeCommand(GameObjectTypeBase.CustomCommand command)
|
void HandleCustomTypeCommand(GameObjectTypeBase.CustomCommand command)
|
||||||
|
|||||||
Reference in New Issue
Block a user