27 lines
646 B
C
27 lines
646 B
C
// explosion.c.inc
|
|
|
|
void bhv_explosion_init(void) {
|
|
create_sound_spawner(SOUND_GENERAL2_BOBOMB_EXPLOSION);
|
|
set_environmental_camera_shake(SHAKE_ENV_EXPLOSION);
|
|
|
|
o->oOpacity = 255;
|
|
}
|
|
|
|
void bhv_explosion_loop(void) {
|
|
s32 i;
|
|
|
|
if (o->oTimer == 9) {
|
|
if (find_water_level(o->oPosX, o->oPosZ) > o->oPosY) {
|
|
for (i = 0; i < 40; i++)
|
|
spawn_object(o, MODEL_WHITE_PARTICLE_SMALL, bhvBobombExplosionBubble);
|
|
} else
|
|
spawn_object(o, MODEL_SMOKE, bhvBobombBullyDeathSmoke);
|
|
|
|
o->activeFlags = 0;
|
|
}
|
|
|
|
o->oOpacity -= 14;
|
|
|
|
cur_obj_scale((f32) o->oTimer / 9.0f + 1.0);
|
|
}
|