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	Sun Feb 15 15:42:16 2015 -0600
@@ -1346,3 +1346,28 @@
 {
 	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];
+		}
+
+		
+		char* cmd = new char [cmdTotal.Len()+1];
+		strcpy(cmd, cmdTotal);
+		AddCommandString(cmd);
+
+		delete[] cmd;
+	}
+}
