using PkmnLib.Plugin.Gen7.Scripts.Status; using PkmnLib.Static.Moves; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "facade")] public class Facade : Script, IScriptChangeBasePower, IScriptChangeMoveDamage { /// public void ChangeBasePower(IExecutingMove move, IPokemon target, byte hit, ref ushort basePower) { var status = move.User.StatusScript.Script?.Name; if (status == ScriptUtils.ResolveName() || status == ScriptUtils.ResolveName() || status == ScriptUtils.ResolveName() || status == ScriptUtils.ResolveName()) { basePower = basePower.MultiplyOrMax(2); } } public void ChangeMoveDamage(IExecutingMove move, IPokemon target, byte hit, ref uint damage) { var status = move.User.StatusScript.Script?.Name; if (status != ScriptUtils.ResolveName()) return; // Ignore Burn's effect of halving the damage done by physical moves. if (move.UseMove.Category == MoveCategory.Physical) { damage = (uint)(damage * 2f); } } }