Files
benilla-octo/crates/benilla-formats/examples/spell_row.rs
T
SamandClaude Fable 5 d16d33dfca world books open, and anvils stop offering a cursor gear
- clicking a book in the world opens it and turns its pages: letters and world books share one reader
- the cursor's object rules are the client's own 31-row strategy table now, so decorative objects stop pretending to be usable
- trainer and tradeskill windows draw each row's icon by the reference's own law, and the trainer's filter dropdown toggles again
- water color follows the zone's light blend, so lakes stop snapping between area tints

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-07 16:03:35 +07:00

28 lines
1.1 KiB
Rust

//! Throwaway: print the cast-arm targeting facts for named spell ids — `Targets`,
//! `EffectImplicitTargetA[0]`, the three effects, and the item-target gate columns — so a claim
//! about which targeting seam a spell arms can be checked against the real shipped Spell.dbc
//! instead of reasoned about.
fn main() -> anyhow::Result<()> {
let data = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("../../WoW/Data");
let mut chain = benilla_formats::open_chain(&data)?;
let catalog = benilla_formats::load_spell_catalog(&mut chain)?;
for arg in std::env::args().skip(1) {
let id: u32 = arg.parse()?;
let Some(d) = catalog.get(id) else {
println!("{id}: no row");
continue;
};
println!(
"{id} {:?}\n Targets={:#06x} implicitA1={} effects[0] = {}\n equippedClass={} subclassMask={:#x} invTypeMask={:#x}",
d.name,
d.targets,
d.implicit_target_a1,
d.effects[0],
d.equipped_item_class,
d.equipped_item_subclass_mask,
d.equipped_item_inventory_type_mask,
);
}
Ok(())
}