From ce6e781aeda5b5fb78b30ce0f424340364fb2093 Mon Sep 17 00:00:00 2001 From: Marko Lindqvist Date: Wed, 27 Sep 2023 20:53:03 +0300 Subject: [PATCH 22/22] civ2civ3: Add "Aerial" unit class flag Simplifies effect requirement lists. See osdn #47737 Signed-off-by: Marko Lindqvist --- data/civ2civ3/effects.ruleset | 76 +++++++++-------------------------- data/civ2civ3/units.ruleset | 10 +++-- 2 files changed, 26 insertions(+), 60 deletions(-) diff --git a/data/civ2civ3/effects.ruleset b/data/civ2civ3/effects.ruleset index 21daaf6326..1da12326f0 100644 --- a/data/civ2civ3/effects.ruleset +++ b/data/civ2civ3/effects.ruleset @@ -259,17 +259,9 @@ reqs = type = "Defend_Bonus" value = 50 reqs = - { "type", "name", "range", "present" - "Extra", "Fort", "Local", TRUE -; "UnitClass", "Land", "Local", FALSE -; "UnitClass", "Small Land", "Local", FALSE -; "UnitClass", "Big Land", "Local", FALSE -; "UnitClass", "Merchant", "Local", FALSE -; "UnitClass", "Sea", "Local", FALSE -; "UnitClass", "Trireme", "Local", FALSE - "UnitClass", "Helicopter", "Local", FALSE - "UnitClass", "Air", "Local", FALSE - "UnitClass", "Missile", "Local", FALSE + { "type", "name", "range", "present" + "Extra", "Fort", "Local", TRUE + "UnitClassFlag", "Aerial", "Local", FALSE } ; Cumulative with fort @@ -282,22 +274,15 @@ reqs = "Extra", "Fortress", "Local", TRUE } -; Airstrip HP regen (Every Air unit) +; Airstrip HP regen (All Aerial units except Missiles) [effect_airstrip_hp_regen] type = "HP_Regen" value = 10 reqs = - { "type", "name", "range", "present" - "Extra", "Airstrip", "Local", TRUE - "UnitClass", "Land", "Local", FALSE - "UnitClass", "Small Land", "Local", FALSE - "UnitClass", "Big Land", "Local", FALSE - "UnitClass", "Merchant", "Local", FALSE - "UnitClass", "Sea", "Local", FALSE - "UnitClass", "Trireme", "Local", FALSE -; "UnitClass", "Helicopter", "Local", FALSE -; "UnitClass", "Air", "Local", FALSE - "UnitClass", "Missile", "Local", FALSE + { "type", "name", "range", "present" + "Extra", "Airstrip", "Local", TRUE + "UnitClassFlag", "Aerial", "Local", TRUE + "UnitClassFlag", "Missile", "Local", FALSE } ; Airbase HP regen: cumulative with airstrip @@ -307,34 +292,19 @@ reqs = type = "HP_Regen" value = 24 reqs = - { "type", "name", "range", "present" - "Extra", "Airbase", "Local", TRUE - "UnitClass", "Land", "Local", FALSE - "UnitClass", "Small Land", "Local", FALSE - "UnitClass", "Big Land", "Local", FALSE - "UnitClass", "Merchant", "Local", FALSE - "UnitClass", "Sea", "Local", FALSE - "UnitClass", "Trireme", "Local", FALSE -; "UnitClass", "Helicopter", "Local", FALSE -; "UnitClass", "Air", "Local", FALSE - "UnitClass", "Missile", "Local", FALSE + { "type", "name", "range", "present" + "Extra", "Airbase", "Local", TRUE + "UnitClassFlag", "Aerial", "Local", TRUE + "UnitClassFlag", "Missile", "Local", FALSE } [effect_airstrip_defense] type = "Defend_Bonus" value = 50 reqs = - { "type", "name", "range", "present" - "Extra", "Airstrip", "Local", TRUE - "UnitClass", "Land", "Local", FALSE - "UnitClass", "Small Land", "Local", FALSE - "UnitClass", "Big Land", "Local", FALSE - "UnitClass", "Merchant", "Local", FALSE - "UnitClass", "Sea", "Local", FALSE - "UnitClass", "Trireme", "Local", FALSE -; "UnitClass", "Helicopter", "Local", FALSE -; "UnitClass", "Air", "Local", FALSE -; "UnitClass", "Missile", "Local", FALSE + { "type", "name", "range" + "Extra", "Airstrip", "Local" + "UnitClassFlag", "Aerial", "Local" } ; Cumulative with airstrip @@ -1859,18 +1829,10 @@ reqs = type = "Defend_Bonus" value = 50 reqs = - { "type", "name", "range", "present" - "MinSize", "9", "City", TRUE - "CityTile", "Center", "Local", TRUE -; "UnitClass", "Land", "Local", FALSE -; "UnitClass", "Small Land", "Local", FALSE -; "UnitClass", "Big Land", "Local", FALSE -; "UnitClass", "Merchant", "Local", FALSE -; "UnitClass", "Sea", "Local", FALSE -; "UnitClass", "Trireme", "Local", FALSE - "UnitClass", "Helicopter", "Local", FALSE - "UnitClass", "Air", "Local", FALSE - "UnitClass", "Missile", "Local", FALSE + { "type", "name", "range", "present" + "MinSize", "9", "City", TRUE + "CityTile", "Center", "Local", TRUE + "UnitClassFlag", "Aerial", "Local", FALSE } ; Every Land diff --git a/data/civ2civ3/units.ruleset b/data/civ2civ3/units.ruleset index 8c62497c05..c594ab7f0b 100644 --- a/data/civ2civ3/units.ruleset +++ b/data/civ2civ3/units.ruleset @@ -56,6 +56,7 @@ class_flags = _("AttFromNonNative"), _("Can launch attack from non-native tiles.") _("Barracks"), _("Benefits from barracks") _("Ground"), _("Ground units") + _("Aerial"), _("Aerial units") } [veteran_system] @@ -146,7 +147,8 @@ name = _("?unitclass:Missile") min_speed = 0 hp_loss_pct = 0 hut_behavior = "Frighten" -flags = "Missile", "Unreachable", "DoesntOccupyTile", "Airliftable" +flags = "Missile", "Unreachable", "DoesntOccupyTile", "Airliftable", + "Aerial" [unitclass_land] ; /* TRANS: Unit class: used adjectivally */ @@ -202,7 +204,8 @@ flags = "ZOC", "DamageSlows", "AttFromNonNative" name = _("?unitclass:Helicopter") min_speed = 1 hp_loss_pct = 10 -flags = "Unreachable", "DoesntOccupyTile", "CanOccupyCity", "CollectRansom", "Airliftable" +flags = "Unreachable", "DoesntOccupyTile", "CanOccupyCity", "CollectRansom", "Airliftable", + "Aerial" [unitclass_air] ; /* TRANS: Unit class: used adjectivally */ @@ -210,7 +213,8 @@ name = _("?unitclass:Air") min_speed = 1 hp_loss_pct = 10 hut_behavior = "Frighten" -flags = "Unreachable", "DoesntOccupyTile", "CanPillage", "Airliftable" +flags = "Unreachable", "DoesntOccupyTile", "CanPillage", "Airliftable", + "Aerial" ; /* <-- avoid gettext warnings ; -- 2.40.1