disaster_cmd.c
changeset 534 306bc86eb23e
parent 507 04b5403aaf6b
child 541 625227bb2a3d
equal deleted inserted replaced
533:404f9e37bff1 534:306bc86eb23e
   166 				IS_HUMAN_PLAYER(_map_owner[tile])) {
   166 				IS_HUMAN_PLAYER(_map_owner[tile])) {
   167 
   167 
   168 				v->next_order = 1;
   168 				v->next_order = 1;
   169 				v->age = 0;
   169 				v->age = 0;
   170 
   170 
   171 				SET_DPARAM16(0, _map2[tile]);
   171 				SetDParam(0, _map2[tile]);
   172 				AddNewsItem(STR_B000_ZEPPELIN_DISASTER_AT,
   172 				AddNewsItem(STR_B000_ZEPPELIN_DISASTER_AT,
   173 					NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_VEHICLE, NT_ACCIDENT, 0),
   173 					NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_VEHICLE, NT_ACCIDENT, 0),
   174 					v->index,
   174 					v->index,
   175 					0);
   175 					0);
   176 			}
   176 			}
   370 			v->age = 0;
   370 			v->age = 0;
   371 
   371 
   372 			i = DEREF_INDUSTRY(v->dest_tile);
   372 			i = DEREF_INDUSTRY(v->dest_tile);
   373 			DestructIndustry(i);
   373 			DestructIndustry(i);
   374 
   374 
   375 			SET_DPARAM16(0, i->town->index);
   375 			SetDParam(0, i->town->index);
   376 			AddNewsItem(STR_B002_OIL_REFINERY_EXPLOSION, NEWS_FLAGS(NM_THIN,NF_VIEWPORT|NF_TILE,NT_ACCIDENT,0), i->xy, 0);
   376 			AddNewsItem(STR_B002_OIL_REFINERY_EXPLOSION, NEWS_FLAGS(NM_THIN,NF_VIEWPORT|NF_TILE,NT_ACCIDENT,0), i->xy, 0);
   377 			SndPlayTileFx(0x10, i->xy);
   377 			SndPlayTileFx(0x10, i->xy);
   378 		}
   378 		}
   379 	} else if (v->next_order == 0) {
   379 	} else if (v->next_order == 0) {
   380 		int x,y;
   380 		int x,y;
   440 			v->age = 0;
   440 			v->age = 0;
   441 
   441 
   442 			i = DEREF_INDUSTRY(v->dest_tile);
   442 			i = DEREF_INDUSTRY(v->dest_tile);
   443 			DestructIndustry(i);
   443 			DestructIndustry(i);
   444 
   444 
   445 			SET_DPARAM16(0, i->town->index);
   445 			SetDParam(0, i->town->index);
   446 			AddNewsItem(STR_B003_FACTORY_DESTROYED_IN_SUSPICIOUS, NEWS_FLAGS(NM_THIN,NF_VIEWPORT|NF_TILE,NT_ACCIDENT,0), i->xy, 0);
   446 			AddNewsItem(STR_B003_FACTORY_DESTROYED_IN_SUSPICIOUS, NEWS_FLAGS(NM_THIN,NF_VIEWPORT|NF_TILE,NT_ACCIDENT,0), i->xy, 0);
   447 			SndPlayTileFx(0x10, i->xy);
   447 			SndPlayTileFx(0x10, i->xy);
   448 		}
   448 		}
   449 	} else if (v->next_order == 0) {
   449 	} else if (v->next_order == 0) {
   450 		int x,y;
   450 		int x,y;
   523 				}
   523 				}
   524 			}
   524 			}
   525 		}
   525 		}
   526 
   526 
   527 		t = ClosestTownFromTile(v->dest_tile, (uint)-1);
   527 		t = ClosestTownFromTile(v->dest_tile, (uint)-1);
   528 		SET_DPARAM16(0, t->index);
   528 		SetDParam(0, t->index);
   529 		AddNewsItem(STR_B004_UFO_LANDS_NEAR,
   529 		AddNewsItem(STR_B004_UFO_LANDS_NEAR,
   530 			NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_TILE, NT_ACCIDENT, 0),
   530 			NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_TILE, NT_ACCIDENT, 0),
   531 			v->tile,
   531 			v->tile,
   532 			0);
   532 			0);
   533 
   533 
   892 
   892 
   893 	do {
   893 	do {
   894 		for(i=_industries; i != endof(_industries); i++) {
   894 		for(i=_industries; i != endof(_industries); i++) {
   895 			if (i->xy != 0 && i->type == IT_COAL_MINE	&& --index < 0) {
   895 			if (i->xy != 0 && i->type == IT_COAL_MINE	&& --index < 0) {
   896 
   896 
   897 				SET_DPARAM16(0, i->town->index);
   897 				SetDParam(0, i->town->index);
   898 				AddNewsItem(STR_B005_COAL_MINE_SUBSIDENCE_LEAVES,
   898 				AddNewsItem(STR_B005_COAL_MINE_SUBSIDENCE_LEAVES,
   899 					NEWS_FLAGS(NM_THIN,NF_VIEWPORT|NF_TILE,NT_ACCIDENT,0), i->xy + TILE_XY(1,1), 0);
   899 					NEWS_FLAGS(NM_THIN,NF_VIEWPORT|NF_TILE,NT_ACCIDENT,0), i->xy + TILE_XY(1,1), 0);
   900 
   900 
   901 				{
   901 				{
   902 					uint tile = i->xy;
   902 					uint tile = i->xy;