//This gives FSonic all of Vanilla Sonic's attributes for battle

local BattleFuncSet = false

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

	CBW_Battle.SkinVars["fsonic"] = {
 		weight = 90,
 		shields = 1,
		special = CBW_Battle.Action.SuperSpinJump,
 		guard_enabled = true,
 		guard_frame = 1,
 		func_guard_trigger = CBW_Battle.GuardFunc.Parry,
 		func_priority = CBW_Battle.Priority_FullCommon,
 		func_priority_ext = CBW_Battle.SuperSpinJump_Priority
	}
end)

//Sonic Battle Collection Sound Stuff, because I like the mod and I like compatibility
addHook("PostThinkFrame", do
	if not mapheaderinfo[gamemap].sonicbattle return end
for player in players.iterate
	if player.mo.skin == "fsonic" //Spindash Sound
		if S_SoundPlaying(player.mo,sfx_S3KAB)
			S_StopSoundByID(player.mo,sfx_S3KAB)
			S_StartSoundAtVolume(player.mo,sfx_sbspin,192)
		end
		if player.mo.skin == "fsonic" and player.actionstate == 1 //Super Spin Jump Sound
		and S_SoundPlaying(player.mo,sfx_s3k3c)
		and S_SoundPlaying(player.mo,sfx_kc5b)
			S_StopSoundByID(player.mo,sfx_s3k3c)
			S_StopSoundByID(player.mo,sfx_kc5b)
			S_StartSound(player.mo,sfx_sbspin)
			S_StartSound(player.mo,sfx_sbson6)
		end
		if (S_SoundPlaying(player.mo,sfx_altdi1) //Death Sound
		or S_SoundPlaying(player.mo,sfx_altdi2)
		or S_SoundPlaying(player.mo,sfx_altdi3)
		or S_SoundPlaying(player.mo,sfx_altdi4))
		and (player.mo.skin == "fsonic")
			S_StopSoundByID(player.mo,sfx_altdi1)
			S_StopSoundByID(player.mo,sfx_altdi2)
			S_StopSoundByID(player.mo,sfx_altdi3)
			S_StopSoundByID(player.mo,sfx_altdi4)
			if player.mo.skin == "fsonic"
				S_StartSound(player.mo,sfx_sbson5)
			end
		end
		if S_SoundPlaying(player.mo,sfx_victr1) //Victory Sound
		and (player.mo.skin == "fsonic")
			S_StopSoundByID(player.mo,sfx_victr1)
			S_StartSound(player.mo,sfx_sbson3)
		end
		if S_SoundPlaying(player.mo,sfx_zoom) //Spindash Launch
			S_StopSoundByID(player.mo,sfx_zoom)
			if player.mo.skin == "fsonic" and player.actionstate == 2
				S_StartSound(player.mo,sfx_sbson1)
			end
		end
	end
end
end)