purchase: change GetItemQuantity API

This commit is contained in:
Spirtix 2024-07-25 22:39:11 +02:00
parent a7fad515cd
commit 1b879d42c3
2 changed files with 5 additions and 13 deletions

View File

@ -2235,7 +2235,7 @@ public class ContentController : Controller {
ItemData bundleItem = itemService.GetItem(i.Key); ItemData bundleItem = itemService.GetItem(i.Key);
// resolve items in the bundle // resolve items in the bundle
foreach (var reward in bundleItem.Relationship.Where(e => e.Type == "Bundle")) { foreach (var reward in bundleItem.Relationship.Where(e => e.Type == "Bundle")) {
int quantity = itemService.GetBulkItemQuantity(reward, i.Value); int quantity = itemService.GetItemQuantity(reward, i.Value);
inventoryItemsToAdd.TryAdd(reward.ItemId, 0); inventoryItemsToAdd.TryAdd(reward.ItemId, 0);
inventoryItemsToAdd[reward.ItemId] += quantity; inventoryItemsToAdd[reward.ItemId] += quantity;
itemsToSendBack.TryAdd(reward.ItemId, 0); itemsToSendBack.TryAdd(reward.ItemId, 0);

View File

@ -41,22 +41,14 @@ namespace sodoff.Services {
return items[itemID]; return items[itemID];
} }
public int GetItemQuantity(ItemDataRelationship itemData) { public int GetItemQuantity(ItemDataRelationship itemData, int bulkSize = 1) {
return GetItemQuantityImpl(itemData);
}
public int GetBulkItemQuantity(ItemDataRelationship itemData, int quantity) {
return GetItemQuantityImpl(itemData, quantity);
}
private int GetItemQuantityImpl(ItemDataRelationship itemData, int repeat = 1) {
if (itemData.MaxQuantity is null || itemData.MaxQuantity < 2 || itemData.MaxQuantity == itemData.Quantity) { if (itemData.MaxQuantity is null || itemData.MaxQuantity < 2 || itemData.MaxQuantity == itemData.Quantity) {
if (itemData.Quantity == 0) if (itemData.Quantity == 0)
return 1 * repeat; return 1 * bulkSize;
else else
return itemData.Quantity * repeat; return itemData.Quantity * bulkSize;
} }
return random.Next(1 * repeat, (int)itemData.MaxQuantity * repeat + 1); return random.Next(1 * bulkSize, (int)itemData.MaxQuantity * bulkSize + 1);
} }
public ItemDataRelationship OpenBox(ItemData boxItem, Gender gender) { public ItemDataRelationship OpenBox(ItemData boxItem, Gender gender) {