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());
}
}