Commit ac95b63e authored by VanillaSalt's avatar VanillaSalt

fix

parent 5fb55533
...@@ -51,8 +51,8 @@ end ...@@ -51,8 +51,8 @@ end
function c1516510.efilter(e,re) function c1516510.efilter(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer() return e:GetOwnerPlayer()~=re:GetOwnerPlayer()
end end
function c1516510.lvfilter(c) function c1516510.lvfilter(c,fc)
return c:IsCode(16178681) or c:IsHasEffect(EFFECT_FUSION_SUBSTITUTE) return c:IsCode(16178681) or c:CheckFusionSubstitute(fc)
end end
function c1516510.imfilter(c) function c1516510.imfilter(c)
return c:IsLocation(LOCATION_MZONE) and c:GetSummonType()==SUMMON_TYPE_PENDULUM return c:IsLocation(LOCATION_MZONE) and c:GetSummonType()==SUMMON_TYPE_PENDULUM
...@@ -62,7 +62,7 @@ function c1516510.valcheck(e,c) ...@@ -62,7 +62,7 @@ function c1516510.valcheck(e,c)
local flag=0 local flag=0
if g:GetCount()==2 then if g:GetCount()==2 then
local lv=0 local lv=0
local lg1=g:Filter(c1516510.lvfilter,nil) local lg1=g:Filter(c1516510.lvfilter,nil,c)
local lg2=g:Filter(Card.IsRace,nil,RACE_SPELLCASTER) local lg2=g:Filter(Card.IsRace,nil,RACE_SPELLCASTER)
if lg1:GetCount()==2 then if lg1:GetCount()==2 then
lv=lg2:GetFirst():GetOriginalLevel() lv=lg2:GetFirst():GetOriginalLevel()
......
--パラサイト・フュージョナー --パラサイト・フュージョナー
--Effect is not fully implemented
function c6205579.initial_effect(c) function c6205579.initial_effect(c)
--cannot be material --fusion substitute
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetCode(EFFECT_FUSION_SUBSTITUTE)
e1:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL) e1:SetCondition(c6205579.subcon)
e1:SetValue(c6205579.splimit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--fusion substitute local e2=e1:Clone()
local e2=Effect.CreateEffect(c) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetCode(6205579)
e2:SetCode(EFFECT_FUSION_SUBSTITUTE)
e2:SetCondition(c6205579.subcon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--special summon --special summon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -26,10 +22,6 @@ function c6205579.initial_effect(c) ...@@ -26,10 +22,6 @@ function c6205579.initial_effect(c)
e3:SetOperation(c6205579.spop) e3:SetOperation(c6205579.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c6205579.splimit(e,c)
if not c then return false end
return not c.material
end
function c6205579.subcon(e) function c6205579.subcon(e)
return e:GetHandler():IsLocation(LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE) return e:GetHandler():IsLocation(LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE)
end end
......
...@@ -39,7 +39,7 @@ function c72926163.valcheck(e,c) ...@@ -39,7 +39,7 @@ function c72926163.valcheck(e,c)
local g=c:GetMaterial() local g=c:GetMaterial()
local atk=0 local atk=0
local tc=g:GetFirst() local tc=g:GetFirst()
if tc:IsCode(89943723) or tc:IsHasEffect(EFFECT_FUSION_SUBSTITUTE) then tc=g:GetNext() end if tc:IsCode(89943723) or tc:CheckFusionSubstitute(c) then tc=g:GetNext() end
if not tc:IsCode(89943723) then if not tc:IsCode(89943723) then
atk=tc:GetTextAttack()/2 atk=tc:GetTextAttack()/2
end end
......
...@@ -796,6 +796,7 @@ function Auxiliary.AddFusionProcCodeFun(c,code1,f,cc,sub,insf) ...@@ -796,6 +796,7 @@ function Auxiliary.AddFusionProcCodeFun(c,code1,f,cc,sub,insf)
mt.material_count=1 mt.material_count=1
mt.material={code1} mt.material={code1}
end end
local f=function(c) return f(c) and not c:IsHasEffect(6205579) end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
...@@ -940,6 +941,8 @@ function Auxiliary.FOperationCodeFun(code,f,cc,sub,insf) ...@@ -940,6 +941,8 @@ function Auxiliary.FOperationCodeFun(code,f,cc,sub,insf)
end end
--Fusion monster, condition + condition --Fusion monster, condition + condition
function Auxiliary.AddFusionProcFun2(c,f1,f2,insf) function Auxiliary.AddFusionProcFun2(c,f1,f2,insf)
local f1=function(c) return f1(c) and not c:IsHasEffect(6205579) end
local f2=function(c) return f2(c) and not c:IsHasEffect(6205579) end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
...@@ -1018,6 +1021,7 @@ function Auxiliary.AddFusionProcCodeRep(c,code1,cc,sub,insf) ...@@ -1018,6 +1021,7 @@ function Auxiliary.AddFusionProcCodeRep(c,code1,cc,sub,insf)
mt.material_count=1 mt.material_count=1
mt.material={code1} mt.material={code1}
end end
local f=function(c) return f(c) and not c:IsHasEffect(6205579) end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
...@@ -1082,6 +1086,7 @@ function Auxiliary.FOperationCodeRep(code,cc,sub,insf) ...@@ -1082,6 +1086,7 @@ function Auxiliary.FOperationCodeRep(code,cc,sub,insf)
end end
--Fusion monster, condition * n --Fusion monster, condition * n
function Auxiliary.AddFusionProcFunRep(c,f,cc,insf) function Auxiliary.AddFusionProcFunRep(c,f,cc,insf)
local f=function(c) return f(c) and not c:IsHasEffect(6205579) end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
...@@ -1133,6 +1138,8 @@ function Auxiliary.FOperationFunRep(f,cc,insf) ...@@ -1133,6 +1138,8 @@ function Auxiliary.FOperationFunRep(f,cc,insf)
end end
--Fusion monster, condition1 + condition2 * minc to maxc --Fusion monster, condition1 + condition2 * minc to maxc
function Auxiliary.AddFusionProcFunFunRep(c,f1,f2,minc,maxc,insf) function Auxiliary.AddFusionProcFunFunRep(c,f1,f2,minc,maxc,insf)
local f1=function(c) return f1(c) and not c:IsHasEffect(6205579) end
local f2=function(c) return f2(c) and not c:IsHasEffect(6205579) end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
...@@ -1285,6 +1292,7 @@ function Auxiliary.AddFusionProcCodeFunRep(c,code1,f,minc,maxc,sub,insf) ...@@ -1285,6 +1292,7 @@ function Auxiliary.AddFusionProcCodeFunRep(c,code1,f,minc,maxc,sub,insf)
mt.material_count=1 mt.material_count=1
mt.material={code1} mt.material={code1}
end end
local f=function(c) return f(c) and not c:IsHasEffect(6205579) end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
......
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