예제 #1
0
 public void Run(Player owner, GameEvent gameEvent, GameEventArgs eventArgs)
 {
     Trigger tri = new Trigger();
     int answer = 0;
     List<OptionPrompt> JiangChiQuestion = new List<OptionPrompt>();
     JiangChiQuestion.Add(Prompt.NoChoice);
     JiangChiQuestion.Add(new OptionPrompt("JiangChi1"));
     JiangChiQuestion.Add(new OptionPrompt("JiangChi2"));
     owner.AskForMultipleChoice(new MultipleChoicePrompt("JiangChi"), JiangChiQuestion, out answer);
     if (answer == 0)
     {
         return;
     }
     NotifySkillUse(new List<Player>());
     if (answer == 1)
     {
         owner[Player.DealAdjustment]++;
         tri = new JiangChi1(owner);
         Game.CurrentGame.RegisterTrigger(GameEvent.PlayerCanUseCard, tri);
         Game.CurrentGame.RegisterTrigger(GameEvent.PlayerCanPlayCard, tri);
     }
     else
     {
         owner[Sha.AdditionalShaUsable]++;
         owner[Player.DealAdjustment]--;
         tri = new JiangChi2(owner);
         Game.CurrentGame.RegisterTrigger(Sha.PlayerShaTargetValidation, tri);
     }
     Trigger triRemoval = new JiangChiRemoval(owner, tri, answer == 1);
     Game.CurrentGame.RegisterTrigger(GameEvent.PhasePostEnd, triRemoval);
 }
예제 #2
0
파일: TianYi.cs 프로젝트: pxoylngx/sgs
 public TianYiRemoval(Player p, Trigger win, Trigger lose)
 {
     Owner = p;
     winTrigger = win;
     loseTrigger = lose;
 }
예제 #3
0
 public ZhuiKongRemoval(Player t, Trigger trigger)
 {
     Owner = t;
     this.trigger = trigger;
 }
예제 #4
0
 public ShiChouRemoval(Player target, Player source, Trigger protect, Trigger drawCards)
 {
     Owner = target;
     this.source = source;
     protectTrigger = protect;
     drawCardsTrigger = drawCards;
     Priority = int.MaxValue;
 }
예제 #5
0
파일: DaWu.cs 프로젝트: h1398123/sgs
 public DawuRemoval(Player p, Trigger trigger)
 {
     qixingOwner = p;
     dawuProtect = trigger;
 }
예제 #6
0
 public QiaoShuiWinRemoval(Player p, Trigger win)
 {
     Owner = p;
     winTrigger = win;
 }
예제 #7
0
 public ZhiChiRemoval(Player triggerOwner, Player skillOwner, Trigger trigger)
 {
     this.skillOwner = skillOwner;
     Owner = triggerOwner;
     protectTrigger = trigger;
 }
예제 #8
0
파일: KuangFeng.cs 프로젝트: h1398123/sgs
 public KuangFengRemoval(Player p, Trigger trigger)
 {
     qixingOwner = p;
     kuangfengDamage = trigger;
 }
예제 #9
0
 public XianZhenWinRemoval(Player p, Player target, Trigger trigger, Trigger trigger2, Trigger trigger3)
 {
     Owner = p;
     this.trigger = trigger;
     this.trigger2 = trigger2;
     this.trigger3 = trigger3;
     this.target = target;
 }
예제 #10
0
파일: DaWu.cs 프로젝트: kingling/sgs
 public DawuRemoval(Player p, Trigger trigger, List<Player> dawuTargets)
 {
     qixingOwner = p;
     dawuProtect = trigger;
     this.dawuTargets = dawuTargets;
 }
예제 #11
0
 public XianZhenLoseRemoval(Player p, Trigger trigger)
 {
     Owner = p;
     this.trigger = trigger;
 }
예제 #12
0
 public TianYiRemoval(Player p, Trigger lose)
 {
     Owner = p;
     loseTrigger = lose;
 }
예제 #13
0
파일: QianXi.cs 프로젝트: shonwang/sgs
 public QianXiEffectRemoval(Player player, Player target, Trigger trigger)
 {
     Owner = player;
     this.target = target;
     this.trigger = trigger;
 }
예제 #14
0
파일: Game.cs 프로젝트: pxoylngx/sgs
 public void UnregisterTrigger(GameEvent gameEvent, Trigger trigger)
 {
     if (trigger == null)
     {
         return;
     }
     if (triggers.ContainsKey(gameEvent))
     {
         Trace.Assert(triggers[gameEvent].Contains(trigger));
         triggers[gameEvent].Remove(trigger);
     }
 }
예제 #15
0
 public KuangFengRemoval(Player p, Trigger trigger, KuangFeng kuangfeng)
 {
     qixingOwner = p;
     kuangfengDamage = trigger;
     skill = kuangfeng;
 }
예제 #16
0
파일: Game.cs 프로젝트: pxoylngx/sgs
 public void RegisterTrigger(GameEvent gameEvent, Trigger trigger)
 {
     if (trigger == null)
     {
         return;
     }
     if (!triggers.ContainsKey(gameEvent))
     {
         triggers[gameEvent] = new List<Trigger>();
     }
     triggers[gameEvent].Add(trigger);
 }
예제 #17
0
 public JiangChiRemoval(Player p, Trigger t, bool ChoiceFirst)
 {
     Owner = p;
     trigger = t;
     isJiangChi1 = ChoiceFirst;
 }
예제 #18
0
 public DawuRemoval(Player p, Trigger trigger, DaWu dawu)
 {
     qixingOwner = p;
     dawuProtect = trigger;
     skill = dawu;
 }
예제 #19
0
 public QiaoShuiRemoval(Player p, Trigger lose)
 {
     Owner = p;
     loseTrigger = lose;
 }