Project

General

Profile

Feature #632 ยป 0010-alien-Replace-UnitFlag-with-UnitTypeFlag.patch

Marko Lindqvist, 06/29/2024 11:26 AM

View differences:

data/alien/actions.ruleset
[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_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_capture]
action = "Capture Units"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Capturer", "Local", TRUE
"DiplRel", "War", "Local", TRUE
"MinMoveFrags", "1", "Local", TRUE
"DiplRel", "Foreign", "Local", TRUE
{ "type", "name", "range", "present"
"UnitTypeFlag", "Capturer", "Local", TRUE
"DiplRel", "War", "Local", TRUE
"MinMoveFrags", "1", "Local", TRUE
"DiplRel", "Foreign", "Local", TRUE
}
target_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Capturable", "Local", TRUE
"UnitState", "Transporting", "Local", FALSE
"CityTile", "Center", "Tile", FALSE
{ "type", "name", "range", "present"
"UnitTypeFlag", "Capturable", "Local", TRUE
"UnitState", "Transporting", "Local", FALSE
"CityTile", "Center", "Tile", FALSE
}
[enabler_bombard_city]
action = "Bombard"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Bombarder", "Local", TRUE
"UnitTypeFlag", "Bombarder", "Local", TRUE
"UnitState", "Transported", "Local", FALSE
"MinMoveFrags", "1", "Local", TRUE
"DiplRel", "War", "Local", TRUE
......
action = "Bombard"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Bombarder", "Local", TRUE
"UnitTypeFlag", "Bombarder", "Local", TRUE
"UnitState", "Transported", "Local", FALSE
"MinMoveFrags", "1", "Local", TRUE
"DiplRel", "War", "Local", TRUE
......
[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"
......
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
......
actor_reqs =
{ "type", "name", "range", "present"
"UnitClassFlag", "CanOccupyCity", "Local", TRUE
"UnitFlag", "NonMil", "Local", FALSE
"UnitTypeFlag", "NonMil", "Local", FALSE
"DiplRel", "War", "Local", TRUE
"MinMoveFrags", "1", "Local", TRUE
"UnitState", "OnLivableTile", "Local", TRUE
......
action = "Paradrop Unit Enter"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Paratroopers", "Local", TRUE
"UnitTypeFlag", "Paratroopers", "Local", TRUE
"MinMoveFrags", "4", "Local", TRUE
"UnitState", "Transporting", "Local", FALSE
"Extra", "Antigrav Base", "Tile", TRUE
......
action = "Paradrop Unit Enter"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Paratroopers", "Local", TRUE
"UnitTypeFlag", "Paratroopers", "Local", TRUE
"MinMoveFrags", "4", "Local", TRUE
"UnitState", "Transporting", "Local", FALSE
"Extra", "Antigrav Base", "Tile", TRUE
......
action = "Paradrop Unit Enter Conquer"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Paratroopers", "Local", TRUE
"UnitTypeFlag", "Paratroopers", "Local", TRUE
"MinMoveFrags", "4", "Local", TRUE
"UnitState", "Transporting", "Local", FALSE
"Extra", "Antigrav Base", "Tile", TRUE
"DiplRel", "War", "Local", TRUE
"UnitClassFlag", "CanOccupyCity", "Local", TRUE
"UnitFlag", "NonMil", "Local", FALSE
"UnitTypeFlag", "NonMil", "Local", FALSE
}
target_reqs =
{ "type", "name", "range", "present"
......
action = "Paradrop Unit Enter"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Paratroopers", "Local", TRUE
"UnitTypeFlag", "Paratroopers", "Local", TRUE
"MinMoveFrags", "4", "Local", TRUE
"UnitState", "Transporting", "Local", FALSE
"CityTile", "Center", "Tile", TRUE
......
action = "Paradrop Unit Enter"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Paratroopers", "Local", TRUE
"UnitTypeFlag", "Paratroopers", "Local", TRUE
"MinMoveFrags", "4", "Local", TRUE
"UnitState", "Transporting", "Local", FALSE
"CityTile", "Center", "Tile", TRUE
......
action = "Paradrop Unit Enter Conquer"
actor_reqs =
{ "type", "name", "range", "present"
"UnitFlag", "Paratroopers", "Local", TRUE
"UnitTypeFlag", "Paratroopers", "Local", TRUE
"MinMoveFrags", "4", "Local", TRUE
"UnitState", "Transporting", "Local", FALSE
"CityTile", "Center", "Tile", TRUE
"DiplRel", "War", "Local", TRUE
"UnitClassFlag", "CanOccupyCity", "Local", TRUE
"UnitFlag", "NonMil", "Local", FALSE
"UnitTypeFlag", "NonMil", "Local", FALSE
}
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
}
[enabler_pillage]
......
[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", "present"
......
[enabler_mine_mountains]
action = "Build Mine"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
"Tech", "Burrowing", "Player"
{ "type", "name", "range"
"UnitTypeFlag", "Workers", "Local"
"Tech", "Burrowing", "Player"
}
target_reqs =
{ "type", "name", "range"
......
action = "Build Irrigation"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
"UnitTypeFlag", "Workers", "Local"
"Tech", "Manufacturing", "Player"
}
target_reqs =
......
[enabler_irrigate_src_green_river]
action = "Build Irrigation"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
"Tech", "Manufacturing", "Player"
{ "type", "name", "range"
"UnitTypeFlag", "Workers", "Local"
"Tech", "Manufacturing", "Player"
}
target_reqs =
{ "type", "name", "range"
......
[enabler_irrigate_src_brown_river]
action = "Build Irrigation"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
"Tech", "Manufacturing", "Player"
{ "type", "name", "range"
"UnitTypeFlag", "Workers", "Local"
"Tech", "Manufacturing", "Player"
}
target_reqs =
{ "type", "name", "range"
......
[enabler_irrigate_src_green_river_adjacent]
action = "Build Irrigation"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
"Tech", "Water Flow", "Player"
{ "type", "name", "range"
"UnitTypeFlag", "Workers", "Local"
"Tech", "Water Flow", "Player"
}
target_reqs =
{ "type", "name", "range"
......
[enabler_irrigate_src_brown_river_adjacent]
action = "Build Irrigation"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
"Tech", "Water Flow", "Player"
{ "type", "name", "range"
"UnitTypeFlag", "Workers", "Local"
"Tech", "Water Flow", "Player"
}
target_reqs =
{ "type", "name", "range"
......
[enabler_irrigate_src_citycenter]
action = "Build Irrigation"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
"Tech", "Water Flow", "Player"
{ "type", "name", "range"
"UnitTypeFlag", "Workers", "Local"
"Tech", "Water Flow", "Player"
}
target_reqs =
{ "type", "name", "range"
......
[enabler_irrigate_src_deep_pumping]
action = "Build Irrigation"
actor_reqs =
{ "type", "name", "range"
"UnitFlag", "Workers", "Local"
"Tech", "Deep Pumping", "Player"
{ "type", "name", "range"
"UnitTypeFlag", "Workers", "Local"
"Tech", "Deep Pumping", "Player"
}
target_reqs =
{ "type", "name", "range"
data/alien/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]
......
"CityTile", "Center", "Tile", TRUE
"Activity", "Fortified", "Local", FALSE
"UnitClassFlag", "CanFortify", "Local", TRUE
"UnitFlag", "Cant_Fortify", "Local", FALSE
"UnitTypeFlag", "Cant_Fortify", "Local", FALSE
}
[effect_city_min_hp]
data/alien/nation_effects.ruleset
type = "Veteran_Build"
value = 1
reqs =
{ "type", "name", "range"
"Nation", "Secret Society", "Player"
"UnitFlag", "Diplomat", "Local"
{ "type", "name", "range"
"Nation", "Secret Society", "Player"
"UnitTypeFlag", "Diplomat", "Local"
}
[effect_secret_society_trade]
data/alien/terrain.ruleset
rmact_gfx_alt = "-"
rmact_gfx_alt2 = "-"
reqs =
{ "type", "name", "range", "present", "quiet"
"Tech", "Strong Force", "Player", TRUE, FALSE
"TerrainClass", "Land", "Tile", TRUE, FALSE
"UnitFlag", "Workers", "Local", TRUE, FALSE
"CityTile", "Center", "Tile", FALSE, TRUE
{ "type", "name", "range", "present", "quiet"
"Tech", "Strong Force", "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", "present", "quiet"
"Tech", "Force Channeling", "Player", TRUE, FALSE
"TerrainClass", "Land", "Tile", TRUE, FALSE
"UnitFlag", "Workers", "Local", TRUE, FALSE
"CityTile", "Center", "Tile", FALSE, TRUE
{ "type", "name", "range", "present", "quiet"
"Tech", "Force Channeling", "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", "present", "quiet"
"Tech", "Commercial Antigravity", "Player", TRUE, FALSE
"TerrainClass", "Land", "Tile", TRUE, FALSE
"UnitFlag", "Workers", "Local", TRUE, FALSE
"CityTile", "Center", "Tile", FALSE, TRUE
{ "type", "name", "range", "present", "quiet"
"Tech", "Commercial Antigravity", "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"
"Tech", "Brute Force", "Player"
"Extra", "Road", "Tile"
"UnitFlag", "Workers", "Local"
"TerrainClass", "Land", "Tile"
{ "type", "name", "range"
"Tech", "Brute Force", "Player"
"Extra", "Road", "Tile"
"UnitTypeFlag", "Workers", "Local"
"TerrainClass", "Land", "Tile"
}
build_time = 3
removal_time = 0
......
rmact_gfx_alt = "-"
rmact_gfx_alt2 = "-"
reqs =
{ "type", "name", "range"
"Tech", "Maglev", "Player"
"Extra", "Highway", "Tile"
"UnitFlag", "Workers", "Local"
"TerrainClass", "Land", "Tile"
{ "type", "name", "range"
"Tech", "Maglev", "Player"
"Extra", "Highway", "Tile"
"UnitTypeFlag", "Workers", "Local"
"TerrainClass", "Land", "Tile"
}
build_time = 3
removal_time = 0
......
rmact_gfx_alt = "-"
rmact_gfx_alt2 = "-"
reqs =
{ "type", "name", "range"
"Tech", "Strong Resistance", "Player"
"UnitFlag", "Workers", "Local"
"TerrainFlag", "Radiating", "Tile"
"TerrainClass", "Land", "Tile" ; Needed explicitly for automatic move type assignment
{ "type", "name", "range"
"Tech", "Strong Resistance", "Player"
"UnitTypeFlag", "Workers", "Local"
"TerrainFlag", "Radiating", "Tile"
"TerrainClass", "Land", "Tile" ; Needed explicitly for automatic move type assignment
}
build_time = 3
removal_time = 0
......
rmact_gfx_alt = "-"
rmact_gfx_alt2 = "-"
reqs =
{ "type", "name", "range"
"Tech", "Burrowing", "Player"
"UnitFlag", "Workers", "Local"
"TerrainClass", "Oceanic", "Tile"
{ "type", "name", "range"
"Tech", "Burrowing", "Player"
"UnitTypeFlag", "Workers", "Local"
"TerrainClass", "Oceanic", "Tile"
}
build_time = 3
removal_time = 0
    (1-1/1)