示例#1
0
        public bool ActOnSelection(IEnumerable <Combatant> targets)
        {
            Ally performer = AssociatedAlly;

            #region Attack

            if (_option == _attackOption)
            {
                performer.Attack(targets.First());
            }

            #endregion Attack


            #region 2x-Cut

            else if (_option == _doubleCutOption2)
            {
                performer.AttackX2(targets.First());
            }

            #endregion 2x-Cut

            #region 4x-Cut

            else if (_option == _doubleCutOption4)
            {
                performer.AttackX4(targets);
            }

            #endregion 4x-Cut

            #region Sense

            else if (_option == _senseOption)
            {
                BattleEvent sense = new SenseEvent(AssociatedAlly, targets);

                AssociatedAlly.CurrentBattle.EnqueueAction(sense);
            }

            #endregion Sense

            #region Mime

            else if (_option == _mimeOption)
            {
//                if (AssociatedAlly.CurrentBattle.LastPartyAbility == null)
//                {
////                    DisableActionHook(true);
//                    AssociatedAlly.TurnTimer.Reset();
//                }
//                else
//                {
//                    AssociatedAlly.Ability = AssociatedAlly.CurrentBattle.LastPartyAbility;
//                    try
//                    {
//                        AssociatedAlly.Ability.Performer = performer;
//                    }
//                    catch (Exception e)
//                    {
//                    }
//                }
            }

            #endregion Mime

            #region Deathblow

            else if (_option == _deathblowOption)
            {
//                DeathblowEvent e = DeathblowEvent.Create(AssociatedAlly, targets);
//
//                AssociatedAlly.CurrentBattle.EnqueueAction(e);
            }

            #endregion Deathblow

            #region Steal
            else if (_option == _stealOption)
            {
                StealEvent steal = new StealEvent(AssociatedAlly, targets);

                AssociatedAlly.CurrentBattle.EnqueueAction(steal);
            }
            #endregion Steal
            #region Mug
            else if (_option == _mugOption)
            {
//                MugEvent e = MugEvent.Create(AssociatedAlly, targets);
//
//                AssociatedAlly.CurrentBattle.EnqueueAction(e);
            }
            #endregion Mug

            return(true);
        }