if a unit is empty, and not a TEMP, then it is dead and cannot recruit.

This fixes http://bugs.eressea.de/view.php?id=2010
This commit is contained in:
Enno Rehling 2014-07-06 12:39:03 -07:00
parent 9e2e7bfe97
commit 4d173cf7e2
1 changed files with 11 additions and 5 deletions

View File

@ -372,6 +372,11 @@ static int do_recruiting(recruitment * recruits, int available)
use_pooled(u, get_resourcetype(R_SILVER), GET_DEFAULT, use_pooled(u, get_resourcetype(R_SILVER), GET_DEFAULT,
rc->recruitcost * number); rc->recruitcost * number);
} }
if (u->number == 0 && !fval(u, UFL_ISNEW)) {
/* unit is empty, and not a TEMP => it is dead, and cannot recruit */
number = 0;
}
if (number > 0) {
add_recruits(u, number, req->qty); add_recruits(u, number, req->qty);
dec = (int)(number * multi); dec = (int)(number * multi);
if ((rc->ec_flags & ECF_REC_ETHEREAL) == 0) { if ((rc->ec_flags & ECF_REC_ETHEREAL) == 0) {
@ -381,6 +386,7 @@ static int do_recruiting(recruitment * recruits, int available)
get -= dec; get -= dec;
} }
} }
}
return recruited; return recruited;
} }