From 17f3098ed723150f55cf2a0221e755f67046eff9 Mon Sep 17 00:00:00 2001 From: Marko Lindqvist Date: Fri, 21 Apr 2023 22:10:42 +0300 Subject: [PATCH 20/20] civ2civ3/sandbox: Add Storm unit Partly taken from bard's civ2civ3_earth ruleset See osdn #42907 Signed-off-by: Marko Lindqvist --- data/civ2civ3/actions.ruleset | 86 +++--- data/civ2civ3/nations.ruleset | 3 +- data/civ2civ3/terrain.ruleset | 4 +- data/civ2civ3/units.ruleset | 33 +++ data/sandbox/actions.ruleset | 510 ++++++++++++++++++---------------- data/sandbox/nations.ruleset | 3 +- data/sandbox/terrain.ruleset | 4 +- data/sandbox/units.ruleset | 33 +++ 8 files changed, 383 insertions(+), 293 deletions(-) diff --git a/data/civ2civ3/actions.ruleset b/data/civ2civ3/actions.ruleset index 1bbed4155d..bc4e14733f 100644 --- a/data/civ2civ3/actions.ruleset +++ b/data/civ2civ3/actions.ruleset @@ -920,32 +920,34 @@ actor_reqs = [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 + { "type", "name", "range", "present" + "UnitClassFlag", "CanOccupyCity", "Local", TRUE + "UnitFlag", "NonMil", "Local", FALSE + "DiplRel", "War", "Local", TRUE + "MinMoveFrags", "1", "Local", TRUE + "UnitState", "OnLivableTile", "Local", TRUE + "Nation", "Animal Kingdom", "Player", FALSE } target_reqs = - { "type", "name", "range", "present" - "MaxUnitsOnTile", "0", "Tile", TRUE + { "type", "name", "range", "present" + "MaxUnitsOnTile", "0", "Tile", TRUE } [actionenabler_conquer_city_marines] -action = "Conquer City 2" +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 + { "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 + "Nation", "Animal Kingdom", "Player", FALSE } -target_reqs = - { "type", "name", "range", "present" - "MaxUnitsOnTile", "0", "Tile", TRUE +target_reqs = + { "type", "name", "range", "present" + "MaxUnitsOnTile", "0", "Tile", TRUE } [actionenabler_change_home_city] @@ -998,17 +1000,18 @@ target_reqs = } [actionenabler_paradrop_base_to_war_conquer] -action = "Paradrop Unit Enter Conquer" -actor_reqs = - { "type", "name", "range", "present" - "UnitFlag", "Paratroopers", "Local", TRUE - "MinMoveFrags", "6", "Local", TRUE - "UnitState", "Transporting", "Local", FALSE - "ExtraFlag", "ParadropFrom", "Tile", TRUE - "DiplRel", "War", "Local", TRUE - "UnitClassFlag", "CanOccupyCity", "Local", TRUE - "UnitFlag", "NonMil", "Local", FALSE - "UnitClassFlag", "HutFrighten", "Local", FALSE +action = "Paradrop Unit Enter Conquer" +actor_reqs = + { "type", "name", "range", "present" + "UnitFlag", "Paratroopers", "Local", TRUE + "MinMoveFrags", "6", "Local", TRUE + "UnitState", "Transporting", "Local", FALSE + "ExtraFlag", "ParadropFrom", "Tile", TRUE + "DiplRel", "War", "Local", TRUE + "UnitClassFlag", "CanOccupyCity", "Local", TRUE + "UnitFlag", "NonMil", "Local", FALSE + "UnitClassFlag", "HutFrighten", "Local", FALSE + "Nation", "Animal Kingdom", "Player", FALSE } target_reqs = { "type", "name", "range", "present" @@ -1048,17 +1051,18 @@ target_reqs = } [actionenabler_paradrop_city_to_war_conquer] -action = "Paradrop Unit Enter Conquer" -actor_reqs = - { "type", "name", "range", "present" - "UnitFlag", "Paratroopers", "Local", TRUE - "MinMoveFrags", "6", "Local", TRUE - "UnitState", "Transporting", "Local", FALSE - "CityTile", "Center", "Tile", TRUE - "DiplRel", "War", "Local", TRUE - "UnitClassFlag", "CanOccupyCity", "Local", TRUE - "UnitFlag", "NonMil", "Local", FALSE - "UnitClassFlag", "HutFrighten", "Local", FALSE +action = "Paradrop Unit Enter Conquer" +actor_reqs = + { "type", "name", "range", "present" + "UnitFlag", "Paratroopers", "Local", TRUE + "MinMoveFrags", "6", "Local", TRUE + "UnitState", "Transporting", "Local", FALSE + "CityTile", "Center", "Tile", TRUE + "DiplRel", "War", "Local", TRUE + "UnitClassFlag", "CanOccupyCity", "Local", TRUE + "UnitFlag", "NonMil", "Local", FALSE + "UnitClassFlag", "HutFrighten", "Local", FALSE + "Nation", "Animal Kingdom", "Player", FALSE } target_reqs = { "type", "name", "range", "present" diff --git a/data/civ2civ3/nations.ruleset b/data/civ2civ3/nations.ruleset index 81b8f175c3..e9a19a3981 100644 --- a/data/civ2civ3/nations.ruleset +++ b/data/civ2civ3/nations.ruleset @@ -23,7 +23,7 @@ nationlist = "default/nationlist.ruleset" ; List of nations to embed to main nations.ruleset despite separate nationlist ; being used for other nations. -embedded_nations = "Barbarian", "Pirate" +embedded_nations = "Barbarian", "Pirate", "Animal Kingdom" [compatibility] ; Initial government for all the nations that do not @@ -66,3 +66,4 @@ builder_default = 50 ; This ruleset uses model of two separate barbarian nations *include "nation/barbarian.ruleset" *include "nation/pirate.ruleset" +*include "nation/animals.ruleset" diff --git a/data/civ2civ3/terrain.ruleset b/data/civ2civ3/terrain.ruleset index 170e38a4c1..78b7d2f742 100644 --- a/data/civ2civ3/terrain.ruleset +++ b/data/civ2civ3/terrain.ruleset @@ -344,7 +344,7 @@ extra_settings = "Pollution", 3 "Fallout", 3 } -animal = "None" +animal = "Storm" warmer_wetter_result = "no" warmer_drier_result = "no" cooler_wetter_result = "Glacier" @@ -394,7 +394,7 @@ extra_settings = "Pollution", 3 "Fallout", 3 } -animal = "None" +animal = "Storm" warmer_wetter_result = "no" warmer_drier_result = "no" cooler_wetter_result = "no" diff --git a/data/civ2civ3/units.ruleset b/data/civ2civ3/units.ruleset index 4d0fb849b4..d040e74459 100644 --- a/data/civ2civ3/units.ruleset +++ b/data/civ2civ3/units.ruleset @@ -2853,3 +2853,36 @@ The AWACS (Airborne Warning and Control System) is an airplane with an \ advanced radar that can determine the location of enemy units over a \ wide area.\ ") + +[unit_storm] +name = _("Storm") +class = "Sea" +; reqs = +obsolete_by = "None" +graphic = "u.storm" +graphic_alt = "u.galleon" +sound_move = "m_storm" +sound_move_alt = "m_generic" +sound_fight = "f_storm" +sound_fight_alt = "f_generic" +build_cost = 10 +pop_cost = 0 +attack = 0 +defense = 9 +hitpoints = 10 +firepower = 1 +move_rate = 1 +vision_radius_sq = 2 +transport_cap = 0 +fuel = 0 +uk_happy = 0 +uk_shield = 0 +uk_food = 0 +uk_gold = 0 +tp_defense = "Alight" +flags = "NoBuild", "Cant_Fortify", "Unbribable", + "HasNoZOC", "NoVeteran", "RandomMovement" +roles = "" +helptext = _("\ +Storms move randomly at seas.\ +") diff --git a/data/sandbox/actions.ruleset b/data/sandbox/actions.ruleset index dc7e7e6f07..e1989bb138 100644 --- a/data/sandbox/actions.ruleset +++ b/data/sandbox/actions.ruleset @@ -1580,69 +1580,73 @@ actor_reqs = } [actionenabler_conquer_city_native] -action = "Conquer City" +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 - "Building", "Treuga Dei", "World", FALSE + { "type", "name", "range", "present" + "UnitClassFlag", "CanOccupyCity", "Local", TRUE + "UnitFlag", "NonMil", "Local", FALSE + "DiplRel", "War", "Local", TRUE + "MinMoveFrags", "1", "Local", TRUE + "UnitState", "OnLivableTile", "Local", TRUE + "Building", "Treuga Dei", "World", FALSE + "Nation", "Animal Kingdom", "Player", FALSE } -target_reqs = - { "type", "name", "range", "present" - "MaxUnitsOnTile", "0", "Tile", TRUE +target_reqs = + { "type", "name", "range", "present" + "MaxUnitsOnTile", "0", "Tile", TRUE } [actionenabler_conquer_city_native_despite_treuga_dei] -action = "Conquer City" +action = "Conquer City" actor_reqs = - { "type", "name", "range", "present", "survives" - "UnitClassFlag", "CanOccupyCity", "Local", TRUE, FALSE - "UnitFlag", "NonMil", "Local", FALSE, FALSE - "DiplRel", "War", "Local", TRUE, FALSE - "MinMoveFrags", "1", "Local", TRUE, FALSE - "UnitState", "OnLivableTile", "Local", TRUE, FALSE - "Tech", "Communism", "World", TRUE, TRUE + { "type", "name", "range", "present", "survives" + "UnitClassFlag", "CanOccupyCity", "Local", TRUE, FALSE + "UnitFlag", "NonMil", "Local", FALSE, FALSE + "DiplRel", "War", "Local", TRUE, FALSE + "MinMoveFrags", "1", "Local", TRUE, FALSE + "UnitState", "OnLivableTile", "Local", TRUE, FALSE + "Tech", "Communism", "World", TRUE, TRUE + "Nation", "Animal Kingdom", "Player", FALSE, FALSE } -target_reqs = - { "type", "name", "range", "present" - "MaxUnitsOnTile", "0", "Tile", 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 - "Building", "Treuga Dei", "World", FALSE +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 + "Building", "Treuga Dei", "World", FALSE + "Nation", "Animal Kingdom", "Player", FALSE } -target_reqs = - { "type", "name", "range", "present" - "MaxUnitsOnTile", "0", "Tile", TRUE +target_reqs = + { "type", "name", "range", "present" + "MaxUnitsOnTile", "0", "Tile", TRUE } [actionenabler_conquer_city_marines_despite_treuga_dei] -action = "Conquer City 2" -actor_reqs = - { "type", "name", "range", "present", "survives" - "UnitClassFlag", "CanOccupyCity", "Local", TRUE, FALSE - "UnitFlag", "NonMil", "Local", FALSE, FALSE - "DiplRel", "War", "Local", TRUE, FALSE - "MinMoveFrags", "1", "Local", TRUE, FALSE - "UnitFlag", "Marines", "Local", TRUE, FALSE - "UnitState", "OnLivableTile", "Local", FALSE, FALSE - "Tech", "Communism", "World", TRUE, TRUE +action = "Conquer City 2" +actor_reqs = + { "type", "name", "range", "present", "survives" + "UnitClassFlag", "CanOccupyCity", "Local", TRUE, FALSE + "UnitFlag", "NonMil", "Local", FALSE, FALSE + "DiplRel", "War", "Local", TRUE, FALSE + "MinMoveFrags", "1", "Local", TRUE, FALSE + "UnitFlag", "Marines", "Local", TRUE, FALSE + "UnitState", "OnLivableTile", "Local", FALSE, FALSE + "Tech", "Communism", "World", TRUE, TRUE + "Nation", "Animal Kingdom", "Player", FALSE, FALSE } -target_reqs = - { "type", "name", "range", "present" - "MaxUnitsOnTile", "0", "Tile", TRUE +target_reqs = + { "type", "name", "range", "present" + "MaxUnitsOnTile", "0", "Tile", TRUE } [actionenabler_change_home_city] @@ -1706,81 +1710,85 @@ target_reqs = } [actionenabler_paradrop_base_to_war_conquer_not_forest] -action = "Paradrop Unit Enter Conquer" -actor_reqs = - { "type", "name", "range", "present" - "UnitFlag", "Paratroopers", "Local", TRUE - "MinMoveFrags", "6", "Local", TRUE - "UnitState", "Transporting", "Local", FALSE - "ExtraFlag", "ParadropFrom", "Tile", TRUE - "DiplRel", "War", "Local", TRUE - "UnitClassFlag", "CanOccupyCity", "Local", TRUE - "UnitFlag", "NonMil", "Local", FALSE - "UnitClassFlag", "HutFrighten", "Local", FALSE - "Building", "Treuga Dei", "World", FALSE +action = "Paradrop Unit Enter Conquer" +actor_reqs = + { "type", "name", "range", "present" + "UnitFlag", "Paratroopers", "Local", TRUE + "MinMoveFrags", "6", "Local", TRUE + "UnitState", "Transporting", "Local", FALSE + "ExtraFlag", "ParadropFrom", "Tile", TRUE + "DiplRel", "War", "Local", TRUE + "UnitClassFlag", "CanOccupyCity", "Local", TRUE + "UnitFlag", "NonMil", "Local", FALSE + "UnitClassFlag", "HutFrighten", "Local", FALSE + "Building", "Treuga Dei", "World", FALSE + "Nation", "Animal Kingdom", "Player", FALSE } -target_reqs = - { "type", "name", "range", "present" - "TerrainFlag", "DifficultLanding", "Tile", FALSE - "CityTile", "Claimed", "Tile", TRUE +target_reqs = + { "type", "name", "range", "present" + "TerrainFlag", "DifficultLanding", "Tile", FALSE + "CityTile", "Claimed", "Tile", TRUE } [actionenabler_paradrop_base_to_war_conquer_not_forest_despite_treuga_dei] -action = "Paradrop Unit Enter Conquer" -actor_reqs = - { "type", "name", "range", "present", "survives" - "UnitFlag", "Paratroopers", "Local", TRUE, FALSE - "MinMoveFrags", "6", "Local", TRUE, FALSE - "UnitState", "Transporting", "Local", FALSE, FALSE - "ExtraFlag", "ParadropFrom", "Tile", TRUE, FALSE - "DiplRel", "War", "Local", TRUE, FALSE - "UnitClassFlag", "CanOccupyCity", "Local", TRUE, FALSE - "UnitFlag", "NonMil", "Local", FALSE, FALSE - "UnitClassFlag", "HutFrighten", "Local", FALSE, FALSE - "Tech", "Communism", "World", TRUE, TRUE +action = "Paradrop Unit Enter Conquer" +actor_reqs = + { "type", "name", "range", "present", "survives" + "UnitFlag", "Paratroopers", "Local", TRUE, FALSE + "MinMoveFrags", "6", "Local", TRUE, FALSE + "UnitState", "Transporting", "Local", FALSE, FALSE + "ExtraFlag", "ParadropFrom", "Tile", TRUE, FALSE + "DiplRel", "War", "Local", TRUE, FALSE + "UnitClassFlag", "CanOccupyCity", "Local", TRUE, FALSE + "UnitFlag", "NonMil", "Local", FALSE, FALSE + "UnitClassFlag", "HutFrighten", "Local", FALSE, FALSE + "Tech", "Communism", "World", TRUE, TRUE + "Nation", "Animal Kingdom", "Player", FALSE, FALSE } -target_reqs = - { "type", "name", "range", "present" - "TerrainFlag", "DifficultLanding", "Tile", FALSE - "CityTile", "Claimed", "Tile", TRUE +target_reqs = + { "type", "name", "range", "present" + "TerrainFlag", "DifficultLanding", "Tile", FALSE + "CityTile", "Claimed", "Tile", TRUE } [actionenabler_paradrop_base_to_unclaimed_base_not_forest] -action = "Paradrop Unit Enter Conquer" +action = "Paradrop Unit Enter Conquer" actor_reqs = - { "type", "name", "range", "present" - "UnitFlag", "Paratroopers", "Local", TRUE - "MinMoveFrags", "6", "Local", TRUE - "UnitState", "Transporting", "Local", FALSE - "ExtraFlag", "ParadropFrom", "Tile", TRUE - "UnitClassFlag", "HutFrighten", "Local", FALSE - "Building", "Treuga Dei", "World", FALSE + { "type", "name", "range", "present" + "UnitFlag", "Paratroopers", "Local", TRUE + "MinMoveFrags", "6", "Local", TRUE + "UnitState", "Transporting", "Local", FALSE + "ExtraFlag", "ParadropFrom", "Tile", TRUE + "UnitClassFlag", "HutFrighten", "Local", FALSE + "Building", "Treuga Dei", "World", FALSE + "Nation", "Animal Kingdom", "Player", FALSE } -target_reqs = - { "type", "name", "range", "present" - "TerrainFlag", "DifficultLanding", "Tile", FALSE - "CityTile", "Claimed", "Tile", FALSE - "CityTile", "Center", "Tile", FALSE - "Extra", "Castle", "Tile", TRUE +target_reqs = + { "type", "name", "range", "present" + "TerrainFlag", "DifficultLanding", "Tile", FALSE + "CityTile", "Claimed", "Tile", FALSE + "CityTile", "Center", "Tile", FALSE + "Extra", "Castle", "Tile", TRUE } [actionenabler_paradrop_base_to_unclaimed_base_not_forest_despite_treuga_dei] -action = "Paradrop Unit Enter Conquer" +action = "Paradrop Unit Enter Conquer" actor_reqs = - { "type", "name", "range", "present", "survives" - "UnitFlag", "Paratroopers", "Local", TRUE, FALSE - "MinMoveFrags", "6", "Local", TRUE, FALSE - "UnitState", "Transporting", "Local", FALSE, FALSE - "ExtraFlag", "ParadropFrom", "Tile", TRUE, FALSE - "UnitClassFlag", "HutFrighten", "Local", FALSE, FALSE - "Tech", "Communism", "World", TRUE, TRUE + { "type", "name", "range", "present", "survives" + "UnitFlag", "Paratroopers", "Local", TRUE, FALSE + "MinMoveFrags", "6", "Local", TRUE, FALSE + "UnitState", "Transporting", "Local", FALSE, FALSE + "ExtraFlag", "ParadropFrom", "Tile", TRUE, FALSE + "UnitClassFlag", "HutFrighten", "Local", FALSE, FALSE + "Tech", "Communism", "World", TRUE, TRUE + "Nation", "Animal Kingdom", "Player", FALSE, FALSE } -target_reqs = - { "type", "name", "range", "present" - "TerrainFlag", "DifficultLanding", "Tile", FALSE - "CityTile", "Claimed", "Tile", FALSE - "CityTile", "Center", "Tile", FALSE - "Extra", "Castle", "Tile", TRUE +target_reqs = + { "type", "name", "range", "present" + "TerrainFlag", "DifficultLanding", "Tile", FALSE + "CityTile", "Claimed", "Tile", FALSE + "CityTile", "Center", "Tile", FALSE + "Extra", "Castle", "Tile", TRUE } [actionenabler_paradrop_veteran_base_to_claimed] @@ -1819,56 +1827,59 @@ target_reqs = } [actionenabler_paradrop_veteran_base_to_war_conquer] -action = "Paradrop Unit Enter Conquer" -actor_reqs = - { "type", "name", "range", "present" - "UnitFlag", "Paratroopers", "Local", TRUE - "MinMoveFrags", "6", "Local", TRUE - "UnitState", "Transporting", "Local", FALSE - "MinVeteran", 1, "Local", TRUE - "ExtraFlag", "ParadropFrom", "Tile", TRUE - "DiplRel", "War", "Local", TRUE - "UnitClassFlag", "CanOccupyCity", "Local", TRUE - "UnitFlag", "NonMil", "Local", FALSE - "UnitClassFlag", "HutFrighten", "Local", FALSE - "Building", "Treuga Dei", "World", FALSE +action = "Paradrop Unit Enter Conquer" +actor_reqs = + { "type", "name", "range", "present" + "UnitFlag", "Paratroopers", "Local", TRUE + "MinMoveFrags", "6", "Local", TRUE + "UnitState", "Transporting", "Local", FALSE + "MinVeteran", 1, "Local", TRUE + "ExtraFlag", "ParadropFrom", "Tile", TRUE + "DiplRel", "War", "Local", TRUE + "UnitClassFlag", "CanOccupyCity", "Local", TRUE + "UnitFlag", "NonMil", "Local", FALSE + "UnitClassFlag", "HutFrighten", "Local", FALSE + "Building", "Treuga Dei", "World", FALSE + "Nation", "Animal Kingdom", "Player", FALSE } -target_reqs = - { "type", "name", "range", "present" - "CityTile", "Claimed", "Tile", TRUE +target_reqs = + { "type", "name", "range", "present" + "CityTile", "Claimed", "Tile", TRUE } [actionenabler_paradrop_veteran_base_to_war_conquer_despite_treuga_dei] -action = "Paradrop Unit Enter Conquer" -actor_reqs = - { "type", "name", "range", "present", "survives" - "UnitFlag", "Paratroopers", "Local", TRUE, FALSE - "MinMoveFrags", "6", "Local", TRUE, FALSE - "UnitState", "Transporting", "Local", FALSE, FALSE - "MinVeteran", 1, "Local", TRUE, FALSE - "ExtraFlag", "ParadropFrom", "Tile", TRUE, FALSE - "DiplRel", "War", "Local", TRUE, FALSE - "UnitClassFlag", "CanOccupyCity", "Local", TRUE, FALSE - "UnitFlag", "NonMil", "Local", FALSE, FALSE - "UnitClassFlag", "HutFrighten", "Local", FALSE - "Tech", "Communism", "World", TRUE, TRUE +action = "Paradrop Unit Enter Conquer" +actor_reqs = + { "type", "name", "range", "present", "survives" + "UnitFlag", "Paratroopers", "Local", TRUE, FALSE + "MinMoveFrags", "6", "Local", TRUE, FALSE + "UnitState", "Transporting", "Local", FALSE, FALSE + "MinVeteran", 1, "Local", TRUE, FALSE + "ExtraFlag", "ParadropFrom", "Tile", TRUE, FALSE + "DiplRel", "War", "Local", TRUE, FALSE + "UnitClassFlag", "CanOccupyCity", "Local", TRUE, FALSE + "UnitFlag", "NonMil", "Local", FALSE, FALSE + "UnitClassFlag", "HutFrighten", "Local", FALSE, FALSE + "Tech", "Communism", "World", TRUE, TRUE + "Nation", "Animal Kingdom", "Player", FALSE, FALSE } -target_reqs = - { "type", "name", "range", "present" - "CityTile", "Claimed", "Tile", TRUE +target_reqs = + { "type", "name", "range", "present" + "CityTile", "Claimed", "Tile", TRUE } [actionenabler_paradrop_veteran_base_to_unclaimed_base] -action = "Paradrop Unit Enter Conquer" -actor_reqs = - { "type", "name", "range", "present" - "UnitFlag", "Paratroopers", "Local", TRUE - "MinMoveFrags", "6", "Local", TRUE - "UnitState", "Transporting", "Local", FALSE - "MinVeteran", 1, "Local", TRUE - "ExtraFlag", "ParadropFrom", "Tile", TRUE - "UnitClassFlag", "HutFrighten", "Local", FALSE - "Building", "Treuga Dei", "World", FALSE +action = "Paradrop Unit Enter Conquer" +actor_reqs = + { "type", "name", "range", "present" + "UnitFlag", "Paratroopers", "Local", TRUE + "MinMoveFrags", "6", "Local", TRUE + "UnitState", "Transporting", "Local", FALSE + "MinVeteran", 1, "Local", TRUE + "ExtraFlag", "ParadropFrom", "Tile", TRUE + "UnitClassFlag", "HutFrighten", "Local", FALSE + "Building", "Treuga Dei", "World", FALSE + "Nation", "Animal Kingdom", "Player", FALSE } target_reqs = { "type", "name", "range", "present" @@ -1878,16 +1889,17 @@ target_reqs = } [actionenabler_paradrop_veteran_base_to_unclaimed_base_despite_treuga_dei] -action = "Paradrop Unit Enter Conquer" -actor_reqs = - { "type", "name", "range", "present", "survives" - "UnitFlag", "Paratroopers", "Local", TRUE, FALSE - "MinMoveFrags", "6", "Local", TRUE, FALSE - "UnitState", "Transporting", "Local", FALSE, FALSE - "MinVeteran", 1, "Local", TRUE, FALSE - "ExtraFlag", "ParadropFrom", "Tile", TRUE, FALSE - "UnitClassFlag", "HutFrighten", "Local", FALSE, FALSE - "Tech", "Communism", "World", TRUE, TRUE +action = "Paradrop Unit Enter Conquer" +actor_reqs = + { "type", "name", "range", "present", "survives" + "UnitFlag", "Paratroopers", "Local", TRUE, FALSE + "MinMoveFrags", "6", "Local", TRUE, FALSE + "UnitState", "Transporting", "Local", FALSE, FALSE + "MinVeteran", 1, "Local", TRUE, FALSE + "ExtraFlag", "ParadropFrom", "Tile", TRUE, FALSE + "UnitClassFlag", "HutFrighten", "Local", FALSE, FALSE + "Tech", "Communism", "World", TRUE, TRUE + "Nation", "Animal Kingdom", "Player", FALSE, FALSE } target_reqs = { "type", "name", "range", "present" @@ -1932,81 +1944,85 @@ target_reqs = } [actionenabler_paradrop_city_to_war_conquer_not_forest] -action = "Paradrop Unit Enter Conquer" -actor_reqs = - { "type", "name", "range", "present" - "UnitFlag", "Paratroopers", "Local", TRUE - "MinMoveFrags", "6", "Local", TRUE - "UnitState", "Transporting", "Local", FALSE - "CityTile", "Center", "Tile", TRUE - "DiplRel", "War", "Local", TRUE - "UnitClassFlag", "CanOccupyCity", "Local", TRUE - "UnitFlag", "NonMil", "Local", FALSE - "UnitClassFlag", "HutFrighten", "Local", FALSE - "Building", "Treuga Dei", "World", FALSE +action = "Paradrop Unit Enter Conquer" +actor_reqs = + { "type", "name", "range", "present" + "UnitFlag", "Paratroopers", "Local", TRUE + "MinMoveFrags", "6", "Local", TRUE + "UnitState", "Transporting", "Local", FALSE + "CityTile", "Center", "Tile", TRUE + "DiplRel", "War", "Local", TRUE + "UnitClassFlag", "CanOccupyCity", "Local", TRUE + "UnitFlag", "NonMil", "Local", FALSE + "UnitClassFlag", "HutFrighten", "Local", FALSE + "Building", "Treuga Dei", "World", FALSE + "Nation", "Animal Kingdom", "Player", FALSE } -target_reqs = - { "type", "name", "range", "present" - "CityTile", "Claimed", "Tile", TRUE - "TerrainFlag", "DifficultLanding", "Tile", FALSE +target_reqs = + { "type", "name", "range", "present" + "CityTile", "Claimed", "Tile", TRUE + "TerrainFlag", "DifficultLanding", "Tile", FALSE } [actionenabler_paradrop_city_to_war_conquer_not_forest_despite_treuga_dei] -action = "Paradrop Unit Enter Conquer" -actor_reqs = - { "type", "name", "range", "present", "survives" - "UnitFlag", "Paratroopers", "Local", TRUE, FALSE - "MinMoveFrags", "6", "Local", TRUE, FALSE - "UnitState", "Transporting", "Local", FALSE, FALSE - "CityTile", "Center", "Tile", TRUE, FALSE - "DiplRel", "War", "Local", TRUE, FALSE - "UnitClassFlag", "CanOccupyCity","Local", TRUE, FALSE - "UnitFlag", "NonMil", "Local", FALSE, FALSE - "UnitClassFlag", "HutFrighten", "Local", FALSE, FALSE - "Tech", "Communism", "World", TRUE, TRUE +action = "Paradrop Unit Enter Conquer" +actor_reqs = + { "type", "name", "range", "present", "survives" + "UnitFlag", "Paratroopers", "Local", TRUE, FALSE + "MinMoveFrags", "6", "Local", TRUE, FALSE + "UnitState", "Transporting", "Local", FALSE, FALSE + "CityTile", "Center", "Tile", TRUE, FALSE + "DiplRel", "War", "Local", TRUE, FALSE + "UnitClassFlag", "CanOccupyCity", "Local", TRUE, FALSE + "UnitFlag", "NonMil", "Local", FALSE, FALSE + "UnitClassFlag", "HutFrighten", "Local", FALSE, FALSE + "Tech", "Communism", "World", TRUE, TRUE + "Nation", "Animal Kingdom", "Player", FALSE, FALSE } -target_reqs = - { "type", "name", "range", "present" - "CityTile", "Claimed", "Tile", TRUE - "TerrainFlag", "DifficultLanding", "Tile", FALSE +target_reqs = + { "type", "name", "range", "present" + "CityTile", "Claimed", "Tile", TRUE + "TerrainFlag", "DifficultLanding", "Tile", FALSE } [actionenabler_paradrop_city_to_unclaimed_base_not_forest] -action = "Paradrop Unit Enter Conquer" +action = "Paradrop Unit Enter Conquer" actor_reqs = - { "type", "name", "range", "present" - "UnitFlag", "Paratroopers", "Local", TRUE - "MinMoveFrags", "6", "Local", TRUE - "UnitState", "Transporting", "Local", FALSE - "CityTile", "Center", "Tile", TRUE - "UnitClassFlag", "HutFrighten", "Local", FALSE - "Building", "Treuga Dei", "World", FALSE + { "type", "name", "range", "present" + "UnitFlag", "Paratroopers", "Local", TRUE + "MinMoveFrags", "6", "Local", TRUE + "UnitState", "Transporting", "Local", FALSE + "CityTile", "Center", "Tile", TRUE + "UnitClassFlag", "HutFrighten", "Local", FALSE + "Building", "Treuga Dei", "World", FALSE + "Nation", "Animal Kingdom", "Player", FALSE } -target_reqs = - { "type", "name", "range", "present" - "CityTile", "Claimed", "Tile", FALSE - "TerrainFlag", "DifficultLanding", "Tile", FALSE - "CityTile", "Center", "Tile", FALSE - "Extra", "Castle", "Tile", TRUE +target_reqs = + { "type", "name", "range", "present" + "CityTile", "Claimed", "Tile", FALSE + "TerrainFlag", "DifficultLanding", "Tile", FALSE + "CityTile", "Center", "Tile", FALSE + "Extra", "Castle", "Tile", TRUE } [actionenabler_paradrop_city_to_unclaimed_base_not_forest_despite_treuga_dei] -action = "Paradrop Unit Enter Conquer" +action = "Paradrop Unit Enter Conquer" actor_reqs = - { "type", "name", "range", "present", "survives" - "UnitFlag", "Paratroopers", "Local", TRUE, FALSE - "MinMoveFrags", "6", "Local", TRUE, FALSE - "UnitState", "Transporting", "Local", FALSE, FALSE - "CityTile", "Center", "Tile", TRUE, FALSE - "UnitClassFlag", "HutFrighten", "Local", FALSE, FALSE - "Tech", "Communism", "World", TRUE, TRUE + { "type", "name", "range", "present", "survives" + "UnitFlag", "Paratroopers", "Local", TRUE, FALSE + "MinMoveFrags", "6", "Local", TRUE, FALSE + "UnitState", "Transporting", "Local", FALSE, FALSE + "CityTile", "Center", "Tile", TRUE, FALSE + "UnitClassFlag", "HutFrighten", "Local", FALSE, FALSE + "Tech", "Communism", "World", TRUE, TRUE + "Nation", "Animal Kingdom", "Player", FALSE, FALSE } -target_reqs = - { "type", "name", "range", "present" - "CityTile", "Claimed", "Tile", FALSE - "TerrainFlag", "DifficultLanding", "Tile", FALSE - "CityTile", "Center", "Tile", FALSE - "Extra", "Castle", "Tile", TRUE +target_reqs = + { "type", "name", "range", "present" + "CityTile", "Claimed", "Tile", FALSE + "TerrainFlag", "DifficultLanding", "Tile", FALSE + "CityTile", "Center", "Tile", FALSE + "Extra", "Castle", "Tile", TRUE } [actionenabler_paradrop_veteran_city_to_claimed] @@ -2045,19 +2061,20 @@ target_reqs = } [actionenabler_paradrop_veteran_city_to_war_conquer] -action = "Paradrop Unit Enter Conquer" -actor_reqs = - { "type", "name", "range", "present" - "UnitFlag", "Paratroopers", "Local", TRUE - "MinMoveFrags", "6", "Local", TRUE - "UnitState", "Transporting", "Local", FALSE - "MinVeteran", 1, "Local", TRUE - "CityTile", "Center", "Tile", TRUE - "DiplRel", "War", "Local", TRUE - "UnitClassFlag", "CanOccupyCity","Local", TRUE - "UnitFlag", "NonMil", "Local", FALSE - "UnitClassFlag", "HutFrighten", "Local", FALSE - "Building", "Treuga Dei", "World", FALSE +action = "Paradrop Unit Enter Conquer" +actor_reqs = + { "type", "name", "range", "present" + "UnitFlag", "Paratroopers", "Local", TRUE + "MinMoveFrags", "6", "Local", TRUE + "UnitState", "Transporting", "Local", FALSE + "MinVeteran", 1, "Local", TRUE + "CityTile", "Center", "Tile", TRUE + "DiplRel", "War", "Local", TRUE + "UnitClassFlag", "CanOccupyCity", "Local", TRUE + "UnitFlag", "NonMil", "Local", FALSE + "UnitClassFlag", "HutFrighten", "Local", FALSE + "Building", "Treuga Dei", "World", FALSE + "Nation", "Animal Kingdom", "Player", FALSE } target_reqs = { "type", "name", "range", "present" @@ -2065,19 +2082,20 @@ target_reqs = } [actionenabler_paradrop_veteran_city_to_war_conquer_despite_treuga_dei] -action = "Paradrop Unit Enter Conquer" -actor_reqs = - { "type", "name", "range", "present", "survives" - "UnitFlag", "Paratroopers", "Local", TRUE, FALSE - "MinMoveFrags", "6", "Local", TRUE, FALSE - "UnitState", "Transporting", "Local", FALSE, FALSE - "MinVeteran", 1, "Local", TRUE, FALSE - "CityTile", "Center", "Tile", TRUE, FALSE - "DiplRel", "War", "Local", TRUE, FALSE - "UnitClassFlag", "CanOccupyCity","Local", TRUE, FALSE - "UnitFlag", "NonMil", "Local", FALSE, FALSE - "UnitClassFlag", "HutFrighten", "Local", FALSE, FALSE - "Tech", "Communism", "World", TRUE, TRUE +action = "Paradrop Unit Enter Conquer" +actor_reqs = + { "type", "name", "range", "present", "survives" + "UnitFlag", "Paratroopers", "Local", TRUE, FALSE + "MinMoveFrags", "6", "Local", TRUE, FALSE + "UnitState", "Transporting", "Local", FALSE, FALSE + "MinVeteran", 1, "Local", TRUE, FALSE + "CityTile", "Center", "Tile", TRUE, FALSE + "DiplRel", "War", "Local", TRUE, FALSE + "UnitClassFlag", "CanOccupyCity", "Local", TRUE, FALSE + "UnitFlag", "NonMil", "Local", FALSE, FALSE + "UnitClassFlag", "HutFrighten", "Local", FALSE, FALSE + "Tech", "Communism", "World", TRUE, TRUE + "Nation", "Animal Kingdom", "Player", FALSE, FALSE } target_reqs = { "type", "name", "range", "present" diff --git a/data/sandbox/nations.ruleset b/data/sandbox/nations.ruleset index 5a509538f7..7279cb565b 100644 --- a/data/sandbox/nations.ruleset +++ b/data/sandbox/nations.ruleset @@ -23,7 +23,7 @@ nationlist = "default/nationlist.ruleset" ; List of nations to embed to main nations.ruleset despite separate nationlist ; being used for other nations. -embedded_nations = "Barbarian" +embedded_nations = "Barbarian", "Animal Kingdom" [compatibility] ; Initial government for all the nations that do not @@ -65,3 +65,4 @@ builder_default = 50 *include "default/nationlist.ruleset" ; This ruleset uses model of single barbarian nation *include "nation/singlebarbarian.ruleset" +*include "nation/animals.ruleset" diff --git a/data/sandbox/terrain.ruleset b/data/sandbox/terrain.ruleset index fa5b9bfd50..1f9f2d8271 100644 --- a/data/sandbox/terrain.ruleset +++ b/data/sandbox/terrain.ruleset @@ -345,7 +345,7 @@ extra_settings = "Pollution", 3 "Fallout", 3 } -animal = "None" +animal = "Storm" warmer_wetter_result = "no" warmer_drier_result = "no" cooler_wetter_result = "Glacier" @@ -395,7 +395,7 @@ extra_settings = "Pollution", 3 "Fallout", 3 } -animal = "None" +animal = "Storm" warmer_wetter_result = "no" warmer_drier_result = "no" cooler_wetter_result = "no" diff --git a/data/sandbox/units.ruleset b/data/sandbox/units.ruleset index 6172b8e05b..daf48e8671 100644 --- a/data/sandbox/units.ruleset +++ b/data/sandbox/units.ruleset @@ -3034,3 +3034,36 @@ The AWACS (Airborne Warning and Control System) is an airplane with an \ advanced radar that can determine the location of enemy units over a \ wide area.\ ") + +[unit_storm] +name = _("Storm") +class = "Sea" +; reqs = +obsolete_by = "None" +graphic = "u.storm" +graphic_alt = "u.galleon" +sound_move = "m_storm" +sound_move_alt = "m_generic" +sound_fight = "f_storm" +sound_fight_alt = "f_generic" +build_cost = 10 +pop_cost = 0 +attack = 0 +defense = 9 +hitpoints = 10 +firepower = 1 +move_rate = 1 +vision_radius_sq = 2 +transport_cap = 0 +fuel = 0 +uk_happy = 0 +uk_shield = 0 +uk_food = 0 +uk_gold = 0 +tp_defense = "Alight" +flags = "NoBuild", "Cant_Fortify", "Unbribable", + "HasNoZOC", "NoVeteran", "RandomMovement" +roles = "" +helptext = _("\ +Storms move randomly at seas.\ +") -- 2.39.2