addHook("ThinkFrame", function()
  for player in players.iterate 
    if player.mo.skin == "flysonic" and player.powers[pw_super] and not player.powers[pw_invulnerability] and not player.powers[pw_sneakers] and not player.powers[pw_extralife]
      S_ChangeMusic("LRTVB", _, player)
    end
  end
end)

addHook("ThinkFrame", function()
for player in players.iterate
	if player.mo and player.mo.skin == "flysonic" then
		player.stimer = $ or 0
		if player.stimer > 0 then player.stimer = ($ - 1) end
		player.tsound = $ or 0
		player.tsound = ($ + 1) % 2
		end
	end
end)

addHook("ThinkFrame", function()
  for player in players.iterate 
    if player.mo.skin == "flysonic" and player.powers[pw_super] and player.stimer == 0 then
	  A_GoldMonitorSparkle(player.mo, 0, 0)
	  player.stimer = 5
	 end
   end
 end)
 
 addHook("ThinkFrame", do
	for player in players.iterate
		if player.mo and player.mo.skin == "flysonic" and mariomode == false and player.powers[pw_super] then
		if player.pflags & PF_JUMPED and player.jump == 0 then
			S_StartSound(player.mo, sfx_jmp14)
			player.jump = 1
		end
			if  (P_IsObjectOnGround(player.mo)) then
			player.jump = 0
			end
		end
	end
end)

freeslot("sfx_aaaaa", "sfx_awhoa")
sfxinfo[sfx_aaaaa].caption = "Toad screams"
sfxinfo[sfx_awhoa].caption = "Toad loses his sanity"

addHook("ThinkFrame", do
	for player in players.iterate
		if player.mo and player.mo.skin == "flysonic" then
		if player.mo.state == S_PLAY_FLY_TIRED and player.crash == 0 and player.powers[pw_super] then
			S_StartSound(player.mo, (player.tsound == 0 and sfx_aaaaa or sfx_awhoa))
			player.crash = 1
			player.mo.state = S_PLAY_JUMP
		end
		if player.mo.state != S_PLAY_FLY_TIRED then
			player.crash = 0
			end
		end
	end
end)

freeslot("sfx_tbest")
sfxinfo[sfx_tbest].caption = "I'm the best!"

addHook("ThinkFrame", do
	for player in players.iterate
		if player.mo and player.mo.skin == "flysonic" and player.powers[pw_super] then
		if player.pflags & PF_FINISHED and player.wins == 0 then
			S_StartSound(player.mo, sfx_tbest)
			player.wins = 1
			end
		end
	end
end)