about summary refs log tree commit diff
path: root/src/game/server/gs_game_tdm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/server/gs_game_tdm.cpp')
-rw-r--r--src/game/server/gs_game_tdm.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/game/server/gs_game_tdm.cpp b/src/game/server/gs_game_tdm.cpp
new file mode 100644
index 00000000..7aa12e2b
--- /dev/null
+++ b/src/game/server/gs_game_tdm.cpp
@@ -0,0 +1,32 @@
+/* copyright (c) 2007 magnus auvinen, see licence.txt for more info */
+#include <engine/e_config.h>
+#include "gs_common.h"
+#include "gs_game_tdm.h"
+
+gameobject_tdm::gameobject_tdm()
+{
+	is_teamplay = true;
+}
+
+
+int gameobject_tdm::on_player_death(class player *victim, class player *killer, int weapon)
+{
+	gameobject::on_player_death(victim, killer, weapon);
+	
+	if(weapon >= 0)
+	{
+		// do team scoring
+		if(killer == victim)
+			teamscore[killer->team&1]--; // klant arschel
+		else
+			teamscore[killer->team&1]++; // good shit
+	}
+	return 0;
+}
+
+void gameobject_tdm::tick()
+{
+	do_team_wincheck();
+	
+	gameobject::tick();
+}