|
@@ -205,13 +205,13 @@ static void DisasterTick_Zeppeliner(Vehi
|
|
|
if (z < v->z_pos)
|
|
|
z = v->z_pos - 1;
|
|
|
SetDisasterVehiclePos(v, x, y, z);
|
|
|
|
|
|
if (++v->age == 1) {
|
|
|
CreateEffectVehicleRel(v, 0, 7, 8, EV_CRASHED_SMOKE);
|
|
|
SndPlayVehicleFx(0x10, v);
|
|
|
SndPlayVehicleFx(SND_12_EXPLOSION, v);
|
|
|
v->u.disaster.image_override = 0xF42;
|
|
|
} else if (v->age == 70) {
|
|
|
v->u.disaster.image_override = 0xF43;
|
|
|
} else if (v->age <= 300) {
|
|
|
if (!(v->tick_counter&7)) {
|
|
|
uint32 r = Random();
|
|
@@ -308,13 +308,13 @@ static void DisasterTick_UFO(Vehicle *v)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// destroy?
|
|
|
if (v->age > 50) {
|
|
|
CreateEffectVehicleRel(v, 0, 7, 8, EV_CRASHED_SMOKE);
|
|
|
SndPlayVehicleFx(0x10, v);
|
|
|
SndPlayVehicleFx(SND_12_EXPLOSION, v);
|
|
|
DeleteDisasterVeh(v);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
static void DestructIndustry(Industry *i)
|
|
@@ -371,13 +371,13 @@ static void DisasterTick_2(Vehicle *v)
|
|
|
|
|
|
i = DEREF_INDUSTRY(v->dest_tile);
|
|
|
DestructIndustry(i);
|
|
|
|
|
|
SetDParam(0, i->town->index);
|
|
|
AddNewsItem(STR_B002_OIL_REFINERY_EXPLOSION, NEWS_FLAGS(NM_THIN,NF_VIEWPORT|NF_TILE,NT_ACCIDENT,0), i->xy, 0);
|
|
|
SndPlayTileFx(0x10, i->xy);
|
|
|
SndPlayTileFx(SND_12_EXPLOSION, i->xy);
|
|
|
}
|
|
|
} else if (v->next_order == 0) {
|
|
|
int x,y;
|
|
|
uint tile;
|
|
|
int ind;
|
|
|
|
|
@@ -441,13 +441,13 @@ static void DisasterTick_3(Vehicle *v)
|
|
|
|
|
|
i = DEREF_INDUSTRY(v->dest_tile);
|
|
|
DestructIndustry(i);
|
|
|
|
|
|
SetDParam(0, i->town->index);
|
|
|
AddNewsItem(STR_B003_FACTORY_DESTROYED_IN_SUSPICIOUS, NEWS_FLAGS(NM_THIN,NF_VIEWPORT|NF_TILE,NT_ACCIDENT,0), i->xy, 0);
|
|
|
SndPlayTileFx(0x10, i->xy);
|
|
|
SndPlayTileFx(SND_12_EXPLOSION, i->xy);
|
|
|
}
|
|
|
} else if (v->next_order == 0) {
|
|
|
int x,y;
|
|
|
uint tile;
|
|
|
int ind;
|
|
|
|
|
@@ -598,13 +598,13 @@ static void DisasterTick_4b(Vehicle *v)
|
|
|
u = &_vehicles[v->u.disaster.unk2];
|
|
|
if (abs(v->x_pos - u->x_pos) > 16)
|
|
|
return;
|
|
|
v->next_order = 1;
|
|
|
|
|
|
CreateEffectVehicleRel(u, 0, 7, 8, EV_CRASHED_SMOKE);
|
|
|
SndPlayVehicleFx(0x10, u);
|
|
|
SndPlayVehicleFx(SND_12_EXPLOSION, u);
|
|
|
|
|
|
DeleteDisasterVeh(u);
|
|
|
|
|
|
for(i=0; i!=80; i++) {
|
|
|
uint32 r = Random();
|
|
|
CreateEffectVehicleAbove(
|