diff --git a/config-vanilla.json b/config-vanilla.json index 2617c221..d7c21458 100644 --- a/config-vanilla.json +++ b/config-vanilla.json @@ -14,9 +14,6 @@ "unlockAllSkins": false, "fullyStockedVendors": false, "skipClanKeyCrafting": false, - "spoofMasteryRank": -1, - "relicRewardItemCountMultiplier": 1, - "nightwaveStandingMultiplier": 1, "unfaithfulBugFixes": { "ignore1999LastRegionPlayed": false, "fixXtraCheeseTimer": false, diff --git a/src/controllers/api/inventoryController.ts b/src/controllers/api/inventoryController.ts index 4a426b32..a0b293e0 100644 --- a/src/controllers/api/inventoryController.ts +++ b/src/controllers/api/inventoryController.ts @@ -348,12 +348,12 @@ export const getInventoryResponse = async ( } } - if (typeof config.spoofMasteryRank === "number" && config.spoofMasteryRank >= 0) { - inventoryResponse.PlayerLevel = config.spoofMasteryRank; + if (inventory.spoofMasteryRank && inventory.spoofMasteryRank >= 0) { + inventoryResponse.PlayerLevel = inventory.spoofMasteryRank; if (!xpBasedLevelCapDisabled) { // This client has not been patched to accept any mastery rank, need to fake the XP. inventoryResponse.XPInfo = []; - let numFrames = getExpRequiredForMr(Math.min(config.spoofMasteryRank, 5030)) / 6000; + let numFrames = getExpRequiredForMr(Math.min(inventory.spoofMasteryRank, 5030)) / 6000; while (numFrames-- > 0) { inventoryResponse.XPInfo.push({ ItemType: "/Lotus/Powersuits/Mag/Mag", diff --git a/src/controllers/api/updateChallengeProgressController.ts b/src/controllers/api/updateChallengeProgressController.ts index 7d43e2f6..08ab55e1 100644 --- a/src/controllers/api/updateChallengeProgressController.ts +++ b/src/controllers/api/updateChallengeProgressController.ts @@ -14,7 +14,7 @@ export const updateChallengeProgressController: RequestHandler = async (req, res const inventory = await getInventory( account._id.toString(), - "ChallengesFixVersion ChallengeProgress SeasonChallengeHistory Affiliations CalendarProgress" + "ChallengesFixVersion ChallengeProgress SeasonChallengeHistory Affiliations CalendarProgress nightwaveStandingMultiplier" ); let affiliationMods: IAffiliationMods[] = []; if (challenges.ChallengeProgress) { diff --git a/src/helpers/relicHelper.ts b/src/helpers/relicHelper.ts index 04b315f7..f2fdf942 100644 --- a/src/helpers/relicHelper.ts +++ b/src/helpers/relicHelper.ts @@ -8,7 +8,6 @@ import { logger } from "../utils/logger.ts"; import { addMiscItems, combineInventoryChanges } from "../services/inventoryService.ts"; import { handleStoreItemAcquisition } from "../services/purchaseService.ts"; import type { IInventoryChanges } from "../types/purchaseTypes.ts"; -import { config } from "../services/configService.ts"; export const crackRelic = async ( inventory: TInventoryDatabaseDocument, @@ -29,10 +28,10 @@ export const crackRelic = async ( ExportRewards[relic.rewardManifest][0] as { type: string; itemCount: number; rarity: TRarity }[], // rarity is nullable in PE+ typings, but always present for relics weights )!; - if (config.relicRewardItemCountMultiplier !== undefined && (config.relicRewardItemCountMultiplier ?? 1) != 1) { + if (inventory.relicRewardItemCountMultiplier && inventory.relicRewardItemCountMultiplier != 1) { reward = { ...reward, - itemCount: reward.itemCount * config.relicRewardItemCountMultiplier + itemCount: reward.itemCount * inventory.relicRewardItemCountMultiplier }; } logger.debug(`relic rolled`, reward); diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index ac95f362..dcb92b89 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -1469,6 +1469,9 @@ const inventorySchema = new Schema( nemesisHintProgressMultiplierGrineer: Number, nemesisHintProgressMultiplierCorpus: Number, nemesisExtraWeapon: Number, + spoofMasteryRank: { type: Number, default: -1 }, + relicRewardItemCountMultiplier: { type: Number, default: 1 }, + nightwaveStandingMultiplier: { type: Number, default: 1 }, SubscribedToEmails: { type: Number, default: 0 }, SubscribedToEmailsPersonalized: { type: Number, default: 0 }, diff --git a/src/services/configService.ts b/src/services/configService.ts index 66b17fd7..db58354e 100644 --- a/src/services/configService.ts +++ b/src/services/configService.ts @@ -24,9 +24,6 @@ export interface IConfig { unlockAllSkins?: boolean; fullyStockedVendors?: boolean; skipClanKeyCrafting?: boolean; - spoofMasteryRank?: number; - relicRewardItemCountMultiplier?: number; - nightwaveStandingMultiplier?: number; unfaithfulBugFixes?: { ignore1999LastRegionPlayed?: boolean; fixXtraCheeseTimer?: boolean; @@ -149,7 +146,10 @@ export const configRemovedOptionsKeys = [ "fastClanAscension", "unlockAllFlavourItems", "unlockAllShipDecorations", - "unlockAllDecoRecipes" + "unlockAllDecoRecipes", + "spoofMasteryRank", + "relicRewardItemCountMultiplier", + "nightwaveStandingMultiplier" ]; export const configPath = path.join(repoDir, args.configPath ?? "config.json"); diff --git a/src/services/friendService.ts b/src/services/friendService.ts index 445e4321..219535be 100644 --- a/src/services/friendService.ts +++ b/src/services/friendService.ts @@ -1,6 +1,5 @@ import type { IFriendInfo } from "../types/friendTypes.ts"; import { getInventory } from "./inventoryService.ts"; -import { config } from "./configService.ts"; import { Account } from "../models/loginModel.ts"; import type { Types } from "mongoose"; import { Friendship } from "../models/friendModel.ts"; @@ -13,8 +12,8 @@ export const addAccountDataToFriendInfo = async (info: IFriendInfo): Promise => { - const inventory = await getInventory(fromOid(info._id), "PlayerLevel ActiveAvatarImageType"); - info.PlayerLevel = config.spoofMasteryRank == -1 ? inventory.PlayerLevel : config.spoofMasteryRank; + const inventory = await getInventory(fromOid(info._id), "PlayerLevel ActiveAvatarImageType spoofMasteryRank"); + info.PlayerLevel = inventory.spoofMasteryRank == -1 ? inventory.PlayerLevel : inventory.spoofMasteryRank; info.ActiveAvatarImageType = inventory.ActiveAvatarImageType; }; diff --git a/src/services/inventoryService.ts b/src/services/inventoryService.ts index f3b2159c..50daff71 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -2131,7 +2131,7 @@ export const addChallenges = async ( ]; } - const standingToAdd = meta.standing! * (config.nightwaveStandingMultiplier ?? 1); + const standingToAdd = meta.standing! * (inventory.nightwaveStandingMultiplier ?? 1); affiliation.Standing += standingToAdd; if (affiliationMods.length == 0) { affiliationMods.push({ Tag: nightwaveSyndicateTag }); diff --git a/src/types/inventoryTypes/inventoryTypes.ts b/src/types/inventoryTypes/inventoryTypes.ts index bb181b61..d4c96e66 100644 --- a/src/types/inventoryTypes/inventoryTypes.ts +++ b/src/types/inventoryTypes/inventoryTypes.ts @@ -61,6 +61,9 @@ export interface IAccountCheats { nemesisHintProgressMultiplierGrineer?: number; nemesisHintProgressMultiplierCorpus?: number; nemesisExtraWeapon?: number; + spoofMasteryRank?: number; + relicRewardItemCountMultiplier?: number; + nightwaveStandingMultiplier?: number; } export interface IInventoryDatabase diff --git a/static/webui/index.html b/static/webui/index.html index 5486b6d1..24beefca 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -1071,6 +1071,20 @@ +
+ +
+ + +
+
+
+ +
+ + +
+
@@ -1113,6 +1127,20 @@
+
+ +
+ + +
+
+
+ +
+ + +
+
@@ -1127,13 +1155,6 @@
-
- -
- - -
-
@@ -1161,27 +1182,6 @@ -
- -
- - -
-
-
- -
- - -
-
-
- -
- - -
-