<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