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

feat: infiniteDirac cheat & reorganize "infinite" cheats (#4270)

- When upgrading stuff with Dirac while cheat is on, the number seems to subtract in-game (visually) still but couldn't find a way to prevent it (might just be client side in that screen, not sure). - Reorganized infinite cheats to have Credits, Plat, Regal Aya, Endo, Dirac in the same order as on inventory page. Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/4270 Reviewed-by: Sainan <63328889+sainan@users.noreply.github.com> Co-authored-by: Animan8000 <187183497+Veniman8000@users.noreply.github.com> Co-committed-by: Animan8000 <187183497+Veniman8000@users.noreply.github.com>

bf3256c7
Animan8000 <187183497+Veniman8000@users.noreply.github.com>
提交于

代码差异

15 个文件 +35 -10
Modified src/controllers/api/artifactsController.ts +1 -0
@@ -29,6 +29,7 @@ export const artifactsController: RequestHandler = async (req, res) => {
29 29 "RegularCredits",
30 30 "infiniteEndo",
31 31 "FusionPoints",
32 "infiniteDirac",
32 33 "CrewShipFusionPoints"
33 34 );
34 35 const { Upgrades } = inventory;
Modified src/controllers/api/inventoryController.ts +3 -0
@@ -432,6 +432,9 @@ export const getInventoryResponse = async (
432 432 if (inventory.infiniteEndo) {
433 433 inventoryResponse.FusionPoints = 999999999;
434 434 }
435 if (inventory.infiniteDirac) {
436 inventoryResponse.CrewShipFusionPoints = 999999999;
437 }
435 438 if (inventory.infiniteRegalAya) {
436 439 inventoryResponse.PrimeTokens = 999999999;
437 440 }
Modified src/controllers/api/upgradeCrewShipController.ts +1 -1
@@ -8,7 +8,7 @@ import { logger } from "../../utils/logger.ts";
8 8 export const upgradeCrewShipController: RequestHandler = async (request, response) => {
9 9 const accountId = await getAccountIdForRequest(request);
10 10 const data = getJSONfromString<IUpgradeCrewShipRequest>(String(request.body));
11 const inventory = await getInventory2(accountId, "CrewShips", "CrewShipFusionPoints");
11 const inventory = await getInventory2(accountId, "CrewShips", "CrewShipFusionPoints", "infiniteDirac");
12 12 const crewShip = inventory.CrewShips.find(ship => ship._id.equals(data.ShipId.$oid));
13 13 if (crewShip) {
14 14 crewShip.SlotLevels ??= [];
Modified src/controllers/custom/setAccountCheatController.ts +5 -1
@@ -51,7 +51,11 @@ export const setAccountCheatController: RequestHandler = async (req, res) => {
51 51
52 52 res.end();
53 53
54 if (["infiniteCredits", "infinitePlatinum", "infiniteEndo", "infiniteRegalAya"].indexOf(payload.key) != -1) {
54 if (
55 ["infiniteCredits", "infinitePlatinum", "infiniteEndo", "infiniteDirac", "infiniteRegalAya"].indexOf(
56 payload.key
57 ) != -1
58 ) {
55 59 // Game and all webui tabs need to refresh the inventory
56 60 sendWsBroadcastTo(account._id.toString(), { update_inventory: true, sync_inventory: true });
57 61 } else if (
Modified src/models/inventoryModels/inventoryModel.ts +1 -0
@@ -1594,6 +1594,7 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
1594 1594 infiniteCredits: Boolean,
1595 1595 infinitePlatinum: Boolean,
1596 1596 infiniteEndo: Boolean,
1597 infiniteDirac: Boolean,
1597 1598 infiniteRegalAya: Boolean,
1598 1599 infiniteRevives: Boolean,
1599 1600 infiniteTrades: Boolean,
Modified src/services/inventoryService.ts +9 -5
@@ -1823,14 +1823,18 @@ export const addFusionPoints = (
1823 1823 };
1824 1824
1825 1825 export const addCrewShipFusionPoints = (
1826 inventory: Pick<TInventoryDatabaseDocument, "CrewShipFusionPoints">,
1826 inventory: Pick<TInventoryDatabaseDocument, "infiniteDirac" | "CrewShipFusionPoints">,
1827 1827 add: number
1828 1828 ): number => {
1829 if (inventory.CrewShipFusionPoints + add > 2147483647) {
1830 logger.warn(`capping CrewShipFusionPoints balance at 2147483647`);
1831 add = 2147483647 - inventory.CrewShipFusionPoints;
1829 if (inventory.infiniteDirac) {
1830 add = 0;
1831 } else {
1832 if (inventory.CrewShipFusionPoints + add > 2147483647) {
1833 logger.warn(`capping CrewShipFusionPoints balance at 2147483647`);
1834 add = 2147483647 - inventory.CrewShipFusionPoints;
1835 }
1836 inventory.CrewShipFusionPoints += add;
1832 1837 }
1833 inventory.CrewShipFusionPoints += add;
1834 1838 return add;
1835 1839 };
1836 1840
Modified src/types/inventoryTypes/inventoryTypes.ts +2 -1
@@ -52,6 +52,7 @@ export const accountCheatBooleans = [
52 52 "infiniteCredits",
53 53 "infinitePlatinum",
54 54 "infiniteEndo",
55 "infiniteDirac",
55 56 "infiniteRegalAya",
56 57 "infiniteRevives",
57 58 "infiniteTrades",
@@ -396,7 +397,7 @@ export interface IInventoryClient
396 397 PremiumCredits: number;
397 398 PremiumCreditsFree: number;
398 399 FusionPoints: number;
399 CrewShipFusionPoints: number; //Dirac (pre-rework Railjack)
400 CrewShipFusionPoints: number; // Dirac (pre-rework Railjack)
400 401 PrimeTokens: number;
401 402 TradesRemaining: number;
402 403 DailyFocus: number;
Modified static/webui/index.html +6 -2
@@ -992,13 +992,17 @@
992 992 <input class="form-check-input" type="checkbox" id="infinitePlatinum" data-enabling-permission="toggleCheat.infinitePlatinum" />
993 993 <label class="form-check-label" for="infinitePlatinum" data-loc="cheats_infinitePlatinum"></label>
994 994 </div>
995 <div class="form-check">
996 <input class="form-check-input" type="checkbox" id="infiniteRegalAya" data-enabling-permission="toggleCheat.infiniteRegalAya" />
997 <label class="form-check-label" for="infiniteRegalAya" data-loc="cheats_infiniteRegalAya"></label>
998 </div>
995 999 <div class="form-check">
996 1000 <input class="form-check-input" type="checkbox" id="infiniteEndo" data-enabling-permission="toggleCheat.infiniteEndo" />
997 1001 <label class="form-check-label" for="infiniteEndo" data-loc="cheats_infiniteEndo"></label>
998 1002 </div>
999 1003 <div class="form-check">
1000 <input class="form-check-input" type="checkbox" id="infiniteRegalAya" data-enabling-permission="toggleCheat.infiniteRegalAya" />
1001 <label class="form-check-label" for="infiniteRegalAya" data-loc="cheats_infiniteRegalAya"></label>
1004 <input class="form-check-input" type="checkbox" id="infiniteDirac" data-enabling-permission="toggleCheat.infiniteDirac" />
1005 <label class="form-check-label" for="infiniteDirac" data-loc="cheats_infiniteDirac"></label>
1002 1006 </div>
1003 1007 <div class="form-check">
1004 1008 <input class="form-check-input" type="checkbox" id="infiniteRevives" data-enabling-permission="toggleCheat.infiniteRevives" />
Modified static/webui/translations/de.js +1 -0
@@ -228,6 +228,7 @@ dict = {
228 228 cheats_infiniteCredits: `Unendlich Credits`,
229 229 cheats_infinitePlatinum: `Unendlich Platinum`,
230 230 cheats_infiniteEndo: `Unendlich Endo`,
231 cheats_infiniteDirac: `Unendlich Dirac`,
231 232 cheats_infiniteRegalAya: `Unendlich Reines Aya`,
232 233 cheats_infiniteRevives: `Unendlich Wiederbelebungen (vor U18)`,
233 234 cheats_infiniteTrades: `Unendlich handeln`,
Modified static/webui/translations/en.js +1 -0
@@ -227,6 +227,7 @@ dict = {
227 227 cheats_infiniteCredits: `Infinite Credits`,
228 228 cheats_infinitePlatinum: `Infinite Platinum`,
229 229 cheats_infiniteEndo: `Infinite Endo`,
230 cheats_infiniteDirac: `Infinite Dirac`,
230 231 cheats_infiniteRegalAya: `Infinite Regal Aya`,
231 232 cheats_infiniteRevives: `Infinite Revives (Pre-U18)`,
232 233 cheats_infiniteTrades: `Infinite Trades`,
Modified static/webui/translations/es.js +1 -0
@@ -228,6 +228,7 @@ dict = {
228 228 cheats_infiniteCredits: `Créditos infinitos`,
229 229 cheats_infinitePlatinum: `Platino infinito`,
230 230 cheats_infiniteEndo: `Endo infinito`,
231 cheats_infiniteDirac: `[UNTRANSLATED] Infinite Dirac`,
231 232 cheats_infiniteRegalAya: `Aya Real infinita`,
232 233 cheats_infiniteRevives: `[UNTRANSLATED] Infinite Revives (Pre-U18)`,
233 234 cheats_infiniteTrades: `[UNTRANSLATED] Infinite Trades`,
Modified static/webui/translations/fr.js +1 -0
@@ -228,6 +228,7 @@ dict = {
228 228 cheats_infiniteCredits: `Crédits infinis`,
229 229 cheats_infinitePlatinum: `Platinum infini`,
230 230 cheats_infiniteEndo: `Endo infini`,
231 cheats_infiniteDirac: `[UNTRANSLATED] Infinite Dirac`,
231 232 cheats_infiniteRegalAya: `Aya Raffiné infini`,
232 233 cheats_infiniteRevives: `[UNTRANSLATED] Infinite Revives (Pre-U18)`,
233 234 cheats_infiniteTrades: `Échanges infinis`,
Modified static/webui/translations/ru.js +1 -0
Modified static/webui/translations/uk.js +1 -0
Modified static/webui/translations/zh.js +1 -0