Commit 21ab996b authored by Tachibana's avatar Tachibana

12

parent 8b54f79d
Pipeline #3748 passed with stages
in 48 minutes and 5 seconds
...@@ -46,13 +46,16 @@ end ...@@ -46,13 +46,16 @@ end
function cm.mzfilter(g,tp) function cm.mzfilter(g,tp)
return Duel.GetLocationCountFromEx(tp,tp,g)>0 return Duel.GetLocationCountFromEx(tp,tp,g)>0
end end
function cm.mzfilter1(c,tp)
return c:GetSequence()<5
end
function cm.spcon(e,c) function cm.spcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_MZONE,0,nil)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local ct=-ft+1 local ct=-ft+1
return ft>-2 and mg:GetCount()>1 and (ft>0 or mg:IsExists(nil,ct,nil)) return ft>-2 and mg:GetCount()>1 and (ft>0 or mg:IsExists(cm.mzfilter1,ct,nil))
end end
function cm.spop(e,tp,eg,ep,ev,re,r,rp,c) function cm.spop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_MZONE,0,nil)
...@@ -90,17 +93,20 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -90,17 +93,20 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
function cm.gfilter(c)
return not c:IsRace(RACE_ZOMBIE)
end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return ((rk.check(c,"BOW")) or (not Duel.IsExistingMatchingCard(cm.gfilter,tp,LOCATION_GRAVE,0,1,nil) and c:IsRace(RACE_ZOMBIE))) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return ((rk.check(c,"BOW")) or (not Duel.IsExistingMatchingCard(cm.gfilter,tp,LOCATION_GRAVE,0,1,nil) and c:IsRace(RACE_ZOMBIE))) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.sptg1(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end end
function cm.spop1(e,tp,eg,ep,ev,re,r,rp) function cm.spop1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if not g or g:GetCount()<1 then return end if not g or g:GetCount()<1 then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
local tc=g:GetFirst() local tc=g:GetFirst()
......
...@@ -51,7 +51,7 @@ function cm.spcon(e,c) ...@@ -51,7 +51,7 @@ function cm.spcon(e,c)
local mg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_MZONE,0,nil)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local ct=-ft+1 local ct=-ft+1
return ft>-1 and mg:GetCount()>0 and (ft>0 or mg:IsExists(nil,ct,nil)) return ft>-1 and mg:GetCount()>0
end end
function cm.spop(e,tp,eg,ep,ev,re,r,rp,c) function cm.spop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_MZONE,0,nil)
...@@ -89,6 +89,9 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -89,6 +89,9 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
function cm.gfilter(c)
return not c:IsRace(RACE_ZOMBIE)
end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return ((rk.check(c,"BOW")) or (not Duel.IsExistingMatchingCard(cm.gfilter,tp,LOCATION_GRAVE,0,1,nil) and c:IsRace(RACE_ZOMBIE))) and c:IsFaceup() return ((rk.check(c,"BOW")) or (not Duel.IsExistingMatchingCard(cm.gfilter,tp,LOCATION_GRAVE,0,1,nil) and c:IsRace(RACE_ZOMBIE))) and c:IsFaceup()
end end
......
...@@ -48,7 +48,7 @@ function cm.ffilter(c,fc,sub,mg,sg) ...@@ -48,7 +48,7 @@ function cm.ffilter(c,fc,sub,mg,sg)
return not sg or not sg:IsExists(cm.filter1,1,nil) return not sg or not sg:IsExists(cm.filter1,1,nil)
end end
function cm.filter(c) function cm.filter(c)
return c:IsFaceup() and c:IsCode(m-1) and c:IsAbleToExtraAsCost() return c:IsFaceup() and c:IsCode(m-2) and c:IsAbleToExtraAsCost()
end end
function cm.mzfilter(g,tp) function cm.mzfilter(g,tp)
return Duel.GetLocationCountFromEx(tp,tp,g)>0 return Duel.GetLocationCountFromEx(tp,tp,g)>0
...@@ -59,7 +59,7 @@ function cm.spcon(e,c) ...@@ -59,7 +59,7 @@ function cm.spcon(e,c)
local mg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_MZONE,0,nil)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local ct=-ft+1 local ct=-ft+1
return ft>-1 and mg:GetCount()>0 and (ft>0 or mg:IsExists(nil,ct,nil)) return ft>-1 and mg:GetCount()>0
end end
function cm.spop(e,tp,eg,ep,ev,re,r,rp,c) function cm.spop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_MZONE,0,nil)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment