feat: 일반 역할 및 슬롯 인터페이스 추가, 시나리오 파싱 및 부트스트랩 로직 개선

This commit is contained in:
2025-12-28 17:11:05 +00:00
parent 62c1c0f9c6
commit 8a2fc4fec5
10 changed files with 343 additions and 0 deletions
+40
View File
@@ -294,6 +294,21 @@ const buildGeneralSeeds = (
if (row.picture !== null) {
seedMeta.picture = row.picture;
}
if (row.specialWar !== null && row.specialWar !== undefined) {
seedMeta.specialWar = row.specialWar;
}
if (row.horse !== null && row.horse !== undefined) {
seedMeta.horse = row.horse;
}
if (row.weapon !== null && row.weapon !== undefined) {
seedMeta.weapon = row.weapon;
}
if (row.book !== null && row.book !== undefined) {
seedMeta.book = row.book;
}
if (row.item !== null && row.item !== undefined) {
seedMeta.item = row.item;
}
if (row.text !== null) {
seedMeta.text = row.text;
}
@@ -310,6 +325,11 @@ const buildGeneralSeeds = (
affinity: row.affinity,
personality: row.personality,
special: row.special,
specialWar: row.specialWar ?? null,
horse: row.horse ?? null,
weapon: row.weapon ?? null,
book: row.book ?? null,
item: row.item ?? null,
picture: row.picture,
npcType,
text: row.text,
@@ -326,6 +346,15 @@ const buildGeneralSeeds = (
addTriggerMeta(generalMeta, 'personality', row.personality ?? undefined);
addTriggerMeta(generalMeta, 'special', row.special ?? undefined);
addTriggerMeta(generalMeta, 'picture', row.picture ?? undefined);
addTriggerMeta(
generalMeta,
'specialWar',
row.specialWar ?? undefined
);
addTriggerMeta(generalMeta, 'horse', row.horse ?? undefined);
addTriggerMeta(generalMeta, 'weapon', row.weapon ?? undefined);
addTriggerMeta(generalMeta, 'book', row.book ?? undefined);
addTriggerMeta(generalMeta, 'item', row.item ?? undefined);
addTriggerMeta(generalMeta, 'birthYear', birthYear);
addTriggerMeta(generalMeta, 'deathYear', deathYear);
addTriggerMeta(generalMeta, 'text', row.text ?? undefined);
@@ -340,6 +369,17 @@ const buildGeneralSeeds = (
experience: 0,
dedication: 0,
officerLevel,
role: {
personality: row.personality,
specialDomestic: row.special,
specialWar: row.specialWar ?? null,
items: {
horse: row.horse ?? null,
weapon: row.weapon ?? null,
book: row.book ?? null,
item: row.item ?? null,
},
},
injury: 0,
gold: defaultGold,
rice: defaultRice,
+5
View File
@@ -116,6 +116,11 @@ export interface GeneralSeed {
affinity: number | null;
personality: string | null;
special: string | null;
specialWar: string | null;
horse: string | null;
weapon: string | null;
book: string | null;
item: string | null;
picture: number | string | null;
npcType: number;
text: string | null;