diff --git a/public/games/age-of-dwarves/data/techs/advanced_ecology.json b/public/games/age-of-dwarves/data/techs/advanced_ecology.json new file mode 100644 index 00000000..6ec08234 --- /dev/null +++ b/public/games/age-of-dwarves/data/techs/advanced_ecology.json @@ -0,0 +1,67 @@ +[ + { + "id": "deep_ecology", + "name": "Deep Ecology", + "description": "The study of subterranean biomes — cave-root systems, bioluminescent fungi, underground rivers, and the creatures that inhabit them.", + "pillar": "ecology", + "era": 6, + "tier": 6, + "cost": 160, + "requires": ["ecology_study", "ancient_forestry"], + "unlocks": { "buildings": ["deep_garden"], "units": [], "improvements": ["mushroom_farm"], "other": [] }, + "flavor": "Above ground they call it wilderness. Below, it is cultivated silence.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["ecology", "era6"] } + }, + { + "id": "stone_lore", + "name": "Stone Lore", + "description": "Advanced geological and mineralogical knowledge — reading strata, predicting seams, and understanding how stone ages and shifts over centuries.", + "pillar": "ecology", + "era": 7, + "tier": 7, + "cost": 200, + "requires": ["deep_ecology", "runelore"], + "unlocks": { "buildings": [], "units": [], "improvements": ["deep_quarry"], "other": [] }, + "flavor": "Every crack in the ceiling tells a story. We learned to read them.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["ecology", "era7"] } + }, + { + "id": "world_roots", + "name": "World Roots", + "description": "The interconnected network of root systems, aquifers, and mineral veins that form the living skeleton of the mountain. The deepest Dwarven knowledge.", + "pillar": "ecology", + "era": 8, + "tier": 8, + "cost": 240, + "requires": ["stone_lore"], + "unlocks": { "buildings": ["root_sanctum"], "units": [], "improvements": [], "other": [] }, + "flavor": "The mountain breathes. We are simply learning its rhythm.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["ecology", "era8"] } + }, + { + "id": "deep_husbandry", + "name": "Deep Husbandry", + "description": "The domestication and breeding of creatures that thrive in subterranean conditions — cave bears, stone beetles, and other denizens of the deep as companions and war-beasts.", + "pillar": "ecology", + "era": 9, + "tier": 9, + "cost": 280, + "requires": ["world_roots", "tracking"], + "unlocks": { "buildings": [], "units": [], "improvements": [], "other": [] }, + "flavor": "They called us mad for breeding the cave bear. Then they saw it in battle.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["ecology", "era9"] } + }, + { + "id": "living_mountain", + "name": "Living Mountain", + "description": "A complete integration of Dwarf civilization with the mountain ecosystem — the holds and the stone become one organism, sustaining and protecting each other indefinitely.", + "pillar": "ecology", + "era": 10, + "tier": 10, + "cost": 320, + "requires": ["deep_husbandry", "world_roots"], + "unlocks": { "buildings": [], "units": [], "improvements": [], "other": ["eternal_hold"] }, + "flavor": "We did not conquer the mountain. We became part of it.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["ecology", "era10"] } + } +] diff --git a/public/games/age-of-dwarves/data/techs/advanced_metallurgy.json b/public/games/age-of-dwarves/data/techs/advanced_metallurgy.json new file mode 100644 index 00000000..02da5b1f --- /dev/null +++ b/public/games/age-of-dwarves/data/techs/advanced_metallurgy.json @@ -0,0 +1,67 @@ +[ + { + "id": "high_smithing", + "name": "High Smithing", + "description": "Master-level forging techniques that push metal to its limits — differential tempering, folded-plate armor, and precision-balanced weapons.", + "pillar": "metallurgy", + "era": 6, + "tier": 6, + "cost": 160, + "requires": ["mithril_smithing"], + "unlocks": { "buildings": ["grand_forge"], "units": [], "improvements": [], "other": [] }, + "flavor": "A journeyman makes tools. A master makes legends.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["metallurgy", "era6"] } + }, + { + "id": "steam_forging", + "name": "Steam Forging", + "description": "Steam pressure channeled through forge hammers and bellows, multiplying output a hundredfold. The industrial revolution of the deep holds.", + "pillar": "metallurgy", + "era": 7, + "tier": 7, + "cost": 200, + "requires": ["high_smithing"], + "unlocks": { "buildings": ["steam_foundry"], "units": [], "improvements": [], "other": [] }, + "flavor": "The mountain sweats iron now. We just collect it.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["metallurgy", "era7"] } + }, + { + "id": "mithril_working", + "name": "Mithril Working", + "description": "The art of shaping true mithril — not alloy, but the pure vein-metal found only in the deepest seams. Harder than steel, lighter than copper.", + "pillar": "metallurgy", + "era": 8, + "tier": 8, + "cost": 240, + "requires": ["steam_forging", "runelore"], + "unlocks": { "buildings": [], "units": [], "improvements": ["mithril_mine"], "other": [] }, + "flavor": "You don't shape mithril. You negotiate with it.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["metallurgy", "era8"] } + }, + { + "id": "deep_alloys", + "name": "Deep Alloys", + "description": "Exotic metal blends derived from minerals found only at extreme depth — materials with properties that defy conventional metallurgical theory.", + "pillar": "metallurgy", + "era": 9, + "tier": 9, + "cost": 280, + "requires": ["mithril_working", "ancient_forestry"], + "unlocks": { "buildings": [], "units": [], "improvements": [], "other": ["material:deep_alloy"] }, + "flavor": "The pressure of ages compressed something new. We merely learned to use it.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["metallurgy", "era9"] } + }, + { + "id": "adamantine_forging", + "name": "Adamantine Forging", + "description": "The pinnacle of Dwarf metalcraft — the shaping of adamantine, the legendary metal said to hold the weight of the world without bending.", + "pillar": "metallurgy", + "era": 10, + "tier": 10, + "cost": 320, + "requires": ["deep_alloys"], + "unlocks": { "buildings": ["adamantine_vault"], "units": [], "improvements": [], "other": [] }, + "flavor": "The mountain made it. We proved we deserved it.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["metallurgy", "era10"] } + } +] diff --git a/public/games/age-of-dwarves/data/techs/advanced_military.json b/public/games/age-of-dwarves/data/techs/advanced_military.json new file mode 100644 index 00000000..50938bad --- /dev/null +++ b/public/games/age-of-dwarves/data/techs/advanced_military.json @@ -0,0 +1,67 @@ +[ + { + "id": "combined_arms", + "name": "Combined Arms", + "description": "Coordinated doctrine integrating infantry, cavalry, and ranged units into a single battle line. The first step beyond clan brawl into true military science.", + "pillar": "military", + "era": 6, + "tier": 6, + "cost": 160, + "requires": ["steelworking", "war"], + "unlocks": { "buildings": ["war_college"], "units": ["ironwarden"], "improvements": [], "other": [] }, + "flavor": "A spear alone is courage. A line of spears is an empire.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["military", "era6"] } + }, + { + "id": "siege_doctrine", + "name": "Siege Doctrine", + "description": "Systematic methods for besieging fortified holds — mining foundations, starving garrisons, and battering walls with precision engines.", + "pillar": "military", + "era": 7, + "tier": 7, + "cost": 200, + "requires": ["combined_arms", "runelore"], + "unlocks": { "buildings": ["siege_works"], "units": [], "improvements": [], "other": [] }, + "flavor": "Patience is the most powerful siege weapon ever forged.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["military", "era7"] } + }, + { + "id": "mechanized_warfare", + "name": "Mechanized Warfare", + "description": "Steam-driven war engines replace raw muscle on the battlefield. Boilers, pistons, and geared drives are harnessed for war.", + "pillar": "military", + "era": 8, + "tier": 8, + "cost": 240, + "requires": ["siege_doctrine", "steam_forging"], + "unlocks": { "buildings": [], "units": ["forge_titan"], "improvements": [], "other": [] }, + "flavor": "The forge does not tire. The forge does not retreat.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["military", "era8"] } + }, + { + "id": "total_war", + "name": "Total War", + "description": "The mobilization of every craft, mine, and hold toward a single military purpose. No peace until the mountain is secure.", + "pillar": "military", + "era": 9, + "tier": 9, + "cost": 280, + "requires": ["mechanized_warfare", "mithril_working"], + "unlocks": { "buildings": [], "units": ["mithril_vanguard"], "improvements": [], "other": [] }, + "flavor": "When the clans march as one, the sky itself steps aside.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["military", "era9"] } + }, + { + "id": "ascendant_warfare", + "name": "Ascendant Warfare", + "description": "The perfection of Dwarf martial art — every unit an extension of a unified will, every battle a calculated inevitability.", + "pillar": "military", + "era": 10, + "tier": 10, + "cost": 320, + "requires": ["total_war"], + "unlocks": { "buildings": ["citadel_of_ages"], "units": [], "improvements": [], "other": [] }, + "flavor": "There is no enemy. There is only the next hold to secure.", + "encyclopedia": { "category": "civilization", "entry_type": "tech", "detail_route": "/research/tech-tree", "tags": ["military", "era10"] } + } +] diff --git a/public/games/age-of-dwarves/data/units/forge_titan.json b/public/games/age-of-dwarves/data/units/forge_titan.json new file mode 100644 index 00000000..da4fe8c0 --- /dev/null +++ b/public/games/age-of-dwarves/data/units/forge_titan.json @@ -0,0 +1,42 @@ +[ + { + "id": "forge_titan", + "name": "Forge Titan", + "description": "A steam-driven war construct — part golem, part siege engine, piloted by a single Dwarf engineer from an armored cabin in its chest. Devastating against fortifications.", + "unit_type": "military", + "school": null, + "domain": "land", + "attributes": ["mechanical", "siege"], + "attack_type": "crush", + "hp": 160, + "attack": 32, + "defense": 22, + "ranged_attack": 18, + "range": 2, + "movement": 2, + "vision": 2, + "cost": 200, + "tier": 5, + "tech_required": "mechanized_warfare", + "upgradeable_from": null, + "requires_resource": null, + "race_required": "dwarf", + "faction": null, + "can_found_city": false, + "can_build_improvements": false, + "flags": ["siege", "mechanical", "anti_fortification"], + "mana_cost": null, + "sprite": "sprites/units/forge_titan.png", + "gender": { + "male": { "name": "Forge Titan", "sprite": "sprites/units/forge_titan_m.png" }, + "female": { "name": "Forge Titan", "sprite": "sprites/units/forge_titan_f.png" } + }, + "maintenance": 10, + "encyclopedia": { + "category": "combat", + "entry_type": "unit", + "detail_route": "/military/units", + "tags": ["land", "military", "siege", "mechanical", "era8"] + } + } +] diff --git a/public/games/age-of-dwarves/data/units/ironwarden.json b/public/games/age-of-dwarves/data/units/ironwarden.json new file mode 100644 index 00000000..7928c54a --- /dev/null +++ b/public/games/age-of-dwarves/data/units/ironwarden.json @@ -0,0 +1,42 @@ +[ + { + "id": "ironwarden", + "name": "Ironwarden", + "description": "Heavy infantry clad in full plate, trained in combined-arms doctrine. The backbone of a proper Dwarf battle line — slower than cavalry but nearly unbreakable in formation.", + "unit_type": "military", + "school": null, + "domain": "land", + "attributes": ["heavy", "biological"], + "attack_type": "blade", + "hp": 110, + "attack": 22, + "defense": 18, + "ranged_attack": 0, + "range": 0, + "movement": 2, + "vision": 2, + "cost": 120, + "tier": 4, + "tech_required": "combined_arms", + "upgradeable_from": "berserker", + "requires_resource": "iron_ore", + "race_required": "dwarf", + "faction": null, + "can_found_city": false, + "can_build_improvements": false, + "flags": ["formation", "shield_wall"], + "mana_cost": null, + "sprite": "sprites/units/ironwarden.png", + "gender": { + "male": { "name": "Ironwarden", "sprite": "sprites/units/ironwarden_m.png" }, + "female": { "name": "Ironwarden", "sprite": "sprites/units/ironwarden_f.png" } + }, + "maintenance": 6, + "encyclopedia": { + "category": "combat", + "entry_type": "unit", + "detail_route": "/military/units", + "tags": ["land", "military", "blade", "heavy", "era6"] + } + } +] diff --git a/public/games/age-of-dwarves/data/units/mithril_vanguard.json b/public/games/age-of-dwarves/data/units/mithril_vanguard.json new file mode 100644 index 00000000..d9d79924 --- /dev/null +++ b/public/games/age-of-dwarves/data/units/mithril_vanguard.json @@ -0,0 +1,42 @@ +[ + { + "id": "mithril_vanguard", + "name": "Mithril Vanguard", + "description": "Elite shock troops armored in true mithril plate. Fast for heavy infantry, nearly impervious to conventional weapons, and trained in the total-war doctrine of the late Dwarf empire.", + "unit_type": "military", + "school": null, + "domain": "land", + "attributes": ["heavy", "biological", "elite"], + "attack_type": "blade", + "hp": 200, + "attack": 42, + "defense": 30, + "ranged_attack": 0, + "range": 0, + "movement": 3, + "vision": 3, + "cost": 300, + "tier": 6, + "tech_required": "total_war", + "upgradeable_from": "ironwarden", + "requires_resource": null, + "race_required": "dwarf", + "faction": null, + "can_found_city": false, + "can_build_improvements": false, + "flags": ["elite", "formation", "mithril_armor"], + "mana_cost": null, + "sprite": "sprites/units/mithril_vanguard.png", + "gender": { + "male": { "name": "Mithril Vanguard", "sprite": "sprites/units/mithril_vanguard_m.png" }, + "female": { "name": "Mithril Vanguard", "sprite": "sprites/units/mithril_vanguard_f.png" } + }, + "maintenance": 15, + "encyclopedia": { + "category": "combat", + "entry_type": "unit", + "detail_route": "/military/units", + "tags": ["land", "military", "blade", "heavy", "elite", "era9"] + } + } +]