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.
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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
Nationgainsleader: { name: string; id?: string; ideology?: string }.TurnResultgainsleaders: { assassinate: { target: string /* nationRef */ }[]; death: { target: string; successor: string }[]; new: { nationRef: string; name: string }[] }— required, default[]s.stability/relations (an assassination may radicalize or destabilize).Acceptance
leaders: { assassinate: [], death: [], new: [] }, deterministic; additive (legacy games load with a default/generated leader or none); must not break the UK-in-wwii-1939e2e (empty frontier, military 80→85, 7-item legend).server/engine.test.ts(assassination, succession, stance shift).