# Staged: Instance picker Respawn choice (2026-10-06)

NOT published. Built from client_dll/hjclient.c with the Respawn toggle added to the Select Instance
window ("Instance picker" section + gen_instpicker.py). `verify_sites.py ../patcher/patch_files/eqgame.exe`
reports 0 problems against this build.

Contents:
- `dinput8.dll`, `dinput8.pdb` — current client_dll build (includes whatever else was already in the
  working tree at build time, not just this feature; client_dll is one evolving file per the repo's
  existing pattern of incremental features).
- `HJ_InstanceWnd.xml` — regenerated by gen_instpicker.py: adds the "Respawn" row (IP_RespawnLabel,
  IP_RespawnOff "Non-respawning" default, IP_RespawnOn "Respawning"), window grown 422 -> 464 tall to
  fit it. HJ_ZonesWnd.xml is unchanged so it is not restaged here.

What it does: adds a Non-respawning (default) / Respawning choice to the instance picker. Selecting R4
Fabled Dungeon forces Non-respawning and greys the Respawning button (the server enforces this too, even
if an old/modified client sent "respawn" for R4). The create command now sends a 4th token:
  /say #instui create <rank> <solo|multi> <normal|fabled> <respawn|norespawn>

Server side (already committed to the quests repo, branch test, TEST server only): lua_modules/commands/
instance.lua and lua_modules/dungeon_instances.lua (bucket dzrespawn_<instance id>, DI.SaveRespawn /
DI.IsRespawning) and global/global_npc.lua no_respawn_in_expedition.

To actually ship this: copy dinput8.dll (+ .pdb) and HJ_InstanceWnd.xml into
~/heroes_journey_workspace/patcher/patch_files/, then run the normal patcher publish step. NOT done here —
patch_files is served live to real players and this has not been played-tested.

Untested: nobody has clicked the new Respawn buttons in a running client; only verify_sites (byte-patch /
signature sanity) and the server-side Lua syntax check + a TEST zone reload (no runtime errors) were run.
