if srb2p return end

freeslot("sfx_plasma")

addHook("PlayerThink", function(player) // plasma rifle variable setup
	if player.mo.skin == "doomguy"
		if player.PlasmaFired == nil
		player.PlasmaFired = 0
			end
		if player.PlasmaFiring == nil
		player.PlasmaFiring = 0
		end
	end
end)

addHook("PlayerThink", function(player) // targeting system
	if player.mo.skin == "doomguy"
	and player.target
	and player.target.valid
	and not (player.exiting)
	and player.PlasmaFired == 0
		P_SpawnLockOn(player, player.target, S_MHICON)
	end
end)

addHook("PlayerThink", function(player) // plasma rifle cooldown timer
	if player.mo.skin == "doomguy"
	and player.PlasmaFiring >= 1 then
	player.PlasmaFiring = $1 - 1
	end
end)

addHook("PlayerThink", function(player) // plasma rifle animation timer
	if player.mo.skin == "doomguy"
	and player.PlasmaFired >= 1 then
	player.PlasmaFired = $1 - 1
	end
end)

addHook("PlayerThink", function(player) // plasma rifle animations
	if player.mo.skin == "doomguy"
	and player.PrimaryWeaponName == "Plasma Rifle"
	and player.PlasmaFiring <= 0
	if player.cmd.sidemove == 0
	and player.cmd.forwardmove == 0
	player.mo.state = S_PLAY_PSTAND
	elseif not (player.mo.state == S_PLAY_PWALK)
	player.mo.state = S_PLAY_PWALK
		end
	end
end)

addHook("PlayerThink", function(player) // plasma rifle fire
	if player.mo.skin == "doomguy"
	and player.PrimaryWeaponName == "Plasma Rifle"
		and (player.cmd.buttons & BT_CUSTOM1)
		and not (player.pflags & PF_FULLSTASIS)
		and not (player.pflags & PF_STASIS)
		and not (player.mo.state == S_PLAY_PAIN)
		and not (player.mo.state == S_PLAY_DEAD)
		and player.PlasmaFiring <= 0
			player.mo.state = S_PLAY_PFRE
			player.PlasmaFiring = 6
			S_StartSoundAtVolume(player.mo, sfx_plasma,75)
			P_SpawnThokMobj(player)
				if player.target
				P_SpawnMissile(player.mo, player.target, MT_PLASMABALL)
				else
				P_SPMAngle(player.mo, MT_PLASMABALL, player.SlayerDirection, 1)
		end
	end
end)

sfxinfo[sfx_plasma].caption = "Plasma Fired"
