25 lines
919 B
C#
25 lines
919 B
C#
using PkmnLib.Plugin.Gen7.Scripts.Pokemon;
|
|
|
|
namespace PkmnLib.Plugin.Gen7.Scripts.Moves;
|
|
|
|
[Script(ScriptCategory.Move, "charge_move")]
|
|
public class ChargeMove : Script
|
|
{
|
|
public override void PreventMove(IExecutingMove move, ref bool prevent)
|
|
{
|
|
var bypassCharge = false;
|
|
var parameters = new Dictionary<StringKey, object?>
|
|
{
|
|
{ "move", move },
|
|
{ "bypassCharge", bypassCharge },
|
|
};
|
|
move.RunScriptHook(script => script.CustomTrigger(CustomTriggers.BypassChargeMove, parameters));
|
|
|
|
var chargeMoveEffect = move.User.Volatile.Get<ChargeMoveEffect>();
|
|
if (chargeMoveEffect != null && chargeMoveEffect.MoveName == move.UseMove.Name)
|
|
return;
|
|
prevent = true;
|
|
move.User.Volatile.Add(new ChargeMoveEffect(move.UseMove.Name, move.User, move.MoveChoice.TargetSide,
|
|
move.MoveChoice.TargetPosition));
|
|
}
|
|
} |