diff --git a/src/k_battle.c b/src/k_battle.c index b82def8c1..6e94f83e2 100644 --- a/src/k_battle.c +++ b/src/k_battle.c @@ -247,6 +247,11 @@ mobj_t *K_SpawnChaosEmerald(fixed_t x, fixed_t y, fixed_t z, angle_t angle, SINT P_SetMobjState(overlay, S_CHAOSEMERALD_UNDER); overlay->color = emerald->color; + if (gametyperules & GTR_CLOSERPLAYERS) + { + emerald->fuse = BATTLE_DESPAWN_TIME; + } + return emerald; } diff --git a/src/k_kart.c b/src/k_kart.c index b9baa2d2c..d84c58849 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -6441,7 +6441,7 @@ mobj_t *K_CreatePaperItem(fixed_t x, fixed_t y, fixed_t z, angle_t angle, SINT8 P_SetTarget(&backdrop->tracer, drop); backdrop->flags2 |= MF2_LINKDRAW; - if (gametyperules & GTR_BUMPERS) + if (gametyperules & GTR_CLOSERPLAYERS) { drop->fuse = BATTLE_DESPAWN_TIME; } diff --git a/src/p_mobj.c b/src/p_mobj.c index e0a71242c..dc79dc373 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -9636,6 +9636,7 @@ static boolean P_CanFlickerFuse(mobj_t *mobj) case MT_FLOATINGITEM: case MT_POGOSPRING: case MT_KART_LEFTOVER: + case MT_EMERALD: if (mobj->fuse <= TICRATE) { return true;