283 lines
7.5 KiB
JSON
283 lines
7.5 KiB
JSON
{
|
|
"keywords": [
|
|
{
|
|
"id": "fire_breath",
|
|
"name": "Fire Breath",
|
|
"category": "combat",
|
|
"description": "Deals 2 bonus fire damage on attack.",
|
|
"parameters": {
|
|
"bonus_damage": 2,
|
|
"damage_type": "fire"
|
|
}
|
|
},
|
|
{
|
|
"id": "haste",
|
|
"name": "Haste",
|
|
"category": "combat",
|
|
"description": "Can move and attack on the turn it is created.",
|
|
"parameters": {}
|
|
},
|
|
{
|
|
"id": "first_strike",
|
|
"name": "First Strike",
|
|
"category": "combat",
|
|
"description": "Deals damage before the defender retaliates. Defender only retaliates if still alive.",
|
|
"parameters": {}
|
|
},
|
|
{
|
|
"id": "multi_attack",
|
|
"name": "Multi-Attack",
|
|
"category": "combat",
|
|
"description": "Attacks all units on the target tile, including stacked specialists.",
|
|
"parameters": {}
|
|
},
|
|
{
|
|
"id": "trample",
|
|
"name": "Trample",
|
|
"category": "combat",
|
|
"description": "Overkill damage carries through — excess damage is dealt to the tile.",
|
|
"parameters": {}
|
|
},
|
|
{
|
|
"id": "life_drain",
|
|
"name": "Life Drain",
|
|
"category": "combat",
|
|
"description": "Heals HP equal to damage dealt.",
|
|
"parameters": {}
|
|
},
|
|
{
|
|
"id": "stoning_gaze",
|
|
"name": "Stoning Gaze",
|
|
"category": "combat",
|
|
"description": "25% chance to instantly kill the target on attack.",
|
|
"parameters": {
|
|
"kill_chance": 0.25
|
|
}
|
|
},
|
|
{
|
|
"id": "fear_aura",
|
|
"name": "Fear Aura",
|
|
"category": "combat",
|
|
"description": "Adjacent enemy units get -1 attack.",
|
|
"parameters": {
|
|
"attack_penalty": -1,
|
|
"range": 1
|
|
}
|
|
},
|
|
{
|
|
"id": "holy_aura",
|
|
"name": "Holy Aura",
|
|
"category": "combat",
|
|
"description": "Adjacent friendly units get +1 defense.",
|
|
"parameters": {
|
|
"defense_bonus": 1,
|
|
"range": 1
|
|
}
|
|
},
|
|
{
|
|
"id": "lightning_ranged",
|
|
"name": "Lightning Ranged",
|
|
"category": "combat",
|
|
"description": "Ranged attack at range 3. Target cannot retaliate.",
|
|
"parameters": {
|
|
"range": 3,
|
|
"no_retaliation": true
|
|
}
|
|
},
|
|
{
|
|
"id": "reach",
|
|
"name": "Reach",
|
|
"category": "combat",
|
|
"description": "Ground unit can attack and defend against flying units.",
|
|
"parameters": {}
|
|
},
|
|
{
|
|
"id": "poison",
|
|
"name": "Poison",
|
|
"category": "combat",
|
|
"description": "Target takes 2 damage per turn for 3 turns after combat.",
|
|
"parameters": {
|
|
"damage_per_turn": 2,
|
|
"duration": 3
|
|
}
|
|
},
|
|
{
|
|
"id": "web",
|
|
"name": "Web",
|
|
"category": "combat",
|
|
"description": "Immobilizes target for 1 turn on hit. Target cannot move but can still attack.",
|
|
"parameters": {
|
|
"duration": 1
|
|
}
|
|
},
|
|
{
|
|
"id": "armor_piercing",
|
|
"name": "Armor Piercing",
|
|
"category": "combat",
|
|
"description": "Cancels terrain defense bonuses and fortification bonuses on the target when attacking.",
|
|
"parameters": {
|
|
"ignores_terrain_defense": true,
|
|
"ignores_fortification": true
|
|
}
|
|
},
|
|
{
|
|
"id": "interceptor",
|
|
"name": "Interceptor",
|
|
"category": "combat",
|
|
"description": "Enemy flying units entering a tile within 1 hex pay ZOC movement cost if this unit has not yet moved this turn.",
|
|
"parameters": {
|
|
"range": 1,
|
|
"applies_to": ["flying"],
|
|
"requires_unmoved": true
|
|
}
|
|
},
|
|
{
|
|
"id": "pillage",
|
|
"name": "Pillage",
|
|
"category": "combat",
|
|
"description": "Destroys tile improvements when entering an undefended tile with improvements. The pillaging unit gains a small gold bonus.",
|
|
"parameters": {
|
|
"gold_per_pillage": 10,
|
|
"requires_undefended": true
|
|
}
|
|
},
|
|
{
|
|
"id": "flying",
|
|
"name": "Flying",
|
|
"category": "movement",
|
|
"description": "Moves over any tile, ignores zones of control. Only blocked by other flyers.",
|
|
"parameters": {}
|
|
},
|
|
{
|
|
"id": "fast",
|
|
"name": "Fast",
|
|
"category": "movement",
|
|
"description": "+1 movement point.",
|
|
"parameters": {
|
|
"movement_bonus": 1
|
|
}
|
|
},
|
|
{
|
|
"id": "teleport",
|
|
"name": "Teleport",
|
|
"category": "movement",
|
|
"description": "Can move to any visible tile once per 3 turns.",
|
|
"parameters": {
|
|
"cooldown_turns": 3
|
|
}
|
|
},
|
|
{
|
|
"id": "ghostwalk",
|
|
"name": "Ghostwalk",
|
|
"category": "movement",
|
|
"description": "Ignores zones of control.",
|
|
"parameters": {}
|
|
},
|
|
{
|
|
"id": "vigilance",
|
|
"name": "Vigilance",
|
|
"category": "defense",
|
|
"description": "Can attack without losing remaining movement.",
|
|
"parameters": {}
|
|
},
|
|
{
|
|
"id": "indestructible",
|
|
"name": "Indestructible",
|
|
"category": "defense",
|
|
"description": "Survives the first lethal hit at 1 HP. Consumed once.",
|
|
"parameters": {
|
|
"uses": 1
|
|
}
|
|
},
|
|
{
|
|
"id": "regeneration",
|
|
"name": "Regeneration",
|
|
"category": "defense",
|
|
"description": "Heals 2 HP per turn automatically.",
|
|
"parameters": {
|
|
"heal_per_turn": 2
|
|
}
|
|
},
|
|
{
|
|
"id": "escort",
|
|
"name": "Escort",
|
|
"category": "specialist",
|
|
"description": "Stacks with 1 combat unit. Captured or killed if found alone.",
|
|
"parameters": {}
|
|
},
|
|
{
|
|
"id": "healing_touch",
|
|
"name": "Healing Touch",
|
|
"category": "specialist",
|
|
"description": "Heals the escorted unit a specified amount of HP per turn.",
|
|
"parameters": {
|
|
"heal_per_turn": "varies_by_unit"
|
|
}
|
|
},
|
|
{
|
|
"id": "mass_heal",
|
|
"name": "Mass Heal",
|
|
"category": "specialist",
|
|
"description": "Heal all friendly units within 2 tiles.",
|
|
"parameters": {
|
|
"range": 2
|
|
}
|
|
},
|
|
{
|
|
"id": "invisible",
|
|
"name": "Invisible",
|
|
"category": "status",
|
|
"description": "Not visible to enemies unless adjacent or detected by foresight.",
|
|
"parameters": {
|
|
"detection_range": 1
|
|
}
|
|
},
|
|
{
|
|
"id": "camouflage",
|
|
"name": "Camouflage",
|
|
"category": "status",
|
|
"description": "Invisible when in forest or swamp terrain.",
|
|
"parameters": {
|
|
"valid_terrains": ["forest", "jungle", "boreal_forest", "swamp"]
|
|
}
|
|
},
|
|
{
|
|
"id": "foresight",
|
|
"name": "Foresight",
|
|
"category": "status",
|
|
"description": "+2 vision range. Can see invisible units.",
|
|
"parameters": {
|
|
"vision_bonus": 2,
|
|
"detects_invisible": true
|
|
}
|
|
},
|
|
{
|
|
"id": "found_city",
|
|
"name": "Found City",
|
|
"category": "civilian",
|
|
"description": "Can found a new settlement. Unit is consumed in the process.",
|
|
"parameters": {
|
|
"consumed_on_use": true
|
|
}
|
|
},
|
|
{
|
|
"id": "non_military",
|
|
"name": "Non-Military",
|
|
"category": "civilian",
|
|
"description": "Does not trigger combat. Cannot attack or defend.",
|
|
"parameters": {}
|
|
},
|
|
{
|
|
"id": "terrain_cleanse",
|
|
"name": "Terrain Cleanse",
|
|
"category": "terrain",
|
|
"description": "Each turn, reduces corruption pressure and restores terrain quality on the occupied tile. Adjacent tiles receive half effect. Passive — triggers at end of turn.",
|
|
"parameters": {
|
|
"corruption_reduction_per_turn": 0.03,
|
|
"quality_boost_per_turn": 1,
|
|
"moisture_boost_per_turn": 0.02,
|
|
"adjacent_effect_fraction": 0.5
|
|
}
|
|
}
|
|
]
|
|
}
|