Complete.Org: Mailing Lists: Archives: freeciv-dev: February 2003:
[Freeciv-Dev] (PR#3367) Some fixes to the waste patch that has been comm
Home

[Freeciv-Dev] (PR#3367) Some fixes to the waste patch that has been comm

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: undisclosed-recipients:;
Subject: [Freeciv-Dev] (PR#3367) Some fixes to the waste patch that has been committed
From: "Davide Pagnin via RT" <rt@xxxxxxxxxxxxxx>
Date: Sun, 9 Feb 2003 11:18:29 -0800
Reply-to: rt.freeciv.org@xxxxxxxxxxxxxx

The waste support, added some days ago, has some flaws.

1) It lacks description in the appropriate government.ruleset for the
*_max_distance_cap configurable parameter

2) It lacks defaults for all of those parameters in all the rulesets

3) It lacks appropriate default for civ2 compatibility in
civ2/governments.ruleset

4) The use of max_distance_cap instead of corruption_max_distance_cap
isn't appropriate because, even if the name will be longer, it has to be
clear that the parameter does apply on to corruption.

This is the overall resume of the patch.

NOTE: Mixed in the between there are also changes to the default for
government corruption applied to the civ2.ruleset, those changes are
little fixes to the previous commited one and are appropriate to the
waste appropriate.

NOTE for Per: You have committed the waste patch, so, can you take a
look to this patch and have it applied ASAP? 
(With needed code style changes, if any are needed)

        Ciao, Davide

diff -urN -Xfreeciv/diff_ignore freeciv/common/city.c freeciv-work/common/city.c
--- freeciv/common/city.c       Thu Feb  6 23:59:55 2003
+++ freeciv-work/common/city.c  Sun Feb  9 18:07:32 2003
@@ -2162,10 +2162,10 @@
   } else {
     capital = find_palace(city_owner(pcity));
     if (!capital)
-      dist = g->max_distance_cap;
+      dist = g->corruption_max_distance_cap;
     else {
       int tmp = real_map_distance(capital->x, capital->y, pcity->x, pcity->y);
-      dist = MIN(g->max_distance_cap, tmp);
+      dist = MIN(g->corruption_max_distance_cap, tmp);
     }
   }
   dist =
diff -urN -Xfreeciv/diff_ignore freeciv/common/government.h 
freeciv-work/common/government.h
--- freeciv/common/government.h Thu Feb  6 23:59:55 2003
+++ freeciv-work/common/government.h    Sun Feb  9 18:07:56 2003
@@ -134,7 +134,7 @@
   int   fixed_corruption_distance;
   int   corruption_distance_factor;
   int   extra_corruption_distance;
-  int   max_distance_cap;
+  int   corruption_max_distance_cap;
   
   /* waste modifiers, see governments.ruleset for more detail */
   int   waste_level;
diff -urN -Xfreeciv/diff_ignore freeciv/common/packets.c 
freeciv-work/common/packets.c
--- freeciv/common/packets.c    Thu Feb  6 23:59:55 2003
+++ freeciv-work/common/packets.c       Sun Feb  9 18:07:12 2003
@@ -2477,7 +2477,7 @@
   dio_put_uint8(&dout, packet->fixed_corruption_distance);
   dio_put_uint8(&dout, packet->corruption_distance_factor);
   dio_put_uint8(&dout, packet->extra_corruption_distance);
-  dio_put_uint8(&dout, packet->max_distance_cap);
+  dio_put_uint8(&dout, packet->corruption_max_distance_cap);
   
   dio_put_uint8(&dout, packet->waste_level);
   dio_put_uint8(&dout, packet->waste_modifier);
@@ -2570,7 +2570,7 @@
   dio_get_uint8(&din, &packet->fixed_corruption_distance);
   dio_get_uint8(&din, &packet->corruption_distance_factor);
   dio_get_uint8(&din, &packet->extra_corruption_distance);
-  dio_get_uint8(&din, &packet->max_distance_cap);
+  dio_get_uint8(&din, &packet->corruption_max_distance_cap);
   
   dio_get_uint8(&din, &packet->waste_level);
   dio_get_uint8(&din, &packet->waste_modifier);
diff -urN -Xfreeciv/diff_ignore freeciv/common/packets.h 
freeciv-work/common/packets.h
--- freeciv/common/packets.h    Thu Feb  6 23:59:55 2003
+++ freeciv-work/common/packets.h       Sun Feb  9 18:08:06 2003
@@ -757,7 +757,7 @@
   int fixed_corruption_distance;
   int corruption_distance_factor;
   int extra_corruption_distance;
-  int max_distance_cap;
+  int corruption_max_distance_cap;
   
   int waste_level;
   int waste_modifier;
diff -urN -Xfreeciv/diff_ignore freeciv/data/civ1/governments.ruleset 
freeciv-work/data/civ1/governments.ruleset
--- freeciv/data/civ1/governments.ruleset       Thu Feb  6 23:59:55 2003
+++ freeciv-work/data/civ1/governments.ruleset  Sun Feb  9 18:26:41 2003
@@ -74,17 +74,19 @@
 
 ; corruption:
  
-; _level           = percentage factor applied to corruption; 
-;                   if 0, Courthouse effect changes
-; _modifier        = non-zero divisor to corruption; higher value 
-;                   means less corruption 
-;                   TODO: why have both level and modifier??
-; _fixed_distance  = if non-zero, used instead of actual calculation of 
-;                   distance from Palace; also used for distances in 
-;                   unit and city bribe cost calculations
-; _distance_factor = multiply distance by this factor for corruption 
-;                   (but not bribe costs)
-; _extra_distance  = add this to distance after applying distance factor
+; _level            = percentage factor applied to corruption; 
+;                    if 0, Courthouse effect changes
+; _modifier         = non-zero divisor to corruption; higher value 
+;                    means less corruption 
+;                    TODO: why have both level and modifier??
+; _fixed_distance   = if non-zero, used instead of actual calculation of 
+;                    distance from Palace; also used for distances in 
+;                    unit and city bribe cost calculations
+; _distance_factor  = multiply distance by this factor for corruption 
+;                    (but not bribe costs)
+; _extra_distance   = add this to distance after applying distance factor
+; _max_distance_cap = cap to the max distance from the capital used in
+;                     corruption calculation
 
 ; waste:
 
@@ -94,6 +96,8 @@
 ;                            distance from Palace;                  
 ; _distance_factor   = multiply distance by this factor for waste
 ; _extra_distance    = add this to distance after applying distance factor
+; _max_distance_cap  = cap to the max distance from the capital used in
+;                      waste calculation
 
 ; production_*_bonus   = added to base production for each worked tile;
 ;                       second value is used instead when city is celebrating
@@ -136,17 +140,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 40
-corruption_fixed_distance  = 0
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
+corruption_level            = 100
+corruption_modifier         = 40
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 36
 
 waste_level                = 0
 waste_modifier             = 1
 waste_fixed_distance       = 0
 waste_distance_factor      = 0 
 waste_extra_distance       = 0 
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 0, 0
 production_shield_bonus   = 0, 0
@@ -212,17 +218,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 27
-corruption_fixed_distance  = 0
-corruption_distance_factor = 2 
-corruption_extra_distance  = 3 
+corruption_level            = 100
+corruption_modifier         = 27
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 2 
+corruption_extra_distance   = 3 
+corruption_max_distance_cap = 36
 
 waste_level                = 0
 waste_modifier             = 1
 waste_fixed_distance       = 0
 waste_distance_factor      = 0 
 waste_extra_distance       = 0  
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 0, 0
 production_shield_bonus   = 0, 0
@@ -287,17 +295,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 67
-corruption_fixed_distance  = 0
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
+corruption_level            = 100
+corruption_modifier         = 67
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 36
 
 waste_level                = 0
 waste_modifier             = 1
 waste_fixed_distance       = 0
 waste_distance_factor      = 0 
 waste_extra_distance       = 0 
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 0, 1
 production_shield_bonus   = 0, 0
@@ -361,17 +371,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 50
-corruption_modifier        = 80
-corruption_fixed_distance  = 10
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
+corruption_level            = 50
+corruption_modifier         = 80
+corruption_fixed_distance   = 10
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 36
 
 waste_level                = 0
 waste_modifier             = 1
 waste_fixed_distance       = 0
 waste_distance_factor      = 0 
 waste_extra_distance       = 0 
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 0, 1
 production_shield_bonus   = 0, 0
@@ -442,17 +454,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 67
-corruption_fixed_distance  = 0
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
+corruption_level            = 100
+corruption_modifier         = 67
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 36
 
 waste_level                = 0
 waste_modifier             = 1
 waste_fixed_distance       = 0
 waste_distance_factor      = 0 
 waste_extra_distance       = 0 
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 1, 1
 production_shield_bonus   = 0, 0
@@ -526,17 +540,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 0
-corruption_modifier        = 1
-corruption_fixed_distance  = 0
-corruption_distance_factor = 0 
-corruption_extra_distance  = 0 
+corruption_level            = 0
+corruption_modifier         = 1
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 0 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 36
 
 waste_level                = 0
 waste_modifier             = 1
 waste_fixed_distance       = 0
 waste_distance_factor      = 0 
 waste_extra_distance       = 0 
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 1, 1
 production_shield_bonus   = 0, 0
diff -urN -Xfreeciv/diff_ignore freeciv/data/civ2/governments.ruleset 
freeciv-work/data/civ2/governments.ruleset
--- freeciv/data/civ2/governments.ruleset       Thu Feb  6 23:59:55 2003
+++ freeciv-work/data/civ2/governments.ruleset  Sun Feb  9 18:27:11 2003
@@ -72,17 +72,19 @@
 
 ; corruption:
  
-; _level           = percentage factor applied to corruption; 
-;                   if 0, Courthouse effect changes
-; _modifier        = non-zero divisor to corruption; higher value 
-;                   means less corruption 
-;                   TODO: why have both level and modifier??
-; _fixed_distance  = if non-zero, used instead of actual calculation of 
-;                   distance from Palace; also used for distances in 
-;                   unit and city bribe cost calculations
-; _distance_factor = multiply distance by this factor for corruption 
-;                   (but not bribe costs)
-; _extra_distance  = add this to distance after applying distance factor
+; _level            = percentage factor applied to corruption; 
+;                    if 0, Courthouse effect changes
+; _modifier         = non-zero divisor to corruption; higher value 
+;                    means less corruption 
+;                    TODO: why have both level and modifier??
+; _fixed_distance   = if non-zero, used instead of actual calculation of 
+;                    distance from Palace; also used for distances in 
+;                    unit and city bribe cost calculations
+; _distance_factor  = multiply distance by this factor for corruption 
+;                    (but not bribe costs)
+; _extra_distance   = add this to distance after applying distance factor
+; _max_distance_cap = cap to the max distance from the capital used in
+;                     corruption calculation
 
 ; waste:
 
@@ -92,6 +94,8 @@
 ;                            distance from Palace;                  
 ; _distance_factor   = multiply distance by this factor for waste
 ; _extra_distance    = add this to distance after applying distance factor
+; _max_distance_cap  = cap to the max distance from the capital used in
+;                      waste calculation
 
 ; production_*_bonus   = added to base production for each worked tile;
 ;                       second value is used instead when city is celebrating
@@ -134,17 +138,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 27
-corruption_fixed_distance  = 5
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
-
-waste_level                = 100
-waste_modifier             = 27
-waste_fixed_distance       = 5
+corruption_level            = 30
+corruption_modifier         = 8
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 5 
+corruption_max_distance_cap = 32
+
+waste_level                = 30
+waste_modifier             = 8
+waste_fixed_distance       = 0
 waste_distance_factor      = 1 
-waste_extra_distance       = 0 
+waste_extra_distance       = 5 
+waste_max_distance_cap     = 16
 
 production_trade_bonus    = 0, 0
 production_shield_bonus   = 0, 0
@@ -210,17 +216,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 33
-corruption_fixed_distance  = 0
-corruption_distance_factor = 1 
-corruption_extra_distance  = 5 
+corruption_level            = 30
+corruption_modifier         = 10
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 5 
+corruption_max_distance_cap = 32
 
-waste_level                = 100
-waste_modifier             = 33
+waste_level                = 30
+waste_modifier             = 10
 waste_fixed_distance       = 0
 waste_distance_factor      = 1 
 waste_extra_distance       = 5 
+waste_max_distance_cap     = 16
 
 production_trade_bonus    = 0, 0
 production_shield_bonus   = 0, 0
@@ -287,17 +295,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 40
-corruption_fixed_distance  = 0
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
+corruption_level            = 30
+corruption_modifier         = 12
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 32
 
-waste_level                = 100
-waste_modifier             = 40
+waste_level                = 30
+waste_modifier             = 24
 waste_fixed_distance       = 0
 waste_distance_factor      = 1 
 waste_extra_distance       = 0 
+waste_max_distance_cap     = 16
 
 production_trade_bonus    = 0, 1
 production_shield_bonus   = 0, 0
@@ -363,17 +373,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 1
-corruption_modifier        = 100
-corruption_fixed_distance  = 10
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
-
-waste_level                = 1
-waste_modifier             = 100
-waste_fixed_distance       = 10
+corruption_level            = 30
+corruption_modifier         = 14
+corruption_fixed_distance   = 1
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 1 
+corruption_max_distance_cap = 32
+
+waste_level                = 30
+waste_modifier             = 84
+waste_fixed_distance       = 1
 waste_distance_factor      = 1 
-waste_extra_distance       = 0 
+waste_extra_distance       = 1 
+waste_max_distance_cap     = 16
 
 production_trade_bonus    = 0, 1
 production_shield_bonus   = 0, 0
@@ -447,17 +459,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 66
-corruption_fixed_distance  = 0
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
+corruption_level            = 1
+corruption_modifier         = 100
+corruption_fixed_distance   = 1
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 32
 
-waste_level                = 100
-waste_modifier             = 66
-waste_fixed_distance       = 0
+waste_level                = 1
+waste_modifier             = 100
+waste_fixed_distance       = 1
 waste_distance_factor      = 1 
 waste_extra_distance       = 0 
+waste_max_distance_cap     = 16
 
 production_trade_bonus    = 0, 1
 production_shield_bonus   = 0, 0
@@ -533,17 +547,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 53
-corruption_fixed_distance  = 0
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
+corruption_level            = 30
+corruption_modifier         = 16
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 32
 
-waste_level                = 100
-waste_modifier             = 53
+waste_level                = 30
+waste_modifier             = 46
 waste_fixed_distance       = 0
 waste_distance_factor      = 1 
 waste_extra_distance       = 0 
+waste_max_distance_cap     = 16
 
 production_trade_bonus    = 1, 1
 production_shield_bonus   = 0, 0
@@ -621,17 +637,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 0
-corruption_modifier        = 1
-corruption_fixed_distance  = 0
-corruption_distance_factor = 0 
-corruption_extra_distance  = 0 
+corruption_level            = 0
+corruption_modifier         = 1
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 0 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 32
 
 waste_level                = 0
 waste_modifier             = 1
 waste_fixed_distance       = 0
 waste_distance_factor      = 0 
 waste_extra_distance       = 0 
+waste_max_distance_cap     = 16
 
 production_trade_bonus    = 1, 1
 production_shield_bonus   = 0, 0
diff -urN -Xfreeciv/diff_ignore freeciv/data/default/governments.ruleset 
freeciv-work/data/default/governments.ruleset
--- freeciv/data/default/governments.ruleset    Thu Feb  6 23:59:55 2003
+++ freeciv-work/data/default/governments.ruleset       Sun Feb  9 18:25:54 2003
@@ -73,17 +73,19 @@
 
 ; corruption:
  
-; _level           = percentage factor applied to corruption; 
-;                   if 0, Courthouse effect changes
-; _modifier        = non-zero divisor to corruption; higher value 
-;                   means less corruption 
-;                   TODO: why have both level and modifier??
-; _fixed_distance  = if non-zero, used instead of actual calculation of 
-;                   distance from Palace; also used for distances in 
-;                   unit and city bribe cost calculations
-; _distance_factor = multiply distance by this factor for corruption 
-;                   (but not bribe costs)
-; _extra_distance  = add this to distance after applying distance factor
+; _level            = percentage factor applied to corruption; 
+;                    if 0, Courthouse effect changes
+; _modifier         = non-zero divisor to corruption; higher value 
+;                    means less corruption 
+;                    TODO: why have both level and modifier??
+; _fixed_distance   = if non-zero, used instead of actual calculation of 
+;                    distance from Palace; also used for distances in 
+;                    unit and city bribe cost calculations
+; _distance_factor  = multiply distance by this factor for corruption 
+;                    (but not bribe costs)
+; _extra_distance   = add this to distance after applying distance factor
+; _max_distance_cap = cap to the max distance from the capital used in
+;                     corruption calculation
 
 ; waste:
 
@@ -93,6 +95,8 @@
 ;                            distance from Palace;                  
 ; _distance_factor   = multiply distance by this factor for waste
 ; _extra_distance    = add this to distance after applying distance factor
+; _max_distance_cap  = cap to the max distance from the capital used in
+;                      waste calculation
 
 ; production_*_bonus   = added to base production for each worked tile;
 ;                       second value is used instead when city is celebrating
@@ -135,17 +139,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 40
-corruption_fixed_distance  = 0
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
+corruption_level            = 100
+corruption_modifier         = 40
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 36
 
 waste_level                = 0
 waste_modifier             = 1
 waste_fixed_distance       = 0
 waste_distance_factor      = 0 
 waste_extra_distance       = 0 
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 0, 0
 production_shield_bonus   = 0, 0
@@ -211,17 +217,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 27
-corruption_fixed_distance  = 0
-corruption_distance_factor = 2 
-corruption_extra_distance  = 3 
+corruption_level            = 100
+corruption_modifier         = 27
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 2 
+corruption_extra_distance   = 3 
+corruption_max_distance_cap = 36
 
 waste_level                = 0
 waste_modifier             = 1
 waste_fixed_distance       = 0
 waste_distance_factor      = 0 
 waste_extra_distance       = 0 
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 0, 0
 production_shield_bonus   = 0, 0
@@ -288,17 +296,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 67
-corruption_fixed_distance  = 0
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
+corruption_level            = 100
+corruption_modifier         = 67
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 36
 
 waste_level                = 0
 waste_modifier             = 1
 waste_fixed_distance       = 0
 waste_distance_factor      = 0 
 waste_extra_distance       = 0 
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 0, 1
 production_shield_bonus   = 0, 0
@@ -364,17 +374,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 50
-corruption_modifier        = 80
-corruption_fixed_distance  = 10
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
+corruption_level            = 50
+corruption_modifier         = 80
+corruption_fixed_distance   = 10
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 36
 
 waste_level                = 0
 waste_modifier             = 1
 waste_fixed_distance       = 0
 waste_distance_factor      = 0 
 waste_extra_distance       = 0
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 0, 1
 production_shield_bonus   = 0, 0
@@ -448,17 +460,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 67
-corruption_fixed_distance  = 0
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
+corruption_level            = 100
+corruption_modifier         = 67
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 36
 
 waste_level                = 0
 waste_modifier             = 1
 waste_fixed_distance       = 0
 waste_distance_factor      = 0 
 waste_extra_distance       = 0
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 1, 1
 production_shield_bonus   = 0, 0
@@ -535,17 +549,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 0
-corruption_modifier        = 1
-corruption_fixed_distance  = 0
-corruption_distance_factor = 0 
-corruption_extra_distance  = 0 
+corruption_level            = 0
+corruption_modifier         = 1
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 0 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 36
 
 waste_level                = 0
 waste_modifier             = 1
 waste_fixed_distance       = 0
 waste_distance_factor      = 0 
 waste_extra_distance       = 0
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 1, 1
 production_shield_bonus   = 0, 0
diff -urN -Xfreeciv/diff_ignore freeciv/data/history/governments.ruleset 
freeciv-work/data/history/governments.ruleset
--- freeciv/data/history/governments.ruleset    Fri Feb  7 00:00:02 2003
+++ freeciv-work/data/history/governments.ruleset       Sun Feb  9 18:27:37 2003
@@ -73,17 +73,19 @@
 
 ; corruption:
  
-; _level           = percentage factor applied to corruption; 
-;                   if 0, Courthouse effect changes
-; _modifier        = non-zero divisor to corruption; higher value 
-;                   means less corruption 
-;                   TODO: why have both level and modifier??
-; _fixed_distance  = if non-zero, used instead of actual calculation of 
-;                   distance from Palace; also used for distances in 
-;                   unit and city bribe cost calculations
-; _distance_factor = multiply distance by this factor for corruption 
-;                   (but not bribe costs)
-; _extra_distance  = add this to distance after applying distance factor
+; _level            = percentage factor applied to corruption; 
+;                    if 0, Courthouse effect changes
+; _modifier         = non-zero divisor to corruption; higher value 
+;                    means less corruption 
+;                    TODO: why have both level and modifier??
+; _fixed_distance   = if non-zero, used instead of actual calculation of 
+;                    distance from Palace; also used for distances in 
+;                    unit and city bribe cost calculations
+; _distance_factor  = multiply distance by this factor for corruption 
+;                    (but not bribe costs)
+; _extra_distance   = add this to distance after applying distance factor
+; _max_distance_cap = cap to the max distance from the capital used in
+;                     corruption calculation
 
 ; waste:
 
@@ -93,6 +95,8 @@
 ;                            distance from Palace;                  
 ; _distance_factor   = multiply distance by this factor for waste
 ; _extra_distance    = add this to distance after applying distance factor
+; _max_distance_cap  = cap to the max distance from the capital used in
+;                      waste calculation
 
 ; production_*_bonus   = added to base production for each worked tile;
 ;                       second value is used instead when city is celebrating
@@ -135,17 +139,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 40
-corruption_fixed_distance  = 0
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
+corruption_level            = 100
+corruption_modifier         = 40
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 36
 
 waste_level                = 100
 waste_modifier             = 40
 waste_fixed_distance       = 0
 waste_distance_factor      = 1 
 waste_extra_distance       = 0 
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 0, 0
 production_shield_bonus   = 0, 0
@@ -211,17 +217,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 27
-corruption_fixed_distance  = 0
-corruption_distance_factor = 2 
-corruption_extra_distance  = 3 
+corruption_level            = 100
+corruption_modifier         = 27
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 2 
+corruption_extra_distance   = 3 
+corruption_max_distance_cap = 36
 
 waste_level                = 100
 waste_modifier             = 27
 waste_fixed_distance       = 0
 waste_distance_factor      = 2 
 waste_extra_distance       = 3 
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 0, 0
 production_shield_bonus   = 0, 0
@@ -288,17 +296,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 67
-corruption_fixed_distance  = 0
-corruption_distance_factor = 1 
-corruption_extra_distance  = 0 
+corruption_level            = 100
+corruption_modifier         = 67
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 1 
+corruption_extra_distance   = 0 
+corruption_max_distance_cap = 36
 
 waste_level                = 100
 waste_modifier             = 67
 waste_fixed_distance       = 0
 waste_distance_factor      = 1 
 waste_extra_distance       = 0 
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 0, 1
 production_shield_bonus   = 0, 0
@@ -364,17 +374,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 50
-corruption_modifier        = 80
-corruption_fixed_distance  = 10
-corruption_distance_factor = 1
-corruption_extra_distance  = 0
+corruption_level            = 50
+corruption_modifier         = 80
+corruption_fixed_distance   = 10
+corruption_distance_factor  = 1
+corruption_extra_distance   = 0
+corruption_max_distance_cap = 36
 
 waste_level                = 50
 waste_modifier             = 80
 waste_fixed_distance       = 10
 waste_distance_factor      = 1
 waste_extra_distance       = 0
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 0, 1
 production_shield_bonus   = 0, 0
@@ -447,17 +459,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 100
-corruption_modifier        = 67
-corruption_fixed_distance  = 0
-corruption_distance_factor = 1
-corruption_extra_distance  = 0
+corruption_level            = 100
+corruption_modifier         = 67
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 1
+corruption_extra_distance   = 0
+corruption_max_distance_cap = 36
 
 waste_level                = 100
 waste_modifier             = 67
 waste_fixed_distance       = 0
 waste_distance_factor      = 1
 waste_extra_distance       = 0
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 1, 1
 production_shield_bonus   = 0, 0
@@ -534,17 +548,19 @@
 unit_free_food    = 0
 unit_free_gold    = 0
 
-corruption_level           = 0
-corruption_modifier        = 1
-corruption_fixed_distance  = 0
-corruption_distance_factor = 0
-corruption_extra_distance  = 0
+corruption_level            = 0
+corruption_modifier         = 1
+corruption_fixed_distance   = 0
+corruption_distance_factor  = 0
+corruption_extra_distance   = 0
+corruption_max_distance_cap = 36
 
 waste_level                = 0
 waste_modifier             = 1
 waste_fixed_distance       = 0
 waste_distance_factor      = 0
 waste_extra_distance       = 0
+waste_max_distance_cap     = 36
 
 production_trade_bonus    = 1, 1
 production_shield_bonus   = 0, 0
diff -urN -Xfreeciv/diff_ignore freeciv/server/ruleset.c 
freeciv-work/server/ruleset.c
--- freeciv/server/ruleset.c    Fri Feb  7 00:00:05 2003
+++ freeciv-work/server/ruleset.c       Sun Feb  9 18:09:30 2003
@@ -1564,8 +1564,9 @@
       = secfile_lookup_int(file, "%s.corruption_distance_factor", sec[i]);
     g->extra_corruption_distance
       = secfile_lookup_int(file, "%s.corruption_extra_distance", sec[i]);
-    g->max_distance_cap
-      = secfile_lookup_int_default(file, 36, "%s.max_distance_cap", sec[i]); 
+    g->corruption_max_distance_cap
+      = secfile_lookup_int_default(file, 36, 
+        "%s.corruption_max_distance_cap", sec[i]); 
 
     g->waste_level
       = secfile_lookup_int(file, "%s.waste_level", sec[i]);
@@ -2654,7 +2655,7 @@
     gov.fixed_corruption_distance = g->fixed_corruption_distance;
     gov.corruption_distance_factor = g->corruption_distance_factor;
     gov.extra_corruption_distance = g->extra_corruption_distance;
-    gov.max_distance_cap = g->max_distance_cap;
+    gov.corruption_max_distance_cap = g->corruption_max_distance_cap;
     
     gov.waste_level = g->waste_level;
     gov.waste_modifier = g->waste_modifier;

[Prev in Thread] Current Thread [Next in Thread]
  • [Freeciv-Dev] (PR#3367) Some fixes to the waste patch that has been committed, Davide Pagnin via RT <=