Named leaders: each nation has a named leader who can be assassinated, can die (succession), and whose stance shifts the world #61

Closed
opened 2026-10-15 17:05:42 +02:00 by kamilkrzywda · 0 comments
Owner

What

Give each nation a named leader (a historical or generated figure). The LLM can assassinate a leader (ties into hybrid war), a leader can die (natural) triggering succession to a new leader, and a leader's stance can shift a nation's relations/policy.

Mechanism

  • Nation gains leader: { name: string; id?: string; ideology?: string }.
  • TurnResult gains leaders: { assassinate: { target: string /* nationRef */ }[]; death: { target: string; successor: string }[]; new: { nationRef: string; name: string }[] } — required, default []s.
  • On success: the leader is replaced (succession picks the successor name; a fresh leader can be named). A leader's death/assassination can shift the nation's stability/relations (an assassination may radicalize or destabilize).
  • Builds on: takeover (regime change), hybrid war (assassinate op), relations.

Acceptance

  • e2e safety (critical): stub returns leaders: { assassinate: [], death: [], new: [] }, deterministic; additive (legacy games load with a default/generated leader or none); must not break the UK-in-wwii-1939 e2e (empty frontier, military 80→85, 7-item legend).
  • Unit tests in server/engine.test.ts (assassination, succession, stance shift).
  • Version bump at PR time.
## What Give each nation a **named leader** (a historical or generated figure). The LLM can **assassinate** a leader (ties into hybrid war), a leader can **die** (natural) triggering **succession** to a new leader, and a leader's **stance** can shift a nation's relations/policy. ## Mechanism - `Nation` gains `leader: { name: string; id?: string; ideology?: string }`. - `TurnResult` gains `leaders: { assassinate: { target: string /* nationRef */ }[]; death: { target: string; successor: string }[]; new: { nationRef: string; name: string }[] }` — required, default `[]`s. - On success: the leader is replaced (succession picks the successor name; a fresh leader can be named). A leader's death/assassination can shift the nation's `stability`/relations (an assassination may radicalize or destabilize). - Builds on: takeover (regime change), hybrid war (assassinate op), relations. ## Acceptance - **e2e safety (critical):** stub returns `leaders: { assassinate: [], death: [], new: [] }`, deterministic; additive (legacy games load with a default/generated leader or none); must **not** break the UK-in-`wwii-1939` e2e (empty frontier, military 80→85, 7-item legend). - Unit tests in `server/engine.test.ts` (assassination, succession, stance shift). - Version bump at PR time.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OpenCode/History#61