Fix 'NotInInventory' ignoring HQ items

This commit is contained in:
Liza 2024-10-01 22:05:21 +02:00
parent ab44ecd45e
commit 4ccd615832
Signed by: liza
GPG Key ID: 7199F8D727D55F67
3 changed files with 5 additions and 14 deletions

View File

@ -33,13 +33,8 @@
"TerritoryId": 134,
"InteractionType": "EquipItem",
"ItemId": 35778,
"AetheryteShortcut": "Middle La Noscea - Summerford Farms",
"Fly": true,
"Comment": "Try to Equip Stonegold Milpreves",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
},
"StepIf": {
"Item": {
"NotInInventory": true
@ -60,14 +55,7 @@
},
"StopDistance": 5,
"TerritoryId": 134,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Middle La Noscea - Summerford Farms",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
"InteractionType": "AcceptQuest"
}
]
},

View File

@ -158,6 +158,8 @@ internal static class EquipItem
return;
}
}
throw new TaskException($"Could not equip item {Task.ItemId}.");
}
private static List<ushort>? GetEquipSlot(Item item)

View File

@ -144,7 +144,8 @@ internal static class SkipCondition
if (skipConditions.Item is { NotInInventory: true } && step is { ItemId: not null })
{
InventoryManager* inventoryManager = InventoryManager.Instance();
if (inventoryManager->GetInventoryItemCount(step.ItemId.Value) == 0)
if (inventoryManager->GetInventoryItemCount(step.ItemId.Value) == 0 &&
inventoryManager->GetInventoryItemCount(step.ItemId.Value, true) == 0)
{
logger.LogInformation("Skipping step, no item with itemId {ItemId} in inventory",
step.ItemId.Value);