addHook("PlayerThink", function(player)
    if player.mo.skin == "nuko"
        if P_IsObjectOnGround(player.mo)
		and player.cmd.buttons & BT_CUSTOM2
		and (player.mo.state == S_PLAY_STND or player.mo.state == S_PLAY_WAIT)
			player.mo.state = S_PLAY_FLY
        end
    end
end)

addHook("PlayerThink", function(player)
    if player.mo.skin == "nuko"
        if not P_IsObjectOnGround(player.mo)
		and not (player.pflags & PF_JUMPED)
		and player.cmd.buttons & BT_JUMP
		and (player.mo.state == S_PLAY_SPRING or player.mo.state == S_PLAY_FALL or player.mo.state == S_PLAY_PAIN)
            player.pflags = $ | PF_JUMPED
			player.mo.state = S_PLAY_ROLL
			P_SpawnThokMobj(player)
        end
    end
end)


addHook("PlayerThink", function(player)
    if player.mo.skin == "nuko"
        if not P_IsObjectOnGround(player.mo)
		and (player.mo.state == S_PLAY_SUPER_TRANS1)
			player.mo.state = S_PLAY_FLY
			player.pflags = $|PF_THOKKED
			player.charge = false
			player.mo.momz = 4*FRACUNIT
        end
    end
end)