Ejemplo n.º 1
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        Group g1 = duel.GetIncludeNameCardFromArea(ComStr.KeyWord_ElementalHERO, false, card.ownerPlayer, ComVal.CardType_Monster_Fusion, ComVal.Area_Extra);
        Group g2 = duel.GetIncludeNameCardFromArea("", false, card.ownerPlayer, ComVal.cardType_Monster, ComVal.Area_Monster | ComVal.Area_Graveyard);

        g1 = g1.GetCanFusionGroup(g2);
        g1 = card.controller.GetCanSpSummonGroup(g1);
        GroupCardSelectBack callBack = delegate(Group theGroup)
        {
            Card  c  = theGroup.GetCard(0);
            Group g3 = c.cardMaterialFitler.GetGroup(g2);

            GroupCardSelectBack callBack1 = delegate(Group theGroup1)
            {
                normalDele finish = delegate
                {
                    duel.FinishHandle();
                };
                normalDele d = delegate
                {
                    duel.SpeicalSummon(ComVal.Area_Extra, c, card.ownerPlayer, card, ComVal.reason_FusionSummon, effect, 0, finish);
                };
                duel.AddDelegate(d);
                duel.SendToRemove(ComVal.Area_Graveyard | ComVal.Area_Monster, theGroup1, card, ComVal.reason_FusionMaterial, effect);
            };
            duel.SelectFusionMaterialFromGroup(g3, callBack1, c);
        };

        duel.SelectCardFromGroup(g1, callBack, 1, card.controller);
    }
Ejemplo n.º 2
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.º 3
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.º 4
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.º 5
0
 public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
 {
     duel.AddFinishHandle();
     duel.SendToRemove(ComVal.Area_Field, group, card, ComVal.reason_Effect, effect);
 }