feat: add spoofMasteryRank config #229

Merged
Sainan merged 2 commits from mr into main 2024-05-28 04:28:35 -07:00
3 changed files with 26 additions and 1 deletions

View File

@ -15,5 +15,6 @@
"infiniteResources": true,
"unlockallShipFeatures": true,
"unlockAllShipDecorations": true,
"unlockAllFlavourItems": true
"unlockAllFlavourItems": true,
"spoofMasteryRank": -1
}

View File

@ -51,7 +51,30 @@ const inventoryController: RequestHandler = async (request: Request, response: R
if (config.unlockAllShipDecorations) inventoryResponse.ShipDecorations = allShipDecorations;
if (config.unlockAllFlavourItems) inventoryResponse.FlavourItems = allFlavourItems satisfies IFlavourItem[];
if (
typeof config.spoofMasteryRank === "number" &&
config.spoofMasteryRank >= 0 &&
config.spoofMasteryRank <= 5030
) {
inventoryResponse.PlayerLevel = config.spoofMasteryRank;
inventoryResponse.XPInfo = [];
let numFrames = getExpRequiredForMr(config.spoofMasteryRank) / 6000;
while (numFrames-- > 0) {
inventoryResponse.XPInfo.push({
ItemType: "/Lotus/Powersuits/Mag/Mag",
XP: 1_600_000
});
}
}
response.json(inventoryResponse);
};
const getExpRequiredForMr = (rank: number): number => {
if (rank <= 30) {
return 2500 * rank * rank;
}
return 2_250_000 + 147_500 * (rank - 30);
};
export { inventoryController };

View File

@ -14,6 +14,7 @@ interface IConfig {
unlockallShipFeatures?: boolean;
unlockAllShipDecorations?: boolean;
unlockAllFlavourItems?: boolean;
spoofMasteryRank?: number;
}
interface ILoggerConfig {