Files
core/hwe/ts/defs/API/Nation/index.ts
T
Hide_D 988ba015b8 refac: sammoAPI 정의 방식 일부 변경
- defs/index.ts로 분리
- API/Nation/GeneralList 호출 재정의
2022-04-07 03:03:38 +09:00

82 lines
2.0 KiB
TypeScript

import type { GameObjType, ValuesOf } from "@/defs";
import type { ValidResponse } from "@/SammoAPI";
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,
special: GameObjType,
special2: GameObjType,
personal: GameObjType,
belong: number,
connect: number,
officerLevel: number, //권한에따라 태수,군사,시종 노출 여부가 다름
officerLevelText: string,
lbonus: number,
ownerName: string | null, //NPC 출력용에 따라 결과가 다름
honorText: string,
}
export type GeneralListItemP1 = {
city: number,
experience: number,
dedication: number,
} & GeneralListItemP0;
export type GeneralListItemP2 = GeneralListItemP1 & {
officer_level: number,
officer_city: number,
}
export type GeneralListItemP9 = GeneralListItemP2 & {
owner_name: string,
}
export type GeneralListItem =
({permission : 0} & GeneralListItemP0) |
({permission : 1} & GeneralListItemP1) |
({permission : 2} & GeneralListItemP2) |
({permission : 9} & GeneralListItemP9);
export type RawGeneralListP0 = ValidResponse & {
permission: 0,
column: keyof GeneralListItemP0[],
list: ValuesOf<GeneralListItemP0>[],
}
export type RawGeneralListP1 = ValidResponse & {
permission: 1,
column: keyof GeneralListItemP1[],
list: ValuesOf<GeneralListItemP1>[][],
}
export type RawGeneralListP2 = ValidResponse & {
permission: 2,
column: keyof GeneralListItemP2[],
list: ValuesOf<GeneralListItemP2>[][],
}
export type RawGeneralListP9 = ValidResponse & {
permission: 9,
column: keyof GeneralListItemP9[],
list: ValuesOf<GeneralListItemP9>[][],
}
export type GeneralListResponse = RawGeneralListP0 | RawGeneralListP1 | RawGeneralListP2 | RawGeneralListP9;