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; }
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; }