Project

General

Profile

Feature #635 ยป 0015-civ1-Replace-UnitFlag-with-UnitTypeFlag.patch

Marko Lindqvist, 08/13/2024 05:53 AM

View differences:

data/civ1/actions.ruleset
"DiplRel", "War", "Local", TRUE
"MinMoveFrags", "1", "Local", TRUE
; Not a good idea to nuke our own area.
"UnitFlag", "Nuclear", "Local", FALSE
"UnitTypeFlag", "Nuclear", "Local", FALSE
}
attack_actions = "Collect Ransom", "Attack", "Suicide Attack"
......
[enabler_sabotage_city]
action = "Sabotage City"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Diplomat", "Local"
"DiplRel", "War", "Local"
"UnitState", "OnLivableTile", "Local"
"MinMoveFrags", "1", "Local"
{ "type", "name", "range"
"UnitTypeFlag", "Diplomat", "Local"
"DiplRel", "War", "Local"
"UnitState", "OnLivableTile", "Local"
"MinMoveFrags", "1", "Local"
}
[enabler_establish_embassy]
action = "Establish Embassy Stay"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Diplomat", "Local", TRUE
"UnitTypeFlag", "Diplomat", "Local", TRUE
"UnitState", "OnLivableTile", "Local", TRUE
"MinMoveFrags", "1", "Local", TRUE
"DiplRel", "Foreign", "Local", TRUE
......
[enabler_investigate_city]
action = "Investigate City Spend Unit"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Diplomat", "Local"
"UnitState", "OnLivableTile", "Local"
"MinMoveFrags", "1", "Local"
"DiplRel", "Foreign", "Local"
{ "type", "name", "range"
"UnitTypeFlag", "Diplomat", "Local"
"UnitState", "OnLivableTile", "Local"
"MinMoveFrags", "1", "Local"
"DiplRel", "Foreign", "Local"
}
[enabler_steal_tech_random]
action = "Steal Tech"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Diplomat", "Local"
"UnitState", "OnLivableTile", "Local"
"MinMoveFrags", "1", "Local"
"DiplRel", "Foreign", "Local"
{ "type", "name", "range"
"UnitTypeFlag", "Diplomat", "Local"
"UnitState", "OnLivableTile", "Local"
"MinMoveFrags", "1", "Local"
"DiplRel", "Foreign", "Local"
}
target_reqs =
{ "type", "name", "range", "present"
......
[enabler_incite_city]
action = "Incite City"
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
{ "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"
......
[enabler_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
{ "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"
......
[enabler_trade_route]
action = "Establish Trade Route"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "TradeRoute", "Local", TRUE
"UnitState", "HasHomeCity", "Local", TRUE
{ "type", "name", "range", "present"
"UnitTypeFlag", "TradeRoute", "Local", TRUE
"UnitState", "HasHomeCity", "Local", TRUE
}
[enabler_marketplace]
action = "Enter Marketplace"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "TradeRoute", "Local", TRUE
"UnitState", "HasHomeCity", "Local", TRUE
{ "type", "name", "range", "present"
"UnitTypeFlag", "TradeRoute", "Local", TRUE
"UnitState", "HasHomeCity", "Local", TRUE
}
[enabler_help_build_wonder]
action = "Help Wonder"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "HelpWonder", "Local", TRUE
"DiplRel", "Foreign", "Local", FALSE
{ "type", "name", "range", "present"
"UnitTypeFlag", "HelpWonder", "Local", TRUE
"DiplRel", "Foreign", "Local", FALSE
}
target_reqs =
{ "type", "name", "range"
......
[enabler_build_city_pioneer]
action = "Found City"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Cities", "Local"
"UnitState", "OnLivableTile", "Local"
"MinMoveFrags", "1", "Local"
{ "type", "name", "range"
"UnitTypeFlag", "Cities", "Local"
"UnitState", "OnLivableTile", "Local"
"MinMoveFrags", "1", "Local"
}
target_reqs =
{ "type", "name", "range", "present"
......
[enabler_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
{ "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"
......
[enabler_join_city]
action = "Join City"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "AddToCity", "Local", TRUE
"DiplRel", "Foreign", "Local", FALSE
"MinMoveFrags", "1", "Local", TRUE
{ "type", "name", "range", "present"
"UnitTypeFlag", "AddToCity", "Local", TRUE
"DiplRel", "Foreign", "Local", FALSE
"MinMoveFrags", "1", "Local", TRUE
}
[enabler_nuke]
action = "Explode Nuclear"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Nuclear", "Local", TRUE
{ "type", "name", "range", "present"
"UnitTypeFlag", "Nuclear", "Local", TRUE
}
[enabler_nuke_city]
action = "Nuke City"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Nuclear", "Local"
"UnitTypeFlag", "Nuclear", "Local"
"MinMoveFrags", "1", "Local"
"DiplRel", "War", "Local"
}
......
action = "Nuke Units"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Nuclear", "Local"
"UnitTypeFlag", "Nuclear", "Local"
"MinMoveFrags", "1", "Local"
"DiplRel", "War", "Local"
}
......
action = "Attack"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "NonMil", "Local", FALSE
"UnitTypeFlag", "NonMil", "Local", FALSE
"UnitClassFlag", "Missile", "Local", FALSE
"MinMoveFrags", "1", "Local", TRUE
"UnitState", "OnNativeTile", "Local", TRUE
......
action = "Attack"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "NonMil", "Local", FALSE
"UnitTypeFlag", "NonMil", "Local", FALSE
"UnitClassFlag", "Missile", "Local", FALSE
"MinMoveFrags", "1", "Local", TRUE
"UnitClass", "Sea", "Local", TRUE
......
action = "Collect Ransom"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "NonMil", "Local", FALSE
"UnitTypeFlag", "NonMil", "Local", FALSE
"UnitClassFlag", "Missile", "Local", FALSE
"MinMoveFrags", "1", "Local", TRUE
"UnitState", "OnNativeTile", "Local", TRUE
......
action = "Collect Ransom"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "NonMil", "Local", FALSE
"UnitTypeFlag", "NonMil", "Local", FALSE
"UnitClassFlag", "Missile", "Local", FALSE
"MinMoveFrags", "1", "Local", TRUE
"UnitClass", "Sea", "Local", TRUE
......
action = "Suicide Attack"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "NonMil", "Local", FALSE
"UnitTypeFlag", "NonMil", "Local", FALSE
"UnitClassFlag", "Missile", "Local", TRUE
"MinMoveFrags", "1", "Local", TRUE
"DiplRel", "War", "Local", TRUE
......
[enabler_conquer_city_native]
action = "Conquer City Shrink"
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
{ "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"
......
[enabler_cultivate]
action = "Cultivate"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Workers", "Local", TRUE
{ "type", "name", "range", "present"
"UnitTypeFlag", "Workers", "Local", TRUE
}
[enabler_plant]
action = "Plant"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Workers", "Local", TRUE
{ "type", "name", "range", "present"
"UnitTypeFlag", "Workers", "Local", TRUE
}
target_reqs =
{ "type", "name", "range", "present"
......
[enabler_clean]
action = "Clean"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Workers", "Local", TRUE
{ "type", "name", "range", "present"
"UnitTypeFlag", "Workers", "Local", TRUE
}
[enabler_fortify_terrain]
......
actor_reqs =
{ "type", "name", "range", "present"
"UnitClassFlag", "CanFortify", "Local", TRUE
"UnitFlag", "Cant_Fortify", "Local", FALSE
"UnitTypeFlag", "Cant_Fortify", "Local", FALSE
"TerrainFlag", "NoFortify", "Tile", FALSE
"Activity", "Fortified", "Local", FALSE
}
......
actor_reqs =
{ "type", "name", "range", "present"
"UnitClassFlag", "CanFortify", "Local", TRUE
"UnitFlag", "Cant_Fortify", "Local", FALSE
"UnitTypeFlag", "Cant_Fortify", "Local", FALSE
"CityTile", "Center", "Tile", TRUE
"Activity", "Fortified", "Local", FALSE
}
......
[enabler_road]
action = "Build Road"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
{ "type", "name", "range"
"UnitTypeFlag", "Workers", "Local"
}
target_reqs =
{ "type", "name", "range"
......
[enabler_base]
action = "Build Base"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
{ "type", "name", "range"
"UnitTypeFlag", "Workers", "Local"
}
target_reqs =
{ "type", "name", "range"
......
[enabler_mining]
action = "Build Mine"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
{ "type", "name", "range"
"UnitTypeFlag", "Workers", "Local"
}
target_reqs =
{ "type", "name", "range"
......
[enabler_irrigate_src_ocean]
action = "Build Irrigation"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
{ "type", "name", "range"
"UnitTypeFlag", "Workers", "Local"
}
target_reqs =
{ "type", "name", "range"
......
[enabler_irrigate_src_river]
action = "Build Irrigation"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
{ "type", "name", "range"
"UnitTypeFlag", "Workers", "Local"
}
target_reqs =
{ "type", "name", "range"
......
[enabler_irrigate_src_irrigation]
action = "Build Irrigation"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
{ "type", "name", "range"
"UnitTypeFlag", "Workers", "Local"
}
target_reqs =
{ "type", "name", "range"
......
[enabler_gain_veterancy]
action = "Gain Veterancy"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "NoVeteran", "Local", FALSE
{ "type", "name", "range", "present"
"UnitTypeFlag", "NoVeteran", "Local", FALSE
}
data/civ1/effects.ruleset
type = "Unit_Bribe_Cost_Pct"
value = -50
reqs =
{ "type", "name", "range"
"UnitFlag", "Cities", "Local"
{ "type", "name", "range"
"UnitTypeFlag", "Cities", "Local"
}
[effect_illegal_action_move_cost_base]
......
type = "Action_Success_Actor_Move_Cost"
value = 65535
reqs =
{ "type", "name", "range", "quiet"
"Action", "Attack", "Local", TRUE
"UnitFlag", "OneAttack", "Local", TRUE
{ "type", "name", "range", "quiet"
"Action", "Attack", "Local", TRUE
"UnitTypeFlag", "OneAttack", "Local", TRUE
}
[effect_action_success_attack_normal]
type = "Action_Success_Actor_Move_Cost"
value = 3
reqs =
{ "type", "name", "range", "present"
"Action", "Attack", "Local", TRUE
"UnitFlag", "OneAttack", "Local", FALSE
{ "type", "name", "range", "present"
"Action", "Attack", "Local", TRUE
"UnitTypeFlag", "OneAttack", "Local", FALSE
}
[effect_action_success_ransom_one_attack]
type = "Action_Success_Actor_Move_Cost"
value = 65535
reqs =
{ "type", "name", "range", "quiet"
"Action", "Collect Ransom", "Local", TRUE
"UnitFlag", "OneAttack", "Local", TRUE
{ "type", "name", "range", "quiet"
"Action", "Collect Ransom", "Local", TRUE
"UnitTypeFlag", "OneAttack", "Local", TRUE
}
[effect_action_success_ransom]
type = "Action_Success_Actor_Move_Cost"
value = 3
reqs =
{ "type", "name", "range", "present"
"Action", "Collect Ransom", "Local", TRUE
"UnitFlag", "OneAttack", "Local", FALSE
{ "type", "name", "range", "present"
"Action", "Collect Ransom", "Local", TRUE
"UnitTypeFlag", "OneAttack", "Local", FALSE
}
[effect_unit_shield_value_recycle]
data/civ1/terrain.ruleset
rmact_gfx_alt = "-"
rmact_gfx_alt2 = "-"
reqs =
{ "type", "name", "range", "present", "quiet"
"Tech", "Construction", "Player", TRUE, FALSE
"TerrainClass", "Land", "Tile", TRUE, FALSE
"UnitFlag", "Workers", "Local", TRUE, FALSE
"CityTile", "Center", "Tile", FALSE, TRUE
{ "type", "name", "range", "present", "quiet"
"Tech", "Construction", "Player", TRUE, FALSE
"TerrainClass", "Land", "Tile", TRUE, FALSE
"UnitTypeFlag", "Workers", "Local", TRUE, FALSE
"CityTile", "Center", "Tile", FALSE, TRUE
}
build_time = 3
removal_time = 0
......
rmact_gfx_alt = "-"
rmact_gfx_alt2 = "-"
reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
"TerrainClass", "Land", "Tile"
{ "type", "name", "range"
"UnitTypeFlag", "Workers", "Local"
"TerrainClass", "Land", "Tile"
}
build_time = 0
removal_time = 0
......
rmact_gfx_alt = "-"
rmact_gfx_alt2 = "-"
reqs =
{ "type", "name", "range", "present"
"Tech", "Railroad", "Player", TRUE
"Extra", "Road", "Tile", TRUE
"UnitFlag", "Workers", "Local", TRUE
"TerrainClass", "Land", "Tile", TRUE
"CityTile", "Center", "Tile", FALSE
{ "type", "name", "range", "present"
"Tech", "Railroad", "Player", TRUE
"Extra", "Road", "Tile", TRUE
"UnitTypeFlag", "Workers", "Local", TRUE
"TerrainClass", "Land", "Tile", TRUE
"CityTile", "Center", "Tile", FALSE
}
build_time = 3
removal_time = 0
    (1-1/1)