pub(crate) async fn resolve_weapon_for_slot( resolver: &DynDataResolver<'_>, resolved: &ResolvedItem, spec_is_caster: bool, ) -> Result<Option<WeaponStats>, EngineError>