public void Receive(ShiftStatStage shiftStatStage) { ShiftStatStageEventArgs shiftStatStageEventArgs = new ShiftStatStageEventArgs(this, shiftStatStage); OnShiftStatStage?.Invoke(this, shiftStatStageEventArgs); shiftStatStage.Apply(); StatStageShiftedEventArgs statStageShiftedEventArgs = new StatStageShiftedEventArgs(this, shiftStatStage); OnStatStageShifted?.Invoke(this, statStageShiftedEventArgs); }
public override void Use(IBattle battle, UseMove useMoveAction) { ShiftStatStage shift = new ShiftStatStage(useMoveAction.Targets[0].Pokemon, PokemonEngine.Model.Battle.Statistic.Attack, -1); battle.MessageQueue.AddFirst(shift); }
public StatStageShiftedEventArgs(IBattle battle, ShiftStatStage action) : base(battle) { Action = action; }