<URL: http://bugs.freeciv.org/Ticket/Display.html?id=37344 >

 This removes hardcoded restriction that bases cannot be built to
ocean squares. Instead TerrainClass requirements (introduced in
#37277) are added to rulesets.


 - ML

diff -Nurd -X.diff_ignore freeciv/common/unit.c freeciv/common/unit.c
--- freeciv/common/unit.c	2007-03-02 15:10:46.000000000 +0200
+++ freeciv/common/unit.c	2007-03-02 15:18:25.000000000 +0200
@@ -832,14 +832,12 @@
   case ACTIVITY_FORTRESS:
     pbase = tile_get_base(ptile);
     return (can_build_base(punit, base_type_get_by_id(BASE_FORTRESS), ptile)
-	    && (pbase == NULL || pbase->id != BASE_FORTRESS)
-	    && !is_ocean(ptile->terrain));
+	    && (pbase == NULL || pbase->id != BASE_FORTRESS));
 
   case ACTIVITY_AIRBASE:
     pbase = tile_get_base(ptile);
     return (can_build_base(punit, base_type_get_by_id(BASE_AIRBASE), ptile)
-	    && (pbase == NULL || pbase->id != BASE_AIRBASE)
-	    && !is_ocean(ptile->terrain));
+	    && (pbase == NULL || pbase->id != BASE_AIRBASE));
 
   case ACTIVITY_SENTRY:
     if (!can_unit_survive_at_tile(punit, punit->tile)
diff -Nurd -X.diff_ignore freeciv/data/civ1/terrain.ruleset freeciv/data/civ1/terrain.ruleset
--- freeciv/data/civ1/terrain.ruleset	2007-03-02 15:10:39.000000000 +0200
+++ freeciv/data/civ1/terrain.ruleset	2007-03-02 15:19:08.000000000 +0200
@@ -616,6 +616,7 @@
 reqs        =
     { "type", "name", "range"
       "Tech", "Construction", "Player"
+      "TerrainClass", "Land", "Local"
     }
 flags       = "NoAggressive", "DefenseBonus", "Watchtower", "ClaimTerritory",
               "NoStackDeath", "DiplomatDefense"
diff -Nurd -X.diff_ignore freeciv/data/civ2/terrain.ruleset freeciv/data/civ2/terrain.ruleset
--- freeciv/data/civ2/terrain.ruleset	2007-03-02 15:10:39.000000000 +0200
+++ freeciv/data/civ2/terrain.ruleset	2007-03-02 15:18:55.000000000 +0200
@@ -708,6 +708,7 @@
 reqs        =
     { "type", "name", "range"
       "Tech", "Construction", "Player"
+      "TerrainClass", "Land", "Local"
     }
 flags       = "NoAggressive", "DefenseBonus", "Watchtower", "ClaimTerritory",
               "NoStackDeath", "DiplomatDefense"
@@ -717,6 +718,7 @@
 reqs        =
     { "type", "name", "range"
       "Tech", "Radio", "Player"
+      "TerrainClass", "Land", "Local"
     }
 flags       = "NoStackDeath", "DiplomatDefense", "Refuel", "NoHPLoss",
               "AttackUnreachable", "ParadropFrom"
diff -Nurd -X.diff_ignore freeciv/data/default/terrain.ruleset freeciv/data/default/terrain.ruleset
--- freeciv/data/default/terrain.ruleset	2007-03-02 15:10:39.000000000 +0200
+++ freeciv/data/default/terrain.ruleset	2007-03-02 15:17:12.000000000 +0200
@@ -775,6 +775,7 @@
 reqs        =
     { "type", "name", "range"
       "Tech", "Construction", "Player"
+      "TerrainClass", "Land", "Local"
     }
 flags       = "NoAggressive", "DefenseBonus", "Watchtower", "ClaimTerritory",
               "NoStackDeath", "DiplomatDefense"
@@ -784,6 +785,7 @@
 reqs        =
     { "type", "name", "range"
       "Tech", "Radio", "Player"
+      "TerrainClass", "Land", "Local"
     }
 flags       = "NoStackDeath", "DiplomatDefense", "Refuel", "NoHPLoss",
               "AttackUnreachable", "ParadropFrom"
_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to