diff --git a/src/k_kart.c b/src/k_kart.c index e4f3972bc..396dc38cb 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -9139,4 +9139,14 @@ void K_CheckSpectateStatus(void) } } +UINT8 K_GetInvincibilityItemFrame(void) +{ + return ((leveltime % (7*3)) / 3); +} + +UINT8 K_GetOrbinautItemFrame(UINT8 count) +{ + return min(count - 1, 3); +} + //} diff --git a/src/k_kart.h b/src/k_kart.h index d0668450e..32a134034 100644 --- a/src/k_kart.h +++ b/src/k_kart.h @@ -116,6 +116,8 @@ SINT8 K_Sliptiding(player_t *player); void K_AdjustPlayerFriction(player_t *player); void K_MoveKartPlayer(player_t *player, boolean onground); void K_CheckSpectateStatus(void); +UINT8 K_GetInvincibilityItemFrame(void); +UINT8 K_GetOrbinautItemFrame(UINT8 count); // sound stuff for lua void K_PlayAttackTaunt(mobj_t *source); diff --git a/src/p_mobj.c b/src/p_mobj.c index 1bc2c7761..602566b1b 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -5457,11 +5457,11 @@ static void P_MobjSceneryThink(mobj_t *mobj) { case KITEM_ORBINAUT: mobj->tracer->sprite = SPR_ITMO; - mobj->tracer->frame = FF_FULLBRIGHT|(min(mobj->target->player->itemamount-1, 3)); + mobj->tracer->frame = FF_FULLBRIGHT|K_GetOrbinautItemFrame(mobj->target->player->itemamount); break; case KITEM_INVINCIBILITY: mobj->tracer->sprite = SPR_ITMI; - mobj->tracer->frame = FF_FULLBRIGHT|((leveltime % (7*3)) / 3); + mobj->tracer->frame = FF_FULLBRIGHT|K_GetInvincibilityItemFrame(); break; case KITEM_SAD: mobj->tracer->sprite = SPR_ITEM; @@ -6063,11 +6063,11 @@ static boolean P_MobjRegularThink(mobj_t *mobj) { case KITEM_ORBINAUT: mobj->sprite = SPR_ITMO; - mobj->frame = FF_FULLBRIGHT|FF_PAPERSPRITE|(min(mobj->movecount-1, 3)); + mobj->frame = FF_FULLBRIGHT|FF_PAPERSPRITE|K_GetOrbinautItemFrame(mobj->movecount); break; case KITEM_INVINCIBILITY: mobj->sprite = SPR_ITMI; - mobj->frame = FF_FULLBRIGHT|FF_PAPERSPRITE|((leveltime % (7*3)) / 3); + mobj->frame = FF_FULLBRIGHT|FF_PAPERSPRITE|K_GetInvincibilityItemFrame(); break; case KITEM_SAD: mobj->sprite = SPR_ITEM;