Commit bcd6263b authored by nanahira's avatar nanahira

revert to upstream scripts

parent cb19d46b
Pipeline #43081 passed with stages
in 1 minute and 16 seconds
...@@ -3,23 +3,14 @@ local s,id,o=GetID() ...@@ -3,23 +3,14 @@ local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
if aux.AddFusionProcShaddoll then --fusion
--old function local e0=Effect.CreateEffect(c)
local e0=Effect.CreateEffect(c) e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetType(EFFECT_TYPE_SINGLE) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e0:SetCode(EFFECT_FUSION_MATERIAL)
e0:SetCode(EFFECT_FUSION_MATERIAL) e0:SetCondition(s.FShaddollCondition)
e0:SetCondition(s.FShaddollCondition) e0:SetOperation(s.FShaddollOperation)
e0:SetOperation(s.FShaddollOperation) c:RegisterEffect(e0)
c:RegisterEffect(e0)
else
--new function
aux.AddFusionProcMix(c,false,true,
function (mc) return mc:IsFusionSetCard(0x9d) end,
function (mc) return aux.FShaddollFilter2(mc,ATTRIBUTE_DARK) end,
function (mc) return aux.FShaddollFilter2(mc,ATTRIBUTE_EARTH) end
)
end
--spsummon condition --spsummon condition
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -197,4 +197,4 @@ function c33900648.costchk(e,te_or_c,tp) ...@@ -197,4 +197,4 @@ function c33900648.costchk(e,te_or_c,tp)
end end
function c33900648.costop(e,tp,eg,ep,ev,re,r,rp) function c33900648.costop(e,tp,eg,ep,ev,re,r,rp)
Duel.PayLPCost(tp,500) Duel.PayLPCost(tp,500)
end end
\ No newline at end of file
...@@ -22,55 +22,30 @@ function c50078320.initial_effect(c) ...@@ -22,55 +22,30 @@ function c50078320.initial_effect(c)
e2:SetOperation(c50078320.regop) e2:SetOperation(c50078320.regop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c50078320.GetAnnounceFilter(ep,ev,re)
local code=Duel.GetChainInfo(ev,CHAININFO_TARGET_PARAM)
local announce_filter=re:GetHandler().announce_filter
if not announce_filter then
-- announce_filter not specified
return {code,OPCODE_ISCODE,OPCODE_NOT}
end
local function AddNotCodeCondition(t)
-- ... and not c:IsCode(code)
local afilter={table.unpack(t)}
table.insert(afilter,code)
table.insert(afilter,OPCODE_ISCODE)
table.insert(afilter,OPCODE_NOT)
table.insert(afilter,OPCODE_AND)
return afilter
end
if aux.GetValueType(announce_filter)=="function" then
-- function form
local res=announce_filter(re,ep,ev)
if res==true then
-- allow any except announced code
return {code,OPCODE_ISCODE,OPCODE_NOT}
elseif not res then
-- cannot be reannounced
return false
else
-- returns a table, so we wrap it
return AddNotCodeCondition(res)
end
else
-- table form
return AddNotCodeCondition(announce_filter)
end
end
function c50078320.condition(e,tp,eg,ep,ev,re,r,rp) function c50078320.condition(e,tp,eg,ep,ev,re,r,rp)
local ex=Duel.GetOperationInfo(ev,CATEGORY_ANNOUNCE) local ex=Duel.GetOperationInfo(ev,CATEGORY_ANNOUNCE)
return rp==1-tp and ex and c50078320.GetAnnounceFilter(ep,ev,re)~=false return rp==1-tp and ex
end end
function c50078320.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c50078320.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST) Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c50078320.operation(e,tp,eg,ep,ev,re,r,rp) function c50078320.operation(e,tp,eg,ep,ev,re,r,rp)
local afilter=c50078320.GetAnnounceFilter(ep,ev,re) local code=Duel.GetChainInfo(ev,CHAININFO_TARGET_PARAM)
if afilter==false then return end local ac=0
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE)
local ac=Duel.AnnounceCard(tp,table.unpack(afilter)) if re:GetHandler().announce_filter==nil then
--not c:IsCode(code)
ac=Duel.AnnounceCard(tp,code,OPCODE_ISCODE,OPCODE_NOT)
else
local afilter={table.unpack(re:GetHandler().announce_filter)}
--and not c:IsCode(code)
table.insert(afilter,code)
table.insert(afilter,OPCODE_ISCODE)
table.insert(afilter,OPCODE_NOT)
table.insert(afilter,OPCODE_AND)
ac=Duel.AnnounceCard(tp,table.unpack(afilter))
end
Duel.ChangeTargetParam(ev,ac) Duel.ChangeTargetParam(ev,ac)
end end
function c50078320.desfilter(c) function c50078320.desfilter(c)
......
...@@ -83,4 +83,4 @@ function c50140163.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -83,4 +83,4 @@ function c50140163.eqop(e,tp,eg,ep,ev,re,r,rp)
end end
function c50140163.repval(e,re,r,rp) function c50140163.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE)~=0 return bit.band(r,REASON_BATTLE)~=0
end end
\ No newline at end of file
...@@ -21,39 +21,12 @@ function s.initial_effect(c) ...@@ -21,39 +21,12 @@ function s.initial_effect(c)
e3:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_ANNOUNCE) e3:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_ANNOUNCE)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_FZONE) e3:SetRange(LOCATION_FZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCost(s.thcost) e3:SetCost(s.thcost)
e3:SetTarget(s.thtg) e3:SetTarget(s.thtg)
e3:SetOperation(s.thop) e3:SetOperation(s.thop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--global resetter
if not s.global_check then
s.global_check=true
s.announced={}
s.announced_set={}
s.clearop()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_PHASE_START+PHASE_DRAW)
ge1:SetOperation(s.clearop)
Duel.RegisterEffect(ge1,0)
end
end
-- workaround for Engraver
local ARTMEGIA_COUNT=4
function s.AddToAnnounced(tp,code)
table.insert(s.announced[tp],code)
s.announced_set[tp][code]=true
end
function s.clearop()
s.announced[0]={}
s.announced[1]={}
s.announced_set[0]={}
s.announced_set[1]={}
end end
function s.costfilter(c) function s.costfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsDiscardable() return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsDiscardable()
end end
...@@ -63,7 +36,8 @@ function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -63,7 +36,8 @@ function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function s.anfilter(c,tp) function s.anfilter(c,tp)
return c:IsSetCard(0x1cd) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return c:IsSetCard(0x1cd) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
and not s.announced_set[tp][c:GetCode()] and not Duel.IsExistingMatchingCard(s.anexfilter,tp,LOCATION_MZONE,0,1,nil,c:GetCode())
and not c:IsHasEffect(id,tp)
end end
function s.anexfilter(c,code) function s.anexfilter(c,code)
return c:IsFaceup() and c:IsCode(code) return c:IsFaceup() and c:IsCode(code)
...@@ -72,51 +46,19 @@ function s.thfilter(c,code) ...@@ -72,51 +46,19 @@ function s.thfilter(c,code)
return c:IsSetCard(0x1cd) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return c:IsSetCard(0x1cd) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
and c:IsCode(code) and c:IsCode(code)
end end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
function s.CreateCodeList(g,list,exg,exlist) if chk==0 then return Duel.IsExistingMatchingCard(s.anfilter,tp,LOCATION_DECK,0,1,nil,tp) end
local g=Duel.GetMatchingGroup(s.anfilter,tp,LOCATION_DECK,0,nil,tp)
local ag=Group.CreateGroup()
local codes={} local codes={}
local existing={} for c in aux.Next(g) do
-- exclude group local code=c:GetCode()
if exg then if not ag:IsExists(Card.IsCode,1,nil,code) then
for c in aux.Next(exg) do ag:AddCard(c)
local code=c:GetCode() table.insert(codes,code)
existing[code]=true
end
end
-- exclude list
if exlist then
for _,code in ipairs(exlist) do
existing[code]=true
end
end
-- add group
if g then
for c in aux.Next(g) do
local code=c:GetCode()
if not existing[code] then
existing[code]=true
table.insert(codes,code)
end
end
end
-- add list
if list then
for _,code in ipairs(list) do
if not existing[code] then
existing[code]=true
table.insert(codes,code)
end
end end
end end
table.sort(codes) table.sort(codes)
return codes
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(s.anfilter,tp,LOCATION_DECK,0,nil,tp)
local exg=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil)
local codes=s.CreateCodeList(g,nil,exg,nil)
if chk==0 then return #codes>0 end
local afilter={codes[1],OPCODE_ISCODE} local afilter={codes[1],OPCODE_ISCODE}
if #codes>1 then if #codes>1 then
--or ... or c:IsCode(codes[i]) --or ... or c:IsCode(codes[i])
...@@ -126,13 +68,41 @@ function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -126,13 +68,41 @@ function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
table.insert(afilter,OPCODE_OR) table.insert(afilter,OPCODE_OR)
end end
end end
ag:Clear()
local ncodes={}
local exg=Duel.GetMatchingGroup(aux.AND(Card.IsFaceup,Card.IsSetCard),tp,LOCATION_MZONE,0,nil,0x1cd)
for c in aux.Next(exg) do
local code=c:GetCode()
if not ag:IsExists(Card.IsCode,1,nil,code) then
ag:AddCard(c)
table.insert(ncodes,code)
end
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE)
local ac=Duel.AnnounceCard(tp,table.unpack(afilter)) local ac=Duel.AnnounceCard(tp,table.unpack(afilter))
s.AddToAnnounced(tp,ac) local af={
TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK,OPCODE_ISTYPE,OPCODE_NOT,
0x1cd,OPCODE_ISSETCARD,OPCODE_AND,
TYPE_MONSTER,OPCODE_ISTYPE,OPCODE_AND
}
for i=1,#ncodes do
table.insert(af,ncodes[i])
table.insert(af,OPCODE_ISCODE)
table.insert(af,OPCODE_NOT)
table.insert(af,OPCODE_AND)
end
getmetatable(e:GetHandler()).announce_filter=af
Duel.SetTargetParam(ac) Duel.SetTargetParam(ac)
getmetatable(e:GetHandler()).announce_filter=s.announce_filter_func
Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,0) Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
local e0=Effect.CreateEffect(e:GetHandler())
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(id)
e0:SetTargetRange(1,0)
e0:SetTarget(s.thlimit)
e0:SetLabel(ac)
e0:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e0,tp)
end end
function s.thlimit(e,c,tp,re) function s.thlimit(e,c,tp,re)
return c:IsCode(e:GetLabel()) return c:IsCode(e:GetLabel())
...@@ -157,23 +127,3 @@ end ...@@ -157,23 +127,3 @@ end
function s.splimit(e,c) function s.splimit(e,c)
return not (c:IsSetCard(0x1cd) or c:IsCode(97556336)) and not c:IsLocation(LOCATION_EXTRA) return not (c:IsSetCard(0x1cd) or c:IsCode(97556336)) and not c:IsLocation(LOCATION_EXTRA)
end end
function s.announce_filter_func(e,tp,ev)
local exg=Duel.GetMatchingGroup(aux.AND(Card.IsFaceup,Card.IsSetCard),tp,LOCATION_MZONE,0,nil,0x1cd)
local ncodes=s.CreateCodeList(exg,s.announced[tp],nil,nil)
if #ncodes>=ARTMEGIA_COUNT then
return false
end
local af={
TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK,OPCODE_ISTYPE,OPCODE_NOT,
0x1cd,OPCODE_ISSETCARD,OPCODE_AND,
TYPE_MONSTER,OPCODE_ISTYPE,OPCODE_AND
}
for i=1,#ncodes do
table.insert(af,ncodes[i])
table.insert(af,OPCODE_ISCODE)
table.insert(af,OPCODE_NOT)
table.insert(af,OPCODE_AND)
end
return af
end
...@@ -2,16 +2,6 @@ ...@@ -2,16 +2,6 @@
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,94820406,72043279) aux.AddCodeList(c,94820406,72043279)
--- fusion effect
local e0=FusionSpell.CreateSummonEffect(c,{
fusfilter=s.fusfilter,
pre_select_mat_location=LOCATION_MZONE|LOCATION_GRAVE|LOCATION_REMOVED,
mat_operation_code_map={
{ [LOCATION_DECK]=FusionSpell.FUSION_OPERATION_GRAVE },
{ [0xff]=FusionSpell.FUSION_OPERATION_SHUFFLE }
},
sumtype=SUMMON_VALUE_DARK_FUSION
})
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(id,0))
...@@ -19,19 +9,32 @@ function s.initial_effect(c) ...@@ -19,19 +9,32 @@ function s.initial_effect(c)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_FUSION_SUMMON) e1:SetProperty(EFFECT_FLAG_FUSION_SUMMON)
e1:SetTarget(s.target) e1:SetTarget(s.target)
e1:SetLabelObject(e0)
e1:SetOperation(s.operation) e1:SetOperation(s.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
s.fusion_effect=true
function s.fusfilter(c) function s.filter1(c,e)
return c.dark_calling==true return (c:IsLocation(LOCATION_ONFIELD+LOCATION_GRAVE) or c:IsFaceup()) and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck()
and not c:IsImmuneToEffect(e)
end
function s.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c.dark_calling and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_VALUE_DARK_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk) function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
local fusion_effect=e:GetLabelObject() local chkf=tp
local mg=Duel.GetMatchingGroup(s.filter1,tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e)
local b0=Duel.GetFlagEffect(tp,id)==0 or not e:IsCostChecked() local b0=Duel.GetFlagEffect(tp,id)==0 or not e:IsCostChecked()
local b1=b0 and fusion_effect:GetTarget()(e,tp,eg,ep,ev,re,r,rp,0) local b1=b0 and Duel.IsExistingMatchingCard(s.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg,nil,chkf)
if b0 and not b1 then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
b1=Duel.IsExistingMatchingCard(s.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg3,mf,chkf)
end
end
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 (Duel.GetFlagEffect(tp,id+o)==0 or not e:IsCostChecked()) and (Duel.GetFlagEffect(tp,id+o)==0 or not e:IsCostChecked())
if chk==0 then return b1 or b2 end if chk==0 then return b1 or b2 end
...@@ -73,16 +76,56 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -73,16 +76,56 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
s.thop(e,tp,eg,ep,ev,re,r,rp) s.thop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function s.fsop(e,tp,eg,ep,ev,re,r,rp) function s.fsop(e,tp,eg,ep,ev,re,r,rp)
local fusion_effect=e:GetLabelObject() local chkf=tp
fusion_effect:GetOperation()(e,tp,eg,ep,ev,re,r,rp) local mg=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.filter1),tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e)
local sg1=Duel.GetMatchingGroup(s.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg,nil,chkf)
local mg3=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(s.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg3,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
::cancel::
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or (ce and not Duel.SelectYesNo(tp,ce:GetDescription()))) then
local mat=Duel.SelectFusionMaterial(tp,tc,mg,nil,chkf)
if #mat==0 then goto cancel end
tc:SetMaterial(mat)
if mat:IsExists(Card.IsFacedown,1,nil) then
local cg=mat:Filter(Card.IsFacedown,nil)
Duel.ConfirmCards(1-tp,cg)
end
if mat:Filter(s.cfilter,nil):GetCount()>0 then
local cg=mat:Filter(s.cfilter,nil)
Duel.HintSelection(cg)
end
Duel.SendtoDeck(mat,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_VALUE_DARK_FUSION,tp,tp,false,false,POS_FACEUP)
elseif ce~=nil then
local mat2=Duel.SelectFusionMaterial(tp,tc,mg3,nil,chkf)
if #mat2==0 then goto cancel end
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2,SUMMON_VALUE_DARK_FUSION)
end
tc:CompleteProcedure()
end
end
function s.cfilter(c)
return c:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) or (c:IsLocation(LOCATION_MZONE) and c:IsFaceup())
end end
function s.thfilter2(c) function s.thfilter2(c)
return c:IsCode(94820406,72043279) and c:IsAbleToHand() return c:IsCode(94820406,72043279) and c:IsAbleToHand()
end end
function s.thop(e,tp,eg,ep,ev,re,r,rp) function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,s.thfilter2,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,s.thfilter2,tp,LOCATION_DECK,0,1,1,nil)
......
...@@ -102,4 +102,4 @@ function c87257460.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -102,4 +102,4 @@ function c87257460.spop(e,tp,eg,ep,ev,re,r,rp)
if tc then if tc then
Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)
end end
end end
\ No newline at end of file
...@@ -3,14 +3,8 @@ local s,id,o=GetID() ...@@ -3,14 +3,8 @@ local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
-- using new function --fusion
if aux.AddFusionProcShaddoll then aux.AddFusionProcShaddoll(c,ATTRIBUTE_WIND)
--old function
aux.AddFusionProcShaddoll(c,ATTRIBUTE_WIND)
else
--new function
aux.AddFusionProcFun2(c,function (mc) return mc:IsFusionSetCard(0x9d) end, function (mc) return aux.FShaddollFilter2(mc,ATTRIBUTE_WIND) end, true)
end
--cannot spsummon --cannot spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
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