feat: add spoofMasteryRank config (#229)

Co-authored-by: Sainan <Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2024-05-28 13:28:35 +02:00 committed by GitHub
parent dea35fbd99
commit 2e8c94d34b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 26 additions and 1 deletions

View File

@ -17,5 +17,6 @@
"infiniteResources": true, "infiniteResources": true,
"unlockallShipFeatures": true, "unlockallShipFeatures": true,
"unlockAllShipDecorations": 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.unlockAllShipDecorations) inventoryResponse.ShipDecorations = allShipDecorations;
if (config.unlockAllFlavourItems) inventoryResponse.FlavourItems = allFlavourItems satisfies IFlavourItem[]; 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); 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 }; export { inventoryController };

View File

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