about summary refs log tree commit diff
path: root/src/game/server/gamemodes/tdm.cpp
blob: 72605000ec2e4b4de9a3a8b2be6d27fc852cc225 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/* copyright (c) 2007 magnus auvinen, see licence.txt for more info */
#include <engine/e_server_interface.h>
#include <game/server/entities/character.hpp>
#include <game/server/player.hpp>
#include "tdm.hpp"

GAMECONTROLLER_TDM::GAMECONTROLLER_TDM()
{
	gametype = "TDM";
	game_flags = GAMEFLAG_TEAMS;
}

int GAMECONTROLLER_TDM::on_character_death(class CHARACTER *victim, class PLAYER *killer, int weapon)
{
	GAMECONTROLLER::on_character_death(victim, killer, weapon);
	
	
	if(weapon != WEAPON_GAME)
	{
		// do team scoring
		if(killer == victim->player || killer->team == victim->player->team)
			teamscore[killer->team&1]--; // klant arschel
		else
			teamscore[killer->team&1]++; // good shit
	}
		
	return 0;
}

void GAMECONTROLLER_TDM::tick()
{
	do_team_score_wincheck();
	GAMECONTROLLER::tick();
}