Follow-up Comment #2, bug #20062 (project freeciv):
Let me another guess... this time I'm almost sure it is a bug, now I think I
fully understand the related code.
In function "ai_manage_taxes",
the variable "rate_sci_balance" keeps a non valid value = -1 if
"game.info.tech_upkeep_style == 0" (default value in most rulesets).
When it comes the time to "Set the rates", the code assumes that such value
"rate_sci_balance = -1" means that AI will lose bulbs (due to tech upkeep)
even with taxes maxed to science.
When "rate_tax_balance = -1" it means that AI will lose money (due to upkeep
costs) even with taxes maxed to gold.
When both values are -1, it prioritizes to maximize the science over the
gold:
} else {
/* Go for science and risk the loss of improvements or units. */
rates[AI_RATE_SCI] = MAX(maxrate, rate_sci_min);
rates[AI_RATE_TAX] = MIN(maxrate, RATE_REMAINS(rates));
As I see it, in every ruleset where tech upkeep is dissabled, if AI is losing
money, and if switching taxes to maximize gold does not get a positive income,
then the AI maximizes the science (instead of gold), making the situation even
worse for next turn...
I'm still trying to catch a clear savegame, but it is not so easy.
Forget the 1st AItaxRates.diff (I wish I could remove it), I have uploaded
this new fix to a new file: FixTaxRates2.diff
(file #16389)
_______________________________________________________
Additional Item Attachment:
File name: FixAITaxRates2.diff Size:1 KB
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?20062>
_______________________________________________
Mensaje enviado vía/por Gna!
http://gna.org/
_______________________________________________
Freeciv-dev mailing list
[email protected]
https://mail.gna.org/listinfo/freeciv-dev