Example #1
0
    public bool Play(Card card)
    {
        if (_hand.Contains(card))
        {
            _hand.Remove(card);
            _grave.Add(card);
            EventManager.Instance.QueueEvent(new Evt_PlayedCard()
            {
                Owner = Owner, Card = card
            });
            return(true);
        }

        return(false);
    }
Example #2
0
        public CardSet Draw(int cardCount, IActionScope turnScope)
        {
            var cardSet = new CardSet();

            cardCount.Times(() => cardSet.Add(Draw(turnScope), turnScope));
            return(cardSet);
        }
Example #3
0
            public void Resolve(IReactionScope scope)
            {
                bool    validCardFound;
                bool    hasReshuffled = false;
                Card    card;
                CardSet revealedCards = new CardSet();

                do
                {
                    card           = scope.RevealCardFromDeck();
                    validCardFound = card != null && scope.GetPrice(card) >= 3;
                    if (card == null && !hasReshuffled)
                    {
                        scope.ReactingPlayer.ShuffleDiscardPileIntoDeck(scope);
                        hasReshuffled = true;
                    }
                    if (!validCardFound)
                    {
                        revealedCards.Add(card, scope);
                    }
                } while (!validCardFound && card != null);
                if (card == null)
                {
                    return;
                }

                scope.PutCardInTrash(card);
                scope.Publish(new SelectReplacementCardForSaboteur(scope, card));
            }
Example #4
0
 public void PlayCard(Card cardToPlay, CardSet cardsInPlay, IActionScope turnScope)
 {
     if (this.Contains(cardToPlay))
     {
         InnerList.Remove(cardToPlay);
         cardsInPlay.Add(cardToPlay, turnScope);
     }
 }
Example #5
0
 void UpdateCards(List <CardState> cards, CardSet set)
 {
     set.Clear();
     for (var i = 0; i < cards.Count; i++)
     {
         var card     = cards[i];
         var cardView = CreateCardView(card);
         set.Add(cardView);
     }
 }
 public HillsExpansion()
 {
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhangHe", true, Allegiance.Wei, 4, new QiaoBian()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("DengAi", true, Allegiance.Wei, 4, new TunTian(), new ZaoXian()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("JiangWei", true, Allegiance.Shu, 4, new TiaoXin(), new ZhiJi()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LiuShan", true, Allegiance.Shu, 3, new XiangLe(), new FangQuan(), new RuoYu()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SunCe", true, Allegiance.Wu, 4, new ZhiBa(), new JiAng(), new HunZi()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhangZhaoZhangHong", true, Allegiance.Wu, 3, new ZhiJian(), new GuZheng()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZuoCi", true, Allegiance.Qun, 3, new HuaShen(), new XinSheng()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("CaiWenji", false, Allegiance.Qun, 3, new BeiGe(), new DuanChang()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ShenZhaoYun", true, Allegiance.God, 2, new JueJing(), new LongHun()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ShenSimaYi", true, Allegiance.God, 4, new RenJie(), new BaiYin(), new LianPo()))));
 }
Example #7
0
    private static void TestUnit_04_CardSet()
    {
        // test frame for a single CardSet object
        Card card1 = new Card(CardColor.Kreuz, CardPicture.Neun);
        Card card2 = new Card(CardColor.Pik, CardPicture.König);
        Card card3 = new Card(CardColor.Herz, CardPicture.Sieben);

        CardSet set = new CardSet();

        set.Add(card1);
        set.Add(card2);
        set.Add(card3);

        for (int i = 0; i < set.Size; i++)
        {
            Console.WriteLine("Karte {0}: {1}", i, set[i]);
        }

        Console.WriteLine("Karten auf der Hand: {0}", set);
        set.Remove(1);
        Console.WriteLine("Karten auf der Hand: {0}", set);
    }
Example #8
0
        public WoodsExpansion()
        {
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("XuHuang", true, Allegiance.Wei, 4, new DuanLiang()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("CaoPi", true, Allegiance.Wei, 3, new XingShang(), new FangZhu(), new SongWei()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("MengHuo", true, Allegiance.Shu, 4, new HuoShou(), new ZaiQi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhuRong", false, Allegiance.Shu, 4, new JuXiang(), new LieRen()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SunJian", true, Allegiance.Wu, 4, new YingHun()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LuSu", true, Allegiance.Wu, 3, new HaoShi(), new DiMeng()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("DongZhuo", true, Allegiance.Qun, 8, new JiuChi(), new RouLin(), new BengHuai(), new BaoNve()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("JiaXu", true, Allegiance.Qun, 3, new WanSha(), new LuanWu(), new WeiMu()))));
//            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ShenCaoCao", true, Allegiance.God, 3, new GuiXin(), new FeiYing()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ShenLvBu", true, Allegiance.God, 5, new KuangBao(), new WuMou(), new WuQian(), new ShenFen()))));
        }
 public FireExpansion()
 {
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("DianWei", true, Allegiance.Wei, 4, new QiangXi()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("XunYu", true, Allegiance.Wei, 3, new QuHu(), new JieMing()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("PangTong", true, Allegiance.Shu, 3, new LianHuan(), new NiePan()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("TaishiCi", true, Allegiance.Wu, 4, new TianYi()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("WoLong", true, Allegiance.Shu, 3, new BaZhen(), new HuoJi(), new KanPo()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("YuanShao", true, Allegiance.Qun, 4, new LuanJi(), new XueYi()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("YanLiangWenChou", true, Allegiance.Qun, 4, new ShuangXiong()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("PangDe", true, Allegiance.Qun, 4, new MaShu(), new MengJin()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ShenZhouYu", true, Allegiance.God, 4, new QinYin(), new YeYan()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ShenZhugeLiang", true, Allegiance.God, 3, new QiXing(), new KuangFeng(), new DaWu()))));
 }
        public WindExpansion()
        {
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("XiahouYuan", true, Allegiance.Wei, 4, new ShenSu()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("CaoRen", true, Allegiance.Wei, 4, new JuShou()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("HuangZhong", true, Allegiance.Shu, 4, new LieGong()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("WeiYan", true, Allegiance.Shu, 4, new KuangGu()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("XiaoQiao", false, Allegiance.Wu, 3, new TianXiang(), new HongYan()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhouTai", true, Allegiance.Wu, 4, new BuQu()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhangJiao", true, Allegiance.Qun, 3, new LeiJi(), new GuiDao(), new HuangTian()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("YuJi", true, Allegiance.Qun, 3, new GuHuo()))));

            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ShenGuanYu", true, Allegiance.God, 5, new WuShen(), new WuHun()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ShenLvMeng", true, Allegiance.God, 3, new SheLie(), new GongXin()))));
        }
 public OverKnightFame13Expansion()
 {
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhuRan", true, Allegiance.Wu, 4, new DanShou()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("YuFan", true, Allegiance.Wu, 3, new ZongXuan(), new ZhiYan()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("GuanPing", true, Allegiance.Shu, 4, new LongYin()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LiRu", true, Allegiance.Qun, 3, new JueCe(), new MieJi(), new FenCheng()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LiuFeng", true, Allegiance.Shu, 4, new XianSi()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("PanZhangMaZhong", true, Allegiance.Wu, 4, new DuoDao(), new AnJian()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("GuoHuai", true, Allegiance.Wei, 4, new JingCe()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ManChong", true, Allegiance.Wei, 3, new JunXing(), new YuCe()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("CaoChong", true, Allegiance.Wei, 3, new ChengXiang(), new RenXin()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("FuHuangHou", false, Allegiance.Qun, 3, new ZhuiKong(), new QiuYuan()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("JianYong", true, Allegiance.Shu, 3, new QiaoShui(), new ZongShi2()))));
 }
Example #12
0
    public CardSet GetDeck()
    {
        string[] ids  = Cards.Split(',');
        var      deck = new CardSet(ids.Length);

        foreach (var str in ids)
        {
            var id   = int.Parse(str);
            var card = GameMgr.Instance.DB.Find <Card>(_checker.SetId(id).Check);
            deck.Add(card);
        }

        return(deck);
    }
        public StarSpExpansion()
        {
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SPZhaoYun", true, Allegiance.Qun, 3, new LongDan(), new ChongZhen())
            {
                HeroConvertFrom = "ZhaoYun"
            })));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SPDiaoChan", false, Allegiance.Qun, 3, new LiHun(), new BiYue())
            {
                HeroConvertFrom = "DiaoChan"
            })));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SPCaoRen", true, Allegiance.Wei, 4, new KuiWei(), new YanZheng())
            {
                HeroConvertFrom = "CaoRen"
            })));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SPPangTong", true, Allegiance.Qun, 3, new ManJuan(), new ZuiXiang())
            {
                HeroConvertFrom = "PangTong"
            })));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SPZhangFei", true, Allegiance.Shu, 4, new JiE(), new DaHe())
            {
                HeroConvertFrom = "ZhangFei"
            })));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SPLvMeng", true, Allegiance.Wu, 3, new TanHu(), new MouDuan())
            {
                HeroConvertFrom = "LvMeng"
            })));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SPLiuBei", true, Allegiance.Shu, 4, new ZhaoLie(), new ShiChou())
            {
                HeroConvertFrom = "LiuBei"
            })));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SPDaQiao", false, Allegiance.Wu, 3, new YanXiao(), new AnXian())
            {
                HeroConvertFrom = "DaQiao"
            })));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SPGanNing", true, Allegiance.Qun, 4, new YinLing(), new JunWei())
            {
                HeroConvertFrom = "GanNing"
            })));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SPXiahouDun", true, Allegiance.Wei, 4, new FenYong(), new XueHen())
            {
                HeroConvertFrom = "XiahouDun"
            })));

            TriggerRegistration = new List <DelayedTriggerRegistration>();
            TriggerRegistration.Add(new DelayedTriggerRegistration()
            {
                key = GameEvent.PhaseBeginEvents[TurnPhase.Judge], trigger = new YanXiaoTrigger()
            });
        }
Example #14
0
    CardView GetFirstOrCreateView(CardSet set)
    {
        CardView view;

        if (set.Cards.Count == 0)
        {
            view = ObjectPool.Spawn(CardPrefab);
            set.Add(view);
        }
        else
        {
            view = set.Cards[0];
        }
        return(view);
    }
Example #15
0
 public OverKnightFame11Expansion()
 {
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("CaoZhi", true, Allegiance.Wei, 3, new LuoYing(), new JiuShi()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ChenGong", true, Allegiance.Qun, 3, new MingCe(), new ZhiChi()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("FaZheng", true, Allegiance.Shu, 3, new EnYuan(), new XuanHuo()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("GaoShun", true, Allegiance.Qun, 4, new XianZhen(), new JinJiu()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LingTong", true, Allegiance.Wu, 4, new XuanFeng()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("MaSu", true, Allegiance.Shu, 3, new XinZhan(), new HuiLei()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("WuGuotai", false, Allegiance.Wu, 3, new GanLu(), new BuYi()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("XuSheng", true, Allegiance.Wu, 4, new PoJun()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("XuShu", true, Allegiance.Shu, 3, new WuYan(), new JuJian()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("YuJin", true, Allegiance.Wei, 4, new YiZhong()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhangChunhua", false, Allegiance.Wei, 3, new JueQing(), new ShangShi()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhongHui", true, Allegiance.Wei, 4, new QuanJi(), new ZiLi()))));
 }
Example #16
0
    bool CheckNewCards(UserState userState, CardSet handSet, Action callback)
    {
        var userHand = userState.HandSet;

        if (userHand.Count > handSet.Cards.Count)
        {
            var cardToSpawn = userHand[userHand.Count - 1];
            var cardView    = CreateCardView(cardToSpawn);
            handSet.Add(cardView);
            var trans = cardView.transform;
            trans.localScale = Vector3.zero;
            cardView.SetEffect(trans.DOScale(Vector3.one, 0.33f), callback);
            return(true);
        }
        return(false);
    }
Example #17
0
 public SpExpansion()
 {
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("YangXiu", true, Allegiance.Wei, 3, new DanLao(), new JiLei()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("QunDiaoChan", false, Allegiance.Qun, 3, new LiJian(), new BiYue())
     {
         HeroConvertFrom = "DiaoChan"
     })));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("GongsunZan", true, Allegiance.Qun, 4, new YiCong()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("YuanShu", true, Allegiance.Qun, 4, new YongSi(), new WeiDi()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ShuSunShangxiang", false, Allegiance.Shu, 3, new JieYin(), new XiaoJi())
     {
         HeroConvertFrom = "SunShangxiang"
     })));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("WeiPangDe", true, Allegiance.Wei, 4, new MaShu(), new MengJin())
     {
         HeroConvertFrom = "PangDe"
     })));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("WeiGuanYu", true, Allegiance.Wei, 4, new WuSheng(), new DanJi())
     {
         HeroConvertFrom = "GuanYu"
     })));
     //CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("HuLaoLvBu", true, Allegiance.God, 8, new MaShu(), new WuShuang()))));
     //CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("HuLaoLvBu2", true, Allegiance.God, 4, new MaShu(), new WuShuang(), new XiuLuo(), new ShenWei(), new ShenJi()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("WeiCaiWenji", false, Allegiance.Wei, 3, new BeiGe(), new DuanChang())
     {
         HeroConvertFrom = "CaiWenji"
     })));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("QunMaChao", true, Allegiance.Qun, 4, new MaShu(), new TieJi())
     {
         HeroConvertFrom = "MaChao"
     })));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("WeiJiaXu", true, Allegiance.Wei, 3, new WanSha(), new LuanWu(), new WeiMu())
     {
         HeroConvertFrom = "JiaXu"
     })));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("CaoHong", true, Allegiance.Wei, 4, new YuanHu()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("GuanYinping", false, Allegiance.Shu, 3, new XueJi(), new HuXiao(), new WuJi()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ChenLin", true, Allegiance.Wei, 3, new BiFa(), new SongCi()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("XiahouBa", true, Allegiance.Shu, 4, new BaoBian()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("DaQiaoXiaoQiao", false, Allegiance.Wu, 3, new XingWu(), new LuoYan()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhugeKe", true, Allegiance.Wu, 3, new DuWu(), new AoCai()))));
 }
Example #18
0
            public void Resolve(IReactionScope scope)
            {
                var revealedTreasures = new CardSet();

                2.Times(() =>
                {
                    var revealedCard = scope.RevealCardFromDeck();
                    if (revealedCard.IsTreasure && !revealedTreasures.Contains(revealedCard))
                    {
                        revealedTreasures.Add(revealedCard, scope);
                    }
                });
                if (revealedTreasures.Count() == 1)
                {
                    scope.Publish(new TrashTreasureCardFromThief(TurnScope, scope, revealedTreasures.Single()));
                }
                else if (revealedTreasures.Count() == 2)
                {
                    TurnScope.Publish(new ChooseTreasureCardToTrashFromThief(TurnScope, scope, revealedTreasures));
                }
            }
Example #19
0
        public override void PlayAsAction(ITurnScope turnScope)
        {
            CardSet drawnTreasures = new CardSet();
            CardSet revealedCards  = new CardSet();

            do
            {
                var card = turnScope.RevealCardFromTopOfDeck();
                if (card.IsTreasure)
                {
                    drawnTreasures.Add(card, turnScope);
                }
                else
                {
                    revealedCards.Add(card, turnScope);
                }
            } while (drawnTreasures.Count() < 2);

            turnScope.PutCardsIntoHand(drawnTreasures);
            turnScope.PutCardsIntoDiscardPile(revealedCards);
        }
Example #20
0
 public void Take(int cnt)
 {
     for (int i = 0; i < cnt; i++)
     {
         var card = _deck.Take();
         if (card != null)
         {
             _hand.Add(card.Value);
             EventManager.Instance.QueueEvent(new Evt_TakedCard()
             {
                 Owner = Owner, Card = card.Value
             });
         }
         else
         {
             EventManager.Instance.QueueEvent(new Evt_TakeCardFailed()
             {
                 Owner = Owner
             });
         }
     }
 }
Example #21
0
        public OverKnightFame12Expansion()
        {
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("BuLianshi", false, Allegiance.Wu, 3, new AnXu(), new ZhuiYi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("CaoZhang", true, Allegiance.Wei, 4, new JiangChi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ChengPu", true, Allegiance.Wu, 4, new LiHuo(), new ChunLao()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("GuanXingZhangBao", true, Allegiance.Shu, 4, new FuHun()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("HanDang", true, Allegiance.Wu, 4, new GongQi(), new JieFan()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("HuaXiong", true, Allegiance.Qun, 6, new ShiYong()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LiaoHua", true, Allegiance.Shu, 4, new DangXian(), new FuLi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LiuBiao", true, Allegiance.Qun, 4, new ZiShou(), new ZongShi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("MaDai", true, Allegiance.Shu, 4, new MaShu(), new QianXi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("WangYi", false, Allegiance.Wei, 3, new ZhenLie(), new MiJi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("XunYou", true, Allegiance.Wei, 3, new ZhiYu(), new QiCe()))));

            TriggerRegistration = new List <DelayedTriggerRegistration>();
            TriggerRegistration.Add(new DelayedTriggerRegistration()
            {
                key = GameEvent.AfterDamageCaused, trigger = new LiHuoShaCausedDamage()
            });
            TriggerRegistration.Add(new DelayedTriggerRegistration()
            {
                key = GameEvent.CardUsageDone, trigger = new LiHuoLoseHealth()
            });
        }
Example #22
0
 private void MoveCardIntoSet(Card card, CardSet destination, TurnScope turnScope)
 {
     this.Remove(card);
     destination.Add(card, turnScope);
 }
 public AssassinExpansion()
 {
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("FuWan", true, Allegiance.Qun, 4, new MouKui()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LiuXie", true, Allegiance.Qun, 3, new TianMing(), new MiZhao()))));
     CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LingJu", false, Allegiance.Qun, 3, new JieYuan(), new FenXin()))));
 }
        public BattleExpansion()
        {
            CardSet.Add(new Card(SuitType.Spade, 1, new GuDingDao()));
            CardSet.Add(new Card(SuitType.Heart, 1, new WuXieKeJi()));
            CardSet.Add(new Card(SuitType.Club, 1, new BaiYinShiZi()));
            CardSet.Add(new Card(SuitType.Diamond, 1, new ZhuQueYuShan()));

            CardSet.Add(new Card(SuitType.Spade, 2, new TengJia()));
            CardSet.Add(new Card(SuitType.Heart, 2, new HuoGong()));
            CardSet.Add(new Card(SuitType.Club, 2, new TengJia()));
            CardSet.Add(new Card(SuitType.Diamond, 2, new Tao()));

            CardSet.Add(new Card(SuitType.Spade, 3, new Jiu()));
            CardSet.Add(new Card(SuitType.Heart, 3, new HuoSha()));
            CardSet.Add(new Card(SuitType.Club, 3, new Jiu()));
            CardSet.Add(new Card(SuitType.Diamond, 3, new Tao()));

            CardSet.Add(new Card(SuitType.Spade, 4, new LeiSha()));
            CardSet.Add(new Card(SuitType.Heart, 4, new HuoGong()));
            CardSet.Add(new Card(SuitType.Club, 4, new BingLiangCunDuan()));
            CardSet.Add(new Card(SuitType.Diamond, 4, new HuoSha()));

            CardSet.Add(new Card(SuitType.Spade, 5, new LeiSha()));
            CardSet.Add(new Card(SuitType.Heart, 5, new Tao()));
            CardSet.Add(new Card(SuitType.Club, 5, new LeiSha()));
            CardSet.Add(new Card(SuitType.Diamond, 5, new HuoSha()));

            CardSet.Add(new Card(SuitType.Spade, 6, new LeiSha()));
            CardSet.Add(new Card(SuitType.Heart, 6, new Tao()));
            CardSet.Add(new Card(SuitType.Club, 6, new LeiSha()));
            CardSet.Add(new Card(SuitType.Diamond, 6, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 7, new LeiSha()));
            CardSet.Add(new Card(SuitType.Heart, 7, new HuoSha()));
            CardSet.Add(new Card(SuitType.Club, 7, new LeiSha()));
            CardSet.Add(new Card(SuitType.Diamond, 7, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 8, new LeiSha()));
            CardSet.Add(new Card(SuitType.Heart, 8, new Shan()));
            CardSet.Add(new Card(SuitType.Club, 8, new LeiSha()));
            CardSet.Add(new Card(SuitType.Diamond, 8, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 9, new Jiu()));
            CardSet.Add(new Card(SuitType.Heart, 9, new Shan()));
            CardSet.Add(new Card(SuitType.Club, 9, new Jiu()));
            CardSet.Add(new Card(SuitType.Diamond, 9, new Jiu()));

            CardSet.Add(new Card(SuitType.Spade, 10, new BingLiangCunDuan()));
            CardSet.Add(new Card(SuitType.Heart, 10, new HuoSha()));
            CardSet.Add(new Card(SuitType.Club, 10, new TieSuoLianHuan()));
            CardSet.Add(new Card(SuitType.Diamond, 10, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 11, new TieSuoLianHuan()));
            CardSet.Add(new Card(SuitType.Heart, 11, new Shan()));
            CardSet.Add(new Card(SuitType.Club, 11, new TieSuoLianHuan()));
            CardSet.Add(new Card(SuitType.Diamond, 11, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 12, new TieSuoLianHuan()));
            CardSet.Add(new Card(SuitType.Heart, 12, new Shan()));
            CardSet.Add(new Card(SuitType.Club, 12, new TieSuoLianHuan()));
            CardSet.Add(new Card(SuitType.Diamond, 12, new HuoGong()));

            CardSet.Add(new Card(SuitType.Spade, 13, new WuXieKeJi()));
            CardSet.Add(new Card(SuitType.Heart, 13, new WuXieKeJi()));
            CardSet.Add(new Card(SuitType.Club, 13, new TieSuoLianHuan()));
            CardSet.Add(new Card(SuitType.Diamond, 13, new DefensiveHorse("HuaLiu")));

            TriggerRegistration = new List <DelayedTriggerRegistration>();
            TriggerRegistration.Add(new DelayedTriggerRegistration()
            {
                key = GameEvent.DamageElementConfirmed, trigger = new JiuDamage()
            });
            TriggerRegistration.Add(new DelayedTriggerRegistration()
            {
                key = GameEvent.PlayerUsedCard, trigger = new JiuSha()
            });
        }
Example #25
0
        public Pk1v1Expansion()
        {
            CardSet.Add(new Card(SuitType.Spade, 1, new JueDou()));
            CardSet.Add(new Card(SuitType.Heart, 1, new WanJianQiFa()));
            CardSet.Add(new Card(SuitType.Club, 1, new JueDou()));
            CardSet.Add(new Card(SuitType.Diamond, 1, new ZhuGeLianNu()));

            CardSet.Add(new Card(SuitType.Spade, 2, new BaGuaZhen()));
            CardSet.Add(new Card(SuitType.Heart, 2, new Shan()));
            CardSet.Add(new Card(SuitType.Club, 2, new RenWangDun()));
            CardSet.Add(new Card(SuitType.Diamond, 2, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 3, new GuoHeChaiQiao2()));
            CardSet.Add(new Card(SuitType.Heart, 3, new Tao()));
            CardSet.Add(new Card(SuitType.Club, 3, new GuoHeChaiQiao2()));
            CardSet.Add(new Card(SuitType.Diamond, 3, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 4, new ShunShouQianYang()));
            CardSet.Add(new Card(SuitType.Heart, 4, new Tao()));
            CardSet.Add(new Card(SuitType.Club, 4, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 4, new ShunShouQianYang()));

            CardSet.Add(new Card(SuitType.Spade, 5, new RegularSha()));
            CardSet.Add(new Card(SuitType.Heart, 5, new Shan()));
            CardSet.Add(new Card(SuitType.Club, 5, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 5, new GuanShiFu()));


            CardSet.Add(new Card(SuitType.Spade, 6, new QingGangJian()));
            CardSet.Add(new Card(SuitType.Heart, 6, new LeBuSiShu()));
            CardSet.Add(new Card(SuitType.Club, 6, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 6, new RegularSha()));

            CardSet.Add(new Card(SuitType.Spade, 7, new RegularSha()));
            CardSet.Add(new Card(SuitType.Heart, 7, new WuZhongShengYou()));
            CardSet.Add(new Card(SuitType.Club, 7, new ShuiYanQiJun()));
            CardSet.Add(new Card(SuitType.Diamond, 7, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 8, new RegularSha()));
            CardSet.Add(new Card(SuitType.Heart, 8, new WuZhongShengYou()));
            CardSet.Add(new Card(SuitType.Club, 8, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 8, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 9, new HanBingJian()));
            CardSet.Add(new Card(SuitType.Heart, 9, new Tao()));
            CardSet.Add(new Card(SuitType.Club, 9, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 9, new RegularSha()));

            CardSet.Add(new Card(SuitType.Spade, 10, new RegularSha()));
            CardSet.Add(new Card(SuitType.Heart, 10, new RegularSha()));
            CardSet.Add(new Card(SuitType.Club, 10, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 10, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 11, new ShunShouQianYang()));
            CardSet.Add(new Card(SuitType.Heart, 11, new RegularSha()));
            CardSet.Add(new Card(SuitType.Club, 11, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 11, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 12, new ZhangBaSheMao()));
            CardSet.Add(new Card(SuitType.Heart, 12, new GuoHeChaiQiao2()));
            CardSet.Add(new Card(SuitType.Club, 12, new BingLiangCunDuan()));
            CardSet.Add(new Card(SuitType.Diamond, 12, new Tao()));

            CardSet.Add(new Card(SuitType.Spade, 13, new NanManRuQin()));
            CardSet.Add(new Card(SuitType.Heart, 13, new WuXieKeJi()));
            CardSet.Add(new Card(SuitType.Club, 13, new WuXieKeJi()));
            CardSet.Add(new Card(SuitType.Diamond, 13, new RegularSha()));

            for (int i = 0; i < 5; i++)
            {
                CardSet.Add(new Card(SuitType.None, 0, new RoleCardHandler(Role.Defector)));
                CardSet.Add(new Card(SuitType.None, 0, new RoleCardHandler(Role.Ruler)));
            }

            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("CaoCao", true, Allegiance.Wei, 4, new JianXiong()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SimaYi", true, Allegiance.Wei, 3, new FanKui(), new GuiCai()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("XiahouDun", true, Allegiance.Wei, 4, new GangLie()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhangLiao", true, Allegiance.Wei, 4, new TuXi2()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("XuChu", true, Allegiance.Wei, 4, new LuoYi(), new XieChan()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("GuoJia", true, Allegiance.Wei, 3, new TianDu(), new YiJi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhenJi", false, Allegiance.Wei, 3, new QingGuo2(), new LuoShen()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("GuanYu", true, Allegiance.Shu, 4, new WuSheng(), new HuWei()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhangFei", true, Allegiance.Shu, 4, new PaoXiao()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhugeLiang", true, Allegiance.Shu, 3, new GuanXing(), new KongCheng()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhaoYun", true, Allegiance.Shu, 4, new LongDan()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("MaChao", true, Allegiance.Shu, 4, new XiaoXi(), new TieJi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("HuangYueying", false, Allegiance.Shu, 3, new JiZhi(), new CangJi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SunQuan", true, Allegiance.Wu, 4, new ZhiHeng2()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("GanNing", true, Allegiance.Wu, 4, new Sanguosha.Expansions.Pk1v1.Skills.QiXi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("HuangGai", true, Allegiance.Wu, 4, new KuRou()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhouYu", true, Allegiance.Wu, 3, new YingZi(), new FanJian()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LuXun", true, Allegiance.Wu, 3, new QianXun(), new LianYing()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SunShangxiang", false, Allegiance.Wu, 3, new YinLi(), new XiaoJi2()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LvBu", true, Allegiance.Qun, 4, new WuShuang()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("DiaoChan", false, Allegiance.Qun, 3, new BiYue(), new PianYi()))));

            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("XiahouYuan", true, Allegiance.Wei, 4, new ShenSu(), new SuZi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("CaoRen", true, Allegiance.Wei, 4, new JuShou()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("HuangZhong", true, Allegiance.Shu, 4, new LieGong()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("XiaoQiao", false, Allegiance.Wu, 3, new TianXiang(), new HongYan()))));

            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("JiangWei", true, Allegiance.Shu, 4, new TiaoXin()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("MengHuo", true, Allegiance.Shu, 4, new ManYi(), new ZaiQi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhuRong", false, Allegiance.Shu, 4, new ManYi(), new LieRen()))));

            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("HeJin", true, Allegiance.Qun, 4, new YanHuo(), new MouZhu()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SunJian", true, Allegiance.Wu, 4, new YingHun()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("DianWei", true, Allegiance.Wei, 4, new QiangXi()))));

            TriggerRegistration = new List <DelayedTriggerRegistration>();
            TriggerRegistration.Add(new DelayedTriggerRegistration()
            {
                key = GameEvent.CardUsageBeforeEffected, trigger = new WuXieKeJiTrigger()
            });
            TriggerRegistration.Add(new DelayedTriggerRegistration()
            {
                key = GameEvent.CardUsageBeforeEffected, trigger = new ShaCancelling()
            });
            TriggerRegistration.Add(new DelayedTriggerRegistration()
            {
                key = GameEvent.PlayerDying, trigger = new PlayerDying()
                {
                    Priority = int.MinValue
                }
            });
            TriggerRegistration.Add(new DelayedTriggerRegistration()
            {
                key = GameEvent.DamageElementConfirmed, trigger = new JiuDamage()
            });
            TriggerRegistration.Add(new DelayedTriggerRegistration()
            {
                key = GameEvent.PlayerUsedCard, trigger = new JiuSha()
            });
        }
Example #26
0
 public void PlayTreasure(Card treasure)
 {
     _cardsInPlay.Add(treasure, this);
     _turnState += treasure.Coins;
     _eventAggregator.Publish(new TreasurePlayedEvent(treasure, this));
 }
        public BasicExpansion()
        {
            CardSet.Add(new Card(SuitType.Spade, 1, new JueDou()));
            CardSet.Add(new Card(SuitType.Spade, 1, new ShanDian()));
            CardSet.Add(new Card(SuitType.Heart, 1, new WanJianQiFa()));
            CardSet.Add(new Card(SuitType.Heart, 1, new TaoYuanJieYi()));
            CardSet.Add(new Card(SuitType.Club, 1, new JueDou()));
            CardSet.Add(new Card(SuitType.Club, 1, new ZhuGeLianNu()));
            CardSet.Add(new Card(SuitType.Diamond, 1, new JueDou()));
            CardSet.Add(new Card(SuitType.Diamond, 1, new ZhuGeLianNu()));

            CardSet.Add(new Card(SuitType.Spade, 2, new BaGuaZhen()));
            CardSet.Add(new Card(SuitType.Spade, 2, new CiXiongShuangGuJian()));
            CardSet.Add(new Card(SuitType.Heart, 2, new Shan()));
            CardSet.Add(new Card(SuitType.Heart, 2, new Shan()));
            CardSet.Add(new Card(SuitType.Club, 2, new RegularSha()));
            CardSet.Add(new Card(SuitType.Club, 2, new BaGuaZhen()));
            CardSet.Add(new Card(SuitType.Diamond, 2, new Shan()));
            CardSet.Add(new Card(SuitType.Diamond, 2, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 3, new GuoHeChaiQiao()));
            CardSet.Add(new Card(SuitType.Spade, 3, new ShunShouQianYang()));
            CardSet.Add(new Card(SuitType.Heart, 3, new Tao()));
            CardSet.Add(new Card(SuitType.Heart, 3, new WuGuFengDeng()));
            CardSet.Add(new Card(SuitType.Club, 3, new RegularSha()));
            CardSet.Add(new Card(SuitType.Club, 3, new GuoHeChaiQiao()));
            CardSet.Add(new Card(SuitType.Diamond, 3, new Shan()));
            CardSet.Add(new Card(SuitType.Diamond, 3, new ShunShouQianYang()));

            CardSet.Add(new Card(SuitType.Spade, 4, new GuoHeChaiQiao()));
            CardSet.Add(new Card(SuitType.Spade, 4, new ShunShouQianYang()));
            CardSet.Add(new Card(SuitType.Heart, 4, new Tao()));
            CardSet.Add(new Card(SuitType.Heart, 4, new WuGuFengDeng()));
            CardSet.Add(new Card(SuitType.Club, 4, new RegularSha()));
            CardSet.Add(new Card(SuitType.Club, 4, new GuoHeChaiQiao()));
            CardSet.Add(new Card(SuitType.Diamond, 4, new Shan()));
            CardSet.Add(new Card(SuitType.Diamond, 4, new ShunShouQianYang()));

            CardSet.Add(new Card(SuitType.Spade, 5, new QingLongYanYueDao()));
            CardSet.Add(new Card(SuitType.Spade, 5, new DefensiveHorse("JueYing")));
            CardSet.Add(new Card(SuitType.Heart, 5, new QiLinGong()));
            CardSet.Add(new Card(SuitType.Heart, 5, new OffensiveHorse("ChiTu")));
            CardSet.Add(new Card(SuitType.Club, 5, new RegularSha()));
            CardSet.Add(new Card(SuitType.Club, 5, new DefensiveHorse("DiLu")));
            CardSet.Add(new Card(SuitType.Diamond, 5, new Shan()));
            CardSet.Add(new Card(SuitType.Diamond, 5, new GuanShiFu()));


            CardSet.Add(new Card(SuitType.Spade, 6, new LeBuSiShu()));
            CardSet.Add(new Card(SuitType.Spade, 6, new QingGangJian()));
            CardSet.Add(new Card(SuitType.Heart, 6, new Tao()));
            CardSet.Add(new Card(SuitType.Heart, 6, new LeBuSiShu()));
            CardSet.Add(new Card(SuitType.Club, 6, new RegularSha()));
            CardSet.Add(new Card(SuitType.Club, 6, new LeBuSiShu()));
            CardSet.Add(new Card(SuitType.Diamond, 6, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 6, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 7, new RegularSha()));
            CardSet.Add(new Card(SuitType.Spade, 7, new NanManRuQin()));
            CardSet.Add(new Card(SuitType.Heart, 7, new Tao()));
            CardSet.Add(new Card(SuitType.Heart, 7, new WuZhongShengYou()));
            CardSet.Add(new Card(SuitType.Club, 7, new RegularSha()));
            CardSet.Add(new Card(SuitType.Club, 7, new NanManRuQin()));
            CardSet.Add(new Card(SuitType.Diamond, 7, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 7, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 8, new RegularSha()));
            CardSet.Add(new Card(SuitType.Spade, 8, new RegularSha()));
            CardSet.Add(new Card(SuitType.Heart, 8, new Tao()));
            CardSet.Add(new Card(SuitType.Heart, 8, new WuZhongShengYou()));
            CardSet.Add(new Card(SuitType.Club, 8, new RegularSha()));
            CardSet.Add(new Card(SuitType.Club, 8, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 8, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 8, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 9, new RegularSha()));
            CardSet.Add(new Card(SuitType.Spade, 9, new RegularSha()));
            CardSet.Add(new Card(SuitType.Heart, 9, new Tao()));
            CardSet.Add(new Card(SuitType.Heart, 9, new WuZhongShengYou()));
            CardSet.Add(new Card(SuitType.Club, 9, new RegularSha()));
            CardSet.Add(new Card(SuitType.Club, 9, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 9, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 9, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 10, new RegularSha()));
            CardSet.Add(new Card(SuitType.Spade, 10, new RegularSha()));
            CardSet.Add(new Card(SuitType.Heart, 10, new RegularSha()));
            CardSet.Add(new Card(SuitType.Heart, 10, new RegularSha()));
            CardSet.Add(new Card(SuitType.Club, 10, new RegularSha()));
            CardSet.Add(new Card(SuitType.Club, 10, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 10, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 10, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 11, new ShunShouQianYang()));
            CardSet.Add(new Card(SuitType.Spade, 11, new WuXieKeJi()));
            CardSet.Add(new Card(SuitType.Heart, 11, new RegularSha()));
            CardSet.Add(new Card(SuitType.Heart, 11, new WuZhongShengYou()));
            CardSet.Add(new Card(SuitType.Club, 11, new RegularSha()));
            CardSet.Add(new Card(SuitType.Club, 11, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 11, new Shan()));
            CardSet.Add(new Card(SuitType.Diamond, 11, new Shan()));

            CardSet.Add(new Card(SuitType.Spade, 12, new GuoHeChaiQiao()));
            CardSet.Add(new Card(SuitType.Spade, 12, new ZhangBaSheMao()));
            CardSet.Add(new Card(SuitType.Heart, 12, new Tao()));
            CardSet.Add(new Card(SuitType.Heart, 12, new GuoHeChaiQiao()));
            CardSet.Add(new Card(SuitType.Club, 12, new JieDaoShaRen()));
            CardSet.Add(new Card(SuitType.Club, 12, new WuXieKeJi()));
            CardSet.Add(new Card(SuitType.Diamond, 12, new Tao()));
            CardSet.Add(new Card(SuitType.Diamond, 12, new FangTianHuaJi()));

            CardSet.Add(new Card(SuitType.Spade, 13, new NanManRuQin()));
            CardSet.Add(new Card(SuitType.Spade, 13, new OffensiveHorse("DaYuan")));
            CardSet.Add(new Card(SuitType.Heart, 13, new Shan()));
            CardSet.Add(new Card(SuitType.Heart, 13, new DefensiveHorse("ZhuaHuangFeiDian")));
            CardSet.Add(new Card(SuitType.Club, 13, new JieDaoShaRen()));
            CardSet.Add(new Card(SuitType.Club, 13, new WuXieKeJi()));
            CardSet.Add(new Card(SuitType.Diamond, 13, new RegularSha()));
            CardSet.Add(new Card(SuitType.Diamond, 13, new OffensiveHorse("ZiXing")));

            // the following are EX cards
            CardSet.Add(new Card(SuitType.Spade, 2, new HanBingJian()));
            CardSet.Add(new Card(SuitType.Club, 2, new RenWangDun()));
            CardSet.Add(new Card(SuitType.Heart, 12, new ShanDian()));
            CardSet.Add(new Card(SuitType.Diamond, 12, new WuXieKeJi()));

            for (int i = 0; i < 5; i++)
            {
                CardSet.Add(new Card(SuitType.None, 0, new RoleCardHandler(Role.Rebel)));
                CardSet.Add(new Card(SuitType.None, 0, new RoleCardHandler(Role.Loyalist)));
                CardSet.Add(new Card(SuitType.None, 0, new RoleCardHandler(Role.Defector)));
                CardSet.Add(new Card(SuitType.None, 0, new RoleCardHandler(Role.Ruler)));
            }

            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("CaoCao", true, Allegiance.Wei, 4, new JianXiong(), new HuJia()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SimaYi", true, Allegiance.Wei, 3, new FanKui(), new GuiCai()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("XiahouDun", true, Allegiance.Wei, 4, new GangLie()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhangLiao", true, Allegiance.Wei, 4, new TuXi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("XuChu", true, Allegiance.Wei, 4, new LuoYi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("GuoJia", true, Allegiance.Wei, 3, new TianDu(), new YiJi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhenJi", false, Allegiance.Wei, 3, new QingGuo(), new LuoShen()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LiuBei", true, Allegiance.Shu, 4, new RenDe(), new JiJiang()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("GuanYu", true, Allegiance.Shu, 4, new WuSheng()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhangFei", true, Allegiance.Shu, 4, new PaoXiao()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhugeLiang", true, Allegiance.Shu, 3, new GuanXing(), new KongCheng()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhaoYun", true, Allegiance.Shu, 4, new LongDan()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("MaChao", true, Allegiance.Shu, 4, new MaShu(), new TieJi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("HuangYueying", false, Allegiance.Shu, 3, new JiZhi(), new QiCai()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SunQuan", true, Allegiance.Wu, 4, new ZhiHeng(), new JiuYuan()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("GanNing", true, Allegiance.Wu, 4, new QiXi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LvMeng", true, Allegiance.Wu, 4, new KeJi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("HuangGai", true, Allegiance.Wu, 4, new KuRou()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("ZhouYu", true, Allegiance.Wu, 3, new YingZi(), new FanJian()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("DaQiao", false, Allegiance.Wu, 3, new GuoSe(), new LiuLi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LuXun", true, Allegiance.Wu, 3, new QianXun(), new LianYing()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("SunShangxiang", false, Allegiance.Wu, 3, new JieYin(), new XiaoJi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("HuaTuo", true, Allegiance.Qun, 3, new JiJiu(), new QingNang()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("LvBu", true, Allegiance.Qun, 4, new WuShuang()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("DiaoChan", false, Allegiance.Qun, 3, new LiJian(), new BiYue()))));

            //Basic 2013
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("YuanShu2", true, Allegiance.Qun, 4, new WangZun(), new TongJi()))));
            CardSet.Add(new Card(SuitType.None, -1, new HeroCardHandler(new Hero("HuaXiong2", true, Allegiance.Qun, 6, new YaoWu()))));

            TriggerRegistration = new List <DelayedTriggerRegistration>();
            TriggerRegistration.Add(new DelayedTriggerRegistration()
            {
                key = GameEvent.PlayerUsedCard, trigger = new WuGuFengDengTrigger()
            });
            TriggerRegistration.Add(new DelayedTriggerRegistration()
            {
                key = GameEvent.CardUsageBeforeEffected, trigger = new WuXieKeJiTrigger()
            });
            TriggerRegistration.Add(new DelayedTriggerRegistration()
            {
                key = GameEvent.CardUsageBeforeEffected, trigger = new ShaCancelling()
            });
            TriggerRegistration.Add(new DelayedTriggerRegistration()
            {
                key = GameEvent.PlayerDying, trigger = new PlayerDying()
                {
                    Priority = int.MinValue
                }
            });
        }
Example #28
0
        public void DrawCardIntoCardset(CardSet cardSet)
        {
            var cards = Player.TakeCardsFromTopOfDeck(1, this);

            cards.ForEach(card => cardSet.Add(card, this));
        }
        public static async Task BattleStart()
        {
            AgainstInfo.isMyTurn       = AgainstInfo.isPlayer1;
            AgainstInfo.cardSet        = new CardSet();
            Info.StateInfo.TaskManager = new System.Threading.CancellationTokenSource();
            MainThread.Run(() =>
            {
                foreach (var item in GameObject.FindGameObjectsWithTag("SingleInfo"))
                {
                    SingleRowInfo singleRowInfo = item.GetComponent <SingleRowInfo>();
                    AgainstInfo.cardSet.singleRowInfos.Add(singleRowInfo);
                }
                AgainstInfo.cardSet.CardList = null;
            });
            await Task.Delay(500);

            if (AgainstInfo.isPVE)
            {
                AllPlayerInfo.UserInfo = new NetInfoModel.PlayerInfo(
                    "gezi", "yaya",
                    new List <CardDeck>
                {
                    new CardDeck("gezi", 10001, new List <int>
                    {
                        //10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,
                        10015, 10016, 10012, 10013, 10014, 10015, 10016, 10002, 10008, 10004, 10005, 10007, 10006, 10008, 10004, 10012, 10010, 10011, 10012, 10014, 10007, 10006, 10016, 10008, 10014
                        //10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009, 10010, 10011, 10012, 10013, 10014, 10015, 10016, 10012, 10013, 10014, 10015, 10016, 10012, 10013, 10014, 10015, 10016
                        //1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004
                    })
                });
                AllPlayerInfo.OpponentInfo = new NetInfoModel.PlayerInfo(
                    "gezi", "yaya",
                    new List <CardDeck>
                {
                    new CardDeck("gezi", 10001, new List <int>
                    {
                        //10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,10002,
                        10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009, 10010, 10011, 10012, 10013, 10014, 10015, 10016, 10012, 10013, 10014, 10015, 10016, 10012, 10013, 10014, 10015, 10016
                        //10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009, 10010, 10011, 10012, 10013, 10014, 10015, 10016, 10012, 10013, 10014, 10015, 10016, 10012, 10013, 10014, 10015, 10016
                    })
                });
            }
            RowCommand.SetRegionSelectable(RegionTypes.None);
            //Debug.LogError("初始双方信息");
            await Task.Run(async() =>
            {
                try
                {
                    //await Task.Delay(500);
                    Debug.Log("对战开始".TransUiText());
                    GameUI.UiCommand.SetNoticeBoardTitle("对战开始".TransUiText());
                    await GameUI.UiCommand.NoticeBoardShow();
                    //初始化我方领袖卡
                    Card MyLeaderCard = await CardCommand.CreatCard(AllPlayerInfo.UserInfo.UseDeck.LeaderId);
                    AgainstInfo.cardSet[Orientation.Down][RegionTypes.Leader].Add(MyLeaderCard);
                    MyLeaderCard.SetCardSeeAble(true);
                    //初始化敌方领袖卡
                    Card OpLeaderCard = await CardCommand.CreatCard(AllPlayerInfo.OpponentInfo.UseDeck.LeaderId);
                    AgainstInfo.cardSet[Orientation.Up][RegionTypes.Leader].Add(OpLeaderCard);
                    OpLeaderCard.SetCardSeeAble(true);
                    //初始双方化牌组
                    CardDeck Deck = AllPlayerInfo.UserInfo.UseDeck;
                    //Debug.LogError("初始双方化牌组");

                    for (int i = 0; i < Deck.CardIds.Count; i++)
                    {
                        Card NewCard    = await CardCommand.CreatCard(Deck.CardIds[i]);
                        CardSet cardSet = AgainstInfo.cardSet[Orientation.Down][RegionTypes.Deck];
                        cardSet.Add(NewCard);
                    }
                    Deck = AllPlayerInfo.OpponentInfo.UseDeck;

                    for (int i = 0; i < Deck.CardIds.Count; i++)
                    {
                        Card NewCard = await CardCommand.CreatCard(Deck.CardIds[i]);
                        AgainstInfo.cardSet[Orientation.Up][RegionTypes.Deck].Add(NewCard);
                    }
                    await Task.Delay(000);
                }
                catch (Exception e)
                {
                    Debug.LogError(e);
                }
            });
        }