Exemple #1
0
    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();
    }
Exemple #2
0
    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();
    }
Exemple #3
0
    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();
    }
Exemple #4
0
    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);
    }
Exemple #5
0
    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);
    }
Exemple #6
0
    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);
    }