Anti-cheat off, weapon sets 6-7 in hero files

- The game's cheater detection killed the hero ("Hase!") whenever its
  protected stat mirror was stale; the mirror is now refreshed from the hero
  whenever it is unlocked, stream checks never punish, loadHero no longer
  sets the cheater flag (docs/anticheat.md).
- saveHero wrote the items of weapon sets 1-5 only: its loop runs over all 7
  sets, so sets 6-7 survive a world loading the hero from the hero file.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
khallaandClaude Opus 5.5 committed 2026-10-25 01:33:43 +02:00
1 parent 3978060954
commit 91bbc52cf0
7 files changed
+210

No files matched your search

+10
View File
@@ -189,3 +189,13 @@ only (or disabled in multiplayer).
table for the extra controls), layout, rendering, hit tests, drag & drop.
6. Keys: 0-6 cast art slots (since 2026-10-15; before: 1-7 select and
cast), F1-F7 select weapon sets.
### Hero files: items of sets 6-7 (2026-10-25)
Reported: the Gladiator lost the weapons of sets 6/7 on Silber. saveHero
collects the items it writes (chunk 0xc2) from the weapon sets with
`GetWeaponSetItem` over sets 0..4 (`cmp esi, 5` at `0x605046`), so sets 6-7
kept ids of items that were never in the hero file; a world that takes its
hero from the hero file (Silber without its own hero inventory) had nothing
there. The loop bound is patched to 7 (inventory_save.cpp); loadHero's id
replacement already covers the shadow slots. Confirmed 2026-10-25.