fix room item backwards compatibility

some old room items with item definition have iid = 0
This commit is contained in:
Spirtix 2025-12-15 18:31:35 +01:00
parent 45c5db59f6
commit 1396c31afc

View File

@ -116,8 +116,8 @@ public class RoomService {
foreach (var item in room.Items) {
UserItemPosition data = XmlUtil.DeserializeXml<UserItemPosition>(item.RoomItemData);
data.UserItemPositionID = item.Id;
if (data.ItemID is null)
data.ItemID = data.Item?.ItemID; // for backward compatibility with database entries without set `data.ItemID`
if (data.ItemID is null || data.ItemID == 0)
data.ItemID = data.Item?.ItemID; // for backward compatibility with database entries without `data.ItemID` or ItemID = 0
else
data.Item = itemService.GetItem((int)data.ItemID);
if (gameVersion < 0xa3a00a0a && data.Uses is null)