PkmnLib.NET/Plugins/PkmnLib.Plugin.Gen7/Scripts/Moves/FusionBolt.cs

26 lines
904 B
C#
Raw Normal View History

2025-03-07 10:50:59 +00:00
using System.Linq;
namespace PkmnLib.Plugin.Gen7.Scripts.Moves;
[Script(ScriptCategory.Move, "fusion_bolt")]
public class FusionBolt : Script
{
/// <inheritdoc />
public override 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 => x != move.MoveChoice)
// Of these, find the move choice that used Fusion Flare.
.OfType<MoveChoice>().FirstOrDefault(x => x.ChosenMove.MoveData.Name == "fusion_flare");
// If Fusion Flare was used, Fusion Bolt's power is doubled.
if (choice != null)
{
modifier *= 2;
}
}
}