Extend the existing takeovers (regime-change) mechanic to a general government-type / ideology change: a nation's form of government (democracy, monarchy, republic, dictatorship, etc.) can change — via a revolution, a coup, or a takeover — with gameplay effects on relations and stability.
TurnResult.takeovers (already shipped) is extended to carry a newGovernment?: string; or a new TurnResult.government: { change: { target: string /* nationRef */; to: string }[] } field is added.
A government change can shift the nation's stability and its relations (e.g. a democracy→dictatorship shift may sour relations with democratic allies).
Builds on: takeovers (v0.32.0), relations, named leaders.
Acceptance
e2e safety (critical): stub returns any new field empty, deterministic; additive; must not break the UK-in-wwii-1939 e2e (empty frontier, military 80→85, 7-item legend).
Unit tests in server/engine.test.ts (government change, relation/stability effects).
Version bump at PR time.
## What
Extend the existing `takeovers` (regime-change) mechanic to a general **government-type / ideology change**: a nation's form of government (democracy, monarchy, republic, dictatorship, etc.) can change — via a revolution, a coup, or a takeover — with gameplay effects on relations and stability.
## Mechanism
- `Nation` gains `government: string` (and/or `ideology: string`).
- `TurnResult.takeovers` (already shipped) is extended to carry a `newGovernment?: string`; or a new `TurnResult.government: { change: { target: string /* nationRef */; to: string }[] }` field is added.
- A government change can shift the nation's `stability` and its relations (e.g. a democracy→dictatorship shift may sour relations with democratic allies).
- Builds on: takeovers (v0.32.0), relations, named leaders.
## Acceptance
- **e2e safety (critical):** stub returns any new field empty, deterministic; additive; must **not** break the UK-in-`wwii-1939` e2e (empty frontier, military 80→85, 7-item legend).
- Unit tests in `server/engine.test.ts` (government change, relation/stability effects).
- 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
Extend the existing
takeovers(regime-change) mechanic to a general government-type / ideology change: a nation's form of government (democracy, monarchy, republic, dictatorship, etc.) can change — via a revolution, a coup, or a takeover — with gameplay effects on relations and stability.Mechanism
Nationgainsgovernment: string(and/orideology: string).TurnResult.takeovers(already shipped) is extended to carry anewGovernment?: string; or a newTurnResult.government: { change: { target: string /* nationRef */; to: string }[] }field is added.stabilityand its relations (e.g. a democracy→dictatorship shift may sour relations with democratic allies).Acceptance
wwii-1939e2e (empty frontier, military 80→85, 7-item legend).server/engine.test.ts(government change, relation/stability effects).