From 7dda35bc16b3025d6eccefa9e3122f8203a5c89b Mon Sep 17 00:00:00 2001
From: Yukita Mayako <catgirl@goddess.moe>
Date: Sun, 13 Mar 2016 18:12:35 -0400
Subject: [PATCH] Dirty hack.

---
 src/p_map.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/p_map.c b/src/p_map.c
index ca9b10aa3c..d17982c8a4 100644
--- a/src/p_map.c
+++ b/src/p_map.c
@@ -321,7 +321,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
 		I_Assert(tmthing->player);
 
 		// we only care about monitors, springs, enemies, and bosses - things we can bounce off of.
-		if (!(thing->flags & (MF_SOLID|MF_MONITOR|MF_SPRING|MF_ENEMY|MF_BOSS)) && thing->type != MT_FAN && thing->type != MT_STEAM)
+		if (!(thing->flags & (MF_SOLID|MF_MONITOR|MF_SPRING|MF_ENEMY|MF_BOSS)) && thing->type != MT_FAN && thing->type != MT_STEAM && thing->type != MT_FLINGRING)
 			return true;
 
 		blockdist = thing->radius + tmthing->radius;
@@ -332,7 +332,12 @@ static boolean PIT_CheckThing(mobj_t *thing)
 		if (thing->z + thing->height < tmthing->z)
 			return true; // underneath
 
-		if (thing->type == MT_FAN || thing->type == MT_STEAM)
+		if (thing->type == MT_FLINGRING && P_CanPickupItem(tmthing->player, false))
+		{
+			P_KillMobj(thing, NULL, NULL, 0);
+			return true;
+		}
+		else if (thing->type == MT_FAN || thing->type == MT_STEAM)
 			P_DoFanAndGasJet(thing, tmthing);
 		else if (thing->flags & MF_SPRING)
 		{
-- 
GitLab