public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null) { AttackEvent e = duel.GetCurAttackEvent(); 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_addAfkVal); if (e.Attacker.controller == card.controller) { e1.SetTarget(e.Attacker); e1.SetStateEffectVal(e.Attackeder.GetCurAfk()); } else { e1.SetTarget(e.Attackeder); e1.SetStateEffectVal(e.Attacker.GetCurAfk()); } e1.SetResetCode(ComVal.resetEvent_LeaveEndPhase, 0); duel.ResignEffect(e1, card, card.controller); duel.FinishHandle(); }
public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null) { 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_ChangeAttack); e1.SetTarget(card); e1.SetStateEffectVal(4000); e1.SetResetCode(ComVal.resetEvent_LeaveEndPhase, 1); duel.ResignEffect(e1, card, card.controller); duel.FinishHandle(); }
private void Operation2(IDuel duel, Card card, LauchEffect effect, Group target = null) { Card targetCard = target.GetFirstCard(); 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_addAfkVal); e1.SetTarget(targetCard); e1.SetStateEffectVal(500); e1.SetResetCode(ComVal.resetEvent_LeaveEndPhase, 0); duel.ResignEffect(e1, card, card.controller); duel.FinishHandle(); }
public void Operation1(IDuel duel, Card card, LauchEffect effect, Group group = null) { Group g = duel.GetIncludeNameCardFromArea(ComStr.KeyWord_ElementalHERO, false, card.ownerPlayer, ComVal.cardType_Monster, ComVal.Area_MainDeck, null, true, null, card.cardID); GroupCardSelectBack callBack = delegate(Group theGroup) { normalDele d = delegate { Card c = theGroup.GetCard(0); 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_ChangeAttribute); e1.SetTarget(card); e1.SetStateEffectVal(c.attribute); e1.SetResetCode(ComVal.resetEvent_LeaveEndPhase, 0); StateEffect e2 = e1.Clone() as StateEffect; e2.SetStateEffectType(ComVal.stateEffectType_ChangeAttack); e2.SetStateEffectVal(c.afk); StateEffect e3 = e1.Clone() as StateEffect; e3.SetStateEffectType(ComVal.stateEffectType_ChangeDef); e3.SetStateEffectVal(c.def); duel.ResignEffect(e1, card, card.ownerPlayer); duel.ResignEffect(e2, card, card.ownerPlayer); duel.ResignEffect(e3, card, card.ownerPlayer); LimitPlayerEffect e4 = new LimitPlayerEffect(); e4.SetCategory(ComVal.category_limitEffect); e4.SetTargetType(TargetPlayerType.my); e4.SetLimitEffectType(ComVal.limitEffectType_spSummonLimit); e4.SetLimitEffectHandler(limitEffectHandler); e4.SetResetCode(ComVal.resetEvent_LeaveEndPhase, 0); duel.ResignEffect(e4, card, card.ownerPlayer); duel.FinishHandle(); }; duel.AddDelegate(d); duel.SendToGraveyard(ComVal.Area_MainDeck, theGroup, card, ComVal.reason_Effect, effect); }; duel.SelectCardFromGroup(g, callBack, 1, card.controller); }
public void InitialEffect(Card card, Player player, IDuel duel) { StateEffect e1 = new StateEffect(); e1.SetRangeArea(ComVal.Area_Monster); e1.SetCategory(ComVal.category_stateEffect); e1.SetCardEffectType(ComVal.cardEffectType_Single | ComVal.cardEffectType_normalStateEffect | ComVal.cardEffectType_unableReset); e1.SetStateEffectType(ComVal.stateEffectType_addAfkVal); e1.SetTarget(card); e1.SetStateEffectVal(300); e1.SetCondtion(Condition); duel.ResignEffect(e1, card, player); LauchEffect e2 = new LauchEffect(); e2.SetCategory(ComVal.category_disCard); e2.SetCheckLauch(CheckLauch); e2.SetOperation(Operation); e2.SetCode(ComVal.code_EnterEndPhase); e2.SetCardEffectType(ComVal.cardEffectType_mustLauch); e2.SetLauchArea(ComVal.Area_Monster); duel.ResignEffect(e2, card, player); }
public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null) { Group g = new Group(); normalDele d = delegate { g = g.GetFitlerGroup(fiter); if (g.GroupNum > 0) { 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_addAfkVal); e1.SetTarget(card); e1.SetStateEffectVal(200); e1.SetResetCode(ComVal.resetEvent_LeaveEndPhase, 1); duel.ResignEffect(e1, card, card.controller); } duel.FinishHandle(); }; duel.AddDelegate(d, true); g = duel.DiscardFromDeck(2, card, effect, card.controller); }