Shared chest tabs, rune stacks and rune master, Q pickup, Kettenblitz tooltip and range
- Shared chest: tabs "Truhe"/"Gemeinsam" as a column left of the grid (game tab sheet), grids placed every tick, persistent across heroes - Inventory tab texts capitalized (RegisterText / CapitalizeText) - Combat-art runes stack like potions (itemstack, renamed from potionstack) - Rune master: any rune for any number of runes, price by rune count (4 runes = 1,000, x10 per missing rune), bought rune goes into the backpack, Buy disabled without runes, gold or room, last rune remembered per hero (saved), the chosen rune's name below its icon, dropping a stack gives up one rune - Keys: the old key handling no longer takes over after the save screen (text field focus only counts while its dialog is shown) - Esc crash: tooltips forgotten when the game destroys them - Pick up (Q) sends the pickup order directly; search reach doubled - Kettenblitz: tooltip shows hits per chain, chains, cast and jump range; cast range 900 (longer ray segments), jumps half of that Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
3d9d864c25
commit
6ca96d54b4
29 files changed
+2006
-171
No files matched your search
@@ -67,3 +67,27 @@ ray reaches it, otherwise the visible ray just stops. So the cast range is
|
||||
(also the first hop of extra chains), instead of the game's jump search radius
|
||||
(squared 100000, about 316). It is the one place to make the range dynamic
|
||||
later. Jumps do not check the ground in between.
|
||||
|
||||
## Tooltip (2026-10-17)
|
||||
|
||||
Request: the tooltip should match the mod. The game's text (cCreatureArts::ArtTooltip
|
||||
0x589270, measured for art 0x21 at level 5) ends each level section with
|
||||
"Anzahl: X", the game's own hit count. The mod replaces that line with
|
||||
"Treffer je Kette" (3 + L/5), "Ketten" (1 + L/10) and "Sprungweite" (the cast
|
||||
range), with L = the hero's level (base + bonus) in the "Aktuelle Stufe" section
|
||||
and L + 1 in "Nächste erlernte Stufe". The string is rewritten with the game's
|
||||
append (0x592ef0), so the game's allocator owns the buffer.
|
||||
|
||||
## Range +50 % (2026-10-17)
|
||||
|
||||
Request: Kettenblitz range about 50 % larger. The ray's 20 segments are
|
||||
bounded by the caster's segment id array (+0x263, 20 dwords), so the segments
|
||||
get longer instead: 30 -> 45, cast and jump range 600 -> 900. Patched in the
|
||||
art code: `fsub [30.0]` 0x526db6 and `fcomp [30.0]` 0x526e0b (redirected to
|
||||
our 45.0; 0x88ef18 is shared by 72 instructions), `mov eax,30` 0x526e23 (the
|
||||
segment length given to each segment object) and `push 30.0f` 0x526f3d (the
|
||||
step of the ray point).
|
||||
|
||||
Follow-up (2026-10-17): jumps at 900 felt too far. The cast keeps 900; jumps
|
||||
use `JumpRange()` = half the cast range (450). The tooltip shows both
|
||||
("Reichweite", "Sprungweite").
|
||||
Reference in new issue
Block a user