summaryrefslogtreecommitdiff
path: root/src/LivingVillage.Desktop
diff options
context:
space:
mode:
Diffstat (limited to 'src/LivingVillage.Desktop')
-rw-r--r--src/LivingVillage.Desktop/Game.fs7
-rw-r--r--src/LivingVillage.Desktop/WorldBootstrap.fs9
2 files changed, 10 insertions, 6 deletions
diff --git a/src/LivingVillage.Desktop/Game.fs b/src/LivingVillage.Desktop/Game.fs
index 05afdc2..db39566 100644
--- a/src/LivingVillage.Desktop/Game.fs
+++ b/src/LivingVillage.Desktop/Game.fs
@@ -483,12 +483,7 @@ type LivingVillageGame() as this =
// §3 身份条目:带职业开局即写入年鉴,形成个人传记线
match state with
| Some occupationState ->
- world <-
- Sim.appendAnnal
- { Tick = world.Tick
- Kind = StoryAnnal
- Summary = Occupation.Story.identitySummaryOf occupationState.Profile.Kind }
- world
+ world <- WorldBootstrap.appendIdentityAnnal occupationState world
| None -> ()
this.ResetWorldView()
m5View <- { m5View with Task = state }
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