if srb2p return end

freeslot("sfx_rcktln", "sfx_rcktex")

addHook("PlayerThink", function(player) // Paingiver variable setup
	if player.mo.skin == "doomguy"
		if player.PaingiverFired == nil
		player.PaingiverFired = 0
			end
		if player.RocketLaunched == nil
		player.RocketLaunched = 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.PaingiverFired == 0
		P_SpawnLockOn(player, player.target, S_MHICON)
	end
end)

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

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

addHook("ThinkFrame", function() // Paingiver button press
for player in players.iterate do
	if player.mo.skin ~= "doomguy" then
		continue
	end
		
	if not (player.cmd.buttons & BT_CUSTOM2)
	and not (player.mo.state == S_PLAY_DFRE)
	and not (player.mo.state == S_PLAY_RFRE)
	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.rocketspam == 1 then
		player.rocketspam = 0
	end

	if player.rocketspam == nil then
		player.rocketspam = 0
		end
	end
end)

addHook("PlayerThink", function(player) // Paingiver animations
	if player.mo.skin == "doomguy"
	and player.RocketLaunched <= 38
	and player.mo.state == S_PLAY_RFRE
	player.mo.state = S_PLAY_STND
	end
end)

addHook("PlayerThink", function(player) // Paingiver Fire
	if player.mo.skin == "doomguy"
		and player.SecondaryWeaponName == "Rocket Launcher"
		and (player.cmd.buttons & BT_CUSTOM2)
		and player.rocketspam == 0
		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.RocketLaunched == 0
			player.rocketspam = 1
			player.mo.state = S_PLAY_RFRE
			player.RocketLaunched = 55
			S_StartSoundAtVolume(player.mo, sfx_rcktln,75)
			P_SpawnThokMobj(player)
				if player.target
				P_SpawnMissile(player.mo, player.target, MT_DOOMROCKET)
				else
				P_SPMAngle(player.mo, MT_DOOMROCKET, player.SlayerDirection, 1)
		end
	end
end)

sfxinfo[sfx_rcktln].caption = "Launch Rocket"
