SpaceNinjaServer/src/types/missionTypes.ts
Sainan 4895b4630b feat: credit boosters (+ daily first win) (#2324)
Daily first win is kinda weird because the client doesn't even seem to acknowledge it.

Also fixed missionCompletionCredits being added to inventory inconsistently (sometimes once, sometimes twice).

Closes #1086
Closes #2322

Reviewed-on: OpenWF/SpaceNinjaServer#2324
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-27 08:20:37 -07:00

35 lines
1.1 KiB
TypeScript

import { IAffiliationMods, IInventoryChanges } from "./purchaseTypes";
export const inventoryFields = ["RawUpgrades", "MiscItems", "Consumables", "Recipes"] as const;
export type IInventoryFieldType = (typeof inventoryFields)[number];
export interface IMissionReward {
StoreItem: string;
TypeName?: string;
UpgradeLevel?: number;
ItemCount: number;
DailyCooldown?: boolean;
Rarity?: number;
TweetText?: string;
ProductCategory?: string;
FromEnemyCache?: boolean;
IsStrippedItem?: boolean;
}
export interface IMissionCredits {
MissionCredits: [number, number];
CreditsBonus: [number, number]; // "Credit Reward"; `CreditsBonus[1]` is `CreditsBonus[0] * 2` if DailyMissionBonus
TotalCredits: [number, number];
DailyMissionBonus?: boolean;
}
export interface IMissionInventoryUpdateResponse extends Partial<IMissionCredits> {
ConquestCompletedMissionsCount?: number;
InventoryJson?: string;
MissionRewards?: IMissionReward[];
InventoryChanges?: IInventoryChanges;
FusionPoints?: number;
SyndicateXPItemReward?: number;
AffiliationMods?: IAffiliationMods[];
}