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); } }
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); } }