// Mod by TheDarkedgyhope


addHook("PlayerThink", function(player)
	if player.mo and player.mo.skin == "sonic"
		if (player.cmd.buttons & BT_TOSSFLAG)
          if player.mo.zoom == false
		    and player.rings >= 2
			and G_PlatformGametype()
			and not (player.weapondelay & 50)
			player.weapondelay = 50
            player.mo.zoom = true
	end
end
end
end)


addHook("ThinkFrame", do
	for player in players.iterate
		if player.mo and player.mo.skin == "sonic" then
          if player.mo.zoom == true
            if (player.cmd.buttons & BT_CUSTOM1)
         and G_PlatformGametype()
          and (player.pflags & PF_JUMPED)
    	player.target = P_LookForEnemies(player, true, true) -- My target is Enemies
     if player.target
       P_HomingAttack(player.mo, player.target) -- U yes u ima steal u liver
       player.mo.state = S_PLAY_ROLL
end
end
end
end
end
end)



addHook("PlayerThink", function(player)
	if player.mo and player.mo.skin == "sonic" 
	if player.mo.zoom == true 
    player.mo.color = SKINCOLOR_BLACK
    player.normalspeed = 52*FRACUNIT 
    player.mo.eflags = $ | MFE_FORCESUPER
   local trail = P_SpawnGhostMobj(player.mo)
	trail.color = SKINCOLOR_SPEAREFF
	trail.colorized = true
    trail.tics = 3
    trail.blendmode = AST_ADD
	end -- 
end
end)

addHook("PlayerThink", function(player)
	if player.mo and player.mo.skin == "sonic"
	and player.rings <= 0 
	player.mo.zoom = false 
	player.mo.color = SKINCOLOR_BLUE
    player.mo.eflags = $1 & ~ MFE_FORCESUPER
    player.normalspeed = 36*FRACUNIT 
	end
end)

addHook("PlayerThink", function(player)    // kirb the korb uses rings stuff in my past and i learned this from him this code just makes the rings decut 1 ring every second
    if player.mo.zoom == true
    if leveltime % TICRATE == 0 then 
		player.rings = $ - 2 
end
end
end)





addHook("ThinkFrame", do
	for player in players.iterate
if player.mo and player.mo.skin == "sonic"
if player.mo.zoom == true
player.charflags = $1|SF_RUNONWATER
player.charflags = $1|SF_CANBUSTWALLS
else
player.charflags = $1 & ~SF_RUNONWATER
player.charflags = $1 & ~SF_CANBUSTWALLS
end
end
end
end)





addHook("PlayerThink", function(player)
	if player.mo and player.mo.skin == "sonic"
		if (player.cmd.buttons & BT_TOSSFLAG)
          if player.mo.zoom == true
			and G_PlatformGametype()
			and not (player.weapondelay & 50)
			player.weapondelay = 50
            player.mo.eflags = $1 & ~ MFE_FORCESUPER
            player.mo.color = SKINCOLOR_BLUE
            player.normalspeed = 36*FRACUNIT 
            player.mo.zoom = false
	end
end
end
end)