Esempio n. 1
0
    private static void LimitPlayer(IDuel duel, Card card)
    {
        LimitPlayerEffect e1 = new LimitPlayerEffect();

        e1.SetCategory(ComVal.category_limitEffect | ComVal.category_limitTime);
        e1.SetLimitEffectType(ComVal.limitEffectType_unableSpSummon);
        e1.SetResetCode(ComVal.resetEvent_LeaveEndPhase, 0);
        e1.SetTargetType(TargetPlayerType.my);
        duel.ResignEffect(e1, card, card.controller);
    }
Esempio n. 2
0
 private object LimitEffectHandler(IDuel duel, Card c, LimitPlayerEffect e)
 {
     if (duel.IsPlayerRound(duel.GetOpsitePlayer(e.ownerCard.controller)))
     {
         if (c.GetCurLevel() >= 5)
         {
             return(false);
         }
     }
     return(true);
 }
Esempio n. 3
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        LimitPlayerEffect e1 = new LimitPlayerEffect();

        e1.SetCategory(ComVal.category_limitEffect | ComVal.category_limitTime);
        e1.SetLimitEffectType(ComVal.limitEffectType_spSummonLimit);
        e1.SetResetCode(ComVal.resetEvent_LeaveEndPhase, 1);
        e1.SetTargetType(TargetPlayerType.other);
        e1.SetLimitEffectHandler(LimitEffectHandler);
        duel.ResignEffect(e1, card, card.controller);

        duel.FinishHandle();
    }
Esempio n. 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);
    }
Esempio n. 5
0
    public void InitialEffect(Card card, Player player, IDuel duel)
    {
        LimitPlayerEffect e1 = e1 = new LimitPlayerEffect();

        e1.SetCategory(ComVal.category_limitEffect);
        e1.SetTargetType(TargetPlayerType.other);
        e1.SetLimitEffectType(ComVal.limitEffectType_sendToRemove);
        e1.SetCondtion(condition);
        duel.ResignEffect(e1, card, player);

        LauchEffect e2 = new LauchEffect();

        e2.SetCategory(ComVal.category_remove);
        e2.SetLauchArea(ComVal.Area_Monster);
        e2.SetCode(ComVal.code_AddCardToHand);
        e2.SetCardEffectType(ComVal.cardEffectType_mustToChooseLauch);
        e2.SetOperation(Operation);
        e2.SetCheckLauch(CheckLauch);
        duel.ResignEffect(e2, card, player);
        card.SetCardCountLimit(e2, 1);
    }
Esempio n. 6
0
    public void InitialEffect(Card card, Player player, IDuel duel)
    {
        LimitPlayerEffect e1 = new LimitPlayerEffect();

        e1.SetCategory(ComVal.category_limitEffect);
        e1.SetTargetType(TargetPlayerType.both);
        e1.SetLimitEffectType(ComVal.limitEffectType_unableSearchCardFromMainDeck);
        e1.SetCondtion(condition);
        duel.ResignEffect(e1, card, player);

        LauchEffect e2 = new LauchEffect();

        e2.SetCategory(ComVal.category_disAbleSpSummon);
        e2.SetCheckLauch(CheckLauch);
        e2.SetCode(ComVal.code_SpDeclaration);
        e2.SetCost(Cost);
        e2.SetOperation(Operation);
        e2.SetCardEffectType(ComVal.cardEffectType_mustToChooseLauch);
        e2.SetLauchArea(ComVal.Area_Monster);
        duel.ResignEffect(e2, card, player);
    }
Esempio n. 7
0
 private object limitEffectHandler(IDuel duel, Card c, LimitPlayerEffect e)
 {
     return(c.cardType.IsBind(ComVal.CardType_Monster_Fusion));
 }