function A_Invincibility(actor, var1, var2)
	if not actor.target and actor.target.player then return end
	S_StartSound(actor.target, sfx_invon)
	actor.target.godpowerup = 20 * TICRATE + 1 //actor.target.player = the guy that killed you god damn it
end

function A_SuperSneakers(actor, var1, var2)
	if not actor.target and actor.target.player then return end
	S_StartSound(actor.target, sfx_hston)
	actor.target.hastepowerup = 20 * TICRATE + 1 //actor.target.player = the guy that killed you god damn it
end

freeslot("sfx_invoff")

addHook("PlayerThink", function(p)
	if p.mo.godpowerup == nil then
		p.mo.godpowerup = 0
	end
	if p.mo.godpowerup > 0 then
		RFW.PowerShellPlayer(p, 3000, SKINCOLOR_RED, FU) //FU/2
		p.mo.godpowerup = $ - 1
		p.powers[pw_underwater] = 30*TICRATE
	end
	if p.mo.godpowerup == 3*TICRATE then
		S_StartSound(p.mo, sfx_invoff)
	end
end)

freeslot("sfx_invprt")

addHook("ShouldDamage", function(t, i, s, d, dt)
	if not t and t.valid then return end
	if t.godpowerup > 0 then
		S_StartSound(t, sfx_invprt)
		P_PlayerFlagBurst(t.player, false)
		return false
	end
end, MT_PLAYER)

freeslot("sfx_hstoff")

addHook("PlayerThink", function(p)
	if p.mo.hastepowerup == nil then
		p.mo.hastepowerup = 0
	end
	if p.mo.hastepowerup > 0 then
		RFW.PowerShellPlayer(p, 3001, SKINCOLOR_YELLOW, FU)
		p.mo.hastepowerup = $ - 1
		p.rfwspeed = $*13/10
		p.rfwfast = $*13/10
	end
	if p.mo.hastepowerup == TICRATE then
		S_StartSound(p.mo, sfx_hstoff)
	end
end)

freeslot("sfx_quaoff")

addHook("PlayerThink", function(p)
	if p.mo.quadpowerup == nil then
		p.mo.quadpowerup = 0
	end
	if p.mo.quadpowerup > 0 then
		RFW.PowerShellPlayer(p, 3002, SKINCOLOR_PURPLE, FU)
		p.mo.quadpowerup = $ - 1
		p.rfwattack = $*4
	end
	if p.mo.quadpowerup == 3*TICRATE then
		S_StartSound(p.mo, sfx_quaoff)
	end
end)