- a player build ships beside the dev one — dev chords and probe surfaces go dark, and a gate enforces what a player can still reach, by medium not by module - the binary carries its own shaders and its shipped UI, finds the WoW folder by itself, and keeps its local state in one benilla-config folder - the glue screens get a capture shutter, and the engine stops depending on the protocol crate Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
28 lines
1.1 KiB
Rust
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 = benilla_formats::wow_data().expect("no WoW install found (set $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(())
|
|
}
|