// Package d2r implements the Diablo II: Resurrected game plugin. package d2r import ( "image" "git.cloonar.com/openclawd/iso-bot/pkg/plugin" ) // Plugin implements plugin.Plugin for D2R. type Plugin struct { config Config services plugin.EngineServices detector *Detector reader *Reader } // New creates a new D2R plugin with default config. func New() *Plugin { return &Plugin{ config: DefaultConfig(), } } // Info returns plugin metadata. func (p *Plugin) Info() plugin.PluginInfo { return plugin.PluginInfo{ ID: "d2r", Name: "Diablo II: Resurrected", Version: "0.1.0", Description: "Bot plugin for Diablo II: Resurrected — MF runs, rune farming, and more", Resolution: image.Point{X: 1920, Y: 1080}, } } // Init initializes the plugin with engine services. func (p *Plugin) Init(services plugin.EngineServices) error { p.services = services p.detector = NewDetector(p.config) p.reader = NewReader(p.config) return nil } // Detector returns the game state detector. func (p *Plugin) Detector() plugin.GameDetector { return p.detector } // Reader returns the screen reader. func (p *Plugin) Reader() plugin.ScreenReader { return p.reader } // Routines returns available farming routines. func (p *Plugin) Routines() []plugin.Routine { return []plugin.Routine{ // TODO: Initialize routines with plugin services } } // DefaultLootFilter returns the default D2R loot filter. func (p *Plugin) DefaultLootFilter() plugin.LootFilter { // TODO: Return default rule engine return nil }