namespace PkmnLib.Plugin.Gen7.Scripts.Abilities; /// /// Lightning Rod is an ability that draws all Electric-type moves to the Pokémon, raising its Special Attack. /// /// Bulbapedia - Lightning Rod /// [Script(ScriptCategory.Ability, "lightning_rod")] public class LightningRod : Script, IScriptChangeIncomingTargets { /// public void ChangeIncomingTargets(IMoveChoice moveChoice, ref IReadOnlyList targets) { if (moveChoice.ChosenMove.MoveData.MoveType.Name == "electric" && targets.Count == 1) { targets = [moveChoice.User]; } } /// public override void ChangeEffectiveness(IExecutingMove move, IPokemon target, byte hit, ref float effectiveness) { if (move.GetHitData(target, hit).Type?.Name != "electric") return; effectiveness = 0f; EventBatchId batchId = new(); move.Battle.EventHook.Invoke(new AbilityTriggerEvent(move.User) { BatchId = batchId, }); move.User.ChangeStatBoost(Statistic.SpecialAttack, 1, true, true, batchId); } }