public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null) { Group g1 = duel.GetIncludeNameCardFromArea("", false, card.ownerPlayer, ComVal.CardType_Monster_Fusion, ComVal.Area_Extra); Group g2 = duel.GetIncludeNameCardFromArea("", false, card.ownerPlayer, ComVal.cardType_Monster, ComVal.Area_Hand | ComVal.Area_Monster); g1 = g1.GetCanFusionGroup(g2); g1 = card.controller.GetCanSpSummonGroup(g1); if (g1.GroupNum == 0) { duel.FinishHandle(); return; } GroupCardSelectBack callBack = delegate(Group theGroup) { Card c = theGroup.GetCard(0); Group g3 = c.cardMaterialFitler.GetGroup(g2); GroupCardSelectBack callBack1 = delegate(Group theGroup1) { normalDele dele = delegate { duel.FinishHandle(); }; normalDele d = delegate { duel.SpeicalSummon(ComVal.Area_Extra, c, card.ownerPlayer, card, ComVal.reason_Effect, effect, 0, dele); }; duel.AddDelegate(d); duel.SendToGraveyard(ComVal.Area_Monster | ComVal.Area_Hand, theGroup1, card, ComVal.reason_FusionMaterial); }; duel.SelectFusionMaterialFromGroup(g3, callBack1, c); }; duel.SelectCardFromGroup(g1, callBack, 1, card.controller); }
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); }