--吼啦迷迭吼啦哟! local m=33701401 local cm=_G["c"..m] function cm.initial_effect(c) local e1=Effect.CreateEffect(c) e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetCode(EVENT_ATTACK_ANNOUNCE) e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetTarget(cm.target) e1:SetOperation(cm.activate) c:RegisterEffect(e1) if not cm.global_check then cm.global_check=true cm[0]=0 cm[1]=0 local ge1=Effect.CreateEffect(c) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetCode(EVENT_DRAW) ge1:SetOperation(cm.checkop) Duel.RegisterEffect(ge1,0) local ge3=Effect.CreateEffect(c) ge3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge3:SetCode(EVENT_PHASE_START+PHASE_DRAW) ge3:SetOperation(cm.clear) Duel.RegisterEffect(ge3,0) end end function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_HAND,0,2,e:GetHandler()) end Duel.SetChainLimit(aux.FALSE) end function cm.negfilter(c) return c:IsFaceup()--PSCT end function cm.activate(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() local g1=Duel.GetFieldGroup(tp,LOCATION_HAND,0) if g1:GetCount()<2 then return end if g1:GetCount()>=5 and cm[tp]<=0 then Duel.SendtoHand(g1,1-tp,REASON_EFFECT) local g2=Duel.GetFieldCard(cm.negfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,c) if g2:GetCount()>0 then Duel.BreakEffect() local tc=g2:GetFirst() while tc do local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_DISABLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD) tc:RegisterEffect(e1) local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_SINGLE) e2:SetCode(EFFECT_DISABLE_EFFECT) e2:SetReset(RESET_EVENT+RESETS_STANDARD) tc:RegisterEffect(e2) if tc:IsType(TYPE_TRAPMONSTER) then local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_SINGLE) e3:SetCode(EFFECT_DISABLE_TRAPMONSTER) e3:SetReset(RESET_EVENT+RESETS_STANDARD) tc:RegisterEffect(e3) end local e4=Effect.CreateEffect(e:GetHandler()) e4:SetType(EFFECT_TYPE_SINGLE) e4:SetCode(EFFECT_SET_ATTACK_FINAL) e4:SetValue(0) e4:SetReset(RESET_EVENT+RESETS_STANDARD) tc:RegisterEffect(e4) local e5=e4:Clone() e5:SetCode(EFFECT_SET_DEFENSE_FINAL) tc:RegisterEffect(e5) tc=g2:GetNext() end end else Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) local ag1=g1:Select(tp,2,2,nil) Duel.SendtoHand(ag1,1-tp,REASON_EFFECT) local g2=Duel.GetFieldCard(cm.negfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,c) if g2:GetCount()>=2 then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) g2=g2:Select(tp,2,2,nil) Duel.BreakEffect() while tc do local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_DISABLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD) tc:RegisterEffect(e1) local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_SINGLE) e2:SetCode(EFFECT_DISABLE_EFFECT) e2:SetReset(RESET_EVENT+RESETS_STANDARD) tc:RegisterEffect(e2) if tc:IsType(TYPE_TRAPMONSTER) then local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_SINGLE) e3:SetCode(EFFECT_DISABLE_TRAPMONSTER) e3:SetReset(RESET_EVENT+RESETS_STANDARD) tc:RegisterEffect(e3) end local e4=Effect.CreateEffect(e:GetHandler()) e4:SetType(EFFECT_TYPE_SINGLE) e4:SetCode(EFFECT_SET_ATTACK_FINAL) e4:SetValue(0) e4:SetReset(RESET_EVENT+RESETS_STANDARD) tc:RegisterEffect(e4) local e5=e4:Clone() e5:SetCode(EFFECT_SET_DEFENSE_FINAL) tc:RegisterEffect(e5) tc=g2:GetNext() end end end end function cm.checkop(e,tp,eg,ep,ev,re,r,rp) cm[ep]=cm[ep]+1 end function cm.clear(e,tp,eg,ep,ev,re,r,rp) cm[0]=0 cm[1]=0 end