local BattleFuncSet = false

addHook("ThinkFrame",function()
	if (BattleFuncSet) or not(CBW_Battle and CBW_Battle.SkinVars) then return end
		BattleFuncSet = true

		local GraniferGiganticusBattle = function(mo,doaction,pressedaction)
		local player = mo.player
		if not(CBW_Battle.CanDoAction(player))
			player.actionstate = 0
			return
		end
		player.actiontext = "Rollout"
		player.actionrings = 5
		if player.actionstate != 0
			player.canguard = false
		end
		if player.actionstate == 0
			if doaction == 1
				CBW_Battle.PayRings(player)
				player.mo.state = S_PLAY_ROLL
				S_StartSound(player.mo, sfx_zoom)
				player.powers[pw_invulnerability] = 50
				P_InstaThrust(player.mo, player.mo.angle, 80*FRACUNIT)
				CBW_Battle.ApplyCooldown(player, 1*TICRATE)
			end
		end
	end
	
	CBW_Battle.SkinVars["graniferv2"] = {
		weight = 750,
		shields = 1,
		guard_frame = 2,
		special = GraniferGiganticusBattle,
 		guard_enabled = true,
 		guard_frame = 2,
 		func_guard_trigger = CBW_Battle.GuardFunc.Parry
	}
end)