Ejemplo n.º 1
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group      g = duel.GetIncludeNameCardFromArea("", true, card.controller, 0, ComVal.Area_Field);
        normalDele d = delegate
        {
            duel.AddFinishHandle();
            duel.DiscardFromDeck(3, card, effect, card.controller);
        };

        GetMes d1 = delegate(bool val)
        {
            if (val)
            {
                GroupCardSelectBack d2 = delegate(Group target)
                {
                    duel.AddDelegate(d, true);
                    duel.SendToGraveyard(ComVal.Area_Field, target, card, ComVal.reason_EffectDestroy, effect);
                };
                duel.SelectCardFromGroup(g, d2, 1, card.controller);
            }
            else
            {
                d();
            }
        };

        if (g.GroupNum > 0)
        {
            duel.ShowDialogBox(card, d1, card.controller.isMy);
        }
        else
        {
            d();
        }
    }
Ejemplo n.º 2
0
    public void Operation(IDuel duel, Card theCard, LauchEffect effect, Group group = null)
    {
        Card targetCard = group.GetCard(0);

        duel.AddFinishHandle();
        duel.AddCardToHandFromMainDeck(targetCard, effect.ownerCard.ownerPlayer, effect.ownerCard, effect);
    }
Ejemplo n.º 3
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group a = duel.GetIncludeNameCardFromArea("", false, card.opponentPlayer, 0, ComVal.Area_Trap, filer, false, null, null);

        duel.AddFinishHandle();
        duel.SendToGraveyard(ComVal.Area_Trap, a, card, ComVal.reason_EffectDestroy, effect);
    }
Ejemplo n.º 4
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group g = duel.GetIncludeNameCardFromArea("", true, null, ComVal.cardType_Monster, ComVal.Area_Monster);

        duel.AddFinishHandle();
        duel.SendToGraveyard(ComVal.Area_Field, g, card, ComVal.reason_EffectDestroy, effect);
    }
Ejemplo n.º 5
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);
    }
Ejemplo n.º 6
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group g = duel.GetIncludeNameCardFromArea("", false, card.controller, 0, ComVal.Area_MainDeck, Fiter);

        duel.AddFinishHandle();
        duel.AddCardToHandFromMainDeck(g.GetCard(0), card.controller, card, effect);
    }
Ejemplo n.º 7
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);
    }
Ejemplo n.º 8
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        AttackEvent e = duel.GetCurAttackEvent();
        Card        c = e.Attackeder;

        duel.AddFinishHandle();
        duel.SendToMainDeck(ComVal.Area_Monster, c.ToGroup(), card, ComVal.reason_Effect, effect);
    }
Ejemplo n.º 9
0
    public void Cost(IDuel duel, Card card, LauchEffect effect)
    {
        Group g = new Group();

        g.AddCard(card);
        duel.AddFinishHandle();
        duel.SendToRemove(ComVal.Area_Graveyard, g, card, ComVal.reason_Cost, effect);
    }
Ejemplo n.º 10
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Card c = duel.GetCurChain().GetLastEffect().ownerCard;

        duel.GetCurChain().DisableLastEffect();
        duel.AddFinishHandle();
        duel.SendToGraveyard(ComVal.Area_Field, c.ToGroup(), card, ComVal.reason_Effect, effect);
    }
Ejemplo n.º 11
0
    private void Cost(IDuel duel, Card card, LauchEffect effect)
    {
        GroupCardSelectBack d = delegate(Group g)
        {
            duel.AddFinishHandle();
            duel.SendToGraveyard(ComVal.Area_Hand, g, card, ComVal.reason_Cost, effect);
        };

        duel.SelectCardFromGroup(card.controller.group_HandCard, d, 1, card.controller);
    }
Ejemplo n.º 12
0
    public void Cost(IDuel duel, Card card, LauchEffect effect)
    {
        Group a = duel.GetIncludeNameCardFromArea("", false, card.ownerPlayer, ComVal.cardType_Spell, ComVal.Area_Hand);
        GroupCardSelectBack callBack = delegate(Group group)
        {
            duel.AddFinishHandle();
            duel.SendToGraveyard(ComVal.Area_Hand, group, card, ComVal.reason_Cost, effect);
        };

        duel.SelectCardFromGroup(a, callBack, 1, card.controller);
    }
Ejemplo n.º 13
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        normalDele d = delegate
        {
            duel.AddFinishHandle();
            duel.DiscardFromDeck(2, card, effect, card.controller);
        };

        duel.AddDelegate(d, true);
        duel.DrawCard(card.controller, 2, card, effect);
    }
Ejemplo n.º 14
0
    public void Operation1(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group theGroup = duel.GetIncludeNameCardFromArea(ComStr.KeyWord_Change, false, effect.ownerCard.ownerPlayer, ComVal.CardType_Spell_Quick, ComVal.Area_MainDeck);
        GroupCardSelectBack CallBack = delegate(Group targetGroup)
        {
            Card targetCard = targetGroup.GetCard(0);
            duel.AddFinishHandle();
            duel.AddCardToHandFromMainDeck(targetCard, effect.ownerCard.ownerPlayer, effect.ownerCard, effect);
        };

        duel.SelectCardFromGroup(theGroup, CallBack, 1, card.controller);
    }
Ejemplo n.º 15
0
    private void Cost(IDuel duel, Card card, LauchEffect effect)
    {
        Group g = duel.GetIncludeNameCardFromArea(ComStr.KeyWord_Lightsworn, false, card.controller, ComVal.cardType_Monster, ComVal.Area_Hand);

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

        duel.SelectCardFromGroup(g, callBack, 1, card.controller);
    }
Ejemplo n.º 16
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group g = duel.GetIncludeNameCardFromArea("", false, card.controller, ComVal.CardType_Spell_Field, ComVal.Area_MainDeck);

        GroupCardSelectBack callBack = delegate(Group val)
        {
            duel.AddFinishHandle();
            duel.AddCardToHandFromMainDeck(val.GetCard(0), card.controller, card, effect);
        };

        duel.SelectCardFromGroup(g, callBack, 1, card.controller);
    }
Ejemplo n.º 17
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group a = duel.GetIncludeNameCardFromArea("英雄", false, effect.ownerCard.ownerPlayer, ComVal.cardType_Monster, ComVal.Area_MainDeck);
        GroupCardSelectBack CallBack = delegate(Group theGroup)
        {
            Card targetCard = theGroup.GetCard(0);
            duel.AddFinishHandle();
            duel.AddCardToHandFromMainDeck(targetCard, effect.ownerCard.ownerPlayer, effect.ownerCard, effect);
        };

        duel.SelectCardFromGroup(a, CallBack, 1, card.controller);
    }
Ejemplo n.º 18
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group g = duel.GetIncludeNameCardFromArea("24094653", false, card.ownerPlayer, ComVal.cardType_Spell, ComVal.Area_MainDeck);
        GroupCardSelectBack callBack = delegate(Group theGroup)
        {
            Card c = theGroup.GetCard(0);
            duel.AddFinishHandle();
            duel.AddCardToHandFromMainDeck(c, card.ownerPlayer, card, effect);
        };

        duel.SelectCardFromGroup(g, callBack, 1, card.controller);
    }
Ejemplo n.º 19
0
    private void Operation1(IDuel duel, Card card, LauchEffect effect, Group target = null)
    {
        Group g = duel.GetIncludeNameCardFromArea("", false, card.controller, ComVal.cardType_Monster, ComVal.Area_MainDeck, Fiter);

        GroupCardSelectBack callBack = delegate(Group val)
        {
            duel.AddFinishHandle();
            duel.AddCardToHandFromMainDeck(val.GetCard(0), card.controller, card, effect);
        };

        duel.SelectCardFromGroup(g, callBack, 1, card.controller);
    }
Ejemplo n.º 20
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group      g  = new Group();
        normalDele d1 = delegate
        {
            duel.AddFinishHandle();
            g = g.GetFitlerGroup(cardFiter);
            duel.DrawCard(card.controller, g.GroupNum, card, effect);
        };

        duel.AddDelegate(d1, true);
        g = duel.DiscardFromDeck(3, card, effect, card.controller);
    }
Ejemplo n.º 21
0
    private void Cost(IDuel duel, Card card, LauchEffect effect)
    {
        Group g = GetCanReleaseGroup(duel, card);

        GroupCardSelectBack callBack = delegate(Group val)
        {
            card.EffectDataCard = val.GetCard(0);
            duel.AddFinishHandle();
            duel.SendToGraveyard(ComVal.Area_Field, val, card, ComVal.reason_Realease, effect);
        };

        duel.SelectCardFromGroup(g, callBack, 1, card.controller);
    }
Ejemplo n.º 22
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group g = card.controller.group_MainDeck;

        g = g.GetFitlerGroup(Filter);

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

        duel.SelectCardFromGroup(g, callBack, 1, card.controller);
    }
Ejemplo n.º 23
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        if (card.opponentPlayer.GetHandCardNum() == 0)
        {
            duel.FinishHandle();
            return;
        }
        GroupCardSelectBack callBack = delegate(Group g)
        {
            duel.AddFinishHandle();
            duel.SendToRemove(ComVal.Area_Hand, g, card, ComVal.reason_Effect, effect);
        };

        duel.SelectCardFromGroup(card.opponentPlayer.GetHandCardGroup(), callBack, 1, card.controller);
    }
Ejemplo n.º 24
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group g    = new Group();
        Code  code = duel.GetCurCode();

        g = code.group.GetFitlerGroup(filter);
        if (g.GroupNum != 0)
        {
            duel.AddFinishHandle();
            duel.SendToRemove(ComVal.Area_Monster, g, card, ComVal.reason_Effect, effect);
        }
        else
        {
            duel.FinishHandle();
        }
    }
Ejemplo n.º 25
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        if (!card.CanDestroy())
        {
            duel.FinishHandle();
            return;
        }
        normalDele d = delegate
        {
            duel.AddFinishHandle();
            duel.DrawCard(card.controller, 1, card, effect);
        };

        duel.AddDelegate(d, true);
        duel.SendToGraveyard(ComVal.Area_Field, group, card, ComVal.reason_Destroy, effect);
    }
Ejemplo n.º 26
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);
    }
Ejemplo n.º 27
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);
    }
Ejemplo n.º 28
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        LimitPlayer(duel, card);

        Group g = card.controller.group_MainDeck.GetFirstAmountCard(3);

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

        duel.SelectCardFromGroup(g, callBack, 1, card.controller);
    }
Ejemplo n.º 29
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group g = duel.GetIncludeNameCardFromArea(ComStr.KeyWord_Lightsworn, false, card.controller, ComVal.cardType_Monster, ComVal.Area_MainDeck, Filter);

        if (g.GroupNum == 0)
        {
            duel.FinishHandle();
            return;
        }
        else
        {
            GroupCardSelectBack callBack = delegate(Group val)
            {
                duel.AddFinishHandle();
                duel.AddCardToHandFromMainDeck(val.GetFirstCard(), card.controller, card, effect);
            };
            duel.SelectCardFromGroup(g, callBack, 1, card.controller);
        }
    }
Ejemplo n.º 30
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);
    }