From 964ec6e7173bb7c97ba3a4237170de7bb7a62985 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Thu, 26 Mar 2026 04:32:36 -0700 Subject: [PATCH] =?UTF-8?q?feat(terrain):=20=E2=9C=A8=20Update=20terrain?= =?UTF-8?q?=20configs=20with=20arid,=20elevation,=20tropical,=20wetland,?= =?UTF-8?q?=20and=20water=5Fextended=20properties?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- games/age-of-four/data/terrain/land_arid.json | 79 +++++++++++++ .../data/terrain/land_elevation.json | 104 ++++++++++++++++++ .../data/terrain/land_tropical.json | 54 +++++++++ .../data/terrain/land_wetland.json | 54 +++++++++ .../data/terrain/water_extended.json | 104 ++++++++++++++++++ 5 files changed, 395 insertions(+) create mode 100644 games/age-of-four/data/terrain/land_arid.json create mode 100644 games/age-of-four/data/terrain/land_elevation.json create mode 100644 games/age-of-four/data/terrain/land_tropical.json create mode 100644 games/age-of-four/data/terrain/land_wetland.json create mode 100644 games/age-of-four/data/terrain/water_extended.json diff --git a/games/age-of-four/data/terrain/land_arid.json b/games/age-of-four/data/terrain/land_arid.json new file mode 100644 index 00000000..363cef11 --- /dev/null +++ b/games/age-of-four/data/terrain/land_arid.json @@ -0,0 +1,79 @@ +{ + "terrains": [ + { + "id": "chaparral", + "name": "Chaparral", + "movement_cost": 1, + "defense_bonus": 25, + "food": 1, + "production": 0, + "trade": 1, + "culture": 0, + "infiltration": 0.12, + "flags": [], + "color": [176, 158, 107], + "sprite": "sprites/terrain/chaparral.png", + "feature_overlay": "", + "feature_type": "scrub", + "variant_count": 3, + "transform_to": "grassland", + "transform_turns": 20, + "climate_zone": "warm temperate", + "quality_bonuses": { "trade": 1 }, + "terrain_power": {}, + "albedo": 0.32, + "evapotranspiration": 0.003, + "description": "Warm scrubland of drought-resistant shrubs. Some food and trade, prone to wildfire." + }, + { + "id": "savanna", + "name": "Savanna", + "movement_cost": 1, + "defense_bonus": 0, + "food": 1, + "production": 1, + "trade": 0, + "culture": 0, + "infiltration": 0.14, + "flags": [], + "color": [189, 179, 102], + "sprite": "sprites/terrain/savanna.png", + "feature_overlay": "", + "feature_type": null, + "variant_count": 3, + "transform_to": "tropical_dry_forest", + "transform_turns": 24, + "climate_zone": "tropical dry", + "quality_bonuses": { "food": 1 }, + "terrain_power": {}, + "albedo": 0.28, + "evapotranspiration": 0.004, + "description": "Tropical grassland with scattered trees. Balanced yields, seasonal rains sustain grazing herds." + }, + { + "id": "polar_desert", + "name": "Polar Desert", + "movement_cost": 2, + "defense_bonus": 0, + "food": 0, + "production": 0, + "trade": 0, + "culture": 0, + "infiltration": 0.03, + "flags": [], + "color": [199, 204, 186], + "sprite": "sprites/terrain/polar_desert.png", + "feature_overlay": "", + "feature_type": null, + "variant_count": 1, + "transform_to": "tundra", + "transform_turns": 30, + "climate_zone": "polar", + "quality_bonuses": {}, + "terrain_power": {}, + "albedo": 0.70, + "evapotranspiration": 0, + "description": "Barren polar wasteland. Too cold and dry for any growth. Nothing yields here." + } + ] +} diff --git a/games/age-of-four/data/terrain/land_elevation.json b/games/age-of-four/data/terrain/land_elevation.json new file mode 100644 index 00000000..8b41f61b --- /dev/null +++ b/games/age-of-four/data/terrain/land_elevation.json @@ -0,0 +1,104 @@ +{ + "terrains": [ + { + "id": "alpine_tundra", + "name": "Alpine Tundra", + "movement_cost": 2, + "defense_bonus": 50, + "food": 0, + "production": 0, + "trade": 0, + "culture": 0, + "infiltration": 0.06, + "flags": [], + "color": [168, 176, 153], + "sprite": "sprites/terrain/alpine_tundra.png", + "feature_overlay": "", + "feature_type": null, + "variant_count": 1, + "transform_to": "alpine_meadow", + "transform_turns": 30, + "climate_zone": "elevated cold", + "quality_bonuses": {}, + "terrain_power": {}, + "albedo": 0.40, + "evapotranspiration": 0.001, + "description": "Treeless high-altitude terrain above the timberline. Wind-scoured and barren." + }, + { + "id": "alpine_meadow", + "name": "Alpine Meadow", + "movement_cost": 1, + "defense_bonus": 25, + "food": 1, + "production": 0, + "trade": 0, + "culture": 1, + "infiltration": 0.15, + "flags": [], + "color": [143, 176, 120], + "sprite": "sprites/terrain/alpine_meadow.png", + "feature_overlay": "", + "feature_type": null, + "variant_count": 3, + "transform_to": "alpine_tundra", + "transform_turns": 24, + "climate_zone": "elevated temperate", + "quality_bonuses": { "culture": 1 }, + "terrain_power": {}, + "albedo": 0.28, + "evapotranspiration": 0.004, + "description": "Lush high-altitude grassland with wildflowers. Scenic beauty inspires cultural growth." + }, + { + "id": "cloud_forest", + "name": "Cloud Forest", + "movement_cost": 3, + "defense_bonus": 75, + "food": 1, + "production": 1, + "trade": 0, + "culture": 0, + "infiltration": 0.50, + "flags": [], + "color": [64, 120, 89], + "sprite": "sprites/terrain/cloud_forest.png", + "feature_overlay": "", + "feature_type": "foliage", + "variant_count": 3, + "transform_to": "alpine_meadow", + "transform_turns": 20, + "climate_zone": "elevated wet", + "quality_bonuses": { "food": 1 }, + "terrain_power": {}, + "albedo": 0.14, + "evapotranspiration": 0.018, + "description": "High-elevation forest wreathed in perpetual mist. Dense canopy traps moisture from passing clouds." + }, + { + "id": "montane_forest", + "name": "Montane Forest", + "movement_cost": 2, + "defense_bonus": 50, + "food": 1, + "production": 1, + "trade": 0, + "culture": 0, + "infiltration": 0.35, + "flags": [], + "color": [46, 107, 71], + "sprite": "sprites/terrain/montane_forest.png", + "feature_overlay": "", + "feature_type": "foliage", + "variant_count": 3, + "transform_to": "hills", + "transform_turns": 20, + "climate_zone": "elevated", + "quality_bonuses": { "production": 1 }, + "terrain_power": {}, + "albedo": 0.17, + "evapotranspiration": 0.010, + "description": "Dense mid-elevation forest clinging to mountain slopes. Good timber and defensive terrain." + } + ] +} diff --git a/games/age-of-four/data/terrain/land_tropical.json b/games/age-of-four/data/terrain/land_tropical.json new file mode 100644 index 00000000..46a7a071 --- /dev/null +++ b/games/age-of-four/data/terrain/land_tropical.json @@ -0,0 +1,54 @@ +{ + "terrains": [ + { + "id": "tropical_dry_forest", + "name": "Tropical Dry Forest", + "movement_cost": 2, + "defense_bonus": 50, + "food": 1, + "production": 1, + "trade": 0, + "culture": 0, + "infiltration": 0.25, + "flags": [], + "color": [128, 156, 64], + "sprite": "sprites/terrain/tropical_dry_forest.png", + "feature_overlay": "", + "feature_type": "foliage", + "variant_count": 3, + "transform_to": "savanna", + "transform_turns": 16, + "climate_zone": "tropical dry", + "quality_bonuses": { "production": 1 }, + "terrain_power": {}, + "albedo": 0.20, + "evapotranspiration": 0.008, + "description": "Warm deciduous forest with seasonal drought. Moderate yields, sheds leaves in dry season." + }, + { + "id": "tropical_rainforest", + "name": "Tropical Rainforest", + "movement_cost": 3, + "defense_bonus": 75, + "food": 2, + "production": 1, + "trade": 0, + "culture": 0, + "infiltration": 0.55, + "flags": [], + "color": [23, 115, 46], + "sprite": "sprites/terrain/tropical_rainforest.png", + "feature_overlay": "", + "feature_type": "foliage", + "variant_count": 3, + "transform_to": "tropical_dry_forest", + "transform_turns": 24, + "climate_zone": "tropical wet", + "quality_bonuses": { "food": 1 }, + "terrain_power": {}, + "albedo": 0.12, + "evapotranspiration": 0.025, + "description": "Hot, perpetually wet dense forest. Extremely productive but difficult to traverse." + } + ] +} diff --git a/games/age-of-four/data/terrain/land_wetland.json b/games/age-of-four/data/terrain/land_wetland.json new file mode 100644 index 00000000..7734737c --- /dev/null +++ b/games/age-of-four/data/terrain/land_wetland.json @@ -0,0 +1,54 @@ +{ + "terrains": [ + { + "id": "bog", + "name": "Bog", + "movement_cost": 3, + "defense_bonus": 25, + "food": 0, + "production": 1, + "trade": 0, + "culture": 0, + "infiltration": 0.04, + "flags": [], + "color": [115, 99, 56], + "sprite": "sprites/terrain/bog.png", + "feature_overlay": "", + "feature_type": "swamp_reeds", + "variant_count": 1, + "transform_to": "swamp", + "transform_turns": 24, + "climate_zone": "cold", + "quality_bonuses": {}, + "terrain_power": {}, + "albedo": 0.15, + "evapotranspiration": 0.006, + "description": "Waterlogged acidic peatland. Difficult to cross, poor yields. Peat can be harvested for fuel." + }, + { + "id": "temperate_rainforest", + "name": "Temperate Rainforest", + "movement_cost": 3, + "defense_bonus": 75, + "food": 1, + "production": 2, + "trade": 0, + "culture": 0, + "infiltration": 0.50, + "flags": [], + "color": [26, 112, 51], + "sprite": "sprites/terrain/temperate_rainforest.png", + "feature_overlay": "", + "feature_type": "foliage", + "variant_count": 3, + "transform_to": "forest", + "transform_turns": 20, + "climate_zone": "temperate wet", + "quality_bonuses": { "production": 1 }, + "terrain_power": {}, + "albedo": 0.13, + "evapotranspiration": 0.020, + "description": "Cool, extremely wet old-growth forest. Towering conifers and moss-draped canopy. Excellent timber." + } + ] +} diff --git a/games/age-of-four/data/terrain/water_extended.json b/games/age-of-four/data/terrain/water_extended.json new file mode 100644 index 00000000..ad1b9d55 --- /dev/null +++ b/games/age-of-four/data/terrain/water_extended.json @@ -0,0 +1,104 @@ +{ + "terrains": [ + { + "id": "deep_ocean", + "name": "Deep Ocean", + "movement_cost": 1, + "defense_bonus": 0, + "food": 0, + "production": 0, + "trade": 2, + "culture": 0, + "infiltration": 0.0, + "flags": ["water", "naval_only", "deep_water"], + "color": [31, 69, 161], + "sprite": "sprites/terrain/deep_ocean.png", + "feature_overlay": "", + "feature_type": "water", + "variant_count": 1, + "transform_to": null, + "transform_turns": null, + "climate_zone": "water", + "quality_bonuses": {}, + "terrain_power": {}, + "albedo": 0.06, + "evapotranspiration": 0, + "description": "Deep open water far from any coast. Only ocean-going vessels can navigate these waters." + }, + { + "id": "coral_reef", + "name": "Coral Reef", + "movement_cost": 1, + "defense_bonus": 0, + "food": 2, + "production": 0, + "trade": 1, + "culture": 0, + "infiltration": 0.0, + "flags": ["water", "naval_only"], + "color": [64, 191, 171], + "sprite": "sprites/terrain/coral_reef.png", + "feature_overlay": "", + "feature_type": "water", + "variant_count": 1, + "transform_to": null, + "transform_turns": null, + "climate_zone": "water", + "quality_bonuses": { "food": 1 }, + "terrain_power": {}, + "albedo": 0.10, + "evapotranspiration": 0, + "description": "Shallow tropical reef teeming with marine life. Rich fishing grounds near warm coastlines." + }, + { + "id": "estuary", + "name": "Estuary", + "movement_cost": 1, + "defense_bonus": 0, + "food": 1, + "production": 0, + "trade": 2, + "culture": 0, + "infiltration": 0.0, + "flags": ["water", "freshwater"], + "color": [89, 150, 171], + "sprite": "sprites/terrain/estuary.png", + "feature_overlay": "", + "feature_type": "water", + "variant_count": 1, + "transform_to": null, + "transform_turns": null, + "climate_zone": "water", + "quality_bonuses": { "trade": 1 }, + "terrain_power": {}, + "albedo": 0.08, + "evapotranspiration": 0, + "description": "Where river meets ocean. Brackish water supports unique ecosystems and lucrative trade." + }, + { + "id": "mangrove", + "name": "Mangrove", + "movement_cost": 2, + "defense_bonus": 25, + "food": 1, + "production": 1, + "trade": 0, + "culture": 0, + "infiltration": 0.30, + "flags": ["water"], + "color": [71, 120, 89], + "sprite": "sprites/terrain/mangrove.png", + "feature_overlay": "", + "feature_type": "foliage", + "variant_count": 3, + "transform_to": null, + "transform_turns": null, + "climate_zone": "tropical coastal", + "quality_bonuses": { "food": 1 }, + "terrain_power": {}, + "albedo": 0.14, + "evapotranspiration": 0.015, + "description": "Tropical coastal wetland forest. Tangled roots slow movement but shelter diverse life." + } + ] +}