forked from github/server
Bug in einem der fixes, wurde vom tutorial gefunden.
This commit is contained in:
parent
1fc1ee5158
commit
ffdb2d8e48
|
@ -147,6 +147,9 @@ static void
|
||||||
get_food(region *r)
|
get_food(region *r)
|
||||||
{
|
{
|
||||||
unit *u;
|
unit *u;
|
||||||
|
int peasantfood = rpeasants(r)*10;
|
||||||
|
int bauernblut = 0;
|
||||||
|
boolean bfind = false;
|
||||||
|
|
||||||
/* 1. Versorgung von eigenen Einheiten. Das vorhandene Silber
|
/* 1. Versorgung von eigenen Einheiten. Das vorhandene Silber
|
||||||
* wird zunächst so auf die Einheiten aufgeteilt, dass idealerweise
|
* wird zunächst so auf die Einheiten aufgeteilt, dass idealerweise
|
||||||
|
@ -213,51 +216,46 @@ get_food(region *r)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (r = regions; r; r = r->next) {
|
for (u = r->units; u; u = u->next) {
|
||||||
int peasantfood = rpeasants(r)*10;
|
if (u->race == new_race[RC_DAEMON]) {
|
||||||
int bauernblut = 0;
|
/* Alles Bauernblut der Region zählen.
|
||||||
boolean bfind = false;
|
* warnung: bauernblut einer partei hilft im moment der anderen
|
||||||
for (u = r->units; u; u = u->next) {
|
* so selten wie das benutzt wird, ist das erstmal wursht,
|
||||||
if (u->race == new_race[RC_DAEMON]) {
|
* aber ein TODO fürs BUGS File.
|
||||||
/* Alles Bauernblut der Region zählen.
|
* Es ist auch deshalb fast egal, weil es ja im Grunde nicht dem Dämon,
|
||||||
* warnung: bauernblut einer partei hilft im moment der anderen
|
* sondern der Region zu gute kommt - und da ist der anwender schnuppe
|
||||||
* so selten wie das benutzt wird, ist das erstmal wursht,
|
*/
|
||||||
* aber ein TODO fürs BUGS File.
|
if (!bfind) {
|
||||||
* Es ist auch deshalb fast egal, weil es ja im Grunde nicht dem Dämon,
|
unit * ud = u;
|
||||||
* sondern der Region zu gute kommt - und da ist der anwender schnuppe
|
while (ud) {
|
||||||
*/
|
attrib * a = a_find(ud->attribs, &at_bauernblut);
|
||||||
if (!bfind) {
|
if (a) bauernblut += a->data.i;
|
||||||
unit * ud = u;
|
do { ud=ud->next; } while (ud && ud->race!=new_race[RC_DAEMON]);
|
||||||
while (ud) {
|
|
||||||
attrib * a = a_find(ud->attribs, &at_bauernblut);
|
|
||||||
if (a) bauernblut += a->data.i;
|
|
||||||
do { ud=ud->next; } while (ud && ud->race!=new_race[RC_DAEMON]);
|
|
||||||
}
|
|
||||||
bfind = true;
|
|
||||||
}
|
}
|
||||||
if (r->planep == NULL || !fval(r->planep, PFL_NOFEED)) {
|
bfind = true;
|
||||||
int demons = u->number;
|
}
|
||||||
if (bauernblut>=demons) {
|
if (r->planep == NULL || !fval(r->planep, PFL_NOFEED)) {
|
||||||
bauernblut -= demons;
|
int demons = u->number;
|
||||||
demons = 0;
|
if (bauernblut>=demons) {
|
||||||
} else if (bauernblut) {
|
bauernblut -= demons;
|
||||||
demons-=bauernblut;
|
demons = 0;
|
||||||
}
|
} else if (bauernblut) {
|
||||||
if (peasantfood>=demons) {
|
demons-=bauernblut;
|
||||||
peasantfood -= demons;
|
}
|
||||||
demons = 0;
|
if (peasantfood>=demons) {
|
||||||
} else {
|
peasantfood -= demons;
|
||||||
demons -= peasantfood;
|
demons = 0;
|
||||||
peasantfood = 0;
|
} else {
|
||||||
}
|
demons -= peasantfood;
|
||||||
if (demons > 0) {
|
peasantfood = 0;
|
||||||
hunger(demons, u); /* nicht gefütterte dämonen hungern */
|
}
|
||||||
}
|
if (demons > 0) {
|
||||||
|
hunger(demons, u); /* nicht gefütterte dämonen hungern */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rsetpeasants(r, peasantfood/10);
|
|
||||||
}
|
}
|
||||||
|
rsetpeasants(r, peasantfood/10);
|
||||||
|
|
||||||
/* 3. Von den überlebenden das Geld abziehen: */
|
/* 3. Von den überlebenden das Geld abziehen: */
|
||||||
for (u = r->units; u; u = u->next) {
|
for (u = r->units; u; u = u->next) {
|
||||||
|
|
Loading…
Reference in New Issue