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.
Add Runes to Speedbook Implementation
Summary
The "Add Runes to Speedbook" feature extends the game's spellbook and quick spell selection system to support Rune spells. This allows players to view, select, and assign Rune spells in the Speedbook UI, similar to other spell types. This implementation will help to bridge the gap for controller and mobile players in regards to having a subpar experience with this particular aspect of the game..
Technical Details
Changed Files
Source/control.cpp
Source/inv.cpp
Source/items.cpp
Source/panels/spell_icons.cpp
Source/panels/spell_list.cpp
Source/panels/spell_list.hpp
Source/player.cpp
Source/player.h
Source/spelldat.h
Source/spells.cpp
Key Implementation Points
1. Spell Type and ID Extensions
spelldat.h
:Rune
toSpellType
enum.RuneOfFire
,RuneOfLight
, etc.) toSpellID
.2. Player Data Structure
player.h
/player.cpp
:_pRuneSpells
).3. Spellbook and Speedbook UI
panels/spell_list.cpp
/panels/spell_list.hpp
:4. Spell Icon Mapping
panels/spell_icons.cpp
:5. Spell Validation and Usage
spells.cpp
:6. Inventory and Item Handling
inv.cpp
/items.cpp
:7. Control Panel Integration
control.cpp
:How It Works
2025-08-25.15-30-59.mp4