示例#1
0
 public override void DeactivateAbility()
 {
     HostShip.WingsOpen();
     HostShip.OnMovementActivationStart -= RegisterAskToFlip;
     HostShip.OnManeuverIsRevealed      -= RegisterAskToRotate;
     HostShip.ChangeAgilityBy(+1);
 }
示例#2
0
        private void RestoreOriginalAgility(GenericShip ship)
        {
            HostShip.OnAttackFinishAsDefender -= RestoreOriginalAgility;

            Messages.ShowInfo(HostShip.PilotInfo.PilotName + "'s Agility hass been restored to " + OriginalAgility);
            HostShip.ChangeAgilityBy(OriginalAgility - HostShip.AssignedManeuver.Speed);
        }
示例#3
0
        public override void DeactivateAbility()
        {
            HostShip.ShipInfo.Agility--;
            HostShip.ChangeAgilityBy(-1);

            HostShip.OnDamageWasSuccessfullyDealt -= RegisterStealthDeviceCleanupSe;
        }
示例#4
0
 public override void ActivateAbility()
 {
     ChangeInitialWingsPosition();
     HostShip.OnMovementActivation += RegisterAskToFlip;
     HostShip.OnManeuverIsRevealed += RegisterAskToRotate;
     HostShip.ChangeAgilityBy(-1);
 }
示例#5
0
        public override void DeactivateAbility()
        {
            HostShip.ShipInfo.Agility--;
            HostShip.ChangeAgilityBy(-1);

            HostShip.OnAttackHitAsDefender -= RegisterStealthDeviceCleanup;
        }
示例#6
0
        private void RemoveExposeEffect()
        {
            HostShip.ChangeFirepowerBy(-1);
            HostShip.ChangeAgilityBy(+1);

            Phases.Events.OnEndPhaseStart_NoTriggers -= RemoveExposeEffect;
        }
示例#7
0
文件: R2F2.cs 项目: vitreuz/FlyCasual
        public override void ActionTake()
        {
            Sounds.PlayShipSound("Astromech-Beeping-and-whistling");

            HostShip.ChangeAgilityBy(+1);
            Phases.Events.OnEndPhaseStart_NoTriggers += R2F2DecreaseAgility;
            HostShip.Tokens.AssignCondition(typeof(Conditions.R2F2Condition));
            Phases.CurrentSubPhase.CallBack();
        }
示例#8
0
 public override void DeactivateAbility()
 {
     HostShip.ShipInfo.ArcInfo.Arcs.First().Firepower--;
     HostShip.PrimaryWeapons.First().WeaponInfo.AttackValue--;
     HostShip.ChangeFirepowerBy(-1);
     HostShip.ShipInfo.Agility++;
     HostShip.ChangeAgilityBy(1);
     HostShip.ShipInfo.Shields -= 2;
     HostShip.ChangeShieldBy(-2);
 }
示例#9
0
 private void TryActivateAbilityBonus()
 {
     if (!AbilityIsActive)
     {
         Messages.ShowInfo(HostShip.PilotInfo.PilotName + ": +1 Agility");
         HostShip.ChangeAgilityBy(+1);
         HostShip.Tokens.AssignCondition(typeof(Conditions.GemmerSojanCondition));
         AbilityIsActive = true;
     }
 }
示例#10
0
 private void TryActivateAbilityBonus()
 {
     if (!AbilityIsActive)
     {
         Messages.ShowInfo(HostShip.PilotInfo.PilotName + " is within range 1 of at least one enemy ship and gains +1 Agility");
         HostShip.ChangeAgilityBy(+1);
         HostShip.Tokens.AssignCondition(typeof(Conditions.GemmerSojanCondition));
         AbilityIsActive = true;
     }
 }
示例#11
0
        private void ApplyExposeEffect()
        {
            HostShip.ChangeFirepowerBy(+1);
            HostShip.ChangeAgilityBy(-1);

            Phases.Events.OnEndPhaseStart_NoTriggers += RemoveExposeEffect;

            HostShip.Tokens.AssignCondition(typeof(Conditions.ExposeCondition));
            Phases.CurrentSubPhase.CallBack();
        }
示例#12
0
 private void TryDeactivateAbilityBonus()
 {
     if (AbilityIsActive)
     {
         Messages.ShowError(HostShip.PilotInfo.PilotName + ": -1 Agility");
         HostShip.ChangeAgilityBy(-1);
         HostShip.Tokens.RemoveCondition(typeof(Conditions.GemmerSojanCondition));
         AbilityIsActive = false;
     }
 }
示例#13
0
        private void ChangeAgility(object sender, System.EventArgs e)
        {
            Messages.ShowInfo(HostShip.PilotInfo.PilotName + "'s Agility is now " + HostShip.AssignedManeuver.Speed);

            OriginalAgility = HostShip.State.Agility;
            HostShip.ChangeAgilityBy(HostShip.AssignedManeuver.Speed - HostShip.State.Agility);

            HostShip.OnAttackFinishAsDefender += RestoreOriginalAgility;

            DecisionSubPhase.ConfirmDecision();
        }
示例#14
0
 public override void ActivateAbility()
 {
     HostShip.ChangeAgilityBy(1);
     if (RuleSet.Instance is FirstEdition)
     {
         HostShip.OnAttackHitAsDefender += RegisterStealthDeviceCleanup;
     }
     else
     {
         HostShip.OnDamageWasSuccessfullyDealt += RegisterStealthDeviceCleanupSe;
     }
 }
示例#15
0
        private void ActivateCountermeasures(object sender, System.EventArgs e)
        {
            HostShip.ChangeAgilityBy(+1);
            Phases.OnRoundEnd += DeactivateCountermeasures;

            if (HostShip.Tokens.HasToken(typeof(RedTargetLockToken), '*'))
            {
                AskToRemoveTargetLock();
            }
            else
            {
                HostUpgrade.TryDiscard(SubPhases.DecisionSubPhase.ConfirmDecision);
            }
        }
示例#16
0
        private void ActivateCountermeasures(object sender, System.EventArgs e)
        {
            Messages.ShowInfo(string.Format("{0} used Countermeasures.", HostShip.PilotInfo.PilotName));

            HostShip.ChangeAgilityBy(+1);
            Phases.Events.OnRoundEnd += DeactivateCountermeasures;

            if (HostShip.Tokens.HasToken(typeof(RedTargetLockToken), '*'))
            {
                SubPhases.DecisionSubPhase.ConfirmDecisionNoCallback();
                AskToRemoveTargetLock();
            }
            else
            {
                HostUpgrade.TryDiscard(SubPhases.DecisionSubPhase.ConfirmDecision);
            }
        }
示例#17
0
文件: R2F2.cs 项目: vitreuz/FlyCasual
 private void R2F2DecreaseAgility()
 {
     HostShip.ChangeAgilityBy(-1);
     HostShip.Tokens.RemoveCondition(typeof(Conditions.R2F2Condition));
     Phases.Events.OnEndPhaseStart_NoTriggers -= R2F2DecreaseAgility;
 }
示例#18
0
 public override void ActivateAbility()
 {
     Phases.Events.OnGameStart += ChangeInitialWingsPosition;
     HostShip.OnMovementFinish += RegisterAskToUseFlip;
     HostShip.ChangeAgilityBy(+1);
 }
示例#19
0
 public override void DeactivateAbility()
 {
     Phases.Events.OnGameStart -= ChangeInitialWingsPosition;
     HostShip.OnMovementFinish -= RegisterAskToUseFlip;
     HostShip.ChangeAgilityBy(-1); // Works only if flipped during battle, for squad builder ActivateAbilityForSquadBuilder is used
 }
示例#20
0
 public override void DeactivateAbility()
 {
     HostShip.OnMovementFinish -= RegisterAskToUseFlip;
     HostShip.ChangeAgilityBy(-1);
 }
示例#21
0
 public override void ActivateAbility()
 {
     ChangeInitialWingsPosition();
     HostShip.OnMovementFinish += RegisterAskToUseFlip;
     HostShip.ChangeAgilityBy(+1);
 }
示例#22
0
 public override void ActivateAbility()
 {
     HostShip.ChangeAgilityBy(1);
     HostShip.OnAttackHitAsDefender += RegisterStealthDeviceCleanup;
 }
示例#23
0
 public override void DeactivateAbility()
 {
     HostShip.ChangeAgilityBy(-1);
     HostShip.OnAttackHitAsDefender        -= RegisterStealthDeviceCleanup;
     HostShip.OnDamageWasSuccessfullyDealt -= RegisterStealthDeviceCleanupSe;
 }
示例#24
0
 private void DeactivateCountermeasures()
 {
     Phases.OnRoundEnd -= DeactivateCountermeasures;
     HostShip.ChangeAgilityBy(-1);
 }