diff -r 3e26f5eca137 src/c_cmds.cpp
--- a/src/c_cmds.cpp	Sun Oct 05 21:47:04 2014 +0200
+++ b/src/c_cmds.cpp	Mon Feb 16 14:21:47 2015 -0600
@@ -1346,3 +1346,25 @@
 {
 	CountActors ();
 }
+
+// [Cata] Executes cmd only if you are a spectator.
+CCMD (ifspectator)
+{
+	if ( argv.argc() <= 1 )
+	{
+		Printf ( "Usage: ifspectator <command>\n" );
+	}
+	else if ( players[consoleplayer].bDeadSpectator || players[consoleplayer].bSpectating )
+	{
+		FString cmdTotal;
+		for( int i = 1; i < argv.argc(); i++ )
+		{
+			cmdTotal += ' ';
+			cmdTotal += argv[i];
+		}
+
+		
+		AddCommandString(cmdTotal.LockBuffer());
+		cmdTotal.UnlockBuffer();
+	}
+}
