示例#1
0
        private void CheckDieResult(DiceRollCheckSubPhase subphase)
        {
            GenericToken tokenToAssign = null;

            if (subphase.CurrentDiceRoll.HasResult(DieSide.Crit) || subphase.CurrentDiceRoll.HasResult(DieSide.Success))
            {
                tokenToAssign = new CalculateToken(HostShip);
            }
            else
            {
                tokenToAssign = new JamToken(HostShip, HostShip.Owner);
            }

            Messages.ShowInfo($"Agent Terex (Cyborg): {HostShip.PilotInfo.PilotName} gains {tokenToAssign.Name}");

            HostShip.Tokens.AssignToken(
                tokenToAssign,
                delegate
            {
                (Phases.CurrentSubPhase as DiceRollCheckSubPhase).HideDiceResultMenu();
                Phases.FinishSubPhase(Phases.CurrentSubPhase.GetType());
                Triggers.FinishTrigger();
            }
                );
        }
示例#2
0
        private void RollDie(object sender, EventArgs e)
        {
            DiceRollCheckSubPhase subphase = Phases.StartTemporarySubPhaseNew <DiceRollCheckSubPhase>("Agent Terex Dice Check", Triggers.FinishTrigger);

            subphase.DiceCount = 1;
            subphase.DiceKind  = DiceKind.Attack;

            subphase.AfterRoll      = delegate { CheckDieResult(subphase); };
            subphase.RequiredPlayer = HostShip.Owner.PlayerNo;
            subphase.Start();
        }