Commit 25bdab4c authored by salix5's avatar salix5

fusion chk

parent 5a5d995b
...@@ -9,6 +9,9 @@ function c12071500.initial_effect(c) ...@@ -9,6 +9,9 @@ function c12071500.initial_effect(c)
e1:SetOperation(c12071500.activate) e1:SetOperation(c12071500.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c12071500.filter0(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove()
end
function c12071500.filter1(c,e) function c12071500.filter1(c,e)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e) return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e)
end end
...@@ -19,7 +22,7 @@ end ...@@ -19,7 +22,7 @@ end
function c12071500.target(e,tp,eg,ep,ev,re,r,rp,chk) function c12071500.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c12071500.filter1,tp,LOCATION_HAND+LOCATION_GRAVE,0,nil,e) local mg1=Duel.GetMatchingGroup(c12071500.filter0,tp,LOCATION_HAND+LOCATION_GRAVE,0,nil)
local res=Duel.IsExistingMatchingCard(c12071500.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c12071500.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -29,7 +29,7 @@ end ...@@ -29,7 +29,7 @@ end
function c1264319.target(e,tp,eg,ep,ev,re,r,rp,chk) function c1264319.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c1264319.filter1,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e) local mg1=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
local res=Duel.IsExistingMatchingCard(c1264319.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c1264319.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -10,8 +10,8 @@ function c17236839.initial_effect(c) ...@@ -10,8 +10,8 @@ function c17236839.initial_effect(c)
e1:SetOperation(c17236839.activate) e1:SetOperation(c17236839.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c17236839.filter1(c,e,tp) function c17236839.filter1(c,e)
return (c:IsControler(tp) or c:IsFaceup()) and c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e) return c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e)
end end
function c17236839.filter2(c,e,tp,m,f,chkf) function c17236839.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and (not f or f(c)) return c:IsType(TYPE_FUSION) and (not f or f(c))
...@@ -20,7 +20,7 @@ end ...@@ -20,7 +20,7 @@ end
function c17236839.target(e,tp,eg,ep,ev,re,r,rp,chk) function c17236839.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c17236839.filter1,tp,LOCATION_MZONE,0,nil,e,tp) local mg1=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_MZONE,0,nil)
local res=Duel.IsExistingMatchingCard(c17236839.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c17236839.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
...@@ -37,7 +37,7 @@ function c17236839.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -37,7 +37,7 @@ function c17236839.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c17236839.activate(e,tp,eg,ep,ev,re,r,rp) function c17236839.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c17236839.filter1,tp,LOCATION_MZONE,0,nil,e,tp) local mg1=Duel.GetMatchingGroup(c17236839.filter1,tp,LOCATION_MZONE,0,nil,e)
local sg1=Duel.GetMatchingGroup(c17236839.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf) local sg1=Duel.GetMatchingGroup(c17236839.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg2=nil local mg2=nil
local sg2=nil local sg2=nil
......
...@@ -18,6 +18,10 @@ function c1784686.initial_effect(c) ...@@ -18,6 +18,10 @@ function c1784686.initial_effect(c)
e2:SetValue(10000050) e2:SetValue(10000050)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c1784686.tgfilter0(c,e,tp)
return c:IsFaceup() and c:IsSetCard(0xa2)
and c:IsCanBeFusionMaterial() and Duel.IsExistingMatchingCard(c1784686.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c:GetCode())
end
function c1784686.tgfilter(c,e,tp) function c1784686.tgfilter(c,e,tp)
return c:IsFaceup() and c:IsSetCard(0xa2) return c:IsFaceup() and c:IsSetCard(0xa2)
and c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e) and c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e)
...@@ -33,7 +37,7 @@ end ...@@ -33,7 +37,7 @@ end
function c1784686.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c1784686.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc==0 then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c1784686.tgfilter(chkc,e,tp) end if chkc==0 then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c1784686.tgfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and Duel.IsExistingTarget(c1784686.tgfilter,tp,LOCATION_MZONE,0,1,nil,e,tp) end and Duel.IsExistingTarget(c1784686.tgfilter0,tp,LOCATION_MZONE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c1784686.tgfilter,tp,LOCATION_MZONE,0,1,1,nil,e,tp) Duel.SelectTarget(tp,c1784686.tgfilter,tp,LOCATION_MZONE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
......
...@@ -19,7 +19,7 @@ end ...@@ -19,7 +19,7 @@ end
function c23299957.target(e,tp,eg,ep,ev,re,r,rp,chk) function c23299957.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c23299957.filter1,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e) local mg1=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
local res=Duel.IsExistingMatchingCard(c23299957.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c23299957.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -19,7 +19,7 @@ end ...@@ -19,7 +19,7 @@ end
function c24094653.target(e,tp,eg,ep,ev,re,r,rp,chk) function c24094653.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c24094653.filter1,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e) local mg1=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
local res=Duel.IsExistingMatchingCard(c24094653.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c24094653.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -16,6 +16,9 @@ function c33550694.initial_effect(c) ...@@ -16,6 +16,9 @@ function c33550694.initial_effect(c)
e2:SetOperation(c33550694.operation) e2:SetOperation(c33550694.operation)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c33550694.filter0(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove()
end
function c33550694.filter1(c,e) function c33550694.filter1(c,e)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e) return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e)
end end
...@@ -26,7 +29,7 @@ end ...@@ -26,7 +29,7 @@ end
function c33550694.target(e,tp,eg,ep,ev,re,r,rp,chk) function c33550694.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c33550694.filter1,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e) local mg1=Duel.GetMatchingGroup(c33550694.filter0,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
local res=Duel.IsExistingMatchingCard(c33550694.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c33550694.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -20,6 +20,9 @@ function c36484016.initial_effect(c) ...@@ -20,6 +20,9 @@ function c36484016.initial_effect(c)
e2:SetOperation(c36484016.drop) e2:SetOperation(c36484016.drop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c36484016.filter0(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove()
end
function c36484016.filter1(c,e) function c36484016.filter1(c,e)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e) return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e)
end end
...@@ -33,7 +36,7 @@ end ...@@ -33,7 +36,7 @@ end
function c36484016.target(e,tp,eg,ep,ev,re,r,rp,chk) function c36484016.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c36484016.filter1,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil,e) local mg1=Duel.GetMatchingGroup(c36484016.filter0,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil)
local res=Duel.IsExistingMatchingCard(c36484016.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c36484016.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -9,6 +9,9 @@ function c3659803.initial_effect(c) ...@@ -9,6 +9,9 @@ function c3659803.initial_effect(c)
e1:SetOperation(c3659803.activate) e1:SetOperation(c3659803.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c3659803.filter0(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove()
end
function c3659803.filter1(c,e) function c3659803.filter1(c,e)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e) return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e)
end end
...@@ -19,7 +22,7 @@ end ...@@ -19,7 +22,7 @@ end
function c3659803.target(e,tp,eg,ep,ev,re,r,rp,chk) function c3659803.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c3659803.filter1,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil,e) local mg1=Duel.GetMatchingGroup(c3659803.filter0,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil)
local res=Duel.IsExistingMatchingCard(c3659803.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c3659803.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -19,7 +19,7 @@ end ...@@ -19,7 +19,7 @@ end
function c37630732.target(e,tp,eg,ep,ev,re,r,rp,chk) function c37630732.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c37630732.filter1,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e) local mg1=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
local res=Duel.IsExistingMatchingCard(c37630732.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c37630732.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -31,7 +31,7 @@ end ...@@ -31,7 +31,7 @@ end
function c39261576.target(e,tp,eg,ep,ev,re,r,rp,chk) function c39261576.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c39261576.filter1,tp,LOCATION_MZONE,0,nil,e) local mg1=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_MZONE,0,nil)
local res=Duel.IsExistingMatchingCard(c39261576.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c39261576.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -46,7 +46,7 @@ end ...@@ -46,7 +46,7 @@ end
function c43698897.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c43698897.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c43698897.filter1,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e) local mg1=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
local res=Duel.IsExistingMatchingCard(c43698897.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c43698897.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -10,9 +10,11 @@ function c44394295.initial_effect(c) ...@@ -10,9 +10,11 @@ function c44394295.initial_effect(c)
e1:SetOperation(c44394295.activate) e1:SetOperation(c44394295.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c44394295.filter0(c)
return c:IsCanBeFusionMaterial() and (c:IsAbleToGrave() or c:IsHasEffect(EFFECT_TO_GRAVE_REDIRECT))
end
function c44394295.filter1(c,e) function c44394295.filter1(c,e)
return c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e) return c:IsCanBeFusionMaterial() and (c:IsAbleToGrave() or c:IsHasEffect(EFFECT_TO_GRAVE_REDIRECT)) and not c:IsImmuneToEffect(e)
and ( (not c:IsHasEffect(EFFECT_TO_GRAVE_REDIRECT) and c:IsAbleToGrave()) or c:IsHasEffect(EFFECT_TO_GRAVE_REDIRECT) )
end end
function c44394295.filter2(c,e,tp,m,f,chkf) function c44394295.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x9d) and (not f or f(c)) return c:IsType(TYPE_FUSION) and c:IsSetCard(0x9d) and (not f or f(c))
...@@ -24,9 +26,9 @@ end ...@@ -24,9 +26,9 @@ end
function c44394295.target(e,tp,eg,ep,ev,re,r,rp,chk) function c44394295.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c44394295.filter1,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e) local mg1=Duel.GetMatchingGroup(c44394295.filter0,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
if Duel.IsExistingMatchingCard(c44394295.cfilter,tp,0,LOCATION_MZONE,1,nil) then if Duel.IsExistingMatchingCard(c44394295.cfilter,tp,0,LOCATION_MZONE,1,nil) then
local sg=Duel.GetMatchingGroup(c44394295.filter1,tp,LOCATION_DECK,0,nil,e) local sg=Duel.GetMatchingGroup(c44394295.filter0,tp,LOCATION_DECK,0,nil)
mg1:Merge(sg) mg1:Merge(sg)
end end
local res=Duel.IsExistingMatchingCard(c44394295.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c44394295.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
......
...@@ -9,6 +9,9 @@ function c45906428.initial_effect(c) ...@@ -9,6 +9,9 @@ function c45906428.initial_effect(c)
e1:SetOperation(c45906428.activate) e1:SetOperation(c45906428.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c45906428.filter0(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove()
end
function c45906428.filter1(c,e) function c45906428.filter1(c,e)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e) return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e)
end end
...@@ -19,7 +22,7 @@ end ...@@ -19,7 +22,7 @@ end
function c45906428.target(e,tp,eg,ep,ev,re,r,rp,chk) function c45906428.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c45906428.filter1,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil,e) local mg1=Duel.GetMatchingGroup(c45906428.filter0,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil)
local res=Duel.IsExistingMatchingCard(c45906428.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c45906428.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -11,6 +11,9 @@ function c48130397.initial_effect(c) ...@@ -11,6 +11,9 @@ function c48130397.initial_effect(c)
e1:SetOperation(c48130397.activate) e1:SetOperation(c48130397.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c48130397.filter0(c,tp)
return (c:IsControler(tp) or c:IsFaceup()) and c:IsCanBeFusionMaterial()
end
function c48130397.filter1(c,e,tp) function c48130397.filter1(c,e,tp)
return (c:IsControler(tp) or c:IsFaceup()) and c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e) return (c:IsControler(tp) or c:IsFaceup()) and c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e)
end end
...@@ -25,7 +28,7 @@ end ...@@ -25,7 +28,7 @@ end
function c48130397.target(e,tp,eg,ep,ev,re,r,rp,chk) function c48130397.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c48130397.filter1,tp,LOCATION_MZONE,LOCATION_MZONE,nil,e,tp) local mg1=Duel.GetMatchingGroup(c48130397.filter0,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
local res=Duel.IsExistingMatchingCard(c48130397.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c48130397.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -25,6 +25,9 @@ end ...@@ -25,6 +25,9 @@ end
function c54283059.sumlimit(e,c,sump,sumtype,sumpos,targetp,se) function c54283059.sumlimit(e,c,sump,sumtype,sumpos,targetp,se)
return e:GetLabelObject()~=se return e:GetLabelObject()~=se
end end
function c54283059.filter0(c)
return c:IsFaceup() and c:IsCanBeFusionMaterial() and c:IsAbleToDeck()
end
function c54283059.filter1(c,e) function c54283059.filter1(c,e)
return c:IsFaceup() and c:IsCanBeFusionMaterial() and c:IsAbleToDeck() and not c:IsImmuneToEffect(e) return c:IsFaceup() and c:IsCanBeFusionMaterial() and c:IsAbleToDeck() and not c:IsImmuneToEffect(e)
end end
...@@ -35,7 +38,7 @@ end ...@@ -35,7 +38,7 @@ end
function c54283059.target(e,tp,eg,ep,ev,re,r,rp,chk) function c54283059.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return false end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return false end
local mg=Duel.GetMatchingGroup(c54283059.filter1,tp,LOCATION_REMOVED,0,nil,e) local mg=Duel.GetMatchingGroup(c54283059.filter0,tp,LOCATION_REMOVED,0,nil)
return Duel.IsExistingMatchingCard(c54283059.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg) return Duel.IsExistingMatchingCard(c54283059.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
......
...@@ -19,7 +19,7 @@ end ...@@ -19,7 +19,7 @@ end
function c55824220.target(e,tp,eg,ep,ev,re,r,rp,chk) function c55824220.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c55824220.filter1,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e) local mg1=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
local res=Duel.IsExistingMatchingCard(c55824220.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c55824220.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -69,7 +69,7 @@ function c60226558.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -69,7 +69,7 @@ function c60226558.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local ec=e:GetHandler():GetEquipTarget() local ec=e:GetHandler():GetEquipTarget()
if ec:IsControler(1-tp) then return false end if ec:IsControler(1-tp) then return false end
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c60226558.filter1,tp,LOCATION_HAND+LOCATION_MZONE,0,ec,e) local mg1=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_HAND+LOCATION_MZONE,0,ec)
local res=Duel.IsExistingMatchingCard(c60226558.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,ec,nil,chkf) local res=Duel.IsExistingMatchingCard(c60226558.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,ec,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -10,6 +10,9 @@ function c6077601.initial_effect(c) ...@@ -10,6 +10,9 @@ function c6077601.initial_effect(c)
e1:SetOperation(c6077601.activate) e1:SetOperation(c6077601.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c6077601.filter0(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove()
end
function c6077601.filter1(c,e) function c6077601.filter1(c,e)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e) return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e)
end end
...@@ -20,7 +23,7 @@ end ...@@ -20,7 +23,7 @@ end
function c6077601.target(e,tp,eg,ep,ev,re,r,rp,chk) function c6077601.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c6077601.filter1,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil,e) local mg1=Duel.GetMatchingGroup(c6077601.filter0,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil)
local res=Duel.IsExistingMatchingCard(c6077601.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c6077601.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -21,7 +21,7 @@ end ...@@ -21,7 +21,7 @@ end
function c6417578.target(e,tp,eg,ep,ev,re,r,rp,chk) function c6417578.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c6417578.filter1,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e) local mg1=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
local res=Duel.IsExistingMatchingCard(c6417578.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c6417578.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -36,6 +36,9 @@ function c71422989.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -36,6 +36,9 @@ function c71422989.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c71422989.filter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c71422989.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c71422989.filter0(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove()
end
function c71422989.filter1(c,e) function c71422989.filter1(c,e)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e) return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e)
end end
...@@ -50,7 +53,7 @@ function c71422989.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,7 +53,7 @@ function c71422989.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c71422989.filter1,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e) local mg1=Duel.GetMatchingGroup(c71422989.filter0,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
local sg1=Duel.GetMatchingGroup(c71422989.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf) local sg1=Duel.GetMatchingGroup(c71422989.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg2=nil local mg2=nil
local sg2=nil local sg2=nil
......
...@@ -9,6 +9,9 @@ function c71490127.initial_effect(c) ...@@ -9,6 +9,9 @@ function c71490127.initial_effect(c)
e1:SetOperation(c71490127.activate) e1:SetOperation(c71490127.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c71490127.filter0(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove()
end
function c71490127.filter1(c,e) function c71490127.filter1(c,e)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e) return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e)
end end
...@@ -19,7 +22,7 @@ end ...@@ -19,7 +22,7 @@ end
function c71490127.target(e,tp,eg,ep,ev,re,r,rp,chk) function c71490127.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c71490127.filter1,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil,e) local mg1=Duel.GetMatchingGroup(c71490127.filter0,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil)
local res=Duel.IsExistingMatchingCard(c71490127.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c71490127.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -9,6 +9,9 @@ function c72029628.initial_effect(c) ...@@ -9,6 +9,9 @@ function c72029628.initial_effect(c)
e1:SetOperation(c72029628.activate) e1:SetOperation(c72029628.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c72029628.filter0(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove()
end
function c72029628.filter1(c,e) function c72029628.filter1(c,e)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e) return c:IsCanBeFusionMaterial() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e)
end end
...@@ -19,7 +22,7 @@ end ...@@ -19,7 +22,7 @@ end
function c72029628.target(e,tp,eg,ep,ev,re,r,rp,chk) function c72029628.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c72029628.filter1,tp,LOCATION_GRAVE,0,nil,e) local mg1=Duel.GetMatchingGroup(c72029628.filter0,tp,LOCATION_GRAVE,0,nil)
local res=Duel.IsExistingMatchingCard(c72029628.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c72029628.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -27,6 +27,9 @@ function c73360025.initial_effect(c) ...@@ -27,6 +27,9 @@ function c73360025.initial_effect(c)
e3:SetOperation(c73360025.damop) e3:SetOperation(c73360025.damop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c73360025.mfilter0(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToRemove()
end
function c73360025.mfilter1(c,e) function c73360025.mfilter1(c,e)
return c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e) return c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e)
end end
...@@ -44,10 +47,10 @@ end ...@@ -44,10 +47,10 @@ end
function c73360025.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c73360025.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c73360025.mfilter1,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e) local mg1=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
local res=Duel.IsExistingMatchingCard(c73360025.spfilter1,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c73360025.spfilter1,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if res then return true end if res then return true end
local mg2=Duel.GetMatchingGroup(c73360025.mfilter2,tp,LOCATION_GRAVE,0,nil,e) local mg2=Duel.GetMatchingGroup(c73360025.mfilter0,tp,LOCATION_GRAVE,0,nil)
mg2:Merge(mg1) mg2:Merge(mg1)
res=Duel.IsExistingMatchingCard(c73360025.spfilter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,nil,chkf) res=Duel.IsExistingMatchingCard(c73360025.spfilter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,nil,chkf)
if not res then if not res then
......
...@@ -9,6 +9,10 @@ function c80033124.initial_effect(c) ...@@ -9,6 +9,10 @@ function c80033124.initial_effect(c)
e1:SetOperation(c80033124.activate) e1:SetOperation(c80033124.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c80033124.ffilter0(c)
local code=c:GetCode()
return (code==41230939 or code==77625948 or code==3019642) and c:IsAbleToDeck() and not c:IsHasEffect(EFFECT_NECRO_VALLEY)
end
function c80033124.ffilter(c,e) function c80033124.ffilter(c,e)
local code=c:GetCode() local code=c:GetCode()
return (code==41230939 or code==77625948 or code==3019642) and c:IsAbleToDeck() return (code==41230939 or code==77625948 or code==3019642) and c:IsAbleToDeck()
...@@ -20,7 +24,7 @@ end ...@@ -20,7 +24,7 @@ end
function c80033124.target(e,tp,eg,ep,ev,re,r,rp,chk) function c80033124.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
if not Duel.IsExistingMatchingCard(c80033124.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) then return false end if not Duel.IsExistingMatchingCard(c80033124.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) then return false end
local g=Duel.GetMatchingGroup(c80033124.ffilter,tp,0x1e,0,nil,e) local g=Duel.GetMatchingGroup(c80033124.ffilter0,tp,0x1e,0,nil)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 and not g:IsExists(Card.IsLocation,1,nil,LOCATION_MZONE) then return false end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 and not g:IsExists(Card.IsLocation,1,nil,LOCATION_MZONE) then return false end
return g:IsExists(Card.IsCode,1,nil,41230939) return g:IsExists(Card.IsCode,1,nil,41230939)
and g:IsExists(Card.IsCode,1,nil,77625948) and g:IsExists(Card.IsCode,1,nil,77625948)
......
...@@ -36,7 +36,7 @@ end ...@@ -36,7 +36,7 @@ end
function c91584698.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c91584698.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c91584698.filter1,tp,LOCATION_MZONE,0,nil,e) local mg1=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_MZONE,0,nil)
local res=Duel.IsExistingMatchingCard(c91584698.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c91584698.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
...@@ -19,7 +19,7 @@ end ...@@ -19,7 +19,7 @@ end
function c94820406.target(e,tp,eg,ep,ev,re,r,rp,chk) function c94820406.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp local chkf=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and PLAYER_NONE or tp
local mg1=Duel.GetMatchingGroup(c94820406.filter1,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e) local mg1=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
local res=Duel.IsExistingMatchingCard(c94820406.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(c94820406.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
......
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