예제 #1
0
 bool Condition(IDuel duel, Card card, BaseEffect e, Card targetCard)
 {
     if (duel.GetCurPhase() == ComVal.Phase_Battlephase)
     {
         if (duel.GetCurAttackEvent() != null && duel.GetCurAttackEvent().Attacker == card && duel.GetCurAttackEvent().Attacker != null)
         {
             return(true);
         }
     }
     return(false);
 }
예제 #2
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();
    }
예제 #3
0
 public bool CheckLauch(IDuel duel, Card card, LauchEffect effect, Code code)
 {
     if (duel.GetCurAttackEvent().Attacker.controller == card.controller)
     {
         return(false);
     }
     return(duel.GetIncludeNameCardNumFromArea("", false, card.opponentPlayer, ComVal.cardType_Monster, ComVal.Area_Monster, filter) > 0);
 }
예제 #4
0
    public void Operation(IDuel duel, Card card, LauchEffect effect, Group group = null)
    {
        AttackEvent e = duel.GetCurAttackEvent();
        Card        c = e.Attackeder;

        duel.AddFinishHandle();
        duel.SendToMainDeck(ComVal.Area_Monster, c.ToGroup(), card, ComVal.reason_Effect, effect);
    }
예제 #5
0
 public bool CheckLauch(IDuel duel, Card card, LauchEffect effect, Code code)
 {
     if (code.reason.reason.IsBind(ComVal.reason_AttackDestroy))
     {
         AttackEvent e = duel.GetCurAttackEvent();
         if (e.Attacker == card)
         {
             return(true);
         }
     }
     return(false);
 }
예제 #6
0
 public bool CheckLauch(IDuel duel, Card card, LauchEffect effect, Code code)
 {
     if (duel.GetCurPhase() == ComVal.Phase_Battlephase)
     {
         AttackEvent e = duel.GetCurAttackEvent();
         if (e != null && e.Attacker == card)
         {
             if (e.Attackeder != null && !e.Attackeder.IsAttack())
             {
                 return(true);
             }
         }
     }
     return(false);
 }
예제 #7
0
 public bool CheckLauch(IDuel duel, Card card, LauchEffect effect, Code code)
 {
     if (duel.GetCurPhase() == ComVal.Phase_Battlephase)
     {
         AttackEvent e = duel.GetCurAttackEvent();
         if (e != null && !e.IsInvalid())
         {
             if (!e.IsDirectAttack())
             {
                 if (e.Attacker.controller == card.controller && e.Attacker.GetCurAttribute().IsBind(ComVal.CardAttr_Light))
                 {
                     return(true);
                 }
                 if (e.Attackeder.controller == card.controller && e.Attackeder.GetCurAttribute().IsBind(ComVal.CardAttr_Light))
                 {
                     return(true);
                 }
             }
         }
     }
     return(false);
 }