Ejemplo n.º 1
0
 public override bool Commit(GameEventArgs arg)
 {
     Owner[XianZhenUsed] = 1;
     var result = Game.CurrentGame.PinDian(Owner, arg.Targets[0], this);
     if (result != true)
     {
         var trigger = new XianZhenPassiveLose(Owner);
         Game.CurrentGame.RegisterTrigger(GameEvent.PlayerCanUseCard, trigger);
         Game.CurrentGame.RegisterTrigger(GameEvent.PhasePostEnd, new XianZhenLoseRemoval(Owner, trigger));
     }
     else
     {
         arg.Targets[0][Armor.PlayerIgnoreArmor[Owner]] = 1;
         var trigger = new XianZhenPassiveWin1(Owner, arg.Targets[0]);
         Game.CurrentGame.RegisterTrigger(Sha.PlayerShaTargetValidation, trigger);
         var trigger2 = new XianZhenPassiveWin2(Owner);
         Game.CurrentGame.RegisterTrigger(Sha.PlayerNumberOfShaCheck, trigger2);
         var trigger3 = new XianZhenPassiveWin3(Owner, arg.Targets[0]);
         Game.CurrentGame.RegisterTrigger(GameEvent.PlayerDistanceOverride, trigger3);
         Game.CurrentGame.RegisterTrigger(GameEvent.PhasePostEnd, new XianZhenWinRemoval(Owner, arg.Targets[0], trigger, trigger2, trigger3));
     }
     return true;
 }
Ejemplo n.º 2
0
        public override bool Commit(GameEventArgs arg)
        {
            Owner[XianZhenUsed] = 1;
            var result = Game.CurrentGame.PinDian(Owner, arg.Targets[0], this);

            if (result != true)
            {
                var trigger = new XianZhenPassiveLose(Owner);
                Game.CurrentGame.RegisterTrigger(GameEvent.PlayerCanUseCard, trigger);
                Game.CurrentGame.RegisterTrigger(GameEvent.PhasePostEnd, new XianZhenLoseRemoval(Owner, trigger));
            }
            else
            {
                arg.Targets[0][Armor.PlayerIgnoreArmor[Owner]] = 1;
                var trigger = new XianZhenPassiveWin1(Owner, arg.Targets[0]);
                Game.CurrentGame.RegisterTrigger(Sha.PlayerShaTargetValidation, trigger);
                var trigger2 = new XianZhenPassiveWin2(Owner);
                Game.CurrentGame.RegisterTrigger(Sha.PlayerNumberOfShaCheck, trigger2);
                var trigger3 = new XianZhenPassiveWin3(Owner, arg.Targets[0]);
                Game.CurrentGame.RegisterTrigger(GameEvent.PlayerDistanceOverride, trigger3);
                Game.CurrentGame.RegisterTrigger(GameEvent.PhasePostEnd, new XianZhenWinRemoval(Owner, arg.Targets[0], trigger, trigger2, trigger3));
            }
            return(true);
        }