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

 This patch adds option to have resources all over oceans, not just near coast.

 It was earlier discussed that code limiting resources to near coast
should go completely - instead deep ocean terrain type has no
resources defined. After testing I decided that for civ1/civ2/current
default ruleset map looks much nicer when there is no fish or whales
in those shallow ocean tiles that exist far from coast.


 - ML

diff -Nurd -X.diff_ignore freeciv/common/map.h freeciv/common/map.h
--- freeciv/common/map.h        2008-01-15 04:53:46.000000000 +0200
+++ freeciv/common/map.h        2008-08-09 01:15:06.000000000 +0300
@@ -55,6 +55,7 @@
   int steepness;
   int num_start_positions;
   bool have_resources;
+  bool ocean_resources;         /* Resources in the middle of the ocean */
   bool have_huts;
   bool have_rivers_overlay;    /* only applies if !have_resources */
   int num_continents;
diff -Nurd -X.diff_ignore freeciv/data/default/terrain.ruleset 
freeciv/data/default/terrain.ruleset
--- freeciv/data/default/terrain.ruleset        2008-08-07 11:50:56.000000000 
+0300
+++ freeciv/data/default/terrain.ruleset        2008-08-09 01:32:08.000000000 
+0300
@@ -34,6 +34,9 @@
 ; also terrain type(s) with flag "FreshWater" in the ruleset.
 lake_max_size = 14
 
+; There is no resources in the middle of the oceans, only near coast
+ocean_resources = 0
+
 ; special movement costs for rivers:
 ;   0 - normal movement cost for rivers (matches Civ1)
 ;   1 - 1/3 movement cost, but only when moving exactly along rivers,
diff -Nurd -X.diff_ignore freeciv/server/generator/mapgen.c 
freeciv/server/generator/mapgen.c
--- freeciv/server/generator/mapgen.c   2008-08-03 19:54:51.000000000 +0300
+++ freeciv/server/generator/mapgen.c   2008-08-09 01:33:40.000000000 +0300
@@ -1412,7 +1412,8 @@
     if (is_resource_close (ptile) || myrand (1000) > prob) {
       continue;
     }
-    if (!is_ocean(pterrain) || near_safe_tiles (ptile)) {
+    if (!is_ocean(pterrain) || near_safe_tiles (ptile)
+        || map.ocean_resources) {
       int i = 0;
       struct resource **r;
 
diff -Nurd -X.diff_ignore freeciv/server/ruleset.c freeciv/server/ruleset.c
--- freeciv/server/ruleset.c    2008-07-25 00:24:19.000000000 +0300
+++ freeciv/server/ruleset.c    2008-08-09 01:17:30.000000000 +0300
@@ -1691,6 +1691,9 @@
   terrain_control.lake_max_size
     = secfile_lookup_int_default(file, 0,
                                 "parameters.lake_max_size");
+  map.ocean_resources
+    = secfile_lookup_bool_default(file, FALSE,
+                                  "parameters.ocean_resources");
   terrain_control.river_move_mode =
     secfile_lookup_int_default(file, RMV_FAST_STRICT, 
"parameters.river_move_mode");
   terrain_control.river_defense_bonus =
_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to