; 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" if any one of the listed actions are legal. conquer_city_blocked_by = "Explode Nuclear", "Nuke City", "Nuke Units", "Attack", "Suicide Attack" ; Forbid "Conquer City 2" if any one of the listed actions are legal. conquer_city_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", "Conquer City 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", "Conquer City 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 has the CanEscape unit type flag. 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 ; 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. ; /* TRANS: _Poison City (3% chance of success). */ ui_name_poison_city_escape = _("%sPoison City%s") ; /* TRANS: S_abotage Enemy Unit (3% chance of success). */ ui_name_sabotage_unit_escape = _("%sSabotage Enemy Unit%s") ; /* TRANS: Bribe Enemy _Unit (3% chance of success). */ ui_name_bribe_unit = _("Bribe Enemy %sUnit%s") ; /* TRANS: _Sabotage City (3% chance of success). */ ui_name_sabotage_city = _("%sSabotage City%s") ; /* TRANS: _Sabotage City Escape (3% chance of success). */ ui_name_sabotage_city_escape = _("%sSabotage City Escape%s") ; /* TRANS: Industrial _Sabotage (3% chance of success). */ ui_name_targeted_sabotage_city_escape = _("Industrial %sSabotage%s") ; /* TRANS: Industrial _Sabotage Production (3% chance of success). */ ui_name_sabotage_city_production_escape = _("Industrial %sSabotage Production%s") ; /* TRANS: Incite a Re_volt (3% chance of success). */ ui_name_incite_city = _("Incite a Re%svolt%s") ; /* TRANS: Incite a _Revolt and Escape (3% chance of success). */ ui_name_incite_city_escape = _("Incite a Re%svolt and Escape%s") ; /* TRANS: Establish _Embassy (100% chance of success). */ ui_name_establish_embassy = _("Establish %sEmbassy%s") ; /* TRANS: Becom_e Ambassador (100% chance of success). */ ui_name_establish_embassy_stay = _("Becom%se Ambassador%s") ; /* TRANS: Steal _Technology (3% chance of success). */ ui_name_steal_tech = _("Steal %sTechnology%s") ; /* TRANS: Steal _Technology and Escape (3% chance of success). */ ui_name_steal_tech_escape = _("Steal %sTechnology and Escape%s") ; /* TRANS: Indus_trial Espionage (3% chance of success). */ ui_name_targeted_steal_tech_escape = _("Indus%strial Espionage%s") ; /* TRANS: _Investigate City (100% chance of success). */ ui_name_investigate_city = _("%sInvestigate City%s") ; /* TRANS: _Investigate City (spends the unit) (100% chance of success). */ ui_name_investigate_city_spend_unit = _("%sInvestigate City (spends the unit)%s") ; /* TRANS: Establish Trade _Route (100% chance of success). */ ui_name_establish_trade_route = _("Establish Trade %sRoute%s") ; /* TRANS: Enter _Marketplace (100% chance of success). */ ui_name_enter_marketplace = _("Sell %sGoods%s") ; /* TRANS: Help _build Wonder (100% chance of success). */ ui_name_help_wonder = _("Help %sbuild Wonder%s") ; /* TRANS: Dis_band recovering production (100% chance of success). */ ui_name_disband_unit_recover = _("Dis%sband recovering production%s") ; /* TRANS: Dis_band without recovering production (100% chance of success). */ ui_name_disband_unit = _("Dis%sband without recovering production%s") ; /* TRANS: _Build City (100% chance of success). */ ui_name_found_city = _("%sBuild City%s") ; /* TRANS: _Add to City (100% chance of success). */ ui_name_join_city = _("%sAdd to City%s") ; /* TRANS: Set _Home City (100% chance of success). */ ui_name_home_city = _("Set %sHome City%s") ; /* TRANS: _Upgrade Unit (100% chance of success). */ ui_name_upgrade_unit = _("%sUpgrade Unit%s") ; /* TRANS: _Attack (100% chance of success). */ ui_name_attack = _("%sAttack%s") ; /* TRANS: _Conquer City (100% chance of success). */ ui_name_conquer_city = _("%sConquer City%s") ; /* TRANS: _Conquer City from non native (100% chance of success). */ ui_name_conquer_city_2 = _("%sConquer City from non native%s") ; /* TRANS: Transform by _Cultivating (3% chance of success). */ ui_name_cultivate = _("Transform by %sCultivating%s") ; /* TRANS: Transform by _Planting (3% chance of success). */ ui_name_plant = _("Transform by %sPlanting%s") ; /* TRANS: Pilla_ge (100% chance of success). */ ui_name_pillage = _("Pilla%sge%s") ; /* TRANS: Clean (100% chance of success). */ ui_name_clean = _("%sClean%s") ; /* TRANS: _Fortify (100% chance of success). */ ui_name_fortify = _("%sFortify%s") ; /* TRANS: Build _Road (100% chance of success). */ ui_name_road = _("Build %sRoad%s") ; /* TRANS: _Build Base (100% chance of success). */ ui_name_build_base = _("%sBuild Base%s") ; /* TRANS: Build _Mine (100% chance of success). */ ui_name_build_mine = _("Build %sMine%s") ; /* TRANS: Build _Irrigation (100% chance of success). */ ui_name_irrigate = _("Build %sIrrigation%s") ; /* TRANS: _Deboard (100% chance of success). */ ui_name_transport_deboard = _("%sDeboard%s") ; /* TRANS: _Board (100% chance of success). */ ui_name_transport_board = _("%sBoard%s") ; /* TRANS: _Unload (100% chance of success). */ ui_name_transport_unload = _("%sUnload%s") ; /* TRANS: _Disembark (100% chance of success). */ ui_name_transport_disembark = _("%sDisembark%s") ; /* TRANS: _Disembark from non native (100% chance of success). */ ui_name_transport_disembark_2 = _("%sDisembark from non native%s") ; /* TRANS: _Embark (100% chance of success). */ ui_name_transport_embark = _("%sEmbark%s") ; /* TRANS: Enter _Hut (100% chance of success). */ ui_name_enter_hut = _("Enter %sHut%s") ; /* TRANS: Enter _Hut from non native (100% chance of success). */ ui_name_enter_hut_2 = _("Enter %sHut from non native%s") ; /* TRANS: Frighten _Hut (100% chance of success). */ ui_name_frighten_hut = _("Frighten %sHut%s") ; /* TRANS: Frighten _Hut from non native (100% chance of success). */ ui_name_frighten_hut_2 = _("Frighten %sHut from non native%s") ; /* TRANS: Regular _Move (100% chance of success). */ ui_name_unit_move = _("%sKeep moving%s") ; Blank ruleset defined user actions. ; See the section "Ruleset defined actions" in doc/README.actions ; Example: set up "User Action 1" ;ui_name_user_action_1 = _("%sDisrupt Supply Lines%s") ;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 2" has the same relation to "Conquer City". 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 2", "Enter Hut 2", "Frighten Hut 2", "Conquer Extras 2", "Unit Move" ; /* <-- avoid gettext warnings ; ; Action enablers: ; ; action = the action to enable. ; actor_reqs = requirements that apply to the actor. ; target_reqs = requirements that apply to the target. ; ; README.actions lists the possible actions and their hard coded ; requirements. ; ; An action enabler is active when its actor_reqs AND its target_reqs are ; satisfied. ; ; */ <-- avoid gettext warnings [actionenabler_sabotage_city] action = "Sabotage City" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Diplomat", "Local", TRUE "UnitFlag", "Spy", "Local", FALSE "DiplRel", "War", "Local", TRUE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE } [actionenabler_sabotage_city_spy] action = "Sabotage City Escape" actor_reqs = { "type", "name", "range" "UnitFlag", "Spy", "Local" "DiplRel", "War", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" } [actionenabler_sabotage_city_target] action = "Targeted Sabotage City Escape" actor_reqs = { "type", "name", "range" "DiplRel", "War", "Local" "UnitFlag", "Spy", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" } [actionenabler_sabotage_city_production] action = "Sabotage City Production Escape" actor_reqs = { "type", "name", "range" "DiplRel", "War", "Local" "UnitFlag", "Spy", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" } [actionenabler_establish_embassy] action = "Establish Embassy Stay" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Diplomat", "Local", TRUE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "DiplRel", "Foreign", "Local", TRUE "DiplRel", "Has real embassy", "Local", FALSE "UnitFlag", "Spy", "Local", FALSE } target_reqs = { "type", "name", "range", "present" "NationGroup", "Barbarian", "Player", FALSE } [actionenabler_establish_embassy_spy] action = "Establish Embassy" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "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 } [actionenabler_investigate_city] action = "Investigate City Spend Unit" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Diplomat", "Local", TRUE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "DiplRel", "Foreign", "Local", TRUE "UnitFlag", "Spy", "Local", FALSE } [actionenabler_investigate_city_spy] action = "Investigate City" actor_reqs = { "type", "name", "range" "UnitFlag", "Spy", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "DiplRel", "Foreign", "Local" } [actionenabler_poison_city] action = "Poison City Escape" actor_reqs = { "type", "name", "range" "UnitFlag", "Spy", "Local" "DiplRel", "War", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "DiplRel", "Foreign", "Local" } target_reqs = { "type", "name", "range" "MinSize", "2", "City" } [actionenabler_steal_tech_random] action = "Steal Tech" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Diplomat", "Local", TRUE "UnitFlag", "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 } [actionenabler_steal_tech_random_esc] action = "Steal Tech" actor_reqs = { "type", "name", "range" "UnitFlag", "Spy", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "DiplRel", "Foreign", "Local" } target_reqs = { "type", "name", "range", "present" "NationGroup", "Barbarian", "Player", FALSE } [actionenabler_steal_tech_target] action = "Targeted Steal Tech Escape Expected" actor_reqs = { "type", "name", "range" "UnitFlag", "Spy", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "DiplRel", "Foreign", "Local" } target_reqs = { "type", "name", "range", "present" "NationGroup", "Barbarian", "Player", FALSE } [actionenabler_incite_city] action = "Incite City" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Diplomat", "Local", TRUE "UnitFlag", "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 } [actionenabler_incite_city_spy] action = "Incite City Escape" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "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 } [actionenabler_bribe_unit] action = "Bribe Unit" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "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" "UnitFlag", "Unbribable", "Local", FALSE "CityTile", "Center", "Tile", FALSE "MaxUnitsOnTile", "1", "Tile", TRUE } [actionenabler_sabotage_unit] action = "Sabotage Unit Escape" actor_reqs = { "type", "name", "range" "UnitFlag", "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 } [actionenabler_trade_route] action = "Establish Trade Route" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "TradeRoute", "Local", TRUE "UnitState", "HasHomeCity", "Local", TRUE } [actionenabler_marketplace] action = "Enter Marketplace" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "TradeRoute", "Local", TRUE "UnitState", "HasHomeCity", "Local", TRUE } [actionenabler_help_build_great_wonder] action = "Help Wonder" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "HelpWonder", "Local", TRUE "DiplRel", "Foreign", "Local", FALSE } target_reqs = { "type", "name", "range" "BuildingGenus", "GreatWonder", "Local" } [actionenabler_disband_unit_recover] action = "Disband Unit Recover" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "EvacuateFirst", "Local", FALSE } [actionenabler_disband_unit] action = "Disband Unit" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "EvacuateFirst", "Local", FALSE "DiplRel", "War", "Local", FALSE "DiplRel", "Cease-fire", "Local", FALSE "DiplRel", "Armistice", "Local", FALSE "DiplRel", "Peace", "Local", FALSE } [actionenabler_build_city_pioneer] action = "Found City" actor_reqs = { "type", "name", "range" "UnitFlag", "Cities", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" } target_reqs = { "type", "name", "range", "present" "CityTile", "Claimed", "Tile", FALSE "TerrainFlag", "NoCities", "Tile", FALSE } [actionenabler_build_city_domestic] action = "Found City" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "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 } [actionenabler_join_city] action = "Join City" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "AddToCity", "Local", TRUE "DiplRel", "Foreign", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE } [actionenabler_attack_from_native] action = "Attack" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "NonMil", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE "UnitState", "OnNativeTile", "Local", TRUE "DiplRel", "War", "Local", TRUE } [actionenabler_attack_marines] action = "Attack" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "NonMil", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE "UnitFlag", "Marines", "Local", TRUE "DiplRel", "War", "Local", TRUE } [actionenabler_attack_att_from_non_native] action = "Attack" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "NonMil", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE "UnitClassFlag", "AttFromNonNative", "Local", TRUE "DiplRel", "War", "Local", TRUE } [actionenabler_ransom_from_native] action = "Collect Ransom" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "NonMil", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE "UnitState", "OnNativeTile", "Local", TRUE "DiplRel", "War", "Local", TRUE } [actionenabler_ransom_marines] action = "Collect Ransom" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "NonMil", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE "UnitFlag", "Marines", "Local", TRUE "DiplRel", "War", "Local", TRUE } [actionenabler_ransom_att_from_non_native] action = "Collect Ransom" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "NonMil", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE "UnitClassFlag", "AttFromNonNative", "Local", TRUE "DiplRel", "War", "Local", TRUE } [actionenabler_conquer_city_native] action = "Conquer City" actor_reqs = { "type", "name", "range", "present" "UnitClassFlag", "CanOccupyCity", "Local", TRUE "UnitFlag", "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 } [actionenabler_conquer_city_marines] action = "Conquer City 2" actor_reqs = { "type", "name", "range", "present" "UnitClassFlag", "CanOccupyCity", "Local", TRUE "UnitFlag", "NonMil", "Local", FALSE "DiplRel", "War", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "UnitFlag", "Marines", "Local", TRUE "UnitState", "OnLivableTile", "Local", FALSE } target_reqs = { "type", "name", "range", "present" "MaxUnitsOnTile", "0", "Tile", TRUE } [actionenabler_change_home_city] action = "Home City" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "NoHome", "Local", FALSE "UnitState", "HasHomeCity", "Local", TRUE "DiplRel", "Foreign", "Local", FALSE } [actionenabler_upgrade_unit] action = "Upgrade Unit" actor_reqs = { "type", "name", "range", "present" "DiplRel", "Foreign", "Local", FALSE } [actionenabler_cultivate] action = "Cultivate" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Workers", "Local", TRUE } [actionenabler_plant] action = "Plant" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Workers", "Local", TRUE } [actionenabler_pillage] action = "Pillage" actor_reqs = { "type", "name", "range" "UnitClassFlag", "CanPillage", "Local" } [actionenabler_clean] action = "Clean" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Workers", "Local", TRUE } [actionenabler_fortify_terrain] action = "Fortify" actor_reqs = { "type", "name", "range", "present" "UnitClassFlag", "CanFortify", "Local", TRUE "UnitFlag", "Cant_Fortify", "Local", FALSE "TerrainFlag", "NoFortify", "Tile", FALSE "Activity", "Fortified", "Local", FALSE } [actionenabler_fortify_city] action = "Fortify" actor_reqs = { "type", "name", "range", "present" "UnitClassFlag", "CanFortify", "Local", TRUE "UnitFlag", "Cant_Fortify", "Local", FALSE "CityTile", "Center", "Tile", TRUE "Activity", "Fortified", "Local", FALSE } [actionenabler_road] action = "Build Road" actor_reqs = { "type", "name", "range" "UnitFlag", "Workers", "Local" } target_reqs = { "type", "name", "range" "TerrainAlter", "CanRoad", "Tile" } [actionenabler_base] action = "Build Base" actor_reqs = { "type", "name", "range" "UnitFlag", "Workers", "Local" } target_reqs = { "type", "name", "range" "TerrainAlter", "CanBase", "Tile" } [actionenabler_mining] action = "Build Mine" actor_reqs = { "type", "name", "range" "UnitFlag", "Workers", "Local" } target_reqs = { "type", "name", "range" "TerrainAlter", "CanMine", "Tile" } [actionenabler_irrigate_src_ocean] action = "Build Irrigation" actor_reqs = { "type", "name", "range" "UnitFlag", "Workers", "Local" } target_reqs = { "type", "name", "range" "TerrainClass", "Oceanic", "CAdjacent" "TerrainAlter", "CanIrrigate", "Tile" } [actionenabler_irrigate_src_river] action = "Build Irrigation" actor_reqs = { "type", "name", "range" "UnitFlag", "Workers", "Local" } target_reqs = { "type", "name", "range" "Extra", "River", "CAdjacent" "TerrainAlter", "CanIrrigate", "Tile" } [actionenabler_irrigate_src_irrigation] action = "Build Irrigation" actor_reqs = { "type", "name", "range" "UnitFlag", "Workers", "Local" } target_reqs = { "type", "name", "range" "Extra", "Irrigation", "CAdjacent" "TerrainAlter", "CanIrrigate", "Tile" } [actionenabler_deboard] action = "Transport Deboard" actor_reqs = { "type", "name", "range" "UnitState", "OnLivableTile", "Local" "UnitState", "Transported", "Local" } target_reqs = { "type", "name", "range" "UnitState", "Transporting", "Local" } [actionenabler_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 } [actionenabler_unload] action = "Transport Unload" actor_reqs = { "type", "name", "range" "UnitState", "Transporting", "Local" } target_reqs = { "type", "name", "range" "UnitState", "OnLivableTile", "Local" "UnitState", "Transported", "Local" } [actionenabler_disembark_from_native_tile] action = "Transport Disembark" actor_reqs = { "type", "name", "range" "UnitState", "Transported", "Local" "MinMoveFrags", "1", "Local" "UnitState", "OnNativeTile", "Local" } [actionenabler_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 } [actionenabler_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 } [actionenabler_regular_move] action = "Unit Move" actor_reqs = { "type", "name", "range", "present" "MinMoveFrags", "1", "Local", TRUE "UnitState", "Transported", "Local", FALSE } [actionenabler_hut_enter_from_native_tile] action = "Enter Hut" actor_reqs = { "type", "name", "range", "present" "MinMoveFrags", "1", "Local", TRUE "UnitState", "OnNativeTile", "Local", TRUE } [actionenabler_hut_enter_from_non_native] action = "Enter Hut 2" actor_reqs = { "type", "name", "range", "present" "MinMoveFrags", "1", "Local", TRUE "UnitState", "OnNativeTile", "Local", FALSE } [actionenabler_claim_extra_war_from_native_tile] action = "Conquer Extras" actor_reqs = { "type", "name", "range" "MinMoveFrags", "1", "Local" "DiplRel", "War", "Local" "UnitState", "OnNativeTile", "Local" } [actionenabler_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 } [actionenabler_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 } [actionenabler_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 } [actionenabler_gain_veterancy] action = "Gain Veterancy" actor_reqs = { "type", "name", "range", "present" }