namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "fusion_flare")] public class FusionFlare : Script, IScriptChangeDamageModifier { /// public void ChangeDamageModifier(IExecutingMove move, IPokemon target, byte hit, ref float modifier) { var battleData = target.BattleData; if (battleData == null) return; // Grab the choices for the current turn, that have been executed before this move. var choice = battleData.Battle.PreviousTurnChoices.Last().TakeWhile(x => !Equals(x, move.MoveChoice)) // Of these, find the last successfully executed move. Failed moves don't break the combination. .OfType().LastOrDefault(x => !x.HasFailed); // If Fusion Bolt was used immediately preceding, Fusion Flare's power is doubled. if (choice is not null && choice.ChosenMove.MoveData.Name == "fusion_bolt") { modifier *= 2; } } }