pub enum DecodedSpecialAbility {
BodyFuel {
spell_id: u16,
flags: u8,
caster_level: u8,
},
Rage {
spell_id: u16,
flags: u8,
caster_level: u8,
},
MonsterSlamAttack {
spell_id: u16,
flags: u8,
caster_level: u8,
},
Unknown {
spell_id: u16,
spell_label: Option<String>,
flags: u8,
caster_level: u8,
},
}Expand description
One decoded entry from a UTC’s SpecAbilityList, dispatched by
matching the spells.2da row’s label cell against the small
set of vanilla special-ability ids the corpus references.
Vanilla K1 references exactly three rows from special-ability
entries (SPECIAL_ABILITY_BODY_FUEL, SPECIAL_ABILITY_RAGE,
MONSTER_ABILITY_SLAM_ATTACK); each gets a typed variant. The
partymember.utc template references a spell id that does not
resolve in vanilla spells.2da (see the “Vanilla Data Anomalies”
subsection of the UTC engine audit), and that falls into
DecodedSpecialAbility::Unknown alongside any mod-added rows.
Every variant carries spell_id (preserved so callers can
recover the source row id even after dispatch), flags
(SpellFlags), and caster_level (SpellCasterLevel). The
engine appends every list entry without deduplication, so a UTC
carrying N entries with the same spell_id surfaces as N
separate DecodedSpecialAbility values.
Variants§
BodyFuel
spells.2da label SPECIAL_ABILITY_BODY_FUEL. Stackable in
vanilla – the six Bastila variants each carry 99 entries.
Rage
spells.2da label SPECIAL_ABILITY_RAGE. Wookiee racial.
MonsterSlamAttack
spells.2da label MONSTER_ABILITY_SLAM_ATTACK. Monster
classes (Wraids, Katarn, Korriban monsters).
Unknown
Special ability could not be matched to a typed variant.
Covers mod-added rows, vanilla anomalies (the partymember
out-of-range Spell = 299), missing spells.2da, or any
vanilla label not in the typed set.
Implementations§
Trait Implementations§
Source§impl Clone for DecodedSpecialAbility
impl Clone for DecodedSpecialAbility
Source§fn clone(&self) -> DecodedSpecialAbility
fn clone(&self) -> DecodedSpecialAbility
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more