#include <amxmodx>
#include <cstrike>
#include <fun>

#define PLUGIN "Frag Manager"
#define VERSION "1.0"
#define AUTHOR "Dooz"

new cvar_kill_frag, cvar_knife_kill_frag, cvar_headshot_frag, cvar_bomb_exploded_frag, cvar_bomb_defused_frag;

public plugin_init(){
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_event("DeathMsg","Player_Death","a");

	cvar_kill_frag = register_cvar("fm_kill_frag", "1");
	cvar_knife_kill_frag = register_cvar("fm_knife_kill_frag", "1");
	cvar_headshot_frag = register_cvar("fm_headshot_frag", "1");
	cvar_bomb_exploded_frag = register_cvar("fm_bomb_exploded_frag", "3");
	cvar_bomb_defused_frag = register_cvar("fm_bomb_defused_frag", "3");
}

public Player_Death(){
	new Killer = read_data(1);
	new Victim = read_data(2);
	new Headshot = read_data(3);
	new Weapon[32]; read_data(4, Weapon, 31);
	
	if(!is_user_connected(Killer) || !is_user_connected(Victim) || Killer == Victim || cs_get_user_team(Killer) == cs_get_user_team(Victim)) 
		return;
	
	if(Headshot)
		set_user_frags(Killer, (get_user_frags(Killer) - 1) + get_pcvar_num(cvar_headshot_frag));
	else{
		if(Weapon[0] == 'k')
			set_user_frags(Killer, (get_user_frags(Killer) - 1) + get_pcvar_num(cvar_knife_kill_frag));
		else
			set_user_frags(Killer, (get_user_frags(Killer) - 1) + get_pcvar_num(cvar_kill_frag));
	}
}

public bomb_explode(Planter, Defuser)
	set_user_frags(Planter, (get_user_frags(Planter) - 3) + get_pcvar_num(cvar_bomb_exploded_frag));
 
public bomb_defused(Defuser)
	set_user_frags(Defuser, (get_user_frags(Defuser) - 3) + get_pcvar_num(cvar_bomb_defused_frag));