using PkmnLib.Static.Utils; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "flame_wheel")] public class FlameWheel : Script { private float _burnChance; /// public override void OnInitialize(IReadOnlyDictionary? parameters) { if (parameters is null || !parameters.TryGetValue("burn_chance", out var burnChance) || burnChance is not float chance) { throw new Exception("Flame Wheel: Missing or invalid parameters."); } _burnChance = chance; } /// public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit) { if (move.User.HasStatus("frozen")) { move.User.ClearStatus(); } if (move.Battle.Random.EffectChance(_burnChance, move, target, hit)) { target.SetStatus("burned", false); } } }