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

XFESpaceNinjaServer

A simple server for a small space ninja game

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

XFEstudio/XFESpaceNinjaServer

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

代码差异

3 个文件 +31 -25
Modified src/controllers/api/tradingController.ts +24 -21
@@ -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];
Modified src/models/inventoryModels/inventoryModel.ts +5 -3
@@ -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
Modified src/types/inventoryTypes/inventoryTypes.ts +2 -1
@@ -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",