diff --git a/src/k_kart.c b/src/k_kart.c index d3aaf455b..e4e155b7d 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -11845,7 +11845,9 @@ void K_MoveKartPlayer(player_t *player, boolean onground) } Obj_RingShooterInput(player); - Obj_playerBungeeThink(player); + + if (player->bungee) + Obj_playerBungeeThink(player); } void K_CheckSpectateStatus(boolean considermapreset) diff --git a/src/objects/bungee.c b/src/objects/bungee.c index 1834cadcf..91f026545 100644 --- a/src/objects/bungee.c +++ b/src/objects/bungee.c @@ -49,8 +49,6 @@ void Obj_BungeeSpecial(mobj_t *mo, player_t *p) S_StartSound(mo, sfx_s3k5a); P_SetTarget(&p->mo->tracer, latch); - - return; } // this is the thinker to call on the player when they get bungee'd. @@ -61,7 +59,7 @@ void Obj_playerBungeeThink(player_t *p) UINT8 i; // someone removed it - if (!bungee || !P_MobjWasRemoved(bungee)) + if (!bungee || P_MobjWasRemoved(bungee)) return; bungee->tics = 4; // we set this to a low value so that it despawns if the player vanishes for some reason. @@ -90,7 +88,7 @@ void Obj_playerBungeeThink(player_t *p) p->mo->flags &= ~MF_NOGRAVITY; p->mo->flags &= ~MF_NOCLIPTHING; - p->mo->pflags &= ~PF_NOFASTFALL; + p->pflags &= ~PF_NOFASTFALL; p->bungee = BUNGEE_NONE; P_InstaThrust(p->mo, bungee->angle, p->mo->momz/8); p->mo->momz = (p->mo->momz*3)/4; @@ -115,6 +113,7 @@ void Obj_playerBungeeThink(player_t *p) P_SetScale(seg, mapobjectscale/3); seg->color = SKINCOLOR_EMERALD; + seg->frame = 0; seg->fuse = 2; } } \ No newline at end of file