返回提交历史
Modified
src/controllers/api/tradingController.ts
+24
-21
Modified
src/models/inventoryModels/inventoryModel.ts
+5
-3
Modified
src/types/inventoryTypes/inventoryTypes.ts
+2
-1
XFEstudio/SpaceNinjaServer
feat: tradesDontTouchInventory cheat (#3251)
Not exposed on the UI because I imagine it's only useful for bots Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3251 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
b31e4fc6
代码差异
3 个文件
+31
-25
@@ -73,27 +73,30 @@ export const tradingController: RequestHandler = async (req, res) => {
73
73
getInventory(pendingTrades[tradeId].tradee)
74
74
]);
75
75
76
applyOfferToInventory(traderInventory, pendingTrades[tradeId].traderOffer, -1); // Traders gives up their items
77
applyOfferToInventory(traderInventory, pendingTrades[tradeId].tradeeOffer, +1); // to get what tradee offered
78
// and pays tax for it
79
await chargeTax(
80
traderInventory,
81
pendingTrades[tradeId].tradeeOffer,
82
pendingTrades[tradeId].clanTax,
83
req.query.guildId as string | undefined
84
);
85
applyOfferToInventory(tradeeInventory, pendingTrades[tradeId].tradeeOffer, -1); // Conversely, tradee gives up their items
86
applyOfferToInventory(tradeeInventory, pendingTrades[tradeId].traderOffer, +1); // to get what trader offered
87
// and pays tax for it
88
await chargeTax(
89
tradeeInventory,
90
pendingTrades[tradeId].traderOffer,
91
pendingTrades[tradeId].clanTax,
92
req.query.guildId as string | undefined
93
);
94
95
traderInventory.TradesRemaining -= 1;
96
tradeeInventory.TradesRemaining -= 1;
76
if (!traderInventory.tradesDontTouchInventory) {
77
applyOfferToInventory(traderInventory, pendingTrades[tradeId].traderOffer, -1); // Traders gives up their items
78
applyOfferToInventory(traderInventory, pendingTrades[tradeId].tradeeOffer, +1); // to get what tradee offered
79
// and pays tax for it
80
await chargeTax(
81
traderInventory,
82
pendingTrades[tradeId].tradeeOffer,
83
pendingTrades[tradeId].clanTax,
84
req.query.guildId as string | undefined
85
);
86
traderInventory.TradesRemaining -= 1;
87
}
88
if (!tradeeInventory.tradesDontTouchInventory) {
89
applyOfferToInventory(tradeeInventory, pendingTrades[tradeId].tradeeOffer, -1); // Conversely, tradee gives up their items
90
applyOfferToInventory(tradeeInventory, pendingTrades[tradeId].traderOffer, +1); // to get what trader offered
91
// and pays tax for it
92
await chargeTax(
93
tradeeInventory,
94
pendingTrades[tradeId].traderOffer,
95
pendingTrades[tradeId].clanTax,
96
req.query.guildId as string | undefined
97
);
98
tradeeInventory.TradesRemaining -= 1;
99
}
97
100
98
101
await Promise.all([traderInventory.save(), tradeeInventory.save()]);
99
102
delete pendingTrades[tradeId];
@@ -1549,15 +1549,17 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
1549
1549
flawlessRelicsAlwaysGiveSilverReward: Boolean,
1550
1550
radiantRelicsAlwaysGiveGoldReward: Boolean,
1551
1551
disableDailyTribute: Boolean,
1552
tradesDontTouchInventory: Boolean, // API-only cheat for bot developers
1553
1552
1554
nemesisHenchmenKillsMultiplierGrineer: Number,
1553
1555
nemesisHenchmenKillsMultiplierCorpus: Number,
1554
1556
nemesisAntivirusGainMultiplier: Number,
1555
1557
nemesisHintProgressMultiplierGrineer: Number,
1556
1558
nemesisHintProgressMultiplierCorpus: Number,
1557
1559
nemesisExtraWeapon: Number,
1558
spoofMasteryRank: { type: Number, default: -1 },
1559
relicRewardItemCountMultiplier: { type: Number, default: 1 },
1560
nightwaveStandingMultiplier: { type: Number, default: 1 },
1560
spoofMasteryRank: Number,
1561
relicRewardItemCountMultiplier: Number,
1562
nightwaveStandingMultiplier: Number,
1561
1563
1562
1564
Created: Date,
1563
1565
@@ -65,7 +65,8 @@ export const accountCheatBooleans = [
65
65
"exceptionalRelicsAlwaysGiveBronzeReward",
66
66
"flawlessRelicsAlwaysGiveSilverReward",
67
67
"radiantRelicsAlwaysGiveGoldReward",
68
"disableDailyTribute"
68
"disableDailyTribute",
69
"tradesDontTouchInventory" // API-only cheat for bot developers
69
70
] as const;
70
71
export const accountCheatNumbers = [
71
72
"nemesisHenchmenKillsMultiplierGrineer",