agate-xitem-resupply-2026-10-03.md

Markdown · 5.7 KB · Task 17 · first used Oct 3 17:45

Agate prechain Xitem resupply — source-only proposal

Installed19.5.43 checked; no UI/native/live battle reads or actions performed. Do this outside battle at reviewed391=52, before entering the true-chain strip 763x43–48,y52. Finish street victories first or keep all remaining trainer sightlines blocked in normal route planning.

Agate's shop cannot supply Xitems. Its real map is751, not753:763E80[27,45] unconditional entrance→751[8,9]; clerk751E1[5,5] finishes two raid-flavor lines when989True then calls pbDefaultMart. Installed Mart.rb722–745 at16badges stocks balls/repels/rope/FullHeal/UltraPotion, no Xitems.753 is the apartment map; its doors are locked until999True after the later city scenes.

Static scan of every installed Map*.rxdata found exactly one normal event vendor containing XSPECIAL or XSPEED: Dept8F4E4[5,5], unconditional pbPokemonMart([XATTACK,XDEFEND,XSPECIAL,XSPEED,XSPDEF,GUARDSPEC,XACCURACY,DIREHIT]). Proof work/xitem-vendors-all-installed-static.json. Default marts were checked separately because they use a shared function. XSpAtk350, XSpeed350, XAccuracy950 from Reborn/itemtext.rb4371–4405; no special merchant price.

Parent-frozen accounting (not a claim about current bag): initial9SpAtk/4Speed/ 9Def/4Atk/11SpDef/3Acc/38Ultra,2Herbs16FullHeal1Revive. Antoine intended spends3SpAtk3Speed1Def1Acc; optional Cryo boost spends1SpAtk. That leaves 5SpAtk1Speed8Def4Atk11SpDef2Acc, before any other actual consumption. Warmup3SpAtk plus Solaris3SpAtk needs6; Solaris3Speed needs3. Proposed cart:

Purchase Quantity Unit Cost
X Sp. Atk 4 350 1400
X Speed 3 350 1050
X Accuracy 2 950 1900
Total 4350

Parent selected this4350 cart. It gives9SpAtk/4Speed/4Acc after the cited spending:3SpAtk1Speed spare after the exact6SpAtk3Speed chain plan. Minimum shortage-only purchase is1SpAtk2Speed1050. Parent money44106 and future trainer winnings comfortably cover it; use actual normal money and bag proof before committing purchases.

Normal travel and purchase sequence

At752 PC, temporarily exchange whichever reviewed party slot holds Cryo for Box1slot11 Tranquill24 (parent's reviewed current box slot). Preserve Cryo's heldSash by boxing it normally. Read the actual party/box labels; do not assume the pre-doubles order or a stale cursor. Exit752E8→76346,70. At39152 the earlier allied Fly-arrival enclosure has blank pages, so returnFly76346,70 is safe; the oldstage51 Vanhanen detour is unnecessary.

Existing reviewed normal helpers, parent executes one guarded phase at a time:

python3 scripts/fly_to.py 520 --carrier Tranquill
python3 scripts/eventq.py 520 101 enter
python3 scripts/eventq.py 112 6 enter
python3 scripts/eventq.py 113 1 talk
python3 scripts/dept_greet.py
python3 scripts/dept_floor.py 8
python3 scripts/eventq.py 4 4 talk
python3 scripts/mart_open.py
python3 scripts/shop_buy.py 'X Sp. Atk' 4 350
python3 scripts/shop_buy.py 'X Speed' 3 350
python3 scripts/shop_buy.py 'X Accuracy' 2 950
python3 scripts/mart_exit.py
python3 scripts/eventq.py 4 6 enter
python3 scripts/eventq.py 113 1 talk
python3 scripts/dept_greet.py
python3 scripts/dept_floor.py 1
python3 scripts/eventq.py 112 1 enter
python3 scripts/fly_to.py 763 --carrier Tranquill
python3 scripts/eventq.py 763 79 enter

Normal MembershipCard and175≥7 already proven by the completed earlier8F shopping; still use the actual floor-menu labels. Shop helper price/quantity guards stop on ambiguity; a partial purchase must be reviewed, never blindly replayed. At752 restore the exact boxedCryo slot for Tranquill, arrange the fixed six CF/Arc/Swamp/Mien/Exc/Cryo, nurse752E4, exit752E8, then parent makes the fresh finalprechain checkpoint. Count actual purchased quantities/money against 4350 once, and freeze party/bag before chain archive entry. No save-per-purchase or new major IDs are needed.

The finite dry-run-default implementation is scripts/agate_pc_resupply.py. It requires explicit frozen post-Antoine/Lyla/Ezra completion selfA flags, stage52, all six Lv90, retained normal Cofa build, CryoSash still held and enough actual money; it accepts injured members because its first action is a normal nurse heal. It arranges CF/Arc/Swamp/Mien/Exc/Cryo before the two reviewed Box1slot11↔party5 exchanges, returns to76346,70 and verifies the single final checkpoint's full HP/status/PP, retained identities/items/moves/PPUps, exact 4350 money delta and exact bag purchase deltas. Inherited expired-Repel prompts are cancelled normally on this town trip. Pending journals stop without replay.

python3 scripts/agate_pc_resupply.py \
  --status notes/<street-won>-status.json \
  --navigation notes/<street-won>-navigation.json
# Add --execute only under the root's sole-controller recording session:
# --journal work/agate-pc-resupply-131.json
# --checkpoint Agate-restocked-south-ready131

After actual street victories, stale independently introduced trainer-ray avoids can survive checkpoints. sync_navigation.rb preserves extra keys, including agate_party_owned_avoid; it does not lose ownership metadata. The finite helper now clears only original E45/46/49 source-footprint cells after explicit all-three selfA victories and actual saved NPC-position evidence. It preserves original NPC-origin guards plus current visible/collidable NPC positions, every other avoid and the complete y52 commitment barrier. This cleanup happens in planning notes only during parent-authorized execution, before the ordinary PC approach; development/pure review never edits the current navigation file. Normal route helpers still stop if actual NPCs/terrain leave no path.

Five resupply source/pure tests pass, including narrow cleanup preservation; no control/native/checkpoint was run by the planner.