fix: bind row id collision between spells and spell_projectiles#965
Closed
HarleyGilpin wants to merge 1 commit intoGregHib:mainfrom
Closed
Conversation
…spells.bind Tables.readTableRow resolves clone = "..." by trailing rowId only, so the spell_projectiles.bind (4 cols) and spells.bind (17 cols) rows from GregHib#964 collided. The 4-column row was returned for [.snare]/[.entangle] clones in spells, throwing ArrayIndexOutOfBoundsException at boot before the Koin graph could finish. Renamed the projectile row to bind_projectile and updated the one self- reference in spells.bind.projectiles. No engine change — Tables.kt and the rest of GregHib#964's refactor are byte-identical to upstream. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
73e6aaf to
a8e0faa
Compare
Owner
|
Not sure I follow this one, I'm unable to replicate the error on load nor when using bind or other spells |
Contributor
Author
|
Root cause was actually due to using Linux FS. I suspect that is why you could not replicate the issue on your box. I am opening a new PR because this PR won't fix the underlying issue. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fix:
bindrow id collision betweenspellsandspell_projectilesBug
After #964, both tables declare a
[.bind]row:clone = "bind"inspellsmatches byrowIdonly.spell_projectilesloads first, so the 4-column projectile row gets cloned into the 17-column spell row, throwingArrayIndexOutOfBoundsExceptionatclone[4]. This crashesMain.preloadvia Koin.Fix
Rename the projectile row to
bind_projectileand update its one reference.Note
[.ice_barrage]also collides but isn't cloned, so it's harmless for now.