summaryrefslogtreecommitdiff
path: root/src/LivingVillage.Desktop/WorldBootstrap.fs
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-28 22:38:52 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-28 22:38:52 +0800
commitaa3baa953ea5c4f99f5f23cb3eef9400338b61ec (patch)
tree641759916bcf736ea91af48f798a0f7a3a406c99 /src/LivingVillage.Desktop/WorldBootstrap.fs
parent3aa7221453afec24757b0c7e4d352f69af8b395b (diff)
downloadliving-village-aa3baa953ea5c4f99f5f23cb3eef9400338b61ec.tar.gz
p51: 职业系统实现首切片——开局钱/体力/背包侧车 + 当日任务/跨日刷新 + StartNewGameWith 读回(design §2.4-1)
Diffstat (limited to 'src/LivingVillage.Desktop/WorldBootstrap.fs')
-rw-r--r--src/LivingVillage.Desktop/WorldBootstrap.fs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/LivingVillage.Desktop/WorldBootstrap.fs b/src/LivingVillage.Desktop/WorldBootstrap.fs
index bf0ef65..7be24a7 100644
--- a/src/LivingVillage.Desktop/WorldBootstrap.fs
+++ b/src/LivingVillage.Desktop/WorldBootstrap.fs
@@ -35,6 +35,15 @@ module WorldBootstrap =
nowTick
state.Today }
+ /// 开局身份年鉴(design §3):带职业建世界后写入一条 `StoryAnnal`「以…为生」,
+ /// 形成个人传记线。Game 与测试共用同一口径。
+ let appendIdentityAnnal (state: Occupation.State) (world: World) : World =
+ Sim.appendAnnal
+ { Tick = world.Tick
+ Kind = Sim.StoryAnnal
+ Summary = Occupation.Story.identitySummaryOf state.Profile.Kind }
+ world
+
/// 以显式站位建世界:avatarTile 为玩家出生瓦片,npcTiles 为 NPC 出生瓦片序列。
/// 64x48 旧档与世界走 `avatarSpawnPosition` + `npcSpawnTiles` 的等价调用,字节口径不变。
let initialWorldWithPlacement