Sun 17 Feb 2013 03:16:48 PM UTC, original submission:
Noticed with civ2 ruleset, but will affect others.
In the autogenerated help for civ2 Fundamentalism and Communism we have:
- "You pay 2 times normal Food upkeep for your units."
No other government types mention this.
However, the help for Settlers says:
"Settlers in a Republic or Democracy require twice as much food per turn, and in Communist or Fundamentalist societies, three times as much."
And by experiment, this appears to be accurate.
(Incidentally, if we are intentionally shipping rulesets with upkeep 3, it's not ideal that the upkeep icon can only go up to 2 -- I only noticed this by hovering over the unit icon to get the upkeep numbers.)
Root cause is that the government help (helptext_government()) cherry-picks effects that apply to the current government, but doesn't consider effects that aren't government-specific. The effect structure in civ2/effects.ruleset looks like:
So "effect_base_unit_upkeep" is not taken into account. For many descriptions that sort of thing doesn't matter, but for Upkeep_Factor which is multiplicative it's very misleading.
This explains why no help text is seen for Republic/Democracy: the resultant factor is 1, which isn't seen as worth mentioning.
A fix that would help here would be to explicitly look for and take account of completely unqualified effects like base_unit_upkeep here.
That doesn't catch more complicated interactions, but most of those would hopefully be specific enough that it's reasonable to say "gov X pays 2x upkeep" and expect the player to know that in condition Y that's a base level that's modified. (In general, this generated help text will never cope with all these circumstances; the best we can hope for is to remain silent when things get complicated.)
(This is with S2_4; haven't checked other branches yet.)
|