{
if (pbad_c->kind == BAD_MRBOMB)
{
- // FIXME: this is where other MrBombs *should* explode istead of dying
- pbad_c->kill_me();
+ // mrbomb transforms into a bomb now
+ World::current()->add_bad_guy(base.x, base.y, BAD_BOMB);
+ pbad_c->remove_me();
+ return;
}
- else if (pbad_c->kind != BAD_BOMB)
+ else if (pbad_c->kind != BAD_MRBOMB)
{
pbad_c->kill_me();
}
else if (base.y + base.height > pbad_c->base.y + pbad_c->base.height)
break;
- if (dir == LEFT)
- dir = RIGHT;
- else if (dir == RIGHT)
- dir = LEFT;
-
- physic.inverse_velocity_x();
+ if (pbad_c->kind != BAD_FLAME)
+ {
+ if (dir == LEFT)
+ dir = RIGHT;
+ else if (dir == RIGHT)
+ dir = LEFT;
+
+ physic.inverse_velocity_x();
+ }
}
break;
world->play_music(HERRING_MUSIC);
}
/* are we low on time ? */
- else if (time_left.get_left() < TIME_WARNING
- && (world->get_music_type() == LEVEL_MUSIC))
+ else if (time_left.get_left() < TIME_WARNING)
{
world->play_music(HURRYUP_MUSIC);
}
white_text->draw("Press ESC To Return",0,20,1);
}
- if (time_left.get_left() > TIME_WARNING || (global_frame_counter % 10) < 5)
- {
- sprintf(str, "%d", time_left.get_left() / 1000 );
- white_text->draw("TIME", 224, 0, 1);
- gold_text->draw(str, 304, 0, 1);
- }
+ if(!time_left.check()) {
+ white_text->draw("TIME'S UP", 224, 0, 1);
+ } else if (time_left.get_left() > TIME_WARNING || (global_frame_counter % 10) < 5) {
+ sprintf(str, "%d", time_left.get_left() / 1000 );
+ white_text->draw("TIME", 224, 0, 1);
+ gold_text->draw(str, 304, 0, 1);
+ }
sprintf(str, "%d", player_status.distros);
white_text->draw("COINS", screen->h, 0, 1);