feat: nightcap syndicate #2934

Merged
Sainan merged 6 commits from AMelonInsideLemon/SpaceNinjaServer:nightcap-syndicate into main 2025-10-25 00:26:37 -07:00
Showing only changes of commit dd09bcdb45 - Show all commits

View File

@ -3,6 +3,7 @@ import { getAccountIdForRequest } from "../../services/loginService.ts";
import { addMiscItem, getInventory } from "../../services/inventoryService.ts"; import { addMiscItem, getInventory } from "../../services/inventoryService.ts";
import { getJSONfromString } from "../../helpers/stringHelpers.ts"; import { getJSONfromString } from "../../helpers/stringHelpers.ts";
import { logger } from "../../utils/logger.ts"; import { logger } from "../../utils/logger.ts";
import type { IInventoryChanges } from "../../types/purchaseTypes.ts";
export const feedPrinceController: RequestHandler = async (req, res) => { export const feedPrinceController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req); const accountId = await getAccountIdForRequest(req);
@ -15,7 +16,7 @@ export const feedPrinceController: RequestHandler = async (req, res) => {
FeedLevel: 0, FeedLevel: 0,
JournalEntries: [] JournalEntries: []
}; };
const InventoryChanges = {}; const InventoryChanges: IInventoryChanges = {};
inventory.NokkoColony.FeedLevel += payload.Amount; inventory.NokkoColony.FeedLevel += payload.Amount;
if ( if (
(!inventory.NodeIntrosCompleted.includes("CompletedVision1") && inventory.NokkoColony.FeedLevel > 20) || (!inventory.NodeIntrosCompleted.includes("CompletedVision1") && inventory.NokkoColony.FeedLevel > 20) ||
@ -25,7 +26,7 @@ export const feedPrinceController: RequestHandler = async (req, res) => {
FeedSucceeded: false, FeedSucceeded: false,
FeedLevel: inventory.NokkoColony.FeedLevel - payload.Amount, FeedLevel: inventory.NokkoColony.FeedLevel - payload.Amount,
InventoryChanges InventoryChanges
}); } satisfies IFeedPrinceResponse);
} else { } else {
addMiscItem( addMiscItem(
inventory, inventory,
@ -38,7 +39,7 @@ export const feedPrinceController: RequestHandler = async (req, res) => {
FeedSucceeded: true, FeedSucceeded: true,
FeedLevel: inventory.NokkoColony.FeedLevel, FeedLevel: inventory.NokkoColony.FeedLevel,
InventoryChanges InventoryChanges
}); } satisfies IFeedPrinceResponse);
} }
break; break;
} }
@ -53,3 +54,9 @@ interface IFeedPrinceRequest {
Mode: string; // r Mode: string; // r
Amount: number; Amount: number;
} }
interface IFeedPrinceResponse {
FeedSucceeded: boolean;
FeedLevel: number;
InventoryChanges: IInventoryChanges;
}