(svn r16525) -Codechange: Notify small ufos on deletion of road vehicles, so they can head for somewhere else instead of stumbling over a ghost.

This commit is contained in:
frosch
2009-06-06 14:46:50 +00:00
parent 8d6dec5e72
commit 289e8a7f45
4 changed files with 38 additions and 4 deletions

View File

@@ -1841,6 +1841,19 @@ bool AfterLoadGame()
}
}
if (CheckSavegameVersion(121)) {
/* Delete small ufos heading for non-existing vehicles */
Vehicle *v;
FOR_ALL_DISASTERVEHICLES(v) {
if (v->subtype == 2/*ST_SMALL_UFO*/ && v->current_order.GetDestination() != 0) {
const Vehicle *u = Vehicle::GetIfValid(v->dest_tile);
if (u == NULL || u->type != VEH_ROAD || !IsRoadVehFront(u)) {
delete v;
}
}
}
}
AfterLoadLabelMaps();
GamelogPrintDebug(1);