# THJ AA gaps: client kit (2026-10-04). NOT published

DB side: `~/eqserver-test/sql/thj_aa_gaps.sql` + `thj_aa_gaps2.sql` (Holy Shield rework, Healing Boon DRU, Pact of the Wolf rank 2; applied to Biggsvr_test 2026-10-04 18:28 UTC, `api reload 1`, test restarted
for spell 17781). This folder holds the client half.

| File | What |
|---|---|
| spells_us.txt | current `patch_files/spells_us.txt` (md5 d2b86c17) + 2 lines replaced: 17781 "PC Spell - RESERVED" -> Dimensional Armory (THJ's spell, summons 150210 Pet Armory: Magician); 7895 "Kinetic Shield IV" (unused) -> THJ's Holy Shield rune proc. md5 27c57c01 |
| dbstr_us.txt | current `patch_files/dbstr_us.txt` (md5 e71118fe) + 6 new lines (18973^1/^4 Situational Awareness, 50000^1..^4 Dimensional Armory) + 2 changed (10548^1/^4 Holy Shield). md5 a770f7b0 |
| thjaagaps_spells.lines / thjaagaps_dbstr.lines | the changed lines alone (from `export_client_files` on Biggsvr_test, ~/eqserver-test/deploy-thjaagaps-export) |
| applyspells.py / applydbstr.py | patch the lines into whatever spells_us/dbstr_us is current at publish time (replace by id, insert in id order). Idempotent |
| install_desktop.sh | desktop test install with `*.bak-thjaagaps` backups; `--revert` restores |

Desktop test install (Trevor's machine):

    scp -r openclawvm:heroes_journey_workspace/patcher/staged_thjaagaps /tmp/ && bash /tmp/staged_thjaagaps/install_desktop.sh
    # undo: bash /tmp/staged_thjaagaps/install_desktop.sh --revert

Launch with the "(Direct)" launcher (the Patcher launcher puts the shipped files back).

Rank ids: 16001 and 18973-18977. The RoF2 client does not list AAs with rank ids above the stock range (see
sql/symphonic_aura.sql, sql/mend_training_rankfix.sql); these are well inside it.

Class-mask changes need no client file: the client takes the classes from the server.

## Publish (prod), when Trevor says so
If patch_files changed since this kit was built (md5 not d2b86c17 / e71118fe), re-patch instead of copying:

    cd ~/heroes_journey_workspace/patcher/staged_thjaagaps
    python3 applyspells.py ../patch_files/spells_us.txt thjaagaps_spells.lines /tmp/spells_us.txt
    python3 applydbstr.py  ../patch_files/dbstr_us.txt  thjaagaps_dbstr.lines  /tmp/dbstr_us.txt

Then: back up the two patch_files to ~/.local/share/eq-backups/<date>/ (*.before-thjaagaps), copy the new files into
patch_files, add a news.txt line, run `python3 generate_manifest.py` in ~/heroes_journey_workspace/patcher.
