using PkmnLib.Dynamic.ScriptHandling.Registry; using PkmnLib.Plugin.Gen7.Libraries; namespace PkmnLib.Plugin.Gen7; public class Gen7PluginConfiguration : PluginConfiguration { public bool DamageCalculatorHasRandomness { get; set; } = true; } public class Gen7Plugin : Dynamic.ScriptHandling.Registry.Plugin { private readonly Gen7PluginConfiguration _configuration; public Gen7Plugin() : base() { _configuration = new Gen7PluginConfiguration(); } /// <inheritdoc /> public Gen7Plugin(PluginConfiguration configuration) : base(configuration) { _configuration = (Gen7PluginConfiguration)configuration; } /// <inheritdoc /> public override string Name => "Gen7"; /// <inheritdoc /> public override uint LoadOrder => 0; /// <inheritdoc /> 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()); } }