Commit 99a62414 authored by VanillaSalt's avatar VanillaSalt

fix

parent c3f629bb
...@@ -112,10 +112,10 @@ function c12670770.desfilter(c) ...@@ -112,10 +112,10 @@ function c12670770.desfilter(c)
end end
function c12670770.spop(e,tp,eg,ep,ev,re,r,rp) function c12670770.spop(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<=0 then return end local tg=Duel.GetMatchingGroup(c12670770.spfilter,tp,LOCATION_REMOVED,0,nil,e,tp)
if ft<=0 or tg:GetCount()==0 or (ft>1 and tg:GetCount()>1 and Duel.IsPlayerAffectedByEffect(tp,59822133)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c12670770.spfilter,tp,LOCATION_REMOVED,0,ft,ft,nil,e,tp) local g=tg:Select(tp,ft,ft,nil)
if g:GetCount()==0 then return end
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP)
......
...@@ -34,9 +34,10 @@ function c13803864.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -34,9 +34,10 @@ function c13803864.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c13803864.spop(e,tp,eg,ep,ev,re,r,rp) function c13803864.spop(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<=0 then return end local tg=Duel.GetMatchingGroup(c13803864.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp)
if ft<=0 or tg:GetCount()==0 or (ft>1 and tg:GetCount()>1 and Duel.IsPlayerAffectedByEffect(tp,59822133)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c13803864.spfilter,tp,LOCATION_GRAVE,0,ft,ft,nil,e,tp) local g=tg:Select(tp,ft,ft,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
......
...@@ -54,7 +54,7 @@ function c22842214.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,7 +54,7 @@ function c22842214.eqop(e,tp,eg,ep,ev,re,r,rp)
if c:IsFaceup() and c:IsRelateToEffect(e) then if c:IsFaceup() and c:IsRelateToEffect(e) then
local tg=nil local tg=nil
if ft<tg0:GetCount() then if ft<tg0:GetCount() then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
tg=tg0:FilterSelect(tp,c22842214.filter,ft,ft,nil) tg=tg0:FilterSelect(tp,c22842214.filter,ft,ft,nil)
else else
tg=tg0:Clone() tg=tg0:Clone()
......
...@@ -68,8 +68,9 @@ end ...@@ -68,8 +68,9 @@ end
function c24221808.spop(e,tp,eg,ep,ev,re,r,rp) function c24221808.spop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject() local g=e:GetLabelObject()
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<=0 then return end local tg=g:Filter(c24221808.spfilter,nil,e:GetHandler(),e,tp)
if ft<=0 or tg:GetCount()==0 or (ft>1 and tg:GetCount()>1 and Duel.IsPlayerAffectedByEffect(tp,59822133)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:FilterSelect(tp,c24221808.spfilter,ft,ft,nil,e:GetHandler(),e,tp) local sg=tg:Select(tp,ft,ft,nil)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end end
...@@ -25,6 +25,7 @@ function c30531525.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -25,6 +25,7 @@ function c30531525.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmDecktop(tp,4) Duel.ConfirmDecktop(tp,4)
local g=Duel.GetDecktopGroup(tp,4):Filter(c30531525.filter,nil,e,tp) local g=Duel.GetDecktopGroup(tp,4):Filter(c30531525.filter,nil,e,tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft>1 and Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
if g:GetCount()>0 then if g:GetCount()>0 then
if ft<=0 then if ft<=0 then
Duel.SendtoGrave(g,REASON_EFFECT) Duel.SendtoGrave(g,REASON_EFFECT)
......
...@@ -30,6 +30,7 @@ function c36378213.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -30,6 +30,7 @@ function c36378213.activate(e,tp,eg,ep,ev,re,r,rp)
if ft<=0 then return end if ft<=0 then return end
local g=eg:Filter(c36378213.spfilter,nil,e,tp) local g=eg:Filter(c36378213.spfilter,nil,e,tp)
if g:GetCount()==0 then return end if g:GetCount()==0 then return end
if g:GetCount()>1 and Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
if g:GetCount()>ft then if g:GetCount()>ft then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
g=g:Select(tp,ft,ft,nil) g=g:Select(tp,ft,ft,nil)
......
...@@ -24,8 +24,9 @@ function c6459419.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -24,8 +24,9 @@ function c6459419.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c6459419.dfilter,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(c6459419.dfilter,tp,LOCATION_MZONE,0,nil)
local ct=Duel.Destroy(g,REASON_EFFECT) local ct=Duel.Destroy(g,REASON_EFFECT)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ct==0 or ft<=0 then return end
if ft>ct then ft=ct end if ft>ct then ft=ct end
if ft<=0 then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
local sg=Duel.GetMatchingGroup(c6459419.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp) local sg=Duel.GetMatchingGroup(c6459419.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp)
if sg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(6459419,0)) then if sg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(6459419,0)) then
Duel.BreakEffect() Duel.BreakEffect()
......
...@@ -32,10 +32,10 @@ function c6713443.sfilter(c) ...@@ -32,10 +32,10 @@ function c6713443.sfilter(c)
end end
function c6713443.spop(e,tp,eg,ep,ev,re,r,rp) function c6713443.spop(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<=0 then return end local tg=Duel.GetMatchingGroup(c6713443.filter,tp,LOCATION_GRAVE,0,nil,e,tp)
if ft<=0 or tg:GetCount()==0 or (ft>1 and tg:GetCount()>1 and Duel.IsPlayerAffectedByEffect(tp,59822133)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c6713443.filter,tp,LOCATION_GRAVE,0,ft,ft,nil,e,tp) local g=tg:Select(tp,ft,ft,nil)
if g:GetCount()==0 then return end
local ct=Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) local ct=Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
if ct>0 then if ct>0 then
local ft2=Duel.GetLocationCount(tp,LOCATION_SZONE) local ft2=Duel.GetLocationCount(tp,LOCATION_SZONE)
......
...@@ -30,12 +30,13 @@ function c77778835.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -30,12 +30,13 @@ function c77778835.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end end
function c77778835.operation(e,tp,eg,ep,ev,re,r,rp) function c77778835.operation(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<=0 then return end
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local tg=Duel.GetMatchingGroup(c77778835.filter,tp,LOCATION_GRAVE,0,nil,e,tp)
if ft<=0 or tg:GetCount()==0 or (ft>1 and tg:GetCount()>1 and Duel.IsPlayerAffectedByEffect(tp,59822133)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c77778835.filter,tp,LOCATION_GRAVE,0,ft,ft,nil,e,tp) local g=tg:Select(tp,ft,ft,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP)
......
...@@ -34,6 +34,7 @@ function c78610936.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -34,6 +34,7 @@ function c78610936.activate(e,tp,eg,ep,ev,re,r,rp)
local g=mg:Filter(c78610936.spfilter,nil,e,tp) local g=mg:Filter(c78610936.spfilter,nil,e,tp)
local ft=Duel.GetLocationCount(1-tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(1-tp,LOCATION_MZONE)
if ft>0 and g:GetCount()>0 then if ft>0 and g:GetCount()>0 then
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
if g:GetCount()>ft then if g:GetCount()>ft then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
g=g:Select(tp,ft,ft,nil) g=g:Select(tp,ft,ft,nil)
......
...@@ -38,14 +38,14 @@ function c88307361.sumtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -38,14 +38,14 @@ function c88307361.sumtg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c88307361.sumop(e,tp,eg,ep,ev,re,r,rp) function c88307361.sumop(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<=0 then return end local tg=Duel.GetMatchingGroup(c88307361.filter,tp,LOCATION_DECK,0,nil,e,tp)
if ft<=0 or tg:GetCount()==0 or (ft>1 and tg:GetCount()>1 and Duel.IsPlayerAffectedByEffect(tp,59822133)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c88307361.filter,tp,LOCATION_DECK,0,ft,ft,nil,e,tp) local g=tg:Select(tp,ft,ft,nil)
if g:GetCount()==0 then return end
local c=e:GetHandler() local c=e:GetHandler()
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
Duel.SpecialSummonStep(tc, 0, tp, tp, false, false, POS_FACEUP) Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE) e1:SetCode(EFFECT_DISABLE)
...@@ -89,4 +89,4 @@ function c88307361.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -89,4 +89,4 @@ function c88307361.disop(e,tp,eg,ep,ev,re,r,rp)
if re:GetHandler():IsRelateToEffect(re) then if re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT) Duel.Destroy(eg,REASON_EFFECT)
end end
end end
\ No newline at end of file
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