Example #1
0
 protected override void UpgradeSelected(GenericUpgrade upgrade, Action callback)
 {
     HostShip.LoseShield();
     HostShip.LoseShield();
     upgrade.State.RestoreCharge();
     callback();
 }
Example #2
0
        private void RollExtraDice(ref int count)
        {
            count++;
            HostShip.LoseShield();

            Messages.ShowInfo("Miranda Doni spends shield to roll extra die");

            HostShip.AfterGotNumberOfAttackDice -= RollExtraDice;
        }
Example #3
0
        private void RechargeBombletGenerator(object sender, System.EventArgs e)
        {
            DecisionSubPhase.ConfirmDecisionNoCallback();

            HostShip.LoseShield();
            for (int i = 0; i < 2; i++)
            {
                if (HostUpgrade.State.Charges < HostUpgrade.UpgradeInfo.Charges)
                {
                    HostUpgrade.State.RestoreCharge();
                }
            }
            Triggers.FinishTrigger();
        }
Example #4
0
 public override void ActionEffect(Action callBack)
 {
     // remove one shield
     // It should not be possible to get there without having at least one shield (IsActionEffectAvailable),
     //   but just in case ...
     if (HostShip.State.ShieldsCurrent > 0)
     {
         Messages.ShowInfoToHuman("Inaldra is losing one shield to reroll any number of dice");
         HostShip.LoseShield();
         // reroll dice
         DiceRerollManager diceRerollManager = new DiceRerollManager
         {
             SidesCanBeRerolled = null,    // all the sides can be reroll
             CallBack           = callBack // all the dices can be reroll
         };
         diceRerollManager.Start();
     }
     else
     {
         // should never happens, thanks to IsActionEffectAvailable...
         Messages.ShowError("Inaldra has no shields available and is unable to use her ability");
         callBack();
     }
 }
Example #5
0
 protected override void FinishAbility()
 {
     HostShip.LoseShield();
     Triggers.FinishTrigger();
 }