Commit fd4fd064 authored by Tachibana's avatar Tachibana

ybb

parent 82f17d0f
Pipeline #9893 passed with stages
in 22 minutes and 40 seconds
...@@ -65,6 +65,9 @@ function c33200601.srop(e,tp,eg,ep,ev,re,r,rp) ...@@ -65,6 +65,9 @@ function c33200601.srop(e,tp,eg,ep,ev,re,r,rp)
end end
--e2 --e2
function c33200601.rfilter(c,e,tp)
return c:IsSetCard(0x5329)
end
function c33200601.rcheck(gc) function c33200601.rcheck(gc)
return function(tp,g,c) return function(tp,g,c)
return g:IsContains(gc) return g:IsContains(gc)
...@@ -75,7 +78,7 @@ function c33200601.rstg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -75,7 +78,7 @@ function c33200601.rstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
aux.RCheckAdditional=c33200601.rcheck(c) aux.RCheckAdditional=c33200601.rcheck(c)
local res=mg:IsContains(c) and Duel.IsExistingMatchingCard(aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,nil,aux.TRUE,e,tp,mg,nil,Card.GetLevel,"Greater") local res=mg:IsContains(c) and Duel.IsExistingMatchingCard(aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,nil,c33200601.rfilter,e,tp,mg,nil,Card.GetLevel,"Greater")
aux.RCheckAdditional=nil aux.RCheckAdditional=nil
return res return res
end end
...@@ -87,7 +90,7 @@ function c33200601.rsop(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,7 +90,7 @@ function c33200601.rsop(e,tp,eg,ep,ev,re,r,rp)
if c:GetControler()~=tp or not c:IsRelateToEffect(e) or not mg:IsContains(c) then return end if c:GetControler()~=tp or not c:IsRelateToEffect(e) or not mg:IsContains(c) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
aux.RCheckAdditional=c33200601.rcheck(c) aux.RCheckAdditional=c33200601.rcheck(c)
local tg=Duel.SelectMatchingCard(tp,aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,1,nil,aux.TRUE,e,tp,mg,nil,Card.GetLevel,"Greater") local tg=Duel.SelectMatchingCard(tp,aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,1,nil,c33200601.rfilter,e,tp,mg,nil,Card.GetLevel,"Greater")
local tc=tg:GetFirst() local tc=tg:GetFirst()
if tc then if tc then
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc) mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
......
...@@ -10,6 +10,7 @@ function c33200605.initial_effect(c) ...@@ -10,6 +10,7 @@ function c33200605.initial_effect(c)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,33200605) e1:SetCountLimit(1,33200605)
e1:SetCondition(c33200605.spcon)
e1:SetTarget(c33200605.sptg) e1:SetTarget(c33200605.sptg)
e1:SetOperation(c33200605.spop) e1:SetOperation(c33200605.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -17,9 +18,9 @@ function c33200605.initial_effect(c) ...@@ -17,9 +18,9 @@ function c33200605.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33200605,1)) e2:SetDescription(aux.Stringid(33200605,1))
e2:SetCategory(CATEGORY_TOHAND) e2:SetCategory(CATEGORY_TOHAND)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,33200606) e2:SetCountLimit(1,33200606)
e2:SetTarget(c33200605.thtg) e2:SetTarget(c33200605.thtg)
e2:SetOperation(c33200605.thop) e2:SetOperation(c33200605.thop)
...@@ -27,6 +28,9 @@ function c33200605.initial_effect(c) ...@@ -27,6 +28,9 @@ function c33200605.initial_effect(c)
end end
--e1 --e1
function c33200605.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2
end
function c33200605.RitualUltimateFilter(c,filter,e,tp,m1,m2,level_function,greater_or_equal,chk) function c33200605.RitualUltimateFilter(c,filter,e,tp,m1,m2,level_function,greater_or_equal,chk)
if bit.band(c:GetType(),0x81)~=0x81 or (filter and not filter(c,e,tp,chk)) if bit.band(c:GetType(),0x81)~=0x81 or (filter and not filter(c,e,tp,chk))
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true,POS_FACEUP) then return false end or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true,POS_FACEUP) then return false end
......
...@@ -74,6 +74,9 @@ function c33200609.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -74,6 +74,9 @@ function c33200609.disop(e,tp,eg,ep,ev,re,r,rp)
end end
--e2 --e2
function c33200609.rfilter(c,e,tp)
return c:IsSetCard(0x5329)
end
function c33200609.rcheck(gc) function c33200609.rcheck(gc)
return function(tp,g,c) return function(tp,g,c)
return g:IsContains(gc) return g:IsContains(gc)
...@@ -84,7 +87,7 @@ function c33200609.rstg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -84,7 +87,7 @@ function c33200609.rstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
aux.RCheckAdditional=c33200609.rcheck(c) aux.RCheckAdditional=c33200609.rcheck(c)
local res=mg:IsContains(c) and Duel.IsExistingMatchingCard(aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,nil,aux.TRUE,e,tp,mg,nil,Card.GetLevel,"Greater") local res=mg:IsContains(c) and Duel.IsExistingMatchingCard(aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,nil,c33200609.rfilter,e,tp,mg,nil,Card.GetLevel,"Greater")
aux.RCheckAdditional=nil aux.RCheckAdditional=nil
return res return res
end end
...@@ -96,7 +99,7 @@ function c33200609.rsop(e,tp,eg,ep,ev,re,r,rp) ...@@ -96,7 +99,7 @@ function c33200609.rsop(e,tp,eg,ep,ev,re,r,rp)
if c:GetControler()~=tp or not c:IsRelateToEffect(e) or not mg:IsContains(c) then return end if c:GetControler()~=tp or not c:IsRelateToEffect(e) or not mg:IsContains(c) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
aux.RCheckAdditional=c33200609.rcheck(c) aux.RCheckAdditional=c33200609.rcheck(c)
local tg=Duel.SelectMatchingCard(tp,aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,1,nil,aux.TRUE,e,tp,mg,nil,Card.GetLevel,"Greater") local tg=Duel.SelectMatchingCard(tp,aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,1,nil,c33200609.rfilter,e,tp,mg,nil,Card.GetLevel,"Greater")
local tc=tg:GetFirst() local tc=tg:GetFirst()
if tc then if tc then
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc) mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
......
...@@ -10,6 +10,7 @@ function c33200615.initial_effect(c) ...@@ -10,6 +10,7 @@ function c33200615.initial_effect(c)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,33200615) e1:SetCountLimit(1,33200615)
e1:SetCondition(c33200615.spcon)
e1:SetTarget(c33200615.sptg) e1:SetTarget(c33200615.sptg)
e1:SetOperation(c33200615.spop) e1:SetOperation(c33200615.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -56,6 +57,9 @@ function c33200615.actcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,6 +57,9 @@ function c33200615.actcon(e,tp,eg,ep,ev,re,r,rp)
end end
--e1 --e1
function c33200615.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2
end
function c33200615.RitualUltimateFilter(c,filter,e,tp,m1,m2,level_function,greater_or_equal,chk) function c33200615.RitualUltimateFilter(c,filter,e,tp,m1,m2,level_function,greater_or_equal,chk)
if bit.band(c:GetType(),0x81)~=0x81 or (filter and not filter(c,e,tp,chk)) if bit.band(c:GetType(),0x81)~=0x81 or (filter and not filter(c,e,tp,chk))
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true,POS_FACEUP) then return false end or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true,POS_FACEUP) then return false end
......
...@@ -65,6 +65,9 @@ function c33200617.srop(e,tp,eg,ep,ev,re,r,rp) ...@@ -65,6 +65,9 @@ function c33200617.srop(e,tp,eg,ep,ev,re,r,rp)
end end
--e4 --e4
function c33200617.rfilter(c,e,tp)
return c:IsSetCard(0x5329)
end
function c33200617.rcheck(gc) function c33200617.rcheck(gc)
return function(tp,g,c) return function(tp,g,c)
return g:IsContains(gc) return g:IsContains(gc)
...@@ -75,7 +78,7 @@ function c33200617.rstg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -75,7 +78,7 @@ function c33200617.rstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
aux.RCheckAdditional=c33200617.rcheck(c) aux.RCheckAdditional=c33200617.rcheck(c)
local res=mg:IsContains(c) and Duel.IsExistingMatchingCard(aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,nil,aux.TRUE,e,tp,mg,nil,Card.GetLevel,"Greater") local res=mg:IsContains(c) and Duel.IsExistingMatchingCard(aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,nil,c33200617.rfilter,e,tp,mg,nil,Card.GetLevel,"Greater")
aux.RCheckAdditional=nil aux.RCheckAdditional=nil
return res return res
end end
...@@ -87,7 +90,7 @@ function c33200617.rsop(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,7 +90,7 @@ function c33200617.rsop(e,tp,eg,ep,ev,re,r,rp)
if c:GetControler()~=tp or not c:IsRelateToEffect(e) or not mg:IsContains(c) then return end if c:GetControler()~=tp or not c:IsRelateToEffect(e) or not mg:IsContains(c) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
aux.RCheckAdditional=c33200617.rcheck(c) aux.RCheckAdditional=c33200617.rcheck(c)
local tg=Duel.SelectMatchingCard(tp,aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,1,nil,aux.TRUE,e,tp,mg,nil,Card.GetLevel,"Greater") local tg=Duel.SelectMatchingCard(tp,aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,1,nil,c33200617.rfilter,e,tp,mg,nil,Card.GetLevel,"Greater")
local tc=tg:GetFirst() local tc=tg:GetFirst()
if tc then if tc then
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc) mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
......
...@@ -30,10 +30,10 @@ function cm.initial_effect(c) ...@@ -30,10 +30,10 @@ function cm.initial_effect(c)
end end
end end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp) function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
if eg:FilterCount(cm.filter,nil,tp,rp)==1 and Duel.GetMatchingGroupCount(nil,tp,LOCATION_SZONE,0,nil)==0 then if eg:FilterCount(cm.filter,nil,tp,rp)==1 and Duel.GetMatchingGroupCount(cm.confilter,tp,LOCATION_SZONE,0,nil)==0 then
Duel.RaiseEvent(eg,EVENT_CUSTOM+m,re,r,rp,tp,ev) Duel.RaiseEvent(eg,EVENT_CUSTOM+m,re,r,rp,tp,ev)
end end
if eg:FilterCount(cm.filter,nil,1-tp,rp)==1 and Duel.GetMatchingGroupCount(nil,1-tp,LOCATION_SZONE,0,nil)==0 then if eg:FilterCount(cm.filter,nil,1-tp,rp)==1 and Duel.GetMatchingGroupCount(cm.confilter,1-tp,LOCATION_SZONE,0,nil)==0 then
Duel.RaiseEvent(eg,EVENT_CUSTOM+m,re,r,rp,1-tp,ev) Duel.RaiseEvent(eg,EVENT_CUSTOM+m,re,r,rp,1-tp,ev)
end end
end end
...@@ -41,9 +41,9 @@ function cm.splimit(e,se,sp,st) ...@@ -41,9 +41,9 @@ function cm.splimit(e,se,sp,st)
return se:IsHasType(EFFECT_TYPE_ACTIONS) return se:IsHasType(EFFECT_TYPE_ACTIONS)
end end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp) function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp and not Duel.IsExistingMatchingCard(cm.cfilter,1-tp,0,LOCATION_SZONE,1,nil) and Duel.GetMatchingGroupCount(nil,tp,LOCATION_MZONE,0,nil)==0 return ep==tp and Duel.GetMatchingGroupCount(cm.confilter,tp,LOCATION_SZONE,0,nil)==0 and Duel.GetMatchingGroupCount(nil,tp,LOCATION_MZONE,0,nil)==0
end end
function cm.cfilter(c) function cm.confilter(c)
return c:GetSequence()<5 return c:GetSequence()<5
end end
function cm.filter(c,tp,rp) function cm.filter(c,tp,rp)
......
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