Index
I32 = 0 Slot index within the block selected by SlotType (see the class table for the base each block adds).
A spellbook slot address in the form the engine uses everywhere a slot
is stored in data (keybinds such as LolSpellSlotKeybind, script slot
references, mode spell registrations). The engine normalizes the
(SpellBook, SlotType, Index) triple to an absolute slot in the unit's
spellbook (the spellbook holds 64 spell entries, slots 0-63).
Normalization:
SlotType |
Absolute slot | Valid range |
|---|---|---|
0 |
Index directly |
0-5 (abilities and summoner slots) |
1 |
6 + Index |
up to 44 (item slots first, at 6-12) |
2 |
45 + Index |
up to 63 |
3 |
63 (fixed) |
the champion passive slot |
4 |
Index verbatim |
any absolute slot, rejected for the summoner book |
Absolute slot layout: 0-3
basic abilities, 4-5 summoner spells, 6-12 item slots, 63 the
champion passive, and 64-81 basic-attack casts. Attack casts carry
these slot numbers on their cast instance but are not part of the 64-entry
spell array. Slot 62 doubles as the "any cast" wildcard in
IsCastingBoolDriver, and 255 is the
engine's "no slot" sentinel. What occupies the remainder of the two
extension blocks (13-44 and 45-62) is data-dependent. Several
engine loops process slot 13 together with the item slots.
I32 = 0 Slot index within the block selected by SlotType (see the class table for the base each block adds).
U32 = 0 Which slot block Index addresses: 0 = base slots 0-5, 1 = block starting at 6, 2 = block starting at 45, 3 = the passive slot 63 (ignores Index), 4 = Index is already an absolute slot.
U32 = 0 Which book the address refers to: 0 = the unit's spellbook, 1 = the summoner-spell book.
Embed<SpellBookIndex> List2<SpellBookIndex> AllowedSpells List2<SpellBookIndex> Embed<SpellBookIndex> Embed<SpellBookIndex>