1) Output_Waste_By_Dist breaks without a government center
2) NoTradeSize and FullTradeSize server options depress early gameplay in pre-modern eras.
1) Output_Waste_By_Dist has no real method to cap it, and can scale indefinitely.*
The request is for an Output_Waste_Max effect value. This would place a cap on Waste, allowing prevention of situations where it might be /advantageous/ to remove government centers without breaking the game. (If you replace a By_Dist value with a large flat waste value when lacking a government center, the Waste_By_Dist will still eventually exceed it at extreme distances, making it worthwhile to remove all government centers in that case.)
Code: Select all
if (gov_center == NULL) {
waste_all = TRUE; /* no gov center - no income */
} else {
waste_level += waste_by_dist * min_dist;
if (waste_by_rel_dist > 0) {
/* Multiply by 50 as an "standard size" for which EFT_OUTPUT_WASTE_BY_DISTANCE
* and EFT_OUTPUT_WASTE_BY_REL_DISTANCE would give same result. */
waste_level += waste_by_rel_dist * 50 * min_dist
/ MAX(wld.map.xsize, wld.map.ysize);
}
}
Code: Select all
if (gov_center == NULL) {
if (waste_max == 0) {
waste_all = TRUE; /* no gov center - no income */
}
} else {
waste_level += waste_by_dist * min_dist;
if (waste_by_rel_dist > 0) {
/* Multiply by 50 as an "standard size" for which EFT_OUTPUT_WASTE_BY_DISTANCE
* and EFT_OUTPUT_WASTE_BY_REL_DISTANCE would give same result. */
waste_level += waste_by_rel_dist * 50 * min_dist
/ MAX(wld.map.xsize, wld.map.ysize);
}
}
if (waste_max > 0 && waste_level > waste_max) {
waste_level = waste_max;
}
2) Using NoTradeSize and FullTradeSize are great in late-game, where it prevents smallpoxing. But at the beginnings of games it can very easily be game-breaking because they block gold and bulbs needed for upkeep of improvements, research, and possibly units. I've not really any good ideas other than simply adding an effect that can be toggled, ie allowing it to not apply to despotism and maybe monarchy.