no more MINMAX

This commit is contained in:
Enno Rehling 2017-12-30 00:06:07 +01:00
parent f1a6203f3e
commit a6ae5a9e93

View file

@ -1,4 +1,6 @@
#ifdef WIN32
#include <platform.h> #include <platform.h>
#endif
#include "upkeep.h" #include "upkeep.h"
#include <kernel/ally.h> #include <kernel/ally.h>
@ -42,7 +44,7 @@ static void help_feed(unit * donor, unit * u, int *need_p)
{ {
int need = *need_p; int need = *need_p;
int give = get_money(donor) - lifestyle(donor); int give = get_money(donor) - lifestyle(donor);
give = MIN(need, give); if (give > need) give = need;
if (give > 0) { if (give > 0) {
change_money(donor, -give); change_money(donor, -give);
@ -167,7 +169,7 @@ void get_food(region * r)
* food from the peasants - should not be used with WORK */ * food from the peasants - should not be used with WORK */
if (owner != NULL && (get_alliance(owner, u->faction) & HELP_MONEY)) { if (owner != NULL && (get_alliance(owner, u->faction) & HELP_MONEY)) {
int rm = rmoney(r); int rm = rmoney(r);
int use = MIN(rm, need); int use = (rm < need) ? rm : need;
rsetmoney(r, rm - use); rsetmoney(r, rm - use);
need -= use; need -= use;
} }
@ -180,7 +182,7 @@ void get_food(region * r)
for (v = r->units; need && v; v = v->next) { for (v = r->units; need && v; v = v->next) {
if (v->faction == u->faction) { if (v->faction == u->faction) {
int give = get_money(v) - lifestyle(v); int give = get_money(v) - lifestyle(v);
give = MIN(need, give); if (give > need) give = need;
if (give > 0) { if (give > 0) {
change_money(v, -give); change_money(v, -give);
change_money(u, give); change_money(u, give);
@ -194,11 +196,11 @@ void get_food(region * r)
/* 2. Versorgung durch Fremde. Das Silber alliierter Einheiten wird /* 2. Versorgung durch Fremde. Das Silber alliierter Einheiten wird
* entsprechend verteilt. */ * entsprechend verteilt. */
for (u = r->units; u; u = u->next) { for (u = r->units; u; u = u->next) {
int need = lifestyle(u); int need;
faction *f = u->faction; faction *f = u->faction;
assert(u->hp > 0); assert(u->hp > 0);
need -= MAX(0, get_money(u)); need = lifestyle(u) - get_money(u);
if (need > 0) { if (need > 0) {
unit *v; unit *v;
@ -253,8 +255,8 @@ void get_food(region * r)
unit *donor = u; unit *donor = u;
while (donor != NULL && hungry > 0) { while (donor != NULL && hungry > 0) {
int blut = get_effect(donor, pt_blood); int blut = get_effect(donor, pt_blood);
blut = MIN(blut, hungry); if (hungry < blut) blut = hungry;
if (blut) { if (blut > 0) {
change_effect(donor, pt_blood, -blut); change_effect(donor, pt_blood, -blut);
hungry -= blut; hungry -= blut;
} }
@ -306,7 +308,9 @@ void get_food(region * r)
/* 3. Von den <20>berlebenden das Geld abziehen: */ /* 3. Von den <20>berlebenden das Geld abziehen: */
for (u = r->units; u; u = u->next) { for (u = r->units; u; u = u->next) {
int need = MIN(get_money(u), lifestyle(u)); int m = get_money(u);
int need = lifestyle(u);
if (need > m) need = m;
change_money(u, -need); change_money(u, -need);
} }
} }