; Use the command "rulesetdir ancients" in the server to have freeciv ; use this file. ; Note that the freeciv AI may not cope well with anything more ; than minor changes. [datafile] description = "Ancients actions data for Freeciv" options = "+Freeciv-ruleset-3.3-Devel-2023.Feb.24" format_version = 40 [auto_attack] ; An auto attack may be triggered when another unit moves to an adjacent ; tile and the autoattack server setting is enabled. The following details ; are ruleset controlled. ; if_attacker - this requirement vector must be true before a unit even ; considers to auto attack. ; attack_actions - the actions to try during an auto attack in the order ; they should be tried. if_attacker = { "type", "name", "range", "present" "DiplRel", "War", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE } attack_actions = "Collect Ransom", "Attack", "Suicide Attack" [actions] ; Forbid "Enter Marketplace" if any one of the listed actions are legal. enter_marketplace_blocked_by = "Establish Trade Route" ; Forbid "Attack" if any one of the listed actions are legal. attack_blocked_by = "Collect Ransom", "Explode Nuclear", "Nuke City", "Nuke Units" ; Forbid "Suicide Attack" if any one of the listed actions are legal. suicide_attack_blocked_by = "Collect Ransom", "Explode Nuclear", "Nuke City", "Nuke Units" ; Forbid "Conquer City Shrink" if any one of the listed actions are legal. conquer_city_shrink_blocked_by = "Explode Nuclear", "Nuke City", "Nuke Units", "Attack", "Suicide Attack" ; Forbid "Conquer City Shrink 2" if any one of the listed actions are legal. conquer_city_shrink_2_blocked_by = "Explode Nuclear", "Nuke City", "Nuke Units", "Attack", "Suicide Attack" ; Forbid regular unit move if one of the actions below is legal. move_blocked_by = "Transport Disembark", "Transport Disembark 2", "Conquer Extras", "Conquer Extras 2", "Enter Hut", "Enter Hut 2", "Frighten Hut", "Frighten Hut 2" ; Actor units will - under certain circumstances - be forced to try ; performing the following actions in the specified order after successfully ; performing "Bribe Unit". bribe_unit_post_success_forced_actions = "Transport Embark", "Transport Disembark", "Transport Disembark 2", "Conquer Extras", "Conquer Extras 2", "Enter Hut", "Enter Hut 2", "Frighten Hut", "Frighten Hut 2", "Unit Move" ; Actor units will - under certain circumstances - be forced to try ; performing the following actions in the specified order after successfully ; performing "Attack". attack_post_success_forced_actions = "Conquer City Shrink", "Conquer City Shrink 2", "Transport Disembark", "Transport Disembark 2", "Conquer Extras", "Conquer Extras 2", "Enter Hut", "Enter Hut 2", "Frighten Hut", "Frighten Hut 2", "Unit Move" ; Actor units will - under certain circumstances - be forced to try ; performing the following actions in the specified order after successfully ; performing "Collect Ransom". collect_ransom_post_success_forced_actions = "Conquer City Shrink", "Conquer City Shrink 2", "Transport Disembark", "Transport Disembark 2", "Conquer Extras", "Conquer Extras 2", "Enter Hut", "Enter Hut 2", "Frighten Hut", "Frighten Hut 2", "Unit Move" ; The city that made the unit´s current tile native is gone. This is a Hail ; Mary attempt at survival by performing an action. Evaluated against an ; adjacent tile. Currently only able to target native tiles. escape_city = "Transport Embark", "Enter Hut", "Enter Hut 2", "Frighten Hut", "Frighten Hut 2", "Unit Move" ; The unit`s stack has been defeated and is scheduled for execution but the ; unit can do Escape action. Evaluated against an adjacent tile. ;unit_stack_death = "Transport Embark", ; "Conquer Extras", "Conquer Extras 2", ; "Enter Hut", "Enter Hut 2", ; "Frighten Hut", "Unit Move" ; If poison_empties_food_stock is set to TRUE a successful "Poison City" ; or "Poison City Escape" will empty the food stock. poison_empties_food_stock = FALSE ; If steal_maps_reveals_all_cities is set to TRUE a successful "Steal Maps" ; or "Steal Maps Escape" will transfer the map for all tiles containing a ; city. ;steal_maps_reveals_all_cities = TRUE ; The maximum distance from the actor unit to the target of the ; "Help Wonder" action. The value 0 means that the target`s tile must be the ; tile of the actor unit. The value 1 means that the city must be on a tile ; adjacent to the actor unit. The special value "unlimited" lifts the ; maximum distance restriction. The maximum distance can`t be smaller than ; the minimum distance. help_wonder_max_range = 1 ; The maximum distance from the actor unit to the target of the ; "Disband Unit Recover" action. The value 0 means that the target`s tile must be the ; tile of the actor unit. The value 1 means that the city must be on a tile ; adjacent to the actor unit. The special value "unlimited" lifts the ; maximum distance restriction. The maximum distance can`t be smaller than ; the minimum distance. disband_unit_recover_max_range = 1 ; The maximum distance from the actor unit to the target of the "Bombard" ; action. The value 1 means that the targets must be on a tile adjacent to ; the actor unit. The special value "unlimited" lifts the maximum distance ; restriction. The maximum distance can`t be smaller than the minimum ; distance. bombard_max_range = 1 ; The maximum distance from the actor unit to the target of the "Bombard 2" ; action. The value 1 means that the targets must be on a tile adjacent to ; the actor unit. The special value "unlimited" lifts the maximum distance ; restriction. The maximum distance can`t be smaller than the minimum ; distance. bombard_2_max_range = 1 ; The maximum distance from the actor unit to the target of the "Bombard 3" ; action. The value 1 means that the targets must be on a tile adjacent to ; the actor unit. The special value "unlimited" lifts the maximum distance ; restriction. The maximum distance can`t be smaller than the minimum ; distance. bombard_3_max_range = 1 ; The maximum distance from the actor unit to the target of the ; "Bombard Lethal" action. The value 1 means that the targets must be on a ; tile adjacent to the actor unit. The special value "unlimited" lifts the ; maximum distance restriction. The maximum distance can`t be smaller than ; the minimum distance. bombard_lethal_max_range = 1 ; The minimal distance from the actor unit to the target. The value 0 means ; that the target must be at the tile of the actor unit. The value 1 means ; that the tile must be a tile adjacent to the actor unit. explode_nuclear_min_range = 0 ; The maximum distance from the actor unit to the target of the ; "Explode Nuclear" action. The value 0 means that the target tile must be ; the tile of the actor unit. The value 1 means that the tile must be a tile ; adjacent to the actor unit. The special value "unlimited" lifts the ; maximum distance restriction. The maximum distance can`t be smaller than ; the minimum distance. explode_nuclear_max_range = 0 ; Will performing this action always consume the actor unit? explode_nuclear_consuming_always = TRUE ; The minimal distance from the actor unit to the target. The value 0 means ; that the target must be at the tile of the actor unit. The value 1 means ; that the tile must be a tile adjacent to the actor unit. nuke_city_min_range = 1 ; The maximum distance from the actor unit to the target of the ; "Nuke City" action. The value 1 means that the tile must be a tile ; adjacent to the actor unit. The special value "unlimited" lifts the ; maximum distance restriction. The maximum distance can`t be smaller than ; the minimum distance. nuke_city_max_range = 1 ; Will performing this action always consume the actor unit? nuke_city_consuming_always = TRUE ; The kind of target the "Nuke City" action has. The target requirements of ; its enablers are evaluated against the target. The target owner is the one ; that gets a Casus Belli if the ruleset has a Casus Belli for this action. ; Supported values are "City" and "Tile". nuke_city_target_kind = "City" ; The minimal distance from the actor unit to the target. The value 0 means ; that the target must be at the tile of the actor unit. The value 1 means ; that the tile must be a tile adjacent to the actor unit. nuke_units_min_range = 1 ; The maximum distance from the actor unit to the target of the ; "Nuke Units" action. The value 1 means that the tile must be a tile ; adjacent to the actor unit. The special value "unlimited" lifts the ; maximum distance restriction. The maximum distance can`t be smaller than ; the minimum distance. nuke_units_max_range = 1 ; Will performing this action always consume the actor unit? nuke_units_consuming_always = TRUE ; The maximum distance from the actor unit to the target of the "Airlift Unit" ; action. The value 1 means that the targets must be on a tile adjacent to ; the actor unit. The special value "unlimited" lifts the maximum distance ; restriction. The maximum distance can`t be smaller than the minimum ; distance. airlift_max_range = "unlimited" ; Will performing this action always consume the actor unit? found_city_consuming_always = TRUE ; Blank ruleset defined user actions. ; See the section "Ruleset defined actions" in doc/README.actions ; Example: set up "User Action 1" ;user_action_1_target_kind = "Unit" ;user_action_1_min_range = 1 ;user_action_1_max_range = 3 ;user_action_1_actor_consuming_always = FALSE ; Some actions have a action dice roll before the action starts where it can ; fail. The initial probability of success is 100% unless the action appears ; in the following list. Then the initial probability comes from the setting ; diplchance. The initial probability of success is modified by the ; Action_Odds_Pct effect before the roll happens. diplchance_initial_odds = "Sabotage City", "Sabotage City Escape", "Targeted Sabotage City Escape", "Sabotage City Production Escape", "Steal Tech", "Steal Tech Escape Expected", "Targeted Steal Tech Escape Expected", "Incite City", "Incite City Escape" ; Suppress automatic help text generation about what enables and/or ; disables the following actions. ; ; Can make the help text less redundant when you document it your self. ; "Transport Disembark 2" is "Transport Disembark" but from a non native ; tile. "Conquer City Shrink 2" has the same relation to "Conquer City Shrink". ; So is "Enter Hut 2" for "Enter Hut", "Frighten Hut 2" for "Frighten Hut" and ; "Conquer Extras" for "Conquer Extras 2". ; The version from the non native tile and the native tile version won`t ; appear in the same action selection dialog given their opposite ; requirements. Avoid double entries in the auto help by silencing it. quiet_actions = "Transport Disembark 2", "Conquer City Shrink 2", "Enter Hut 2", "Frighten Hut 2", "Conquer Extras 2", "Unit Move" ; /* <-- avoid gettext warnings ; ; Actions: ; ; action = the action to configure. ; ui_name = What each action should be called when showing them to the player. ; The first %s should be before the mnemonic of the action. ; A Freeciv client that supports mnemonics will replace it with ; the in-band signal that marks the following character as a mnemonic ; in its graphical toolkit. ; The second %s marks where extra details should be inserted. ; ; README.actions lists the possible actions ; ; */ <-- avoid gettext warnings [action_poison_city] action = "Poison City Escape" ui_name = "%sPoison City%s" [action_sabotage_city_escape] action = "Sabotage City Escape" ui_name = "%sSabotage City Escape%s" [action_industrial_sabotage] action = "Targeted Sabotage City Escape" ui_name = "Industrial %sSabotage%s" [action_industrial_sabotage_production] action = "Sabotage City Production Escape" ui_name = "Industrial %sSabotage Production%s" [action_industrial_espionage] action = "Targeted Steal Tech Escape Expected" ui_name = "Indus%strial Espionage%s" [action_sell_goods] action = "Enter Marketplace" ui_name = "Sell %sGoods%s" [action_sabotage_enemy_unit] action = "Sabotage Unit Escape" ui_name = "%sSabotage Enemy Unit%s" [action_build_city] action = "Found City" ui_name = "%sBuild City%s" [action_add_to_city] action = "Join City" ui_name = "%sAdd to City%s" [action_disembark_from_non_native] action = "Transport Disembark 2" ui_name = "%sDisembark from non native%s" [action_enter_hut_from_non_native] action = "Enter Hut 2" ui_name = "Enter %sHut from non native%s" [action_keep_moving] action = "Unit Move" ui_name = "%sKeep moving%s" ; /* <-- avoid gettext warnings ; ; Enablers: ; ; action = the action to enable. ; actor_reqs = requirements that apply to the actor. ; target_reqs = requirements that apply to the target. ; comment = Comment for the benefit to someone examining the ruleset ; Not used by freeciv any other way. ; ; README.actions lists the possible actions and their hard coded ; requirements. ; ; An enabler is active when its actor_reqs AND its target_reqs are ; satisfied. ; ; */ <-- avoid gettext warnings [enabler_sabotage_city] action = "Sabotage City" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "Diplomat", "Local", TRUE "UnitTypeFlag", "Spy", "Local", FALSE "DiplRel", "War", "Local", TRUE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE } [enabler_sabotage_city_spy] action = "Sabotage City Escape" actor_reqs = { "type", "name", "range" "UnitTypeFlag", "Spy", "Local" "DiplRel", "War", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" } [enabler_sabotage_city_target] action = "Targeted Sabotage City Escape" actor_reqs = { "type", "name", "range" "DiplRel", "War", "Local" "UnitTypeFlag", "Spy", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" } [enabler_sabotage_city_production] action = "Sabotage City Production Escape" actor_reqs = { "type", "name", "range" "DiplRel", "War", "Local" "UnitTypeFlag", "Spy", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" } [enabler_establish_embassy] action = "Establish Embassy Stay" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "Diplomat", "Local", TRUE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "DiplRel", "Foreign", "Local", TRUE "DiplRel", "Has real embassy", "Local", FALSE "UnitTypeFlag", "Spy", "Local", FALSE } target_reqs = { "type", "name", "range", "present" "NationGroup", "Barbarian", "Player", FALSE } [enabler_establish_embassy_spy] action = "Establish Embassy" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "Spy", "Local", TRUE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "DiplRel", "Foreign", "Local", TRUE "DiplRel", "Has real embassy", "Local", FALSE } target_reqs = { "type", "name", "range", "present" "NationGroup", "Barbarian", "Player", FALSE } [enabler_investigate_city] action = "Investigate City Spend Unit" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "Diplomat", "Local", TRUE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "DiplRel", "Foreign", "Local", TRUE "UnitTypeFlag", "Spy", "Local", FALSE } [enabler_investigate_city_spy] action = "Investigate City" actor_reqs = { "type", "name", "range" "UnitTypeFlag", "Spy", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "DiplRel", "Foreign", "Local" } [enabler_poison_city] action = "Poison City Escape" actor_reqs = { "type", "name", "range" "UnitTypeFlag", "Spy", "Local" "DiplRel", "War", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "DiplRel", "Foreign", "Local" } target_reqs = { "type", "name", "range" "MinSize", "2", "City" } [enabler_steal_tech_random] action = "Steal Tech" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "Diplomat", "Local", TRUE "UnitTypeFlag", "Spy", "Local", FALSE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "DiplRel", "Foreign", "Local", TRUE } target_reqs = { "type", "name", "range", "present" "NationGroup", "Barbarian", "Player", FALSE } [enabler_steal_tech_random_esc] action = "Steal Tech" actor_reqs = { "type", "name", "range" "UnitTypeFlag", "Spy", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "DiplRel", "Foreign", "Local" } target_reqs = { "type", "name", "range", "present" "NationGroup", "Barbarian", "Player", FALSE } [enabler_steal_tech_target] action = "Targeted Steal Tech Escape Expected" actor_reqs = { "type", "name", "range" "UnitTypeFlag", "Spy", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "DiplRel", "Foreign", "Local" } target_reqs = { "type", "name", "range", "present" "NationGroup", "Barbarian", "Player", FALSE } [enabler_incite_city] action = "Incite City" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "Diplomat", "Local", TRUE "UnitTypeFlag", "Spy", "Local", FALSE "DiplRel", "Alliance", "Local", FALSE "DiplRel", "Team", "Local", FALSE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "DiplRel", "Foreign", "Local", TRUE } target_reqs = { "type", "name", "range", "present" "Building", "Palace", "City", FALSE } [enabler_incite_city_spy] action = "Incite City Escape" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "Spy", "Local", TRUE "DiplRel", "Alliance", "Local", FALSE "DiplRel", "Team", "Local", FALSE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "DiplRel", "Foreign", "Local", TRUE } target_reqs = { "type", "name", "range", "present" "Building", "Palace", "City", FALSE } [enabler_bribe_unit] action = "Bribe Unit" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "Diplomat", "Local", TRUE "DiplRel", "Alliance", "Local", FALSE "DiplRel", "Team", "Local", FALSE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "DiplRel", "Foreign", "Local", TRUE } target_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "Unbribable", "Local", FALSE "CityTile", "Center", "Tile", FALSE "MaxUnitsOnTile", "1", "Tile", TRUE } [enabler_sabotage_unit] action = "Sabotage Unit Escape" actor_reqs = { "type", "name", "range" "UnitTypeFlag", "Spy", "Local" "DiplRel", "War", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "DiplRel", "Foreign", "Local" } target_reqs = { "type", "name", "range", "present" "CityTile", "Center", "Tile", FALSE "MinHitPoints", "2", "Local", TRUE "MaxUnitsOnTile", "1", "Tile", TRUE } [enabler_trade_route] action = "Establish Trade Route" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "TradeRoute", "Local", TRUE "UnitState", "HasHomeCity", "Local", TRUE } [enabler_marketplace] action = "Enter Marketplace" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "TradeRoute", "Local", TRUE "UnitState", "HasHomeCity", "Local", TRUE } [enabler_help_build_great_wonder] action = "Help Wonder" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "HelpWonder", "Local", TRUE "DiplRel", "Foreign", "Local", FALSE } target_reqs = { "type", "name", "range" "BuildingGenus", "GreatWonder", "Local" } [enabler_disband_unit_recover] action = "Disband Unit Recover" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "EvacuateFirst", "Local", FALSE } [enabler_disband_unit] action = "Disband Unit" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "EvacuateFirst", "Local", FALSE "DiplRel", "War", "Local", FALSE "DiplRel", "Cease-fire", "Local", FALSE "DiplRel", "Armistice", "Local", FALSE "DiplRel", "Peace", "Local", FALSE } [enabler_build_city_pioneer] action = "Found City" actor_reqs = { "type", "name", "range" "UnitTypeFlag", "Cities", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" } target_reqs = { "type", "name", "range", "present" "CityTile", "Claimed", "Tile", FALSE "TerrainFlag", "NoCities", "Tile", FALSE } [enabler_build_city_domestic] action = "Found City" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "Cities", "Local", TRUE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "DiplRel", "Foreign", "Local", FALSE } target_reqs = { "type", "name", "range", "present" "CityTile", "Claimed", "Tile", TRUE "TerrainFlag", "NoCities", "Tile", FALSE } [enabler_join_city] action = "Join City" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "AddToCity", "Local", TRUE "DiplRel", "Foreign", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE } [enabler_attack_from_native] action = "Attack" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "NonMil", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE "UnitState", "OnNativeTile", "Local", TRUE "DiplRel", "War", "Local", TRUE } [enabler_attack_marines] action = "Attack" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "NonMil", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE "UnitTypeFlag", "Marines", "Local", TRUE "DiplRel", "War", "Local", TRUE } [enabler_attack_att_from_non_native] action = "Attack" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "NonMil", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE "UnitClassFlag", "AttFromNonNative", "Local", TRUE "DiplRel", "War", "Local", TRUE } [enabler_ransom_from_native] action = "Collect Ransom" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "NonMil", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE "UnitState", "OnNativeTile", "Local", TRUE "DiplRel", "War", "Local", TRUE } [enabler_ransom_marines] action = "Collect Ransom" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "NonMil", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE "UnitTypeFlag", "Marines", "Local", TRUE "DiplRel", "War", "Local", TRUE } [enabler_ransom_att_from_non_native] action = "Collect Ransom" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "NonMil", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE "UnitClassFlag", "AttFromNonNative", "Local", TRUE "DiplRel", "War", "Local", TRUE } [enabler_conquer_city_native] action = "Conquer City Shrink" actor_reqs = { "type", "name", "range", "present" "UnitClassFlag", "CanOccupyCity", "Local", TRUE "UnitTypeFlag", "NonMil", "Local", FALSE "DiplRel", "War", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "UnitState", "OnLivableTile", "Local", TRUE } target_reqs = { "type", "name", "range", "present" "MaxUnitsOnTile", "0", "Tile", TRUE } [enabler_conquer_city_marines] action = "Conquer City Shrink 2" actor_reqs = { "type", "name", "range", "present" "UnitClassFlag", "CanOccupyCity", "Local", TRUE "UnitTypeFlag", "NonMil", "Local", FALSE "DiplRel", "War", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "UnitTypeFlag", "Marines", "Local", TRUE "UnitState", "OnLivableTile", "Local", FALSE } target_reqs = { "type", "name", "range", "present" "MaxUnitsOnTile", "0", "Tile", TRUE } [enabler_change_home_city] action = "Home City" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "NoHome", "Local", FALSE "UnitState", "HasHomeCity", "Local", TRUE "DiplRel", "Foreign", "Local", FALSE } [enabler_upgrade_unit] action = "Upgrade Unit" actor_reqs = { "type", "name", "range", "present" "DiplRel", "Foreign", "Local", FALSE } [enabler_cultivate] action = "Cultivate" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "Workers", "Local", TRUE } [enabler_plant] action = "Plant" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "Workers", "Local", TRUE } [enabler_pillage] action = "Pillage" actor_reqs = { "type", "name", "range" "UnitClassFlag", "CanPillage", "Local" } [enabler_clean] action = "Clean" actor_reqs = { "type", "name", "range", "present" "UnitTypeFlag", "Workers", "Local", TRUE } [enabler_fortify_terrain] action = "Fortify" actor_reqs = { "type", "name", "range", "present" "UnitClassFlag", "CanFortify", "Local", TRUE "UnitTypeFlag", "Cant_Fortify", "Local", FALSE "TerrainFlag", "NoFortify", "Tile", FALSE "Activity", "Fortified", "Local", FALSE } [enabler_fortify_city] action = "Fortify" actor_reqs = { "type", "name", "range", "present" "UnitClassFlag", "CanFortify", "Local", TRUE "UnitTypeFlag", "Cant_Fortify", "Local", FALSE "CityTile", "Center", "Tile", TRUE "Activity", "Fortified", "Local", FALSE } [enabler_road] action = "Build Road" actor_reqs = { "type", "name", "range" "UnitTypeFlag", "Workers", "Local" } target_reqs = { "type", "name", "range" "TerrainAlter", "CanRoad", "Tile" } [enabler_base] action = "Build Base" actor_reqs = { "type", "name", "range" "UnitTypeFlag", "Workers", "Local" } target_reqs = { "type", "name", "range" "TerrainAlter", "CanBase", "Tile" } [enabler_mining] action = "Build Mine" actor_reqs = { "type", "name", "range" "UnitTypeFlag", "Workers", "Local" } target_reqs = { "type", "name", "range" "TerrainAlter", "CanMine", "Tile" } [enabler_irrigate_src_ocean] action = "Build Irrigation" actor_reqs = { "type", "name", "range" "UnitTypeFlag", "Workers", "Local" } target_reqs = { "type", "name", "range" "TerrainClass", "Oceanic", "CAdjacent" "TerrainAlter", "CanIrrigate", "Tile" } [enabler_irrigate_src_river] action = "Build Irrigation" actor_reqs = { "type", "name", "range" "UnitTypeFlag", "Workers", "Local" } target_reqs = { "type", "name", "range" "Extra", "River", "CAdjacent" "TerrainAlter", "CanIrrigate", "Tile" } [enabler_irrigate_src_irrigation] action = "Build Irrigation" actor_reqs = { "type", "name", "range" "UnitTypeFlag", "Workers", "Local" } target_reqs = { "type", "name", "range" "Extra", "Irrigation", "CAdjacent" "TerrainAlter", "CanIrrigate", "Tile" } [enabler_deboard] action = "Transport Deboard" actor_reqs = { "type", "name", "range" "UnitState", "OnLivableTile", "Local" "UnitState", "Transported", "Local" } target_reqs = { "type", "name", "range" "UnitState", "Transporting", "Local" } [enabler_board] action = "Transport Board" actor_reqs = { "type", "name", "range", "present" "DiplRel", "Armistice", "Local", FALSE "DiplRel", "War", "Local", FALSE "DiplRel", "Cease-fire", "Local", FALSE "DiplRel", "Peace", "Local", FALSE "DiplRel", "Never met", "Local", FALSE } [enabler_unload] action = "Transport Unload" actor_reqs = { "type", "name", "range" "UnitState", "Transporting", "Local" } target_reqs = { "type", "name", "range" "UnitState", "OnLivableTile", "Local" "UnitState", "Transported", "Local" } [enabler_disembark_from_native_tile] action = "Transport Disembark" actor_reqs = { "type", "name", "range" "UnitState", "Transported", "Local" "MinMoveFrags", "1", "Local" "UnitState", "OnNativeTile", "Local" } [enabler_disembark_from_non_native] action = "Transport Disembark 2" actor_reqs = { "type", "name", "range", "present" "UnitState", "Transported", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "UnitState", "OnNativeTile", "Local", FALSE } [enabler_embark] action = "Transport Embark" actor_reqs = { "type", "name", "range", "present" "MinMoveFrags", "1", "Local", TRUE "DiplRel", "Armistice", "Local", FALSE "DiplRel", "War", "Local", FALSE "DiplRel", "Cease-fire", "Local", FALSE "DiplRel", "Peace", "Local", FALSE "DiplRel", "Never met", "Local", FALSE } [enabler_regular_move] action = "Unit Move" actor_reqs = { "type", "name", "range", "present" "MinMoveFrags", "1", "Local", TRUE "UnitState", "Transported", "Local", FALSE } [enabler_hut_enter_from_native_tile] action = "Enter Hut" actor_reqs = { "type", "name", "range", "present" "MinMoveFrags", "1", "Local", TRUE "UnitState", "OnNativeTile", "Local", TRUE } [enabler_hut_enter_from_non_native] action = "Enter Hut 2" actor_reqs = { "type", "name", "range", "present" "MinMoveFrags", "1", "Local", TRUE "UnitState", "OnNativeTile", "Local", FALSE } [enabler_claim_extra_war_from_native_tile] action = "Conquer Extras" actor_reqs = { "type", "name", "range" "MinMoveFrags", "1", "Local" "DiplRel", "War", "Local" "UnitState", "OnNativeTile", "Local" } [enabler_claim_extra_war_from_non_native] action = "Conquer Extras 2" actor_reqs = { "type", "name", "range", "present" "MinMoveFrags", "1", "Local", TRUE "DiplRel", "War", "Local", TRUE "UnitState", "OnNativeTile", "Local", FALSE } [enabler_claim_extra_unowned_from_native_tile] action = "Conquer Extras" actor_reqs = { "type", "name", "range", "present" "MinMoveFrags", "1", "Local", TRUE "UnitState", "OnNativeTile", "Local", TRUE } target_reqs = { "type", "name", "range", "present" "CityTile", "Extras Owned", "Tile", FALSE } [enabler_claim_extra_unowned_from_non_native] action = "Conquer Extras 2" actor_reqs = { "type", "name", "range", "present" "MinMoveFrags", "1", "Local", TRUE "UnitState", "OnNativeTile", "Local", FALSE } target_reqs = { "type", "name", "range", "present" "CityTile", "Extras Owned", "Tile", FALSE } [enabler_gain_veterancy] action = "Gain Veterancy" actor_reqs = { "type", "name", "range", "present" } [enabler_civil_war] action = "Civil War" actor_reqs = { "type", "name", "range", "present" }