Summary: Government Upkeep_Factor help wrong
                 Project: Freeciv
            Submitted by: jtn
            Submitted on: Sun Feb 17 15:16:48 2013
                Category: docs
                Severity: 3 - Normal
                Priority: 5 - Normal
                  Status: None
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
                 Release: S2_4 r22361
         Discussion Lock: Any
        Operating System: None
         Planned Release: 



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:

name  = "Upkeep_Factor"
value = 1

name  = "Upkeep_Factor"
value = 2
reqs   =
    { "type", "name", "range"
      "Gov", "Communism", "Player"
      "OutputType", "Food", "Local"


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.)


Reply to this item at:


  Message sent via/by Gna!

Freeciv-dev mailing list

Reply via email to