Files
adrien ede258d39f Added warfare depth, focused research and a reworked HUD
- Tile improvements (fortifications, radar towers, coastal cannons), trenches,
  zone of control, support-unit capture and launch transports, with parabolic
  barrage arcs drawn between attacker and target.
- Focused research that pours points straight into the chosen technology, with
  per-technology progress kept when the focus changes, plus repeatable levels.
- Popularity reworked to integer points, war and pillage effects, minority
  policies and month-over-month arrows on the nation summary.
- City progress bars, square improvement buttons, a technology tab of wide
  short cards with progress bars, transport cargo readout and double-click to
  open a city panel.
2026-09-21 01:07:36 +02:00

35 lines
1.3 KiB
JavaScript

// Simulation constants and tuning knobs. Kept together so the rest of the
// model can import the ones it needs.
// The news feed keeps the most recent entries and drops the oldest ones, so a
// long-running game does not grow the snapshot without bound.
export const MAX_NEWS = 100;
export const UNIT_VISION = 2;
export const TERRITORY_VISION = 1;
// Hit points of the military tile improvements, so they can be worn down by
// ranged fire before being knocked out.
export const TILE_IMPROVEMENT_HP = {
fortifications: 2000,
radar_tower: 600,
coastal_cannon: 800,
};
// A coastal cannon's hourly volley against a hostile warship.
export const COASTAL_CANNON = { damage: 120 };
// How long infantry take to board a launch.
export const EMBARK_HOURS = 24;
// The calendar lives in one place: re-exported so model code can keep
// importing every simulation constant from this module.
export { HOURS_PER_DAY, DAYS_PER_YEAR, HOURS_PER_YEAR } from "../game_clock.js";
export const CONTROLLED_SPEED_MULTIPLIER = 1.5;
export const DEFAULT_UNIT_SPEED = 0.5;
export const MIN_STEP_COST = 0.0001;
// A city may hold at most this many ordered units and buildings in its shared
// production queue.
export const TRAINING_QUEUE_LIMIT = 100;
// A defending unit's defense is doubled: a 100% defensive bonus.
export const DEFENDER_DEFENSE_MULTIPLIER = 2.0;