Entity
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
import type { DiplomacyState, NationID } from "@/defs.js";
|
||||
|
||||
export interface Diplomacy {
|
||||
_id: string;
|
||||
|
||||
lowerNationID: NationID;
|
||||
higherNationID: NationID;
|
||||
|
||||
state: DiplomacyState;
|
||||
|
||||
lowerNationDeadCrew?: number;
|
||||
higherNationDeadCrew?: number;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
import type { NationID } from "@/defs.js";
|
||||
|
||||
export interface IDiplomaticLetter {
|
||||
_id: string;
|
||||
|
||||
srcNationID: NationID;
|
||||
destNationID: NationID;
|
||||
|
||||
prevID?: string;
|
||||
|
||||
state: 'proposed' | 'accepted' | 'rejected' | 'canceled' | 'replaced';
|
||||
|
||||
srcSigner: {
|
||||
generalID: string;
|
||||
generalName: string;
|
||||
icon: string;
|
||||
};
|
||||
destSigner: {
|
||||
generalID: string;
|
||||
generalName: string;
|
||||
icon: string;
|
||||
};
|
||||
|
||||
textBrief: string;
|
||||
textDetail: string;
|
||||
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { GeneralID } from "@/defs.js";
|
||||
|
||||
//게임 외부적인 General Rank ㅈ어보
|
||||
//게임 외부적인 General Rank 정보
|
||||
export interface IGeneralExternalRankEntity {
|
||||
generalID: GeneralID;
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
import type { GeneralID } from "@/defs.js";
|
||||
|
||||
export interface IGeneralTurn {
|
||||
generalID: GeneralID;
|
||||
turn: {
|
||||
action: string;
|
||||
arg?: Record<string, unknown>;
|
||||
brief: string;
|
||||
}[];
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import type { StaffLevel } from "@/defs.js";
|
||||
|
||||
export interface INationTurn {
|
||||
_id: string;
|
||||
|
||||
nationID: string;
|
||||
officerLevel: StaffLevel,
|
||||
|
||||
turn: {
|
||||
action: string;
|
||||
arg?: Record<string, unknown>;
|
||||
brief: string;
|
||||
}[];
|
||||
}
|
||||
@@ -5,7 +5,7 @@ export interface IGeneralEntity {
|
||||
ownerID?: UserID;
|
||||
npcType: NpcType;
|
||||
affinity?: number;
|
||||
picture?: string;
|
||||
icon?: string;
|
||||
name: GeneralName;
|
||||
ownerName?: UserName;
|
||||
nationID: NationID;
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { GeneralID, GeneralName, NationName, ScenarioID, ServerID, UserID, UserName } from "@/defs.js"
|
||||
import type { IGeneralRankEntity } from "../GeneralRankEntity.js";
|
||||
import type { IGeneralExternalRankEntity } from "../External/GeneralExternalRankEntity.js";
|
||||
|
||||
|
||||
|
||||
export interface IHallOfFame {
|
||||
_id: string
|
||||
|
||||
serverID: ServerID;
|
||||
serverIdx: number;
|
||||
season: number;
|
||||
|
||||
scenarioID: ScenarioID;
|
||||
scenarioName: string;
|
||||
|
||||
generalID: GeneralID;
|
||||
generalName: GeneralName;
|
||||
ownerID: UserID;
|
||||
ownerName: UserName;
|
||||
icon: string;
|
||||
|
||||
nationName: NationName;
|
||||
nationColor: string;
|
||||
|
||||
startTime: Date;
|
||||
endTime: Date;
|
||||
|
||||
ingame: IGeneralRankEntity;
|
||||
external: IGeneralExternalRankEntity;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
import type { CityID, CityLevel, CityState, NationID, NpcType, OfficerLevel, RegionID, ServerID } from "@/defs.js";
|
||||
|
||||
export interface IHistory {
|
||||
_id: string;
|
||||
|
||||
serverID: ServerID;
|
||||
year: number;
|
||||
month: number;
|
||||
mapBase: string;
|
||||
nations: Map<NationID, {
|
||||
name: string;
|
||||
color: string;
|
||||
cities: Set<CityID>;
|
||||
generals: {
|
||||
name: string;
|
||||
npcType: NpcType;
|
||||
}[];
|
||||
}>;
|
||||
cities: Map<CityID, {
|
||||
nationID: NationID;
|
||||
name: string;
|
||||
hasSupply: boolean;
|
||||
|
||||
level: CityLevel;
|
||||
state: CityState;
|
||||
regionID: RegionID;
|
||||
|
||||
remainWarMonth: number;
|
||||
}>
|
||||
globalHistory: string[];
|
||||
globalAction: string[];
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
import type { CityLevel, GeneralID, ServerID, UserID } from "@/defs.js";
|
||||
import type { IGeneralEntity } from "../GeneralEntity.js";
|
||||
import type { IGeneralRankEntity } from "../GeneralRankEntity.js";
|
||||
|
||||
export interface OldGeneral {
|
||||
_id: string;
|
||||
|
||||
serverID: ServerID;
|
||||
generalID: GeneralID;
|
||||
ownerID?: UserID;
|
||||
|
||||
lastYearMonth: number;
|
||||
|
||||
general: IGeneralEntity;
|
||||
rank: IGeneralRankEntity;
|
||||
|
||||
troopName?: string;
|
||||
cityBasic: {
|
||||
name: string;
|
||||
level: CityLevel;
|
||||
}
|
||||
nationBasic: {
|
||||
name: string;
|
||||
color: string;
|
||||
};
|
||||
|
||||
createdAt: Date;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
import type { GeneralID, GeneralName, ItemID, ItemKeyType, NationID, NpcType, OfficerLevel, PersonalityType, ServerID, SpecialityDomesticType, SpecialityWarType, UserID } from "@/defs.js";
|
||||
import type { INationEntity } from "../NationEntity.js";
|
||||
|
||||
export interface IOldNation {
|
||||
_id: string;
|
||||
|
||||
serverID: ServerID;
|
||||
nationID: NationID;
|
||||
|
||||
nation: INationEntity;
|
||||
|
||||
lastYearMonth: number;
|
||||
|
||||
members: Record<number, {
|
||||
generalID: GeneralID;
|
||||
generalName: GeneralName;
|
||||
ownerID?: UserID;
|
||||
ownerName?: string;
|
||||
|
||||
npcType?: NpcType;
|
||||
icon?: string;
|
||||
|
||||
officerLevel: OfficerLevel;
|
||||
officerCityID?: number;
|
||||
}>
|
||||
|
||||
history: {
|
||||
year: number;
|
||||
month: number;
|
||||
text: string[];
|
||||
};
|
||||
|
||||
createdAt: Date;
|
||||
}
|
||||
Reference in New Issue
Block a user