0
0
mirror of https://github.com/sp-tarkov/server.git synced 2025-02-13 09:50:43 -05:00

Fix bitcoins being returned in bundles instead of individually

This commit is contained in:
Dev 2024-01-30 13:24:46 +00:00
parent 491a5204bb
commit 81960a23fe

View File

@ -34,7 +34,7 @@ export class HideoutHelper
public static bitcoinFarm = "5d5c205bd582a50d042a3c0e"; public static bitcoinFarm = "5d5c205bd582a50d042a3c0e";
public static bitcoinProductionId = "5d5c205bd582a50d042a3c0e"; public static bitcoinProductionId = "5d5c205bd582a50d042a3c0e";
public static waterCollector = "5d5589c1f934db045e6c5492"; public static waterCollector = "5d5589c1f934db045e6c5492";
public static bitcoin = "59faff1d86f7746c51718c9c"; public static bitcoinTpl = "59faff1d86f7746c51718c9c";
public static expeditionaryFuelTank = "5d1b371186f774253763a656"; public static expeditionaryFuelTank = "5d1b371186f774253763a656";
public static maxSkillPoint = 5000; public static maxSkillPoint = 5000;
@ -832,7 +832,7 @@ export class HideoutHelper
{ {
btcProd.Products.push({ btcProd.Products.push({
_id: this.hashUtil.generate(), _id: this.hashUtil.generate(),
_tpl: HideoutHelper.bitcoin, _tpl: HideoutHelper.bitcoinTpl,
upd: { StackObjectsCount: 1 }, upd: { StackObjectsCount: 1 },
}); });
@ -969,37 +969,34 @@ export class HideoutHelper
return this.httpResponse.appendErrorToOutput(output, errorMsg); return this.httpResponse.appendErrorToOutput(output, errorMsg);
} }
const coinSlotCount = this.getBTCSlots(pmcData); // Add each coin individually to player
const btcCoinCreationRequest = this.createBitcoinRequest(pmcData, coinSlotCount); for (let index = 0; index < craftedCoinCount; index++)
// Add FiR coins to player inventory
this.inventoryHelper.addItemToStash(sessionId, btcCoinCreationRequest, pmcData, output);
return output;
}
/**
* Create a bitcoin request object
* @param pmcData Player profile
* @returns IAddItemRequestData
*/
protected createBitcoinRequest(pmcData: IPmcData, coinSlotCount: number): IAddItemDirectRequest
{ {
return { const request = {
itemWithModsToAdd: [ itemWithModsToAdd: [
{ {
_id: this.hashUtil.generate(), _id: this.hashUtil.generate(),
_tpl: HideoutHelper.bitcoin, _tpl: HideoutHelper.bitcoinTpl,
upd: { upd: {
StackObjectsCount: pmcData.Hideout.Production[HideoutHelper.bitcoinFarm].Products.length StackObjectsCount: 1
} }
} }
], ],
foundInRaid: true, foundInRaid: true,
useSortingTable: false, useSortingTable: false,
callback: () => callback: null
};
// Add FiR coin to player inventory
this.inventoryHelper.addItemToStash(sessionId, request, pmcData, output);
if (output.warnings.length > 0)
{ {
return output;
}
}
// Is at max capacity // Is at max capacity
const coinSlotCount = this.getBTCSlots(pmcData);
if (pmcData.Hideout.Production[HideoutHelper.bitcoinFarm].Products.length >= coinSlotCount) if (pmcData.Hideout.Production[HideoutHelper.bitcoinFarm].Products.length >= coinSlotCount)
{ {
// Set start to now // Set start to now
@ -1007,9 +1004,10 @@ export class HideoutHelper
} }
// Remove crafted coins from production in profile now they've been collected // Remove crafted coins from production in profile now they've been collected
// Can only collect all coins, not individially
pmcData.Hideout.Production[HideoutHelper.bitcoinFarm].Products = []; pmcData.Hideout.Production[HideoutHelper.bitcoinFarm].Products = [];
}
}; return output;
} }
/** /**