disaster_cmd.c
changeset 541 625227bb2a3d
parent 534 306bc86eb23e
child 555 02df8a1b7f33
equal deleted inserted replaced
540:2987d7976ea2 541:625227bb2a3d
   206 		z = v->z_pos - 1;
   206 		z = v->z_pos - 1;
   207 	SetDisasterVehiclePos(v, x, y, z);
   207 	SetDisasterVehiclePos(v, x, y, z);
   208 
   208 
   209 	if (++v->age == 1) {
   209 	if (++v->age == 1) {
   210 		CreateEffectVehicleRel(v, 0, 7, 8, EV_CRASHED_SMOKE);
   210 		CreateEffectVehicleRel(v, 0, 7, 8, EV_CRASHED_SMOKE);
   211 		SndPlayVehicleFx(0x10, v);
   211 		SndPlayVehicleFx(SND_12_EXPLOSION, v);
   212 		v->u.disaster.image_override = 0xF42;
   212 		v->u.disaster.image_override = 0xF42;
   213 	} else if (v->age == 70) {
   213 	} else if (v->age == 70) {
   214 		v->u.disaster.image_override = 0xF43;
   214 		v->u.disaster.image_override = 0xF43;
   215 	} else if (v->age <= 300) {
   215 	} else if (v->age <= 300) {
   216 		if (!(v->tick_counter&7)) {
   216 		if (!(v->tick_counter&7)) {
   309 		}
   309 		}
   310 
   310 
   311 // destroy?
   311 // destroy?
   312 		if (v->age > 50) {
   312 		if (v->age > 50) {
   313 			CreateEffectVehicleRel(v, 0, 7, 8, EV_CRASHED_SMOKE);
   313 			CreateEffectVehicleRel(v, 0, 7, 8, EV_CRASHED_SMOKE);
   314 			SndPlayVehicleFx(0x10, v);
   314 			SndPlayVehicleFx(SND_12_EXPLOSION, v);
   315 			DeleteDisasterVeh(v);
   315 			DeleteDisasterVeh(v);
   316 		}
   316 		}
   317 	}
   317 	}
   318 }
   318 }
   319 
   319 
   372 			i = DEREF_INDUSTRY(v->dest_tile);
   372 			i = DEREF_INDUSTRY(v->dest_tile);
   373 			DestructIndustry(i);
   373 			DestructIndustry(i);
   374 
   374 
   375 			SetDParam(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(SND_12_EXPLOSION, 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;
   381 		uint tile;
   381 		uint tile;
   382 		int ind;
   382 		int ind;
   442 			i = DEREF_INDUSTRY(v->dest_tile);
   442 			i = DEREF_INDUSTRY(v->dest_tile);
   443 			DestructIndustry(i);
   443 			DestructIndustry(i);
   444 
   444 
   445 			SetDParam(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(SND_12_EXPLOSION, 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;
   451 		uint tile;
   451 		uint tile;
   452 		int ind;
   452 		int ind;
   599 		if (abs(v->x_pos - u->x_pos) > 16)
   599 		if (abs(v->x_pos - u->x_pos) > 16)
   600 			return;
   600 			return;
   601 		v->next_order = 1;
   601 		v->next_order = 1;
   602 
   602 
   603 		CreateEffectVehicleRel(u, 0, 7, 8, EV_CRASHED_SMOKE);
   603 		CreateEffectVehicleRel(u, 0, 7, 8, EV_CRASHED_SMOKE);
   604 		SndPlayVehicleFx(0x10, u);
   604 		SndPlayVehicleFx(SND_12_EXPLOSION, u);
   605 
   605 
   606 		DeleteDisasterVeh(u);
   606 		DeleteDisasterVeh(u);
   607 
   607 
   608 		for(i=0; i!=80; i++) {
   608 		for(i=0; i!=80; i++) {
   609 			uint32 r = Random();
   609 			uint32 r = Random();