equal
deleted
inserted
replaced
1 /* $Id$ */ |
1 /* $Id$ */ |
2 |
2 |
3 #include "stdafx.h" |
3 #include "stdafx.h" |
4 #include "openttd.h" |
4 #include "openttd.h" |
5 #include "industry_map.h" |
5 #include "industry_map.h" |
|
6 #include "station_map.h" |
6 #include "table/strings.h" |
7 #include "table/strings.h" |
7 #include "functions.h" |
8 #include "functions.h" |
8 #include "map.h" |
9 #include "map.h" |
9 #include "tile.h" |
10 #include "tile.h" |
10 #include "vehicle.h" |
11 #include "vehicle.h" |
181 IS_BYTE_INSIDE(_m[tile].m5, 8, 0x43) && |
182 IS_BYTE_INSIDE(_m[tile].m5, 8, 0x43) && |
182 IS_HUMAN_PLAYER(GetTileOwner(tile))) { |
183 IS_HUMAN_PLAYER(GetTileOwner(tile))) { |
183 v->current_order.station = 1; |
184 v->current_order.station = 1; |
184 v->age = 0; |
185 v->age = 0; |
185 |
186 |
186 SetDParam(0, _m[tile].m2); |
187 SetDParam(0, GetStationIndex(tile)); |
187 AddNewsItem(STR_B000_ZEPPELIN_DISASTER_AT, |
188 AddNewsItem(STR_B000_ZEPPELIN_DISASTER_AT, |
188 NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_VEHICLE, NT_ACCIDENT, 0), |
189 NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_VEHICLE, NT_ACCIDENT, 0), |
189 v->index, |
190 v->index, |
190 0); |
191 0); |
191 } |
192 } |
203 |
204 |
204 if (IsValidTile(tile) && |
205 if (IsValidTile(tile) && |
205 IsTileType(tile, MP_STATION) && |
206 IsTileType(tile, MP_STATION) && |
206 IS_BYTE_INSIDE(_m[tile].m5, 8, 0x43) && |
207 IS_BYTE_INSIDE(_m[tile].m5, 8, 0x43) && |
207 IS_HUMAN_PLAYER(GetTileOwner(tile))) { |
208 IS_HUMAN_PLAYER(GetTileOwner(tile))) { |
208 st = GetStation(_m[tile].m2); |
209 st = GetStationByTile(tile); |
209 CLRBITS(st->airport_flags, RUNWAY_IN_block); |
210 CLRBITS(st->airport_flags, RUNWAY_IN_block); |
210 } |
211 } |
211 |
212 |
212 SetDisasterVehiclePos(v, v->x_pos, v->y_pos, v->z_pos); |
213 SetDisasterVehiclePos(v, v->x_pos, v->y_pos, v->z_pos); |
213 DeleteDisasterVeh(v); |
214 DeleteDisasterVeh(v); |
245 tile = v->tile;/**/ |
246 tile = v->tile;/**/ |
246 if (IsValidTile(tile) && |
247 if (IsValidTile(tile) && |
247 IsTileType(tile, MP_STATION) && |
248 IsTileType(tile, MP_STATION) && |
248 IS_BYTE_INSIDE(_m[tile].m5, 8, 0x43) && |
249 IS_BYTE_INSIDE(_m[tile].m5, 8, 0x43) && |
249 IS_HUMAN_PLAYER(GetTileOwner(tile))) { |
250 IS_HUMAN_PLAYER(GetTileOwner(tile))) { |
250 st = GetStation(_m[tile].m2); |
251 st = GetStationByTile(tile); |
251 SETBITS(st->airport_flags, RUNWAY_IN_block); |
252 SETBITS(st->airport_flags, RUNWAY_IN_block); |
252 } |
253 } |
253 } |
254 } |
254 |
255 |
255 // UFO starts in the middle, and flies around a bit until it locates |
256 // UFO starts in the middle, and flies around a bit until it locates |