Commit 8584a9d3 authored by wind2009's avatar wind2009

Fix

parent 69eb0c35
Pipeline #41111 failed with stages
in 2 minutes and 23 seconds
...@@ -48,7 +48,7 @@ end ...@@ -48,7 +48,7 @@ end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToChain() and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 if c:IsRelateToChain() and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0
and e:GetLabel()>0 and c:IsCanAddCounter(0x1f) then and e:GetLabel()>0 and c:IsCanAddCounter(0x1f,e:GetLabel()) then
Duel.BreakEffect() Duel.BreakEffect()
c:AddCounter(0x1f,e:GetLabel()) c:AddCounter(0x1f,e:GetLabel())
end end
...@@ -70,7 +70,7 @@ function s.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -70,7 +70,7 @@ function s.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg=rg:SelectSubGroup(tp,s.fselect,false,2,2) local sg=rg:SelectSubGroup(tp,s.fselect,false,2,2)
Duel.SetTargetCard(sg) Duel.SetTargetCard(sg)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,sg,#sg,0,0)
end end
function s.desop(e,tp,eg,ep,ev,re,r,rp) function s.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(Duel.GetTargetsRelateToChain(),REASON_EFFECT) Duel.Destroy(Duel.GetTargetsRelateToChain(),REASON_EFFECT)
......
...@@ -53,6 +53,9 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -53,6 +53,9 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_MZONE+LOCATION_HAND+LOCATION_REMOVED) Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_MZONE+LOCATION_HAND+LOCATION_REMOVED)
end end
function s.cfilter(c) function s.cfilter(c)
return c:IsFacedown() or c:IsLocation(LOCATION_HAND)
end
function s.hfilter(c)
return c:IsLocation(LOCATION_REMOVED) or (c:IsLocation(LOCATION_MZONE) and c:IsFaceup()) return c:IsLocation(LOCATION_REMOVED) or (c:IsLocation(LOCATION_MZONE) and c:IsFaceup())
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spop(e,tp,eg,ep,ev,re,r,rp)
...@@ -77,12 +80,12 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,12 +80,12 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or ce and not Duel.SelectYesNo(tp,ce:GetDescription())) then if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or ce and not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf) local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1) tc:SetMaterial(mat1)
if mat1:IsExists(Card.IsFacedown,1,nil) then if mat1:IsExists(s.cfilter,1,nil) then
local cg=mat1:Filter(Card.IsFacedown,nil) local cg=mat1:Filter(s.cfilter,nil)
Duel.ConfirmCards(1-tp,cg) Duel.ConfirmCards(1-tp,cg)
end end
if mat1:Filter(s.cfilter,nil):GetCount()>0 then if mat1:IsExists(s.hfilter,1,nil) then
local cg=mat1:Filter(s.cfilter,nil) local cg=mat1:Filter(s.hfilter,nil)
Duel.HintSelection(cg) Duel.HintSelection(cg)
end end
Duel.SendtoDeck(mat1,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) Duel.SendtoDeck(mat1,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
......
--ガンホー!スプリガンズ! --ガンホー!スプリガンズ!
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,29601381) aux.AddCodeList(c,29601381,68468459)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x155),4,2,nil,nil,99) aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x155),4,2,nil,nil,99)
c:EnableReviveLimit() c:EnableReviveLimit()
...@@ -56,7 +56,7 @@ function s.spcost2(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -56,7 +56,7 @@ function s.spcost2(e,tp,eg,ep,ev,re,r,rp,chk)
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST)
end end
function s.spfilter2(c,e,tp) function s.spfilter2(c,e,tp)
if not (c:IsSetCard(0x155,0x179) or aux.IsCodeOrListed(c,68468459)) then return false end if not (c:IsSetCard(0x155,0x179) or aux.IsCodeOrListed(c,68468459) and c:IsType(TYPE_MONSTER)) then return false end
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return c:IsAbleToHand() or (ft>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)) return c:IsAbleToHand() or (ft>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false))
end end
......
...@@ -38,7 +38,6 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -38,7 +38,6 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
and (not e:IsCostChecked() or Duel.GetFlagEffect(tp,id)==0) and (not e:IsCostChecked() or Duel.GetFlagEffect(tp,id)==0)
local b2=Duel.IsExistingMatchingCard(s.thfilter2,tp,LOCATION_DECK,0,1,nil) local b2=Duel.IsExistingMatchingCard(s.thfilter2,tp,LOCATION_DECK,0,1,nil)
and (not e:IsCostChecked() or Duel.GetFlagEffect(tp,id+o)==0) and (not e:IsCostChecked() or Duel.GetFlagEffect(tp,id+o)==0)
local b3=false
local chkf=tp local chkf=tp
local mg1=Duel.GetMatchingGroup(s.filter1,tp,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e) local mg1=Duel.GetMatchingGroup(s.filter1,tp,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e)
local res=Duel.IsExistingMatchingCard(s.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(s.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
...@@ -50,8 +49,8 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -50,8 +49,8 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
local mf=ce:GetValue() local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(s.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf) res=Duel.IsExistingMatchingCard(s.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf)
end end
b3=res and (not e:IsCostChecked() or Duel.GetFlagEffect(tp,id+o*2)==0)
end end
local b3=res and (not e:IsCostChecked() or Duel.GetFlagEffect(tp,id+o*2)==0)
if chk==0 then return b1 or b2 or b3 end if chk==0 then return b1 or b2 or b3 end
local op=0 local op=0
if b1 or b2 or b3 then if b1 or b2 or b3 then
...@@ -76,8 +75,11 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -76,8 +75,11 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED) Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED)
end end
end end
function s.cfilter(c) function s.cffilter(c)
return c:IsLocation(LOCATION_REMOVED) or (c:IsLocation(LOCATION_MZONE) and c:IsFaceup()) return c:IsFacedown() or c:IsLocation(LOCATION_HAND)
end
function s.hsfilter(c)
return c:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) or (c:IsLocation(LOCATION_MZONE) and c:IsFaceup())
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
if e:GetLabel()==1 then if e:GetLabel()==1 then
...@@ -116,12 +118,12 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -116,12 +118,12 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or ce and not Duel.SelectYesNo(tp,ce:GetDescription())) then if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or ce and not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf) local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1) tc:SetMaterial(mat1)
if mat1:IsExists(Card.IsFacedown,1,nil) then if mat1:IsExists(s.cffilter,1,nil) then
local cg=mat1:Filter(Card.IsFacedown,nil) local cg=mat1:Filter(s.cffilter,nil)
Duel.ConfirmCards(1-tp,cg) Duel.ConfirmCards(1-tp,cg)
end end
if mat1:Filter(s.cfilter,nil):GetCount()>0 then if mat1:IsExists(s.hsfilter,1,nil) then
local cg=mat1:Filter(s.cfilter,nil) local cg=mat1:Filter(s.hsfilter,nil)
Duel.HintSelection(cg) Duel.HintSelection(cg)
end end
Duel.SendtoDeck(mat1,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) Duel.SendtoDeck(mat1,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
......
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