async fn resolve_enchant_proc_chain( passive_spell_id: u32, tables: &ResolvedGameTables, player_level: u32, resolver: &DynDataResolver<'_>, ) -> Result<Option<(SpellDataFlat, u32, f64)>, EngineError>