[PR #182] [MERGED] kb: Middle-earth: Shadow of War - a new Nemesis tribe via game.gamedb #187

Closed
opened 2026-10-15 20:54:08 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/rehan-remade/universal-modder/pull/182
Author: @DeimozZarco
Created: 10/10/2026
Status: ✅ Merged
Merged: 10/10/2026
Merged by: @rehan-remade

Base: main ← Head: kb/shadow-of-war-goblin-tribe


📝 Commits (4)

  • 0a0551a kb: Shadow of War - a new Nemesis tribe via game.gamedb (format, hashes, sort rule)
  • cd6a641 kb: Shadow of War Nemesis tribe note: review fixes
  • c5ebba1 Merge remote-tracking branch 'origin/main' into land/pr-182
  • acc3eec kb: regenerate the index

📊 Changes

3 files changed (+228 additions, -1 deletions)

View changed files

📝 knowledge/INDEX.md (+2 -1)
➕ knowledge/games/middle-earth-shadow-of-war/goblin-tribe-a-new-nemesis-tribe-via-game-gamedb.md (+183 -0)
📝 knowledge/index.json (+43 -0)

📄 Description

Field note for Middle-earth: Shadow of War (Steam build 3095001). It's the first Shadow of War note in the knowledge base.

What was built: a working tenth Nemesis tribe ("Goblin", white skin, its own name in every language). It's a data mod: a rebuilt game.gamedb plus string.strdb, loaded as loose files through a folder line in x64\default.archcfg. It was verified in the real game: natural spawns, missions, ambushes and encounter cutscenes, and persistence across reloads, restarts and mod updates.

What the note documents for the next agent:

  • The game.gamedb (GADB v0x11) layout:
    • the heap;
    • the 15-byte per-attribute layout table;
    • categories and records;
    • the link encoding cat << 20 | rec;
    • shared value slots.
  • The attribute and localisation-key hash: h * 0x397 + case-fold. It also keys string.strdb (SKDB v9).
  • The sort rule: named records must stay sorted by name hash. If they aren't, saved references resolve to the wrong record or disappear.
  • Roles decide a captain's tribe (the first valid entry wins), plus the Regal list the asset bundles depend on, and the builder Tribe field that turns captains into quest-locked presets.
  • Packet Loader G2 v3.1 crashes at startup on this game build.
  • Two dead ends for scaling characters, and an untested data-side idea for next time.

The note contains no game files, no copied decompiled code and no DRM details: analysis was read-only on the running game, and nothing protected was modified. um couldn't run here (no Python), so INDEX.md and index.json were updated by hand to match build_index's output. CI's um kb check --index will confirm.

🤖 Generated with Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/rehan-remade/universal-modder/pull/182 **Author:** [@DeimozZarco](https://github.com/DeimozZarco) **Created:** 10/10/2026 **Status:** ✅ Merged **Merged:** 10/10/2026 **Merged by:** [@rehan-remade](https://github.com/rehan-remade) **Base:** `main` ← **Head:** `kb/shadow-of-war-goblin-tribe` --- ### 📝 Commits (4) - [`0a0551a`](https://github.com/rehan-remade/universal-modder/commit/0a0551ac43045640f03c565252e2c50270d79768) kb: Shadow of War - a new Nemesis tribe via game.gamedb (format, hashes, sort rule) - [`cd6a641`](https://github.com/rehan-remade/universal-modder/commit/cd6a641005b48c2778432191f171e2b6831639f0) kb: Shadow of War Nemesis tribe note: review fixes - [`c5ebba1`](https://github.com/rehan-remade/universal-modder/commit/c5ebba1b5c786f644b1b9a877dcb475ca03fc08f) Merge remote-tracking branch 'origin/main' into land/pr-182 - [`acc3eec`](https://github.com/rehan-remade/universal-modder/commit/acc3eecd523504e71ff0b73b443b93c12d6f75f5) kb: regenerate the index ### 📊 Changes **3 files changed** (+228 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `knowledge/INDEX.md` (+2 -1) ➕ `knowledge/games/middle-earth-shadow-of-war/goblin-tribe-a-new-nemesis-tribe-via-game-gamedb.md` (+183 -0) 📝 `knowledge/index.json` (+43 -0) </details> ### 📄 Description Field note for **Middle-earth: Shadow of War** (Steam build 3095001). It's the first Shadow of War note in the knowledge base. **What was built:** a working tenth Nemesis tribe ("Goblin", white skin, its own name in every language). It's a data mod: a rebuilt `game.gamedb` plus `string.strdb`, loaded as loose files through a folder line in `x64\default.archcfg`. It was verified in the real game: natural spawns, missions, ambushes and encounter cutscenes, and persistence across reloads, restarts and mod updates. **What the note documents for the next agent:** - **The `game.gamedb` (GADB v0x11) layout:** - the heap; - the 15-byte per-attribute layout table; - categories and records; - the link encoding `cat << 20 | rec`; - shared value slots. - **The attribute and localisation-key hash:** `h * 0x397 + case-fold`. It also keys `string.strdb` (SKDB v9). - **The sort rule:** named records must stay sorted by name hash. If they aren't, saved references resolve to the wrong record or disappear. - **Roles decide a captain's tribe** (the first valid entry wins), plus the `Regal` list the asset bundles depend on, and the builder `Tribe` field that turns captains into quest-locked presets. - **Packet Loader G2 v3.1** crashes at startup on this game build. - **Two dead ends for scaling characters,** and an untested data-side idea for next time. The note contains no game files, no copied decompiled code and no DRM details: analysis was read-only on the running game, and nothing protected was modified. `um` couldn't run here (no Python), so `INDEX.md` and `index.json` were updated by hand to match `build_index`'s output. CI's `um kb check --index` will confirm. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 20:54:08 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rehan-remade/universal-modder#187
No description provided.