용어 재정의

This commit is contained in:
2024-03-11 16:53:44 +00:00
parent 21a9fc54f3
commit 28b78e0872
17 changed files with 100 additions and 95 deletions
+10 -5
View File
@@ -1,4 +1,4 @@
import type { CityID, CityLevel, CityName, CityOfficerLevel, CityState, FrontStatus, NationID, RegionID } from "../defs.js";
import type { CityID, CityLevel, CityName, CityOfficerLevel, CityState, FrontStatus, NationID, FractionalRange, RegionID, RemainMonth } from "../defs.js";
export interface ICityEntity{
@@ -9,7 +9,7 @@ export interface ICityEntity{
level: CityLevel;
//보급품 있음
hasSupply: boolean;
isSupplied: boolean;
//도시 접경 상태
frontStatus: FrontStatus;
@@ -60,15 +60,20 @@ export interface ICityEntity{
battleDeath: number;
//상인 존재 및 거래율, base 1
trader?: number;
traderStatus: {
exists: false;
} | {
exists: true;
rate: FractionalRange;
}
officerSet: Record<CityOfficerLevel, boolean>;
officerAssignability: Record<CityOfficerLevel, boolean>;
regionID: RegionID;
state: CityState;
//전투 잔여 개월
remainWarMonth: number;
remainWarMonth: RemainMonth;
//국가별 수비병 사살 수
conflict: Record<NationID, number>;
+2 -2
View File
@@ -21,8 +21,8 @@ export interface IDiplomaticLetter {
icon: string;
};
textBrief: string;
textDetail: string;
publicText: string;
privateText: string;
createdAt: Date;
updatedAt: Date;
@@ -13,7 +13,7 @@ export interface IGameEnvEntity {
year: number;
month: number;
turntermSec: number;
secondsPerTurn: number;
refreshedKillTurn: number;
@@ -32,7 +32,7 @@ export interface IGameEnvEntity {
maxNationCnt: number;
remainGeniusCnt: number;
autorunUserPolicy: Record<string, unknown>;
autoRunUserPolicy: Record<string, unknown>;
//게임 외부는 다른 엔티티로 분리
}
@@ -1,4 +1,4 @@
import type { CityID, DiplomaticPermission, GeneralID, GeneralName, ItemID, ItemKeyType, NationID, NpcType, OfficerLevel, PersonalityType, SpecialityDomesticType, SpecialityWarType, TroopID, UserID, UserName } from "../defs.js";
import type { CityID, DiplomaticPermission, GeneralID, GeneralName, ItemID, ItemKeyType, NationID, NpcType, OfficerLevel, PersonalityType, SpecialityDomesticType, SpecialityWarType, SquadID, UserID, UserName } from "../defs.js";
export interface IGeneralEntity {
id: GeneralID;
@@ -10,7 +10,7 @@ export interface IGeneralEntity {
ownerName?: UserName;
nationID: NationID;
cityID: number;
troopID?: TroopID;
squadID?: SquadID;
leadership: number;
leadershipExp: number;
@@ -27,7 +27,7 @@ export interface IGeneralEntity {
experienceLevel: number;
dedicationLevel: number;
dex: number[];
armyClassExperience: number[];
officerLevel: OfficerLevel;
officerCityID?: CityID;
@@ -59,8 +59,8 @@ export interface IGeneralEntity {
defenceTrained: number;
crewType: number;
crew: number;
armyType: number;
armyCount: number;
trained: number;
morale: number;
+3 -3
View File
@@ -1,4 +1,4 @@
import type { CityID, ColorType, IntYearMonth, NationCmdType, NationID, NationLevel, NationName, NationType, RemainMonth, ReservedTurn, StaffLevel, StrategicCmdType } from "../defs.js";
import type { CityID, ColorType, IntYearMonth, NationCmdType, NationID, NationLevel, NationName, NationType, FractionalRange, RemainMonth, ReservedTurn, StaffLevel, StrategicCmdType } from "../defs.js";
export interface INationEntity{
id: NationID;
@@ -20,9 +20,9 @@ export interface INationEntity{
strategicCmdLimit: Record<StrategicCmdType, IntYearMonth>;
//세율
taxRate: number;
taxRate: FractionalRange;
//지급율
payRate: number;
payRate: FractionalRange;
gold: number;
rice: number;
@@ -19,7 +19,7 @@ export interface IHistory {
cities: Map<CityID, {
nationID: NationID;
name: string;
hasSupply: boolean;
isSupplied: boolean;
level: CityLevel;
state: CityState;
@@ -16,7 +16,7 @@ export interface OldGeneral {
general: IGeneralEntity;
rank: IGeneralRankEntity;
troopName?: string;
squadName?: string;
cityBasic: {
name: string;
level: CityLevel;
+3 -3
View File
@@ -1,7 +1,7 @@
import type { NationID, TroopID } from "../defs.js";
import type { NationID, SquadID } from "../defs.js";
export interface ITroopEntity {
id: TroopID;
export interface ISquadEntity {
id: SquadID;
nationID: NationID;
name: string;
}
+3 -3
View File
@@ -2,19 +2,19 @@ import type { ValuesOf } from '@sammo/util';
import type { ICityEntity } from './CityEntity.js';
import type { IGeneralEntity } from './GeneralEntity.js';
import type { INationEntity } from './NationEntity.js';
import type { ITroopEntity } from './TroopEntity.js';
import type { ISquadEntity } from './SquadEntity.js';
import type { IGameEnvEntity } from './GameEnvEntity.js';
export type { IGeneralEntity } from './GeneralEntity.js';
export type { ICityEntity } from './CityEntity.js';
export type { ITroopEntity } from './TroopEntity.js';
export type { ISquadEntity } from './SquadEntity.js';
export type { INationEntity } from './NationEntity.js';
export type ValidEntityList = {
'Nation': INationEntity;
'City': ICityEntity;
'Troop': ITroopEntity;
'Squad': ISquadEntity;
'General': IGeneralEntity;
'GameEnv': IGameEnvEntity;