Fix certain valid seeds being impossible to generate

This does break compatibility with 0.8B seeds, unfortunately
This commit is contained in:
periwinkle 2019-07-10 13:35:14 -04:00
parent 49b5eecfbb
commit 811a1b73c4
2 changed files with 14 additions and 13 deletions

View file

@ -24,7 +24,7 @@ local function missiles()
return { return {
name = "Missile Expansion", name = "Missile Expansion",
script = "<EVE0030", script = "<EVE0030",
attributes = {"missileLauncher", "nonProgressive"} attributes = {"weapon", "missileLauncher", "nonProgressive"}
} }
end end
@ -44,52 +44,52 @@ local function _itemData()
polarStar1 = { polarStar1 = {
name = "Polar Star", name = "Polar Star",
script = "<EVE0002", script = "<EVE0002",
attributes = {"weaponBoss", "weaponSN", "polarStar", "mandatory"} attributes = {"weapon", "weaponBoss", "weaponSN", "polarStar", "mandatory"}
}, },
polarStar2 = { polarStar2 = {
name = "Polar Star", name = "Polar Star",
script = "<EVE0002", script = "<EVE0002",
attributes = {"weaponBoss", "weaponSN", "polarStar", "mandatory"} attributes = {"weapon", "weaponBoss", "weaponSN", "polarStar", "mandatory"}
}, },
missileLauncher = { missileLauncher = {
name = "Missile Launcher", name = "Missile Launcher",
script = "<EVE0030", script = "<EVE0030",
attributes = {"weaponSN", "nonProgressive"} attributes = {"weapon", "weaponSN", "nonProgressive"}
}, },
superMissileLauncher = { superMissileLauncher = {
name = "Super Missile Launcher", name = "Super Missile Launcher",
script = "<EVE0033", script = "<EVE0033",
attributes = {"weaponSN", "missileLauncher", "nonProgressive"} attributes = {"weapon", "weaponSN", "missileLauncher", "nonProgressive"}
}, },
fireball = { fireball = {
name = "Fireball", name = "Fireball",
script = "<EVE0004", script = "<EVE0004",
attributes = {"weaponBoss", "mandatory"} attributes = {"weapon", "weaponBoss", "mandatory"}
}, },
snake = { snake = {
name = "Snake", name = "Snake",
script = "<EVE0005", script = "<EVE0005",
attributes = {"weaponBoss", "nonProgressive"} attributes = {"weapon", "weaponBoss", "nonProgressive"}
}, },
bubbler = { bubbler = {
name = "Bubbler", name = "Bubbler",
script = "<EVE0007", script = "<EVE0007",
attributes = {"weaponBoss", "nonProgressive"} attributes = {"weapon", "weaponBoss", "nonProgressive"}
}, },
machineGun = { machineGun = {
name = "Machine Gun", name = "Machine Gun",
script = "<EVE0008", script = "<EVE0008",
attributes = {"weaponBoss", "weaponSN", "flight", "mandatory"} attributes = {"weapon", "weaponBoss", "weaponSN", "flight", "mandatory"}
}, },
blade = { blade = {
name = "Blade", name = "Blade",
script = "<EVE0009", script = "<EVE0009",
attributes = {"weaponBoss", "weaponSN", "mandatory"} attributes = {"weapon", "weaponBoss", "weaponSN", "mandatory"}
}, },
nemesis = { nemesis = {
name = "Nemesis", name = "Nemesis",
script = "<EVE0010", script = "<EVE0010",
attributes = {"weaponBoss", "weaponSN", "nonProgressive"} attributes = {"weapon", "weaponBoss", "weaponSN", "nonProgressive"}
}, },
--------------- ---------------
@ -328,7 +328,7 @@ local function _itemData()
missileHell = { missileHell = {
name = "Missile Expansion", name = "Missile Expansion",
script = "<EVE0035", script = "<EVE0035",
attributes = {"missileLauncher", "nonProgressive"} attributes = {"weapon", "missileLauncher", "nonProgressive"}
}, },
------------ ------------

View file

@ -359,6 +359,7 @@ function plantation:new(worldGraph)
if not self.world.regions.arthur:canAccess(items) then return false end if not self.world.regions.arthur:canAccess(items) then return false end
if _has(items, "teleportKey") then return true end if _has(items, "teleportKey") then return true end
if self.world.regions.outerWall:canAccess(items) then return true end if self.world.regions.outerWall:canAccess(items) then return true end
if _has(items, "bomb") and _has(items, "weaponSN") and self.world.regions.grasstownEast:canAccess(items) then return true end
return false return false
end end
@ -511,7 +512,7 @@ function worldGraph:collect(preCollectedItems)
table.insert(_i, i) table.insert(_i, i)
end end
end end
for i, v in ipairs(_i) do table.remove(availableLocations, i) end for i = #_i, 1, -1 do table.remove(availableLocations, _i[i]) end
foundItems = #accessible foundItems = #accessible
for i, location in ipairs(accessible) do for i, location in ipairs(accessible) do