function onTalk()
    local location = ""
	local hasgolden = getFlag("flag_golden")
	if arguments and type(arguments) == 'string' then
		location = arguments
	end
	if hasgolden == true then
		wait(0.2)
		teleport(232, 152, "GymHub")
		endCutscene()
	end
	disableMovement()
	choiceDialog({
	{
		"Violet_HardlistGyms_Close",
		onChosen = function()
				closeChoiceDialog()
		end
	},
	{
		"Violet_HardlistGyms_Hub",
		onChosen = function ()
				teleport(232, 152, "GymHub")
		end,
		onEnd = function ()
                closeChoiceDialog()
		end
	},
	{
		"Violet_PlusOneGym_Ultra_loc_0",
		requires =
		function ()
			if location == "DelayedUltra_0" then
				return false
			end
			return true
		end,
		onChosen = function ()
				teleportTo(69, -120, "DelayedUltras")
		end,
		onEnd = function ()
                closeChoiceDialog()
		end
	},
	{
		"Violet_PlusOneGym_Ultra_loc_1",
		requires =
		function ()
			if location == "DelayedUltra_1" then
				return false
			end
			return true
		end,
		onChosen = function ()
				teleportTo(600, -120, "DelayedUltras")
		end,
		onEnd = function ()
                closeChoiceDialog()
		end
	},
	{
		"Violet_PlusOneGym_Ultra_loc_2",
		requires =
		function ()
			if location == "DelayedUltra_2" then
				return false
			end
			return true
		end,
		onChosen = function ()
				teleportTo(1090, -120, "DelayedUltras")
		end,
		onEnd = function ()
                closeChoiceDialog()
		end
	},
	{
		"Violet_PlusOneGym_Ultra_loc_3",
		requires =
		function ()
			if location == "DelayedUltra_3" then
				return false
			end
			return true
		end,
		onChosen = function ()
				teleportTo(1840, -120, "DelayedUltras")
		end,
		onEnd = function ()
                closeChoiceDialog()
		end
	},
	{
		"Violet_PlusOneGym_Ultra_loc_4",
		requires =
		function ()
			if location == "DelayedUltra_4" then
				return false
			end
			return true
		end,
		onChosen = function ()
				teleportTo(2280, -120, "DelayedUltras")
		end,
		onEnd = function ()
                closeChoiceDialog()
		end
	}
	})
	enableMovement()
end

function onEnd(room, wasSkipped)
    if wasSkipped then
        enableMovement()
    end
end
