protected override void UpgradeSelected(GenericUpgrade upgrade, Action callback) { HostShip.LoseShield(); HostShip.LoseShield(); upgrade.State.RestoreCharge(); callback(); }
private void RollExtraDice(ref int count) { count++; HostShip.LoseShield(); Messages.ShowInfo("Miranda Doni spends shield to roll extra die"); HostShip.AfterGotNumberOfAttackDice -= RollExtraDice; }
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(); }
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(); } }
protected override void FinishAbility() { HostShip.LoseShield(); Triggers.FinishTrigger(); }