disaster_cmd.c
changeset 4559 c853d2440065
parent 4527 b18634a31a4a
child 4845 49105d3b5a9a
equal deleted inserted replaced
4558:657e73957b4b 4559:c853d2440065
   668 		return;
   668 		return;
   669 	}
   669 	}
   670 
   670 
   671 	if (!(v->tick_counter & 1)) return;
   671 	if (!(v->tick_counter & 1)) return;
   672 
   672 
   673 	tile = v->tile + TileOffsByDir(DirToDiagDir(v->direction));
   673 	tile = v->tile + TileOffsByDiagDir(DirToDiagDir(v->direction));
   674 	if (IsValidTile(tile) &&
   674 	if (IsValidTile(tile) &&
   675 			(r=GetTileTrackStatus(tile,TRANSPORT_WATER),(byte)(r+(r >> 8)) == 0x3F) &&
   675 			(r=GetTileTrackStatus(tile,TRANSPORT_WATER),(byte)(r+(r >> 8)) == 0x3F) &&
   676 			!CHANCE16(1,90)) {
   676 			!CHANCE16(1,90)) {
   677 		GetNewVehiclePos(v, &gp);
   677 		GetNewVehiclePos(v, &gp);
   678 		SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos);
   678 		SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos);
   922 				AddNewsItem(STR_B005_COAL_MINE_SUBSIDENCE_LEAVES,
   922 				AddNewsItem(STR_B005_COAL_MINE_SUBSIDENCE_LEAVES,
   923 					NEWS_FLAGS(NM_THIN,NF_VIEWPORT|NF_TILE,NT_ACCIDENT,0), i->xy + TileDiffXY(1, 1), 0);
   923 					NEWS_FLAGS(NM_THIN,NF_VIEWPORT|NF_TILE,NT_ACCIDENT,0), i->xy + TileDiffXY(1, 1), 0);
   924 
   924 
   925 				{
   925 				{
   926 					TileIndex tile = i->xy;
   926 					TileIndex tile = i->xy;
   927 					TileIndexDiff step = TileOffsByDir(GB(Random(), 0, 2));
   927 					TileIndexDiff step = TileOffsByDiagDir(GB(Random(), 0, 2));
   928 					uint n;
   928 					uint n;
   929 
   929 
   930 					for (n = 0; n < 30; n++) {
   930 					for (n = 0; n < 30; n++) {
   931 						DisasterClearSquare(tile);
   931 						DisasterClearSquare(tile);
   932 						tile = TILE_MASK(tile + step);
   932 						tile = TILE_MASK(tile + step);