function OnPlayerConnected(player)
	if player:IsBot() then
		return
	end
	player.ouchcooldown = 0
	player:AddCallback(ON_DEATH, function()
		if player.m_iClass == 10 then
			local randomsound = math.random(1, 4)
			player:PlaySound("=105|npc/metropolice/die" .. randomsound .. ".wav")
		end
	end)
	player:AddCallback(ON_DAMAGE_RECEIVED_PRE, function(_, damageinfo)
		if player.m_iClass ~= 10 then
			return
		end
		local attacker = damageinfo.Attacker
		if damageinfo.Damage > 0.49999 and damageinfo.DamageType ~= 8 and attacker.m_iTeamNum ~= player.m_iTeamNum and damageinfo.Damage < player.m_iHealth then
			local randomsound = math.random(1, 4)
			if player.ouchcooldown > 0 then
				return
			end
			player:PlaySound("=105|npc/metropolice/pain" .. randomsound .. ".wav")
			player.ouchcooldown = 5
		end
	end)
	player:AddCallback(ON_SPAWN, function()
		if player.m_iClass == 10 then
			player:SetCustomModelWithClassAnimations("models/player/sniper.mdl")
			timer.Simple(0.01, function()
				player:AddCond(32, 0.01, nil)
			end)
		end
		timer.Create(0.1, function()
			if not player:IsValid() then -- random errors out of nowhere
				return
			end
			if player.m_iClass ~= 10 or not player:IsAlive() then
				return false
			end
			if player.ouchcooldown > 0 then
				player.ouchcooldown = player.ouchcooldown - 1
			end
			for _, allies in pairs(ents.FindInSphere(player:GetAbsOrigin(), 400)) do
				if allies.m_iTeamNum == player.m_iTeamNum and player:IsAlive() and allies:IsAlive() and allies:IsPlayer() and allies:GetHandleIndex() ~= player:GetHandleIndex() then
					if player.m_hActiveWeapon:GetClassname() ~= "tf_weapon_fireaxe" and player.m_hActiveWeapon ~= 954 then -- multi class weapons are axes huh
						return
					end
					allies:AddCond(42, 0.15, player) -- lvl1 bomb defense
					allies:AddCond(6, 0.15, player) -- tele dust
					allies:AddCond(101, 0.15, player) -- grappling hook hud icon
					allies:AddCond(20, 0.15, player) -- amputator rings
					allies:AddCond(21, 0.15, player) -- some cond provided by continuous healing maybe it will make assists work
					allies:AddHealth(1, false)
					-- allies:PlaySound("=18|weapons/physcannon/energy_sing_flyby2.wav")
				end
			end
		end, 0, nil)
	end)
end