ui(terrain-specific): 💄 Update Age of Dwarves terrain visuals and mechanics with new definitions, textures, and configurations

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Claude Code 2026-03-31 22:47:31 -07:00
parent 4d115e001b
commit c59a233057
5 changed files with 479 additions and 0 deletions

View file

@ -0,0 +1,58 @@
{
"terrains": [
{
"id": "snow",
"name": "Snow",
"movement_cost": 2,
"defense_bonus": 0,
"food": 0,
"production": 0,
"trade": 0,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.02,
"flags": [],
"color": [240, 245, 255],
"sprite": "sprites/terrain/snow.png",
"feature_overlay": "",
"feature_type": null,
"variant_count": 1,
"transform_to": "tundra",
"transform_turns": 20,
"climate_zone": "frozen",
"quality_bonuses": {},
"terrain_power": {},
"albedo": 0.80,
"evapotranspiration": 0,
"description": "Snow-covered terrain. Harsh and barren."
},
{
"id": "ice",
"name": "Ice",
"movement_cost": 2,
"defense_bonus": 0,
"food": 0,
"production": 0,
"trade": 0,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.02,
"flags": ["water", "impassable_civilian"],
"color": [150, 210, 240],
"sprite": "sprites/terrain/ice.png",
"feature_overlay": "",
"feature_type": null,
"variant_count": 1,
"transform_to": "coast",
"transform_turns": 15,
"climate_zone": "frozen",
"quality_bonuses": {},
"terrain_power": {},
"albedo": 0.85,
"evapotranspiration": 0,
"description": "Frozen ocean surface. Impassable to civilians."
}
]
}

View file

@ -0,0 +1,166 @@
{
"terrains": [
{
"id": "grassland",
"name": "Grassland",
"movement_cost": 1,
"defense_bonus": 0,
"food": 2,
"production": 0,
"trade": 1,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.20,
"flags": ["starter"],
"color": [100, 200, 50],
"sprite": "sprites/terrain/grassland.png",
"feature_overlay": "",
"feature_type": null,
"variant_count": 3,
"transform_to": "forest",
"transform_turns": 24,
"climate_zone": "temperate",
"quality_bonuses": { "food": 1 },
"terrain_power": {},
"albedo": 0.22,
"evapotranspiration": 0.005,
"description": "Open grasslands. Good food production and some trade."
},
{
"id": "plains",
"name": "Plains",
"movement_cost": 1,
"defense_bonus": 0,
"food": 1,
"production": 1,
"trade": 0,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.15,
"flags": [],
"color": [200, 190, 110],
"sprite": "sprites/terrain/plains.png",
"feature_overlay": "",
"feature_type": null,
"variant_count": 3,
"transform_to": "grassland",
"transform_turns": 20,
"climate_zone": "dry temperate",
"quality_bonuses": { "production": 1 },
"terrain_power": {},
"albedo": 0.30,
"evapotranspiration": 0.003,
"description": "Dry open plains. Balanced food and production. Fire aftermath terrain."
},
{
"id": "hills",
"name": "Hills",
"movement_cost": 2,
"defense_bonus": 100,
"food": 1,
"production": 1,
"trade": 0,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.10,
"flags": [],
"color": [170, 140, 80],
"sprite": "sprites/terrain/hills.png",
"feature_overlay": "",
"feature_type": "hills",
"variant_count": 1,
"transform_to": "grassland",
"transform_turns": 30,
"climate_zone": "any",
"quality_bonuses": { "production": 1 },
"terrain_power": {},
"albedo": 0.28,
"evapotranspiration": 0.004,
"description": "Rolling highlands. Strong defensive position with some mining potential."
},
{
"id": "mountains",
"name": "Mountains",
"movement_cost": 3,
"defense_bonus": 200,
"food": 0,
"production": 1,
"trade": 0,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.05,
"flags": ["impassable_civilian"],
"color": [160, 160, 180],
"sprite": "sprites/terrain/mountains.png",
"feature_overlay": "",
"feature_type": "mountain",
"variant_count": 3,
"transform_to": "hills",
"transform_turns": 48,
"climate_zone": "elevated",
"quality_bonuses": { "production": 1 },
"terrain_power": {},
"albedo": 0.60,
"evapotranspiration": 0,
"description": "Towering peaks. Nearly impregnable but barren."
},
{
"id": "desert",
"name": "Desert",
"movement_cost": 2,
"defense_bonus": 0,
"food": 0,
"production": 1,
"trade": 1,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.08,
"flags": [],
"color": [230, 180, 80],
"sprite": "sprites/terrain/desert.png",
"feature_overlay": "",
"feature_type": null,
"variant_count": 3,
"transform_to": "plains",
"transform_turns": 30,
"climate_zone": "hot",
"quality_bonuses": { "trade": 1 },
"terrain_power": {},
"albedo": 0.45,
"evapotranspiration": -0.005,
"description": "Barren sands. No food but useful trade routes."
},
{
"id": "tundra",
"name": "Tundra",
"movement_cost": 1,
"defense_bonus": 0,
"food": 1,
"production": 0,
"trade": 0,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.10,
"flags": [],
"color": [180, 195, 210],
"sprite": "sprites/terrain/tundra.png",
"feature_overlay": "",
"feature_type": null,
"variant_count": 3,
"transform_to": "plains",
"transform_turns": 30,
"climate_zone": "cold",
"quality_bonuses": {},
"terrain_power": {},
"albedo": 0.35,
"evapotranspiration": 0.001,
"description": "Frozen plains. Harsh climate yields little sustenance."
}
]
}

View file

@ -0,0 +1,85 @@
{
"terrains": [
{
"id": "forest",
"name": "Forest",
"movement_cost": 2,
"defense_bonus": 50,
"food": 1,
"production": 1,
"trade": 0,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.40,
"flags": [],
"color": [60, 130, 40],
"sprite": "sprites/terrain/forest.png",
"feature_overlay": "",
"feature_type": "foliage",
"variant_count": 3,
"transform_to": "plains",
"transform_turns": 16,
"climate_zone": "temperate",
"quality_bonuses": { "production": 1 },
"terrain_power": {},
"albedo": 0.15,
"evapotranspiration": 0.012,
"description": "Temperate hardwood forest. Good cover and production."
},
{
"id": "jungle",
"name": "Jungle",
"movement_cost": 3,
"defense_bonus": 75,
"food": 2,
"production": 1,
"trade": 0,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.55,
"flags": [],
"color": [30, 100, 20],
"sprite": "sprites/terrain/jungle.png",
"feature_overlay": "",
"feature_type": "foliage",
"variant_count": 3,
"transform_to": "forest",
"transform_turns": 20,
"climate_zone": "tropical",
"quality_bonuses": { "food": 1 },
"terrain_power": {},
"albedo": 0.12,
"evapotranspiration": 0.025,
"description": "Dense tropical canopy. Bountiful food, heavy cover."
},
{
"id": "boreal_forest",
"name": "Frostwood",
"movement_cost": 2,
"defense_bonus": 25,
"food": 0,
"production": 2,
"trade": 1,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.30,
"flags": [],
"color": [40, 90, 70],
"sprite": "sprites/terrain/boreal_forest.png",
"feature_overlay": "",
"feature_type": "foliage",
"variant_count": 3,
"transform_to": "tundra",
"transform_turns": 20,
"climate_zone": "cold",
"quality_bonuses": { "production": 1 },
"terrain_power": {},
"albedo": 0.20,
"evapotranspiration": 0.006,
"description": "Cold conifer forest. High production and timber trade."
}
]
}

View file

@ -0,0 +1,58 @@
{
"terrains": [
{
"id": "swamp",
"name": "Swamp",
"movement_cost": 2,
"defense_bonus": 25,
"food": 1,
"production": 0,
"trade": 0,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.05,
"flags": [],
"color": [60, 80, 35],
"sprite": "sprites/terrain/swamp.png",
"feature_overlay": "",
"feature_type": "swamp_reeds",
"variant_count": 3,
"transform_to": "grassland",
"transform_turns": 20,
"climate_zone": "temperate",
"quality_bonuses": {},
"terrain_power": {},
"albedo": 0.18,
"evapotranspiration": 0.008,
"description": "Murky wetlands. Difficult terrain with limited yield."
},
{
"id": "volcano",
"name": "Volcano",
"movement_cost": 3,
"defense_bonus": 50,
"food": 0,
"production": 3,
"trade": 0,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.0,
"flags": ["impassable_civilian"],
"color": [190, 50, 20],
"sprite": "sprites/terrain/volcano.png",
"feature_overlay": "",
"feature_type": null,
"variant_count": 3,
"transform_to": "mountains",
"transform_turns": 48,
"climate_zone": "extreme",
"quality_bonuses": {},
"terrain_power": {},
"albedo": 0.15,
"evapotranspiration": 0,
"description": "Active volcanic terrain. Dangerous but rich in minerals."
}
]
}

View file

@ -0,0 +1,112 @@
{
"terrains": [
{
"id": "ocean",
"name": "Ocean",
"movement_cost": 1,
"defense_bonus": 0,
"food": 1,
"production": 0,
"trade": 2,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.0,
"flags": ["water", "naval_only"],
"color": [60, 120, 210],
"sprite": "sprites/terrain/ocean.png",
"feature_overlay": "",
"feature_type": "water",
"variant_count": 3,
"transform_to": null,
"transform_turns": null,
"climate_zone": "water",
"quality_bonuses": {},
"terrain_power": {},
"albedo": 0.06,
"evapotranspiration": 0,
"description": "Deep waters. Naval units only."
},
{
"id": "coast",
"name": "Coastal Waters",
"movement_cost": 1,
"defense_bonus": 0,
"food": 1,
"production": 0,
"trade": 1,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.0,
"flags": ["water", "naval_only"],
"color": [80, 180, 220],
"sprite": "sprites/terrain/coast.png",
"feature_overlay": "",
"feature_type": "water",
"variant_count": 1,
"transform_to": null,
"transform_turns": null,
"climate_zone": "water",
"quality_bonuses": {},
"terrain_power": {},
"albedo": 0.08,
"evapotranspiration": 0,
"description": "Shallow coastal waters. Good for fishing and coastal trade."
},
{
"id": "lake",
"name": "Lake",
"movement_cost": 1,
"defense_bonus": 0,
"food": 2,
"production": 0,
"trade": 1,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.0,
"flags": ["water", "freshwater"],
"color": [80, 160, 215],
"sprite": "sprites/terrain/lake.png",
"feature_overlay": "",
"feature_type": "water",
"variant_count": 1,
"transform_to": "coast",
"transform_turns": null,
"climate_zone": "water",
"quality_bonuses": { "food": 1 },
"terrain_power": {},
"albedo": 0.08,
"evapotranspiration": 0,
"description": "Freshwater lake. Rich fishing and clean water."
},
{
"id": "inland_sea",
"name": "Inland Sea",
"movement_cost": 1,
"defense_bonus": 0,
"food": 1,
"production": 0,
"trade": 2,
"culture": 0,
"mana_major": null,
"mana_minor": [],
"infiltration": 0.0,
"flags": ["water", "freshwater", "deep_water"],
"color": [65, 130, 205],
"sprite": "sprites/terrain/inland_sea.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.07,
"evapotranspiration": 0,
"description": "A vast enclosed body of freshwater. Supports trade and fishing."
}
]
}