Follow-up Comment #3, bug #21640 (project freeciv):

After some tests, I suggest simply to remove this condition:
>|| dai_on_war_footing(ait, pplayer)

When at war, some extra money could help the AI to win some battle, but extra
science is more useful to win the war. I see no reason to stop all kind of
researching in this case.

My suggested code:

/* Put the remaining to tax or science. */
  if (!adv_wants_science(pplayer)) {
    rates[AI_RATE_TAX] = MIN(maxrate, rates[AI_RATE_TAX]
                                      + RATE_REMAINS(rates));
    rates[AI_RATE_LUX] = MIN(maxrate, rates[AI_RATE_LUX]
                                      + RATE_REMAINS(rates));
    rates[AI_RATE_SCI] = MIN(maxrate, rates[AI_RATE_SCI]
                                      + RATE_REMAINS(rates));
      
  } else {
    rates[AI_RATE_SCI] = MIN(maxrate, rates[AI_RATE_SCI]
                                      + RATE_REMAINS(rates));
    rates[AI_RATE_TAX] = MIN(maxrate, rates[AI_RATE_TAX]
                                      + RATE_REMAINS(rates));
    rates[AI_RATE_LUX] = MIN(maxrate, rates[AI_RATE_LUX]
                                      + RATE_REMAINS(rates));

This simple change makes the AI much more efficient in my opinion, no matter
if there are limited taxes or not.

I do not attach any patch, I let developers decide the best way to fix it, but
I find a game breaker the current code where luxuries are prioritized over
science.
(note there are some leftover log entries in previous post, sorry)

    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?21640>

_______________________________________________
  Mensaje enviado vía/por Gna!
  http://gna.org/


_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to