diff --git a/src/database/region.lua b/src/database/region.lua index 31e335f..446a609 100644 --- a/src/database/region.lua +++ b/src/database/region.lua @@ -4,6 +4,8 @@ function C:new(worldGraph, name) self.locations = {} self.world = worldGraph self.name = name + self.order = worldGraph.order + worldGraph.order = worldGraph.order + 1 end function C:canAccess(items) diff --git a/src/database/world_graph.lua b/src/database/world_graph.lua index 03f4d10..efecb14 100644 --- a/src/database/world_graph.lua +++ b/src/database/world_graph.lua @@ -409,6 +409,7 @@ local worldGraph = Class:extend() function worldGraph:new(items) self.items = items + self.order = 0 self.regions = { firstCave = firstCave(self), @@ -550,7 +551,15 @@ function worldGraph.locationsArray(locations) end function worldGraph:logLocations() - for k,r in pairs(self.regions) do + local array = {} + for k,v in pairs(self.regions) do + table.insert(array, v) + end + local function sort(a,b) + return a.order < b.order + end + + for k,r in ipairs(_.sort(array,sort)) do if next(r.locations) then logSpoiler("") logSpoiler("Region: " .. r.name) diff --git a/src/randomizer.lua b/src/randomizer.lua index bf7aa4f..4dcc730 100644 --- a/src/randomizer.lua +++ b/src/randomizer.lua @@ -37,6 +37,7 @@ function C:new() self.obj = "" self.sharecode = "" self.mychar = "" + self.spawn = "" end function C:setPath(path)