示例#1
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group g = duel.GetIncludeNameCardFromArea("", false, duel.GetOpsitePlayer(card.controller), ComVal.cardType_Monster, ComVal.Area_Monster);

        duel.AddFinishHandle();
        duel.SendToGraveyard(ComVal.Area_Monster, g, card, ComVal.reason_EffectDestroy, effect);
    }
示例#2
0
 private object LimitEffectHandler(IDuel duel, Card c, LimitPlayerEffect e)
 {
     if (duel.IsPlayerRound(duel.GetOpsitePlayer(e.ownerCard.controller)))
     {
         if (c.GetCurLevel() >= 5)
         {
             return(false);
         }
     }
     return(true);
 }
示例#3
0
    private void Operation1(IDuel duel, Card card, LauchEffect effect, Group target = null)
    {
        normalDele d = delegate
        {
            duel.AddFinishHandle();
            duel.DiscardFromDeck(3, card, effect, card.controller);
        };

        GroupCardSelectBack callBack = delegate(Group val)
        {
            duel.AddDelegate(d, true);
            duel.SendToGraveyard(ComVal.Area_Monster, val, card, ComVal.reason_EffectDestroy, effect);
        };

        Group g = duel.GetIncludeNameCardFromArea("", false, duel.GetOpsitePlayer(card.controller), ComVal.cardType_Monster, ComVal.Area_Monster);

        duel.SelectCardFromGroup(g, callBack, 1, card.controller);
    }
示例#4
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group g = duel.GetIncludeNameCardFromArea("", false, duel.GetOpsitePlayer(card.controller), 0, ComVal.Area_Trap);

        GroupCardSelectBack callBack = delegate(Group val)
        {
            duel.AddFinishHandle();
            duel.SendToGraveyard(ComVal.Area_Trap, val, card, ComVal.reason_EffectDestroy, effect);
        };
        duel.SelectCardFromGroup(g, callBack, 1, card.controller);
        duel.ChangeMonsterType(ComVal.CardPutType_layFront, card);

        StateEffect e1 = new StateEffect();
        e1.SetRangeArea(ComVal.Area_Monster);
        e1.SetCategory(ComVal.category_stateEffect | ComVal.category_limitTime);
        e1.SetCardEffectType(ComVal.cardEffectType_Single | ComVal.cardEffectType_normalStateEffect);
        e1.SetStateEffectType(ComVal.stateEffectType_unableChangeType);
        e1.SetTarget(card);
        e1.SetResetCode(ComVal.resetEvent_LeaveEndPhase, 1);
        duel.ResignEffect(e1, card, card.controller);
    }
示例#5
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Card c = group.GetCard(0);

        if (!c.curArea.IsBind(ComVal.Area_Graveyard))
        {
            duel.FinishHandle();
            return;
        }

        normalDele d = delegate
        {
            Group g = duel.GetIncludeNameCardFromArea("", false, duel.GetOpsitePlayer(card.controller), ComVal.cardType_Monster,
                                                      ComVal.Area_Monster);
            Group targetG = new Group();
            for (int i = 0; i < g.cardList.Count; i++)
            {
                if (g.cardList[i].GetCurAfk() <= c.GetBaseAfk())
                {
                    targetG.AddCard(g.cardList[i]);
                }
            }
            if (targetG.GroupNum == 0)
            {
                duel.FinishHandle();
                return;
            }

            GroupCardSelectBack callBack = delegate(Group val)
            {
                duel.AddFinishHandle();
                duel.SendToGraveyard(ComVal.Area_Monster, val, card, ComVal.reason_EffectDestroy, effect);
            };

            duel.SelectCardFromGroup(targetG, callBack, 1, card.controller);
        };

        duel.AddDelegate(d, true);
        duel.AddCardToHandFromArea(ComVal.Area_Graveyard, c, card.controller, card, effect);
    }
示例#6
0
 public bool CheckLauch(IDuel duel, Card card, LauchEffect effect, Code code)
 {
     Group g=duel.GetOpsitePlayer(card.controller).group_TrapCard.GetGroup();
     return card.curPlaseState == ComVal.CardPutType_UpRightFront && g.GroupNum > 0;
 }
示例#7
0
    public bool CheckLauch(IDuel duel, Card card, LauchEffect effect, Code code)
    {
        Group g = code.group.GetFitlerGroup(filter);

        return(g.GetPlayerGroup(duel.GetOpsitePlayer(card.controller)).GroupNum > 0);
    }
示例#8
0
 public bool CheckLauch(IDuel duel, Card card, LauchEffect effect, Code code)
 {
     return(duel.GetIncludeNameCardNumFromArea("", false, card.controller, ComVal.cardType_Monster, ComVal.Area_Monster) == 0 &&
            duel.GetIncludeNameCardNumFromArea("", false, duel.GetOpsitePlayer(card.controller), ComVal.cardType_Monster, ComVal.Area_Monster) > 0);
 }
示例#9
0
 public bool CheckLauch(IDuel duel, Card card, LauchEffect effect, Code code)
 {
     return(duel.GetIncludeNameCardNumFromArea(ComStr.KeyWord_SixSamurai, false, card.controller, ComVal.cardType_Monster, ComVal.Area_Monster, Fiter) == 1 &&
            duel.GetIncludeNameCardNumFromArea("", false, duel.GetOpsitePlayer(card.controller), 0, ComVal.Area_Field) >= 2);
 }
示例#10
0
    private void GetTarget(IDuel duel, Card card, LauchEffect effect, GroupCardSelectBack dele)
    {
        Group g = duel.GetIncludeNameCardFromArea("", false, duel.GetOpsitePlayer(card.controller), 0, ComVal.Area_Field);

        duel.SelectCardFromGroup(g, dele, 2, card.controller);
    }
示例#11
0
 private bool CheckLauch1(IDuel duel, Card card, LauchEffect effect, Code code)
 {
     return(duel.GetIncludeNameCardFromArea("", false, duel.GetOpsitePlayer(card.controller), ComVal.cardType_Monster, ComVal.Area_Monster).GroupNum > 0);
 }