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,13 +372,19 @@ static int do_recruiting(recruitment * recruits, int available)
use_pooled(u, get_resourcetype(R_SILVER), GET_DEFAULT,
rc->recruitcost * number);
}
add_recruits(u, number, req->qty);
dec = (int)(number * multi);
if ((rc->ec_flags & ECF_REC_ETHEREAL) == 0) {
recruited += dec;
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);
dec = (int)(number * multi);
if ((rc->ec_flags & ECF_REC_ETHEREAL) == 0) {
recruited += dec;
}
get -= dec;
get -= dec;
}
}
}
return recruited;