2023-12-14 17:34:15 +01:00
|
|
|
import { IOid } from "@/src/types/commonTypes";
|
|
|
|
import { IItemConfig, IOperatorConfigClient } from "@/src/types/inventoryTypes/commonInventoryTypes";
|
|
|
|
import { Types } from "mongoose";
|
2024-06-16 17:51:20 +02:00
|
|
|
import { ILoadoutConfigClient } from "./inventoryTypes/inventoryTypes";
|
2023-12-14 17:34:15 +01:00
|
|
|
|
|
|
|
export interface ISaveLoadoutRequest {
|
|
|
|
LoadOuts: ILoadoutClient;
|
|
|
|
LongGuns: IItemEntry;
|
|
|
|
OperatorAmps: IItemEntry;
|
|
|
|
Pistols: IItemEntry;
|
|
|
|
Suits: IItemEntry;
|
|
|
|
Melee: IItemEntry;
|
|
|
|
Sentinels: IItemEntry;
|
|
|
|
SentinelWeapons: IItemEntry;
|
|
|
|
KubrowPets: IItemEntry;
|
|
|
|
SpaceSuits: IItemEntry;
|
|
|
|
SpaceGuns: IItemEntry;
|
|
|
|
SpaceMelee: IItemEntry;
|
|
|
|
Scoops: IItemEntry;
|
|
|
|
SpecialItems: IItemEntry;
|
|
|
|
MoaPets: IItemEntry;
|
|
|
|
Hoverboards: IItemEntry;
|
|
|
|
DataKnives: IItemEntry;
|
2024-12-16 12:25:28 +08:00
|
|
|
Motorcycles: IItemEntry;
|
2023-12-14 17:34:15 +01:00
|
|
|
MechSuits: IItemEntry;
|
|
|
|
CrewShipHarnesses: IItemEntry;
|
|
|
|
Horses: IItemEntry;
|
|
|
|
DrifterMelee: IItemEntry;
|
|
|
|
UpgradeVer: number;
|
|
|
|
OperatorLoadOuts: IOperatorConfigEntry;
|
|
|
|
AdultOperatorLoadOuts: IOperatorConfigEntry;
|
|
|
|
KahlLoadOuts: IItemEntry;
|
|
|
|
CrewShips: IItemEntry;
|
|
|
|
CurrentLoadOutIds: IOid[];
|
|
|
|
ValidNewLoadoutId: string;
|
|
|
|
EquippedGear: string[];
|
2024-07-03 12:33:09 +02:00
|
|
|
EquippedEmotes: string[];
|
2024-06-20 11:46:08 +02:00
|
|
|
UseAdultOperatorLoadout: boolean;
|
2023-12-14 17:34:15 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface ISaveLoadoutRequestNoUpgradeVer extends Omit<ISaveLoadoutRequest, "UpgradeVer"> {}
|
|
|
|
|
|
|
|
export interface IOperatorConfigEntry {
|
|
|
|
[configId: string]: IOperatorConfigClient;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface IItemEntry {
|
|
|
|
[itemId: string]: IConfigEntry;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface IConfigEntry {
|
|
|
|
[configId: string]: IItemConfig;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface ILoadoutClient extends Omit<ILoadoutDatabase, "_id" | "loadoutOwnerId"> {}
|
|
|
|
|
|
|
|
export interface ILoadoutDatabase {
|
|
|
|
NORMAL: ILoadoutEntry;
|
|
|
|
SENTINEL: ILoadoutEntry;
|
|
|
|
ARCHWING: ILoadoutEntry;
|
|
|
|
NORMAL_PVP: ILoadoutEntry;
|
|
|
|
LUNARO: ILoadoutEntry;
|
|
|
|
OPERATOR: ILoadoutEntry;
|
|
|
|
KDRIVE: ILoadoutEntry;
|
|
|
|
DATAKNIFE: ILoadoutEntry;
|
|
|
|
MECH: ILoadoutEntry;
|
|
|
|
OPERATOR_ADULT: ILoadoutEntry;
|
|
|
|
DRIFTER: ILoadoutEntry;
|
|
|
|
_id: Types.ObjectId;
|
|
|
|
loadoutOwnerId: Types.ObjectId;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface ILoadoutEntry {
|
|
|
|
[key: string]: ILoadoutConfigClient;
|
|
|
|
}
|
|
|
|
export interface ILoadoutConfigDatabase extends Omit<ILoadoutConfigClient, "ItemId"> {
|
|
|
|
_id: Types.ObjectId;
|
|
|
|
}
|