Example #1
0
 public ZhuiKong()
 {
     var trigger = new AutoNotifyPassiveSkillTrigger(
         this,
         (p, e, a) => { return p != a.Source && p.LostHealth > 0 && p.HandCards().Count > 0 && a.Source.HandCards().Count > 0; },
         (p, e, a) =>
         {
             if (Game.CurrentGame.PinDian(p, a.Source, this) == true)
             {
                 Game.CurrentGame.PhasesSkipped.Add(TurnPhase.Play);
             }
             else
             {
                 Trigger tri = new ZhuiKongLose(a.Source, p);
                 Game.CurrentGame.RegisterTrigger(GameEvent.PlayerDistanceOverride, tri);
                 Game.CurrentGame.RegisterTrigger(GameEvent.PhasePostEnd, new ZhuiKongRemoval(a.Source, tri));
             }
         },
         TriggerCondition.Global
     );
     Triggers.Add(GameEvent.PhaseProceedEvents[TurnPhase.BeforeStart], trigger);
     IsAutoInvoked = null;
 }
Example #2
0
        public ZhuiKong()
        {
            var trigger = new AutoNotifyPassiveSkillTrigger(
                this,
                (p, e, a) => { return(p != a.Source && p.LostHealth > 0 && p.HandCards().Count > 0 && a.Source.HandCards().Count > 0); },
                (p, e, a) =>
            {
                if (Game.CurrentGame.PinDian(p, a.Source, this) == true)
                {
                    Game.CurrentGame.PhasesSkipped.Add(TurnPhase.Play);
                }
                else
                {
                    Trigger tri = new ZhuiKongLose(a.Source, p);
                    Game.CurrentGame.RegisterTrigger(GameEvent.PlayerDistanceOverride, tri);
                    Game.CurrentGame.RegisterTrigger(GameEvent.PhasePostEnd, new ZhuiKongRemoval(a.Source, tri));
                }
            },
                TriggerCondition.Global
                );

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