public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null) { GroupCardSelectBack d = delegate(Group val) { card.EffectDataGroup = val; normalDele d1 = delegate { Group result = new Group(); normalDele d2 = delegate { List <Card> list = result.ToList(); int reduceLP = 0; foreach (var item in list) { reduceLP += item.GetCurAfk(); } duel.ReduceLP(reduceLP, card.controller, ComVal.reason_Effect, card, effect); duel.FinishHandle(); }; duel.AddDelegate(d2, true); Group target = card.EffectDataGroup.GetFitlerGroup(Fiter1); result = duel.SendToGraveyard(ComVal.Area_Monster, target, card, ComVal.reason_EffectDestroy, effect); }; duel.AddDelayAction(d1, ComVal.resetEvent_LeaveEndPhase, 0); duel.FinishHandle(); }; duel.SpeicalSummon(ComVal.Area_Graveyard, group, card.controller, card, ComVal.reason_Effect, effect, ComVal.CardPutType_UpRightFront, d); }
public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null) { Card target = card.EffectDataCard; mCard = target; Group g = duel.GetIncludeNameCardFromArea(ComStr.KeyWord_SixSamurai, false, card.controller, ComVal.cardType_Monster, ComVal.Area_MainDeck, Fiter); if (!target.curArea.IsBind(ComVal.Area_Monster) || g.GroupNum == 0) { duel.FinishHandle(); return; } GroupCardSelectBack callBack = delegate(Group val) { normalDele d = delegate { normalDele DestoryCard = delegate { Card c = val.GetFirstCard(); duel.SendToGraveyard(ComVal.Area_Monster, c.ToGroup(), card, ComVal.reason_Effect, effect); }; duel.AddDelayAction(DestoryCard, ComVal.resetEvent_LeaveEndPhase, 0); duel.FinishHandle(); }; duel.SpeicalSummon(ComVal.Area_MainDeck, val.GetFirstCard(), card.controller, card, ComVal.reason_Effect, effect, 0, d); }; duel.SelectCardFromGroup(g, callBack, 1, card.controller); }