addHook("AbilitySpecial", function(player) -- This new hook takes care of literally everything!
	if (player.mo and player.mo.skin == "lrafael") then -- Skin restriction
		player.charability = CA_HOMINGTHOK
		if (not (player.pflags & PF_THOKKED) or player.charability2 == CA2_MULTIABILITY) and not (player.homing) then -- If they can use their ability and haven't already.
			-- Actionspeed cap, commented out since it makes homing way too slow.
			--[[if (player.actionspd > player.normalspeed) then -- Speed cap. Remove if using custom actionspd.
				player.actionspd = player.normalspeed 
			end]]
			--player.actionspd = $1 / 3; -- (BALANCE) TD leftover. Makes the JumpThok execute slower, so the thrust is less instant.
			-- NOTE: Thokking will divide your current x and y momentum by three, this is a hardcoded behavior. If you want to get rid of it though, just multiply them by three again.
			player.pflags = $1 & ~PF_JUMPED
			P_DoJump(player, false)
		end
	end
end) -- 