mirror of
https://github.com/cave-story-randomizer/cave-story-randomizer
synced 2024-12-26 15:07:56 +00:00
Fix certain valid seeds being impossible to generate
This does break compatibility with 0.8B seeds, unfortunately
This commit is contained in:
parent
49b5eecfbb
commit
811a1b73c4
|
@ -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"}
|
||||||
},
|
},
|
||||||
|
|
||||||
------------
|
------------
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue