<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
[email protected]
https://mail.gna.org/listinfo/freeciv-dev