Path: blob/master/src/game/behaviors/bowser_bomb.inc.c
7861 views
// bowser_bomb.c.inc12void bhv_bowser_bomb_loop(void) {3if (obj_check_if_collided_with_object(o, gMarioObject) == 1) {4o->oInteractStatus &= ~INT_STATUS_INTERACTED;5spawn_object(o, MODEL_EXPLOSION, bhvExplosion);6o->activeFlags = ACTIVE_FLAG_DEACTIVATED;7}89if (o->oInteractStatus & INT_STATUS_HIT_MINE)10{11spawn_object(o, MODEL_BOWSER_FLAMES, bhvBowserBombExplosion);12create_sound_spawner(SOUND_GENERAL_BOWSER_BOMB_EXPLOSION);13set_camera_shake_from_point(SHAKE_POS_LARGE, o->oPosX, o->oPosY, o->oPosZ);14o->activeFlags = ACTIVE_FLAG_DEACTIVATED;15}1617set_object_visibility(o, 7000);18}1920void bhv_bowser_bomb_explosion_loop(void) {21struct Object *mineSmoke;2223cur_obj_scale((f32) o->oTimer / 14.0f * 9.0 + 1.0);24if ((o->oTimer % 4 == 0) && (o->oTimer < 20)) {25mineSmoke = spawn_object(o, MODEL_BOWSER_SMOKE, bhvBowserBombSmoke);26mineSmoke->oPosX += random_float() * 600.0f - 400.0f;27mineSmoke->oPosZ += random_float() * 600.0f - 400.0f;28mineSmoke->oVelY += random_float() * 10.0f;29}3031if (o->oTimer % 2 == 0)32o->oAnimState++;33if (o->oTimer == 28)34o->activeFlags = ACTIVE_FLAG_DEACTIVATED;35}3637void bhv_bowser_bomb_smoke_loop(void) {38cur_obj_scale((f32) o->oTimer / 14.0f * 9.0 + 1.0);39if (o->oTimer % 2 == 0)40o->oAnimState++;4142o->oOpacity -= 10;43if (o->oOpacity < 10)44o->oOpacity = 0;4546o->oPosY += o->oVelY;4748if (o->oTimer == 28)49o->activeFlags = ACTIVE_FLAG_DEACTIVATED;50}515253