XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

SpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 1 Star 0
返回提交历史

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
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

1 个文件 +4 -5
Modified src/services/purchaseService.ts +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 }