Merge remote-tracking branch 'origin/Bug-1664'

This commit is contained in:
CTD 2014-08-13 23:56:56 +02:00
commit 0e8126f538
1 changed files with 17 additions and 13 deletions

View File

@ -1059,9 +1059,9 @@ static bool maintain(building * b, bool first)
}
}
if (need > 0) {
if (!fval(m, MTF_VITAL))
work = false;
else {
if (fval(m, MTF_VITAL))
{
paid = false;
break;
}
@ -1070,16 +1070,21 @@ static bool maintain(building * b, bool first)
}
if (paid && c > 0) {
/* TODO: wieviel von was wurde bezahlt */
if (first) {
ADDMSG(&u->faction->msgs, msg_message("maintenance", "unit building", u,
b));
} else {
ADDMSG(&u->faction->msgs, msg_message("maintenance_late", "building", b));
}
fset(b, BLD_MAINTAINED);
if (work) {
if (first && work) {
ADDMSG(&u->faction->msgs, msg_message("maintenance", "unit building", u, b));
fset(b, BLD_WORKING);
fset(b, BLD_MAINTAINED);
}
if (!first) {
ADDMSG(&u->faction->msgs, msg_message("maintenance_late", "building", b));
fset(b, BLD_MAINTAINED);
}
if (first && !work) {
ADDMSG(&u->faction->msgs, msg_message("maintenancefail", "unit building", u, b));
return false;
}
for (c = 0; b->type->maintenance[c].number; ++c) {
const maintenance *m = b->type->maintenance + c;
int cost = m->number;
@ -1118,8 +1123,7 @@ static bool maintain(building * b, bool first)
assert(cost == 0);
}
} else {
ADDMSG(&u->faction->msgs,
msg_message("maintenancefail", "unit building", u, b));
ADDMSG(&u->faction->msgs, msg_message("maintenancefail", "unit building", u, b));
return false;
}
return true;