public void StartExecute(MoveTypeE move, Tile selectTile = null, string log = "UseMove")
 {
     Move = move;
     if (STs.CanExecuteMove(Attacker, Move))
     {
         if (log != null)
         {
             Attacker.ShowLogPm(log, Move.Id);
         }
         InitAtkContext.Execute(this);
         MoveE.BuildDefContext(this, selectTile); //蓄力技如果选择的是压力特性的精灵,在第一回合就会扣取2点PP,即使最后攻击到的不是压力特性的精灵。
         if (MoveProxy != null)
         {
             ATs.Pressure(this, Move.GetRange(Attacker));
         }
         MoveExecute.Execute(this);
     }
     else
     {
         FailAll(null);
     }
 }
Exemple #2
0
 public void StartExecute(MoveTypeE move, Tile selectTile = null, string log = "UseMove", bool canChangeZmove = true)
 {
     Move = move;
     if (Attacker.SelectZmove && canChangeZmove && !move.Zmove && move.Move.Category != MoveCategory.Status)
     {
         Move      = MoveTypeE.Get(GameHelper.CommonZmove(Move.Move));
         trans     = true;
         transmove = move;
     }
     else
     {
         trans = false;
     }
     if (STs.CanExecuteMove(Attacker, Move))
     {
         InitAtkContext.Execute(this);
         MoveE.BuildDefContext(this, selectTile); //蓄力技如果选择的是压力特性的精灵,在第一回合就会扣取2点PP,即使最后攻击到的不是压力特性的精灵。
         if (MoveProxy != null)
         {
             ATs.Pressure(this, Move.GetRange(Attacker));
         }
         if (log == "FSDD")
         {
             Target.Defender.ShowLogPm(log, Move.Id);
         }
         else if (log != null)
         {
             Attacker.ShowLogPm(log, Move.Id);
         }
         MoveExecute.Execute(this, selectTile);
     }
     else
     {
         FailAll(null);
     }
 }