예제 #1
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Card target = group.GetCard(0);

        duel.AddFinishHandle();
        duel.AddCardToHandFromArea(ComVal.Area_Monster, target, target.ownerPlayer, card, effect);
    }
예제 #2
0
    private void Operation3(IDuel duel, Card card, LauchEffect effect, Group target = null)
    {
        Group g = GetTargetGroup3(duel, card);

        if (g.GroupNum == 0)
        {
            duel.FinishHandle();
            return;
        }
        GroupCardSelectBack callBack = delegate(Group val)
        {
            Card c = val.GetFirstCard();
            duel.AddFinishHandle();
            duel.AddCardToHandFromArea(c.curArea, c, card.controller, card, effect);
        };

        duel.SelectCardFromGroup(g, callBack, 1, card.controller);
    }
예제 #3
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);
    }
예제 #4
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group g = card.controller.group_Remove;

        g = g.GetFitlerGroup(Fiter2);

        if (g.GroupNum == 0)
        {
            duel.FinishHandle();
            return;
        }
        GroupCardSelectBack callBack = delegate(Group val)
        {
            duel.AddFinishHandle();
            duel.AddCardToHandFromArea(ComVal.Area_Remove, val, card.controller, card, effect);
        };

        if (g.GroupNum < 2)
        {
            callBack(g);
            return;
        }
        duel.SelectCardFromGroup(g, callBack, 2, card.controller, false);
    }
예제 #5
0
 private void Operation1(IDuel duel, Card card, LauchEffect effect, Group target = null)
 {
     duel.AddFinishHandle();
     duel.AddCardToHandFromArea(ComVal.Area_Monster, card, card.ownerPlayer, card, effect);
 }
예제 #6
0
 public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
 {
     duel.AddFinishHandle();
     duel.AddCardToHandFromArea(ComVal.Area_Field, group, card.controller, card, effect);
 }