using PkmnLib.Dynamic.ScriptHandling.Registry; using PkmnLib.Plugin.Gen7.Libraries; namespace PkmnLib.Plugin.Gen7; public class Gen7PluginConfiguration : PluginConfiguration { public bool DamageCalculatorHasRandomness { get; set; } } public class Gen7Plugin : Dynamic.ScriptHandling.Registry.Plugin { private readonly Gen7PluginConfiguration _configuration; /// public Gen7Plugin(PluginConfiguration configuration) : base(configuration) { _configuration = (Gen7PluginConfiguration)configuration; } /// public override string Name => "Gen7"; /// public override uint LoadOrder => 0; /// public override void Register(ScriptRegistry registry) { registry.RegisterAssemblyScripts(typeof(Gen7Plugin).Assembly); registry.RegisterBattleStatCalculator(new Gen7BattleStatCalculator()); registry.RegisterDamageCalculator(new Gen7DamageCalculator(_configuration.DamageCalculatorHasRandomness)); registry.RegisterMiscLibrary(new Gen7MiscLibrary()); } }