namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "weather_ball")] public class WeatherBall : Script { /// public override void ChangeBasePower(IExecutingMove move, IPokemon target, byte hit, ref ushort basePower) { if (move.Battle.WeatherName is not null) { basePower = basePower.MultiplyOrMax(2); } } /// public override void ChangeMoveType(IExecutingMove move, IPokemon target, byte hit, ref TypeIdentifier? typeIdentifier) { var weather = move.Battle.WeatherName; var typeLibrary = move.Battle.Library.StaticLibrary.Types; if (weather is null) return; if (weather == ScriptUtils.ResolveName() && typeLibrary.TryGetTypeIdentifier("fire", out var fireType)) typeIdentifier = fireType; else if (weather == ScriptUtils.ResolveName() && typeLibrary.TryGetTypeIdentifier("water", out var waterType)) typeIdentifier = waterType; else if (weather == ScriptUtils.ResolveName() && typeLibrary.TryGetTypeIdentifier("ice", out var iceType)) typeIdentifier = iceType; else if (weather == ScriptUtils.ResolveName() && typeLibrary.TryGetTypeIdentifier("rock", out var rockType)) typeIdentifier = rockType; } }