112 lines
2.6 KiB
TypeScript
112 lines
2.6 KiB
TypeScript
import type { ValuesOf, TurnObj } from "@/defs";
|
|
import type { GameObjClassKey } from "@/defs/GameObj";
|
|
import type { ValidResponse } from "@/SammoAPI";
|
|
|
|
export type SetBlockWarResponse = ValidResponse & {
|
|
availableCnt: number;
|
|
};
|
|
|
|
export type GeneralListItemP0 = {
|
|
no: number,
|
|
name: string,
|
|
nation: number,
|
|
npc: number,
|
|
injury: number,
|
|
leadership: number,
|
|
strength: number,
|
|
intel: number,
|
|
explevel: number,
|
|
dedlevel: number,
|
|
gold: number,
|
|
rice: number,
|
|
killturn: number,
|
|
picture: string,
|
|
imgsvr: 0 | 1,
|
|
age: number,
|
|
specialDomestic: GameObjClassKey,
|
|
specialWar: GameObjClassKey,
|
|
personal: GameObjClassKey,
|
|
belong: number,
|
|
connect: number,
|
|
|
|
officerLevel: number, //권한에따라 태수,군사,시종 노출 여부가 다름
|
|
officerLevelText: string,
|
|
lbonus: number,
|
|
ownerName: string | null, //NPC 출력용에 따라 결과가 다름
|
|
honorText: string,
|
|
dedLevelText: string,
|
|
bill: number,
|
|
reservedCommand: TurnObj[] | null,
|
|
|
|
autorun_limit: number,
|
|
}
|
|
|
|
export type GeneralListItemP1 = {
|
|
city: number,
|
|
experience: number,
|
|
dedication: number,
|
|
} & GeneralListItemP0;
|
|
|
|
export type GeneralListItemP2 = GeneralListItemP1 & {
|
|
officer_level: number,
|
|
officer_city: number,
|
|
defence_train: number,
|
|
troop: number,
|
|
crewtype: GameObjClassKey,
|
|
crew: number,
|
|
train: number,
|
|
atmos: number,
|
|
turntime: string,
|
|
horse: GameObjClassKey,
|
|
weapon: GameObjClassKey,
|
|
book: GameObjClassKey,
|
|
item: GameObjClassKey,
|
|
|
|
warnum: number,
|
|
killnum: number,
|
|
deathnum: number,
|
|
killcrew: number,
|
|
deathcrew: number,
|
|
firenum: number,
|
|
}
|
|
|
|
export type RawGeneralListItem = GeneralListItemP0 | GeneralListItemP1 | GeneralListItemP2;
|
|
|
|
export type GeneralListItem =
|
|
({ permission: 0 } & GeneralListItemP0) |
|
|
({ permission: 1 } & GeneralListItemP1) |
|
|
({ permission: 2 | 3 | 4 } & GeneralListItemP2);
|
|
|
|
type ResponseEnv = {
|
|
year: number,
|
|
month: number,
|
|
turntime: string,
|
|
turnterm: number,
|
|
}
|
|
|
|
export type RawGeneralListP0 = ValidResponse & {
|
|
permission: 0,
|
|
column: (keyof GeneralListItemP0)[],
|
|
list: ValuesOf<GeneralListItemP0>[][],
|
|
troops?: null,
|
|
env: ResponseEnv,
|
|
}
|
|
|
|
export type RawGeneralListP1 = ValidResponse & {
|
|
permission: 1,
|
|
column: (keyof GeneralListItemP1)[],
|
|
list: ValuesOf<GeneralListItemP1>[][],
|
|
troops?: null,
|
|
env: ResponseEnv,
|
|
}
|
|
|
|
export type RawGeneralListP2 = ValidResponse & {
|
|
permission: 2 | 3 | 4,
|
|
column: (keyof GeneralListItemP2)[],
|
|
list: ValuesOf<GeneralListItemP2>[][],
|
|
troops: [number, string][],
|
|
env: ResponseEnv,
|
|
}
|
|
|
|
export type GeneralListResponse = RawGeneralListP0 | RawGeneralListP1 | RawGeneralListP2;
|