SpaceNinjaServer/src/types/requestTypes.ts

106 lines
2.8 KiB
TypeScript
Raw Normal View History

import { IOid } from "./commonTypes";
import { ArtifactPolarity, IPolarity, IEquipmentClient } from "@/src/types/inventoryTypes/commonInventoryTypes";
2023-09-10 00:10:21 +04:00
import {
IBooster,
IChallengeProgress,
IConsumable,
ICrewShipSalvagedWeaponSkin,
IEvolutionProgress,
2023-09-10 00:10:21 +04:00
IMiscItem,
2024-06-22 17:56:36 +02:00
ITypeCount,
2023-09-10 00:10:21 +04:00
IMission,
IRawUpgrade,
2024-06-22 18:40:51 +02:00
ISeasonChallenge,
TSolarMapRegion,
2024-06-22 18:40:51 +02:00
TEquipmentKey
2023-09-10 00:10:21 +04:00
} from "./inventoryTypes/inventoryTypes";
export interface IArtifactsRequest {
2023-09-10 00:10:21 +04:00
Upgrade: ICrewShipSalvagedWeaponSkin;
LevelDiff: number;
Cost: number;
FusionPointCost: number;
}
2024-04-04 01:55:51 +03:00
export interface IThemeUpdateRequest {
Style?: string;
Background?: string;
Sounds?: string;
}
export interface IAffiliationChange {
Tag: string;
Standing: number;
Title: number;
}
export interface IUpdateChallengeProgressRequest {
ChallengeProgress: IChallengeProgress[];
SeasonChallengeHistory: ISeasonChallenge[];
SeasonChallengeCompletions: ISeasonChallenge[];
}
export interface IMissionInventoryUpdateRequest {
2023-09-10 00:10:21 +04:00
rewardsMultiplier?: number;
ActiveBoosters?: IBooster[];
AffiliationChanges?: IAffiliationChange[];
LongGuns?: IEquipmentClient[];
Pistols?: IEquipmentClient[];
Suits?: IEquipmentClient[];
Melee?: IEquipmentClient[];
2024-06-22 17:56:36 +02:00
FusionBundles?: ITypeCount[];
2023-09-10 00:10:21 +04:00
RawUpgrades?: IRawUpgrade[];
MiscItems?: IMiscItem[];
Consumables?: IConsumable[];
Recipes?: IConsumable[];
RegularCredits?: number;
ChallengeProgress?: IChallengeProgress[];
RewardInfo?: IMissionInventoryUpdateRequestRewardInfo;
Missions?: IMission;
EvolutionProgress?: IEvolutionProgress[];
LastRegionPlayed?: TSolarMapRegion;
2024-06-22 17:56:36 +02:00
FusionPoints?: number; // Not a part of the request, but we put it in this struct as an intermediate storage.
2023-09-10 00:10:21 +04:00
}
export interface IMissionInventoryUpdateRequestRewardInfo {
2023-09-10 00:10:21 +04:00
node: string;
2024-06-22 23:19:42 +02:00
VaultsCracked?: number; // for Spy missions
2023-09-10 00:10:21 +04:00
rewardTier?: number;
nightmareMode?: boolean;
useVaultManifest?: boolean;
EnemyCachesFound?: number;
toxinOk?: boolean;
lostTargetWave?: number;
defenseTargetCount?: number;
EOM_AFK?: number;
rewardQualifications?: string; // did a Survival for 5 minutes and this was "1"
2023-09-10 00:10:21 +04:00
PurgatoryRewardQualifications?: string;
rewardSeed?: number;
}
export interface IInventorySlotsRequest {
Bin: "PveBonusLoadoutBin";
}
export interface IUpdateGlyphRequest {
AvatarImageType: string;
AvatarImage: string;
}
export interface IUpgradesRequest {
2024-06-22 18:40:51 +02:00
ItemCategory: TEquipmentKey;
ItemId: IOid;
ItemFeatures: number;
UpgradeVersion: number;
Operations: IUpgradeOperation[];
}
export interface IUpgradeOperation {
OperationType: string;
UpgradeRequirement: string; // uniqueName of item being consumed
PolarizeSlot: number;
PolarizeValue: ArtifactPolarity;
PolarityRemap: IPolarity[];
}