From 0f79e9ea3b75e62398dbb7f3c3d41a1706747956 Mon Sep 17 00:00:00 2001
From: toasterbabe <rollerorbital@gmail.com>
Date: Sat, 16 Jul 2016 18:54:22 +0100
Subject: [PATCH] On Rob's request, the twinspin can break spikes. (woo)

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

diff --git a/src/p_map.c b/src/p_map.c
index c534ee137c..65a5fefabd 100644
--- a/src/p_map.c
+++ b/src/p_map.c
@@ -448,9 +448,12 @@ static boolean PIT_CheckThing(mobj_t *thing)
 		return true;
 	}
 
-	// Dashmode users destroy spikes and monitors.
-	if ((tmthing->player) && (tmthing->player->charability == CA_DASHMODE) && (tmthing->player->dashmode >= 3*TICRATE)
-	&& (thing->flags & (MF_MONITOR) || thing->type == MT_SPIKE))
+	// CA_DASHMODE users destroy spikes and monitors, CA_TWINSPIN users destroy spikes.
+	if ((tmthing->player)
+		&& (((tmthing->player->charability == CA_DASHMODE) && (tmthing->player->dashmode >= 3*TICRATE)
+		&& (thing->flags & (MF_MONITOR) || thing->type == MT_SPIKE))
+	|| ((tmthing->player->charability == CA_TWINSPIN) && (tmthing->player->panim == PA_ABILITY)
+		&& (thing->type == MT_SPIKE))))
 	{
 		if ((thing->flags & (MF_MONITOR)) && (thing->health <= 0 || !(thing->flags & MF_SHOOTABLE)))
 			return true;
-- 
GitLab