addHook("PlayerThink", function(player) -- the hook
		local mo = player.mo -- again
		if (mo and mo.skin == "originsamy") and not player.exiting and not P_IsObjectOnGround(mo) -- if Amy and not exiting and not on ground
			if (mo.state == S_PLAY_SPRING or mo.state == S_PLAY_FALL) and mo.hammerjumped == 0 -- if states are true and if amy has not hammer jumped
				if not (player.pflags & (PF_JUMPED|PF_STARTJUMP)) -- if the player currently has not jumped
					player.pflags = $ | PF_JUMPED|PF_NOJUMPDAMAGE -- assign it, so that she can use twinspin... and no jump damage 
				end
			end
		end
end)