Example #1
0
 public QiaoShui()
 {
     var trigger = new AutoNotifyUsagePassiveSkillTrigger(
             this,
             (p, e, a) => { return p.HandCards().Count > 0; },
             (p, e, a, c, t) =>
             {
                 var result = Game.CurrentGame.PinDian(Owner, t[0], this);
                 if (result == true)
                 {
                     var winTrigger = new QiaoShuiWinTrigger(p, this);
                     Game.CurrentGame.RegisterTrigger(GameEvent.PlayerUsedCard, winTrigger);
                     Game.CurrentGame.RegisterTrigger(GameEvent.PhasePostEnd, new QiaoShuiWinRemoval(Owner, winTrigger));
                 }
                 else
                 {
                     var loseTrigger = new QiaoShuiLoseTrigger(Owner);
                     Game.CurrentGame.RegisterTrigger(GameEvent.PlayerCanUseCard, loseTrigger);
                     Game.CurrentGame.RegisterTrigger(GameEvent.PhasePostEnd, new QiaoShuiRemoval(Owner, loseTrigger));
                 }
             },
             TriggerCondition.OwnerIsSource,
             new PinDianVerifier()
         );
     Triggers.Add(GameEvent.PhaseBeginEvents[TurnPhase.Play], trigger);
     IsAutoInvoked = null;
 }
Example #2
0
        public QiaoShui()
        {
            var trigger = new AutoNotifyUsagePassiveSkillTrigger(
                this,
                (p, e, a) => { return(p.HandCards().Count > 0); },
                (p, e, a, c, t) =>
            {
                var result = Game.CurrentGame.PinDian(Owner, t[0], this);
                if (result == true)
                {
                    var winTrigger = new QiaoShuiWinTrigger(p, this);
                    Game.CurrentGame.RegisterTrigger(GameEvent.PlayerUsedCard, winTrigger);
                    Game.CurrentGame.RegisterTrigger(GameEvent.PhasePostEnd, new QiaoShuiWinRemoval(Owner, winTrigger));
                }
                else
                {
                    var loseTrigger = new QiaoShuiLoseTrigger(Owner);
                    Game.CurrentGame.RegisterTrigger(GameEvent.PlayerCanUseCard, loseTrigger);
                    Game.CurrentGame.RegisterTrigger(GameEvent.PhasePostEnd, new QiaoShuiRemoval(Owner, loseTrigger));
                }
            },
                TriggerCondition.OwnerIsSource,
                new PinDianVerifier()
                );

            Triggers.Add(GameEvent.PhaseBeginEvents[TurnPhase.Play], trigger);
            IsAutoInvoked = null;
        }