Summary: "NoVeteran" flag: can never be veteran, or can't
gain it through combat?
                 Project: Freeciv
            Submitted by: jtn
            Submitted on: Tue 10 Jun 2014 10:17:14 BST
                Category: None
                Severity: 3 - Normal
                Priority: 5 - Normal
                  Status: None
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
        Operating System: Any
         Planned Release: 



UTYF_NO_VETERAN is only really checked when a unit could potentially gain a
veteran level: maybe_become_veteran_real(), transform_unit(), etc. In lots of
other places a NoVeteran unit type is treated as subject to bonuses, if it
ever manages to gain a veteran level.

Is it meant to be an invariant that no unit can ever exist with veteran
levels, or a more restricted flag that units can't get veterancy through
combat, but maybe can through being built that way (do_make_unit_veteran()
doesn't check) or other special routes.

The code's a bit inconsistent about its meaning at the moment. In particular,
the help text (which I wrote) assumes the 'invariant' interpretation, but now
I look at most of the implementation it supports the 'combat' one. (As do our
current rulesets, e.g. explicit NoVeteran check in Barracks.)

I'm thinking we should settle on the 'combat' one, as the other one could be
simulated with a custom veteran system; and that I should fix the help and
anything else to fit.

(If we _did_ want the 'invariant' interpretation, the easiest fix might be to
cause NoVeteran to give the unit a hardcoded veteran_system with no levels, or
one level).)


Reply to this item at:


  Message sent via/by Gna!

Freeciv-dev mailing list

Reply via email to