Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2003:
[Freeciv-Dev] Re: (PR#725) Production upgrade of newly-researched units
Home

[Freeciv-Dev] Re: (PR#725) Production upgrade of newly-researched units

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: ChrisK@xxxxxxxx
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#725) Production upgrade of newly-researched units deferred
From: "Anthony J. Stuckey via RT" <rt@xxxxxxxxxxxxxx>
Date: Sat, 18 Jan 2003 15:42:05 -0800
Reply-to: rt@xxxxxxxxxxxxxx

On Fri, Jan 17, 2003 at 12:27:44AM -0800, Jason Short via RT wrote:
> Upon further review, this really is the only solution.
> 
> Often one step of the update process will influence other steps.  There
> are three kinds of influence:
> 
> 1.  The update influences other updates in this city.
> 2.  The update influences other updates in a different city of the same
> civilization.
> 3.  The update influences other updates in different cities of different
> civilizations.
> 
> #1 is very common.  #2 happens in at least one place - research
> influences production - and probably others.  Hopefully #3 doesn't
> happen, since handling that would require even larger changes.
> 
> It is difficult to tell what influences what else.  So IMO it is safest
> to break up the city update into its atomic parts, and conduct each
> update for all cities before moving on to the next city.  The attached
> patch does this, without changing the order of the updates.
> 
> Since the order of the updates isn't changed, this patch doesn't fix the
> bug - it makes it worse.  Now no cities will get production upgrades
> because of research, since all production is handled before research. 

        Thanks for the analysis.
        Even though this is a behavior change, it strikes me as the right thing
to do.  The only question I have is how does it interact with Leonardo's?
(Both the single-unit-upgrade and the all-units-upgrade versions should
hopefully behave the same.)



[Prev in Thread] Current Thread [Next in Thread]