mirror of https://github.com/OpenTTD/OpenTTD
(svn r96) -Fix: [AI] An industry can have no town, which caused crashes
parent
f5240ffa00
commit
b783051b70
5
ai_new.c
5
ai_new.c
|
@ -234,7 +234,7 @@ static bool AiNew_Check_City_or_Industry(Player *p, int ic, byte type) {
|
||||||
int count = 0;
|
int count = 0;
|
||||||
int j = 0;
|
int j = 0;
|
||||||
|
|
||||||
if (i->town->ratings[_current_player] < 0 && CHANCE16(1,4)) return false;
|
if (i->town != NULL && i->town->ratings[_current_player] < 0 && CHANCE16(1,4)) return false;
|
||||||
|
|
||||||
// No limits on delevering stations!
|
// No limits on delevering stations!
|
||||||
// Or for industry that does not give anything yet
|
// Or for industry that does not give anything yet
|
||||||
|
@ -487,8 +487,7 @@ static bool AiNew_CheckVehicleStation(Player *p, Station *st) {
|
||||||
FOR_ALL_VEHICLES(v) {
|
FOR_ALL_VEHICLES(v) {
|
||||||
if (v->owner == _current_player) {
|
if (v->owner == _current_player) {
|
||||||
sched = v->schedule_ptr;
|
sched = v->schedule_ptr;
|
||||||
if (sched == NULL) continue;
|
while (sched != NULL && (ord=*sched++) != 0) {
|
||||||
while ((ord=*sched++) != 0) {
|
|
||||||
if ((ord & OT_MASK) == OT_GOTO_STATION && DEREF_STATION(ord >> 8) == st) {
|
if ((ord & OT_MASK) == OT_GOTO_STATION && DEREF_STATION(ord >> 8) == st) {
|
||||||
// This vehicle has this city in his list
|
// This vehicle has this city in his list
|
||||||
count++;
|
count++;
|
||||||
|
|
Loading…
Reference in New Issue