freeslot("sfx_radsnd")

sfxinfo[sfx_radsnd] = {
	flags = SF_NOMULTIPLESOUND,
	caption = "Black Phantom Pressure",
}

local function radiation(line, p, sec)
	if p and sec
		S_StartSound(p, sfx_radsnd, p.player)
		if p.radringtimer > 0
			p.radringtimer = $ - 1
		end
		if p.radringtimer == 0
		and not (p.player.powers[pw_super])
		and not (p.player.powers[pw_invulnerability])
		and not (p.player.powers[pw_shield] == SH_ARMAGEDDON)
			p.radringtimer = TICRATE/2
			S_StartSound(nil, sfx_antiri, p.player)
			if p.player.rings == 0
				P_KillMobj(p)
				p.radringcount = -1
			else
				P_GivePlayerRings(p.player, p.radringcount)
				p.radringcount = $ - 1
			end
		end
	end
end

local function radiationreset(line, p, sec)
	if p and sec
		p.radringtimer = TICRATE/2
		p.radringcount = -1
		S_StopSoundByID(p, sfx_radsnd)
	end
end

addHook("LinedefExecute", radiation, "RADIAT")
addHook("LinedefExecute", radiationreset, "RADIRS")