--Change aux function to repair bug in multiple other material link
function rscf.LCheckOtherMaterial2(c, mg, lc, tp)
local le = { c:IsHasEffect(EFFECT_EXTRA_LINK_MATERIAL, tp) }
if #le == 0 then return true end
for _, te in pairs(le) do
local f = te:GetValue()
if not f or f(te, lc, mg) then return true end
end
return false
end
--Card / Summon function: Special Link Summon Procedure
--Custom Link Materials' Action
function rscf.AddLinkProcedureSpecial_CustomAction(c, actionfun, ...)
if c:IsStatus(STATUS_COPYING_EFFECT) then return end
if not c.rs_link_material_action then
local mt = getmetatable(c)
mt.rs_link_material_action = actionfun
end
local e1 = rscf.AddLinkProcedureSpecial(c, ...)
return e1
end
function rscf.LinkMaterialAction(c, actionfun)
if c:IsStatus(STATUS_COPYING_EFFECT) then return end
if not c.rs_link_material_action then
local mt = getmetatable(c)
mt.rs_link_material_action = actionfun
end
end
--Card effect: Set field info
functionrscf.SetFieldInfo(c)
...
...
@@ -4498,13 +4105,13 @@ end
functionrscf.spfilter(f,...)
localext_paramms={...}
returnfunction(c,e,tp)
return c:IsCanBeSpecialSummoned(e, 0, tp, false, false) and (not f or f(c, table.unpack(rsof.Table_Mix(ext_paramms, { e, tp })))) and c:IsType(TYPE_MONSTER)
return c:IsCanBeSpecialSummoned(e, 0, tp, false, false) and (not f or f(c, table.unpack(rsof.Table_Mix(ext_paramms, { e, tp })))) and rszsf.GetUseAbleMZoneCount(c, tp) > 0 and c:IsType(TYPE_MONSTER)