返回提交历史
Modified
src/services/purchaseService.ts
+4
-5
XFEstudio/SpaceNinjaServer
fix: handle purchase from void trader if he's in multiple places (#3399)
Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3399 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
34f43ddf
代码差异
1 个文件
+4
-5
@@ -230,12 +230,11 @@ export const handlePurchase = async (
230
230
break;
231
231
case PurchaseSource.VoidTrader: {
232
232
const worldState = getWorldState(purchaseRequest.buildLabel);
233
if (purchaseRequest.PurchaseParams.SourceId! != worldState.VoidTraders[0]._id.$oid) {
233
const voidTrader = worldState.VoidTraders.find(x => x._id.$oid == purchaseRequest.PurchaseParams.SourceId!);
234
if (!voidTrader) {
234
235
throw new Error("invalid request source");
235
236
}
236
const offer = worldState.VoidTraders[0].Manifest.find(
237
x => x.ItemType == purchaseRequest.PurchaseParams.StoreItem
238
);
237
const offer = voidTrader.Manifest.find(x => x.ItemType == purchaseRequest.PurchaseParams.StoreItem);
239
238
if (offer) {
240
239
if (!inventory.dontSubtractPurchaseCreditCost) {
241
240
updateCurrency(inventory, offer.RegularPrice, false, purchaseResponse.InventoryChanges);
@@ -261,7 +260,7 @@ export const handlePurchase = async (
261
260
"VoidTrader",
262
261
offer.ItemType,
263
262
purchaseRequest.PurchaseParams.Quantity,
264
fromMongoDate(worldState.VoidTraders[0].Expiry)
263
fromMongoDate(voidTrader.Expiry)
265
264
);
266
265
}
267
266
}