using System; using PkmnLib.Plugin.Gen7.Scripts.Pokemon; using PkmnLib.Static.Utils; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "ice_ball")] public class IceBall : Script { /// public override void ChangeBasePower(IExecutingMove move, IPokemon target, byte hit, ref byte basePower) { var userEffect = move.User.Volatile.Get(); if (userEffect == null) return; basePower = basePower.MultiplyOrMax((byte)Math.Pow(2, userEffect.TurnCount)); } /// public override void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit) { var userEffect = move.User.Volatile.Get(); if (userEffect == null) { userEffect = new IceBallEffect(move.User, move.UseMove.Name); move.User.Volatile.Add(userEffect); } else { userEffect.TurnCount++; } } }