예제 #1
0
 public override void execute(TouhouCardEngine.CardEngine engine)
 {
     engine.setGem(player, player.getProp <int>("gem") - card.define.getProp <int>("cost"));
     if (card.define is ServantCardDefine || (card.define is GeneratedCardDefine && (card.define as GeneratedCardDefine).type == CardDefineType.servant))
     {
         //随从卡,将卡置入战场
         engine.summon(player, card, targetPosition);
         if (card.define.effects != null && card.define.effects.Length > 0)
         {
             Effect effect = card.define.effects.FirstOrDefault(e => { return(card.pile.name == e.pile && e.trigger == "onUse"); });
             if (effect != null)
             {
                 effect.execute(engine, player, card, targetCards);
             }
         }
     }
     else if (card.define is SpellCardDefine || (card.define is GeneratedCardDefine && (card.define as GeneratedCardDefine).type == CardDefineType.spell))
     {
         //法术卡,释放效果然后丢进墓地
         player["Hand"].moveTo(card, player["Warp"], player["Warp"].count);
         if (card.define.effects != null && card.define.effects.Length > 0)
         {
             Effect effect = card.define.effects.FirstOrDefault(e => { return(card.pile.name == e.pile && e.trigger == "onUse"); });
             if (effect != null)
             {
                 effect.execute(engine, player, card, targetCards);
             }
         }
         player["Warp"].moveTo(card, player["Grave"], player["Grave"].count);
     }
 }
예제 #2
0
 public override void execute(TouhouCardEngine.CardEngine engine)
 {
     //玩家的最大能量加1但是不超过10,充满玩家的能量。
     engine.setProp("currentPlayer", player);
     engine.setMaxGem(player, player.getProp <int>("maxGem") + 1);
     engine.setGem(player, player.getProp <int>("maxGem"));
     //抽一张牌
     engine.draw(player);
     //使随从可以攻击
     foreach (Card card in player["Field"])
     {
         card.setProp("isReady", true);
         card.setProp("attackTimes", 0);
     }
     //开始烧绳倒计时
     //Task.Run(() =>
     //{
     //    Thread.Sleep(20000);
     //    //开始烧绳
     //    engine.doEvent(new CountDownEvent(player, 10));
     //});
 }