/* Move left/right: */
- if (pbad->mode != HELD)
+ if (pbad->mode == NORMAL || pbad->mode == KICK)
{
if (pbad->dying == NO ||
pbad->dying == FALLING)
if (pbad->mode == FLAT && pbad->mode != HELD)
{
if(!timer_check(&pbad->timer))
+ {
pbad->mode = NORMAL;
+ pbad->base.xm = 4;
+ }
}
else if (pbad->mode == KICK)
{
break;
case CO_BADGUY:
pbad_c = (bad_guy_type*) p_c_object;
- if (pbad->mode != FLAT)
- pbad->dir = !pbad->dir;
+ if (pbad->mode == NORMAL)
+ {
+ /* do nothing */
+ }
else
{
/* We're in kick mode, kill the other guy: */
add_score(pbad->base.x - scroll_x,
pbad->base.y, 100);
}
- pbad->dir = !pbad->dir;
break;
case CO_PLAYER:
pplayer_c = (player_type*) p_c_object;
timer_start(&pbad->timer,4000);
physic_set_state(&pplayer_c->vphysic,PH_VT);
physic_set_start_vy(&pplayer_c->vphysic,2.);
+ pplayer_c->base.y = pbad->base.y - pplayer_c->base.height;
add_score(pbad->base.x - scroll_x, pbad->base.y,
50 * score_multiplier);
else if (pbad->kind == BAD_LAPTOP)
{
- if (pbad->mode != KICK)
+ if (pbad->mode == NORMAL || pbad->mode == KICK)
{
/* Flatten! */
physic_set_state(&pplayer_c->vphysic,PH_VT);
physic_set_start_vy(&pplayer_c->vphysic,2.);
+ pplayer_c->base.y = pbad->base.y - pplayer_c->base.height;
}
- else
+ else if (pbad->mode == FLAT)
{
/* Kick! */
physic_set_state(&pplayer_c->vphysic,PH_VT);
physic_set_start_vy(&pplayer_c->vphysic,2.);
-
+ pplayer_c->base.y = pbad->base.y - pplayer_c->base.height;
+
add_score(pbad->base.x - scroll_x,
pbad->base.y,
25 * score_multiplier);