CLOSES #623, CLOSES #624, CLOSES #636, CLOSES #637, CLOSES #639, CLOSES #650, CLOSES #697, CLOSES #704, CLOSES #722

This commit is contained in:
bryanthaboi
2026-08-03 13:05:57 -04:00
parent 5c041ea857
commit 0f7261dd92
22 changed files with 1783 additions and 132 deletions
+8
View File
@@ -155,6 +155,14 @@ FieldDefaults.FIELD = {
"EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1" } },
},
},
-- Floors whose door callback a version does not have. Yellow dropped
-- RocketHideoutB4FDoorCallbackScript entirely (pokeyellow
-- scripts/RocketHideoutB4F.asm goes straight to EnableAutoTextBoxDrawing)
-- and its .blk ships the same open $0e doorway, so B4F's lift gate is
-- never barred there. Every manifest still carries the row above, so
-- this is what stops a Yellow cache walling Giovanni off behind two
-- guard flags Jessie & James never set (#650).
skipMaps = { yellow = { ROCKET_HIDEOUT_B4F = true } },
},
-- VermilionGymSetDoorTile opens the motorized door once both locks are hit
hiddenExtras = {
+8
View File
@@ -8,6 +8,7 @@ local Camera = require("src.render.Camera")
local Collision = require("src.world.Collision")
local Encounter = require("src.world.Encounter")
local FieldDefaults = require("src.world.FieldDefaults")
local GameVersion = require("src.core.GameVersion")
local Logger = require("src.core.Logger")
local Map = require("src.world.Map")
local MapLoader = require("src.world.MapLoader")
@@ -224,6 +225,13 @@ function OverworldState:stampClosedDoors()
"closedDoors")
local floorDoors = self.map and closedDoors and closedDoors[self.map.id]
if not floorDoors then return end
-- ...and floors the running version has no callback for: Yellow's B4F
-- lift gate stands open from the first visit, since Jessie & James take
-- the two guard slots there and set neither guard flag (#650)
local skipMaps = FieldDefaults.fieldValue(Game.data, "cardKeyDoors",
"skipMaps")
local skipped = skipMaps and skipMaps[GameVersion.get()]
if skipped and skipped[self.map.id] then return end
local stamped, unlocked = false, false
for _, door in ipairs(floorDoors) do
local open