Sacred Gold — Safari Zone arc (R47/R48 + D47 Gate) flag regression: full save-repair recipe
I hit a save state where the entire Safari Zone Rocket arc had reverted — Routes 47 and 48 both had their grunts back, and the Safari Zone Gate (D47) was permanently blocked by the two door grunts — despite the arc being well past in my playthrough. The in-game Olivine flag-fixer NPC did not restore any of it. Tracing through the save with DSPRE Reloaded + a Node save-editor:
What got reset
- Every "grunt defeated" visibility flag the arc's completion scripts set, across both the routes and the gate:
0x3FDF, 0x3FE0, 0x3FE3, 0x3FE4, 0x3FE5, 0x3FE6, 0x3FE8. All seven were cleared.
0x3FE1 stayed set (it's set earlier in the arc), and 0x3FFF (the arc master) also stayed set — which is why scripted progression past the arc still worked, masking the regression.
0x3FE7 is a transient flag set during R47 and cleared at the arc finale — its correct done-state is OFF, so don't restore it.
Where the flags map on D47 (header 174), Event File 168
- Door-blocking grunts: Overworlds 15 and 16, both visibility flag
0x3FE0 (decimal 16352), trigger script 18 on contact. This is the flag specifically controlling the gate door — easy to overlook because it's separate from the route grunts' flags.
- Post-arc ally NPCs (OW 17/18/19) hang off
0x3FDF, separate from the door pair.
- The "Run script 22 when Var 24880 (
0x6130) is 0" trigger on the same map is a red herring for this bug — 0x6130 is shared with the Saffron Rocket-grunt arc (Saffron's Script 22 writes 0x612E/F/130 as a contiguous trio), and in my case it was already 2 from Saffron. The door grunts persist purely on the flag, not the trigger.
Save-level workaround (if you're stuck)
- Set
0x3FDF, 0x3FE0, 0x3FE3, 0x3FE4, 0x3FE5, 0x3FE6, 0x3FE8. Leave 0x3FE7 clear. Recompute the P1 general-block checksum: CRC16-CCITT-FALSE over [0x40000, 0x4F618), stored u16 LE at 0x4F626.
- PKHeX can't reach the
0x3FE_ range flags in HGSS — it caps the flag spinner below that — so this needs a small Node or Python script, not the editor UI.
- Restoring the whole
0x3FE_ region as a blanket fix (~57 flags) causes a black-screen crash on Safari-area load. The fix has to be targeted to the seven flags above.
What's actually wrong (best guess)
- Some event during my playthrough cleared all seven of these flags as a group. I can't pinpoint the trigger — possibly a scripted reset elsewhere, possibly an emulator/save-sync issue on my end.
- Whatever the cause, the in-game Olivine flag-fixer NPC's restore list does not cover this arc (it didn't repair any of the seven for me). Lowest-risk ROM-side patch would be to add this seven-flag set to the fixer's restore list, gated on
0x3FFF being set so it only re-applies after the arc was supposed to be complete.
Happy to share the Node save-editor / DSPRE .ev parser scripts I wrote if useful.