36 lines
1.3 KiB
JavaScript
36 lines
1.3 KiB
JavaScript
// Forms of government a civilisation may adopt. Each grants a flat modifier to
|
|
// the stats it favours.
|
|
|
|
import { EFFECT_GDP, EFFECT_BUDGET_INCOME, EFFECT_RESEARCH, EFFECT_CULTURE, effect } from "./effects.js";
|
|
|
|
export const GOVERNMENTS = [
|
|
{
|
|
id: "republic",
|
|
name: "Republic",
|
|
description: "Rule by elected representatives. A balanced government that spreads its support across the economy, the treasury and the sciences.",
|
|
baseCost: 0,
|
|
costGdpFraction: 0.02,
|
|
effects: [effect(EFFECT_GDP, 0.05, 1.0), effect(EFFECT_BUDGET_INCOME, 0.1, 1.0), effect(EFFECT_RESEARCH, 1.0, 1.0)],
|
|
},
|
|
{
|
|
id: "monarchy",
|
|
name: "Monarchy",
|
|
description: "Rule by a hereditary sovereign. The crown favours commerce and tradition, lifting the economy and the nation's cultural output.",
|
|
baseCost: 0,
|
|
costGdpFraction: 0.03,
|
|
effects: [effect(EFFECT_GDP, 0.1, 1.0), effect(EFFECT_CULTURE, 1.0, 1.0)],
|
|
},
|
|
{
|
|
id: "technocracy",
|
|
name: "Technocracy",
|
|
description: "Rule by technical experts. A single-minded drive for progress pours resources into research while economic growth takes second place.",
|
|
baseCost: 0,
|
|
costGdpFraction: 0.04,
|
|
effects: [effect(EFFECT_RESEARCH, 3.0, 1.0), effect(EFFECT_GDP, 0.03, 1.0)],
|
|
},
|
|
];
|
|
|
|
export function governmentById(id) {
|
|
return GOVERNMENTS.find((g) => g.id === id) || null;
|
|
}
|