Commit 7c291c8e authored by VanillaSalt's avatar VanillaSalt

update

parent ece8728c
...@@ -3,17 +3,13 @@ function c14943837.initial_effect(c) ...@@ -3,17 +3,13 @@ function c14943837.initial_effect(c)
--synchro custom --synchro custom
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SYNCHRO_MATERIAL_CUSTOM) e1:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetTarget(c14943837.syntg) e1:SetValue(c14943837.synlimit)
e1:SetValue(1)
e1:SetOperation(c14943837.synop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=e1:Clone()
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetCode(EFFECT_TUNER_MATERIAL_LIMIT)
e2:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL) e2:SetTarget(c14943837.synlimit2)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetValue(c14943837.synlimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--summon success --summon success
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -33,23 +29,8 @@ end ...@@ -33,23 +29,8 @@ end
function c14943837.tuner_filter(c) function c14943837.tuner_filter(c)
return c:GetLevel()~=4 return c:GetLevel()~=4
end end
function c14943837.synfilter(c,syncard,tuner,f) function c14943837.synlimit2(e,c)
return c:IsFaceup() and c:IsNotTuner() and c:IsCanBeSynchroMaterial(syncard,tuner) and c:GetLevel()~=4 and (f==nil or f(c)) return c:GetLevel()~=4
end
function c14943837.syntg(e,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
if lv<=0 then return false end
local g=Duel.GetMatchingGroup(c14943837.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
return g:CheckWithSumEqual(Card.GetSynchroLevel,lv,minc,maxc,syncard)
end
function c14943837.synop(e,tp,eg,ep,ev,re,r,rp,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
local g=Duel.GetMatchingGroup(c14943837.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local sg=g:SelectWithSumEqual(tp,Card.GetSynchroLevel,lv,minc,maxc,syncard)
Duel.SetSynchroMaterial(sg)
end end
function c14943837.filter2(c,e,sp) function c14943837.filter2(c,e,sp)
return c:IsAttackBelow(500) and c:IsCanBeSpecialSummoned(e,0,sp,false,false) return c:IsAttackBelow(500) and c:IsCanBeSpecialSummoned(e,0,sp,false,false)
......
...@@ -3,11 +3,10 @@ function c16825874.initial_effect(c) ...@@ -3,11 +3,10 @@ function c16825874.initial_effect(c)
--synchro custom --synchro custom
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SYNCHRO_MATERIAL_CUSTOM) e1:SetCode(EFFECT_TUNER_MATERIAL_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetTarget(c16825874.target) e1:SetTargetRange(1,1)
e1:SetValue(1) e1:SetValue(LOCATION_HAND)
e1:SetOperation(c16825874.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--be material --be material
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -25,21 +24,6 @@ function c16825874.initial_effect(c) ...@@ -25,21 +24,6 @@ function c16825874.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c16825874.tuner_filter=aux.FALSE c16825874.tuner_filter=aux.FALSE
function c16825874.filter(c,syncard,tuner,f,lv)
return c:IsNotTuner() and c:IsCanBeSynchroMaterial(syncard,tuner) and (f==nil or f(c)) and c:GetLevel()==lv
end
function c16825874.target(e,syncard,f,minc,maxc)
if minc>1 then return false end
local lv=syncard:GetLevel()-e:GetHandler():GetLevel()
if lv<=0 then return false end
return Duel.IsExistingMatchingCard(c16825874.filter,syncard:GetControler(),LOCATION_HAND,0,1,nil,syncard,e:GetHandler(),f,lv)
end
function c16825874.operation(e,tp,eg,ep,ev,re,r,rp,syncard,f,minc,maxc)
local lv=syncard:GetLevel()-e:GetHandler():GetLevel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local g=Duel.SelectMatchingCard(tp,c16825874.filter,tp,LOCATION_HAND,0,1,1,nil,syncard,e:GetHandler(),f,lv)
Duel.SetSynchroMaterial(g)
end
function c16825874.ccon(e,tp,eg,ep,ev,re,r,rp) function c16825874.ccon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_SYNCHRO return r==REASON_SYNCHRO
end end
......
...@@ -3,30 +3,12 @@ function c37953640.initial_effect(c) ...@@ -3,30 +3,12 @@ function c37953640.initial_effect(c)
--synchro custom --synchro custom
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SYNCHRO_MATERIAL_CUSTOM) e1:SetCode(EFFECT_TUNER_MATERIAL_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetTarget(c37953640.syntg) e1:SetTarget(c37953640.synlimit)
e1:SetValue(1)
e1:SetOperation(c37953640.synop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c37953640.tuner_filter=aux.FilterBoolFunction(Card.IsRace,RACE_FISH) c37953640.tuner_filter=aux.FilterBoolFunction(Card.IsRace,RACE_FISH)
function c37953640.synfilter(c,syncard,tuner,f) function c37953640.synlimit(e,c)
return c:IsFaceup() and c:IsNotTuner() and c:IsCanBeSynchroMaterial(syncard,tuner) and c:IsRace(RACE_FISH) and (f==nil or f(c)) return c:IsRace(RACE_FISH)
end
function c37953640.syntg(e,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
if lv<=0 then return false end
local g=Duel.GetMatchingGroup(c37953640.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
local res=g:CheckWithSumEqual(Card.GetSynchroLevel,lv,minc,maxc,syncard)
return res
end
function c37953640.synop(e,tp,eg,ep,ev,re,r,rp,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
local g=Duel.GetMatchingGroup(c37953640.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local sg=g:SelectWithSumEqual(tp,Card.GetSynchroLevel,lv,minc,maxc,syncard)
Duel.SetSynchroMaterial(sg)
end end
...@@ -3,30 +3,21 @@ function c56897896.initial_effect(c) ...@@ -3,30 +3,21 @@ function c56897896.initial_effect(c)
--synchro custom --synchro custom
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SYNCHRO_MATERIAL_CUSTOM) e1:SetCode(EFFECT_TUNER_MATERIAL_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetTarget(c56897896.syntg) e1:SetTarget(c56897896.synlimit)
e1:SetValue(1)
e1:SetOperation(c56897896.synop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SYNCHRO_CHECK)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetValue(c56897896.syncheck)
c:RegisterEffect(e2)
end end
c56897896.tuner_filter=aux.FALSE c56897896.tuner_filter=aux.FALSE
function c56897896.synfilter(c,syncard,tuner,f) function c56897896.synlimit(e,c)
return c:IsFaceup() and c:IsNotTuner() and c:IsCanBeSynchroMaterial(syncard,tuner) return c:IsLevelBelow(4) and c:IsRace(RACE_WARRIOR+RACE_MACHINE)
and c:IsLevelBelow(4) and c:IsRace(RACE_WARRIOR+RACE_MACHINE) and (f==nil or f(c))
end end
function c56897896.syntg(e,syncard,f,minc,maxc) function c56897896.syncheck(e,c)
local c=e:GetHandler() c:AssumeProperty(ASSUME_LEVEL,1)
local lv=syncard:GetLevel()-c:GetLevel()
if lv<=0 then return false end
local g=Duel.GetMatchingGroup(c56897896.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
return lv>=minc and lv<=maxc and g:GetCount()>=lv
end
function c56897896.synop(e,tp,eg,ep,ev,re,r,rp,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
local g=Duel.GetMatchingGroup(c56897896.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local sg=g:Select(tp,lv,lv,nil)
Duel.SetSynchroMaterial(sg)
end end
...@@ -3,11 +3,9 @@ function c61777313.initial_effect(c) ...@@ -3,11 +3,9 @@ function c61777313.initial_effect(c)
--synchro custom --synchro custom
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SYNCHRO_MATERIAL_CUSTOM) e1:SetCode(EFFECT_TUNER_MATERIAL_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetTarget(c61777313.syntg) e1:SetTarget(c61777313.synlimit)
e1:SetValue(1)
e1:SetOperation(c61777313.synop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--level change --level change
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -22,23 +20,8 @@ end ...@@ -22,23 +20,8 @@ end
function c61777313.tuner_filter(c) function c61777313.tuner_filter(c)
return c:IsSetCard(0x42) return c:IsSetCard(0x42)
end end
function c61777313.synfilter(c,syncard,tuner,f) function c61777313.synlimit(e,c)
return c:IsFaceup() and c:IsNotTuner() and c:IsCanBeSynchroMaterial(syncard,tuner) and c:IsSetCard(0x42) and (f==nil or f(c)) return c:IsSetCard(0x42)
end
function c61777313.syntg(e,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
if lv<=0 then return false end
local g=Duel.GetMatchingGroup(c61777313.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
return g:CheckWithSumEqual(Card.GetSynchroLevel,lv,minc,maxc,syncard)
end
function c61777313.synop(e,tp,eg,ep,ev,re,r,rp,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
local g=Duel.GetMatchingGroup(c61777313.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local sg=g:SelectWithSumEqual(tp,Card.GetSynchroLevel,lv,minc,maxc,syncard)
Duel.SetSynchroMaterial(sg)
end end
function c61777313.cfilter(c,lv) function c61777313.cfilter(c,lv)
local clv=c:GetLevel() local clv=c:GetLevel()
......
...@@ -14,11 +14,9 @@ function c67038874.initial_effect(c) ...@@ -14,11 +14,9 @@ function c67038874.initial_effect(c)
--synchro custom --synchro custom
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SYNCHRO_MATERIAL_CUSTOM) e2:SetCode(EFFECT_TUNER_MATERIAL_LIMIT)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetTarget(c67038874.syntg) e2:SetTarget(c67038874.synlimit)
e2:SetValue(1)
e2:SetOperation(c67038874.synop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c67038874.condition(e,tp,eg,ep,ev,re,r,rp) function c67038874.condition(e,tp,eg,ep,ev,re,r,rp)
...@@ -52,22 +50,6 @@ end ...@@ -52,22 +50,6 @@ end
function c67038874.tuner_filter(c) function c67038874.tuner_filter(c)
return c:IsSetCard(0x24) return c:IsSetCard(0x24)
end end
function c67038874.synfilter(c,syncard,tuner,f) function c67038874.synlimit(e,c)
return c:IsFaceup() and c:IsNotTuner() and c:IsCanBeSynchroMaterial(syncard,tuner) and c:IsSetCard(0x24) and (f==nil or f(c)) return c:IsSetCard(0x24)
end
function c67038874.syntg(e,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
if lv<=0 then return false end
local g=Duel.GetMatchingGroup(c67038874.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
local res=g:CheckWithSumEqual(Card.GetSynchroLevel,lv,minc,maxc,syncard)
return res
end
function c67038874.synop(e,tp,eg,ep,ev,re,r,rp,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
local g=Duel.GetMatchingGroup(c67038874.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local sg=g:SelectWithSumEqual(tp,Card.GetSynchroLevel,lv,minc,maxc,syncard)
Duel.SetSynchroMaterial(sg)
end end
...@@ -23,15 +23,6 @@ function c67489919.initial_effect(c) ...@@ -23,15 +23,6 @@ function c67489919.initial_effect(c)
e3:SetTarget(c67489919.sptg) e3:SetTarget(c67489919.sptg)
e3:SetOperation(c67489919.spop) e3:SetOperation(c67489919.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--synchro custom
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_SYNCHRO_MATERIAL_CUSTOM)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e4:SetTarget(c67489919.syntg)
e4:SetValue(1)
e4:SetOperation(c67489919.synop)
c:RegisterEffect(e4)
--synlimit --synlimit
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
...@@ -39,6 +30,11 @@ function c67489919.initial_effect(c) ...@@ -39,6 +30,11 @@ function c67489919.initial_effect(c)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e5:SetValue(c67489919.synlimit) e5:SetValue(c67489919.synlimit)
c:RegisterEffect(e5) c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_TUNER_MATERIAL_LIMIT)
e6:SetTarget(c67489919.synlimit2)
e6:SetValue(LOCATION_MZONE+LOCATION_HAND)
c:RegisterEffect(e6)
end end
function c67489919.indcon(e) function c67489919.indcon(e)
return Duel.IsExistingMatchingCard(Card.IsType,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil,TYPE_TOKEN) return Duel.IsExistingMatchingCard(Card.IsType,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil,TYPE_TOKEN)
...@@ -64,26 +60,10 @@ function c67489919.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,26 +60,10 @@ function c67489919.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c67489919.synfilter(c,syncard,tuner,f)
return (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and c:IsSetCard(0x101b) and c:IsNotTuner()
and c:IsCanBeSynchroMaterial(syncard,tuner) and (f==nil or f(c))
end
function c67489919.syntg(e,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
if lv<=0 then return false end
local g=Duel.GetMatchingGroup(c67489919.synfilter,syncard:GetControler(),LOCATION_MZONE+LOCATION_HAND,LOCATION_MZONE,c,syncard,c,f)
return g:CheckWithSumEqual(Card.GetSynchroLevel,lv,minc,maxc,syncard)
end
function c67489919.synop(e,tp,eg,ep,ev,re,r,rp,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
local g=Duel.GetMatchingGroup(c67489919.synfilter,syncard:GetControler(),LOCATION_MZONE+LOCATION_HAND,LOCATION_MZONE,c,syncard,c,f)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local sg=g:SelectWithSumEqual(tp,Card.GetSynchroLevel,lv,minc,maxc,syncard)
Duel.SetSynchroMaterial(sg)
end
function c67489919.synlimit(e,c) function c67489919.synlimit(e,c)
if not c then return false end if not c then return false end
return not c:IsRace(RACE_MACHINE) return not c:IsRace(RACE_MACHINE)
end end
function c67489919.synlimit2(e,c)
return c:IsSetCard(0x101b)
end
...@@ -3,30 +3,14 @@ function c73417207.initial_effect(c) ...@@ -3,30 +3,14 @@ function c73417207.initial_effect(c)
--synchro custom --synchro custom
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SYNCHRO_MATERIAL_CUSTOM) e1:SetCode(EFFECT_TUNER_MATERIAL_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetTarget(c73417207.target) e1:SetTarget(c73417207.synlimit)
e1:SetValue(1) e1:SetTargetRange(2,2)
e1:SetOperation(c73417207.operation) e1:SetValue(LOCATION_HAND)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c73417207.tuner_filter=aux.FALSE c73417207.tuner_filter=aux.FALSE
function c73417207.filter(c,syncard,tuner,f) function c73417207.synlimit(e,c)
return c:IsSetCard(0x42) and c:IsNotTuner() and c:IsCanBeSynchroMaterial(syncard,tuner) and (f==nil or f(c)) return c:IsSetCard(0x42)
end
function c73417207.target(e,syncard,f,minc,maxc)
local c=e:GetHandler()
if minc>2 or maxc<2 then return false end
local lv=syncard:GetLevel()-c:GetLevel()
if lv<=0 then return false end
local g=Duel.GetMatchingGroup(c73417207.filter,syncard:GetControler(),LOCATION_HAND,0,c,syncard,c,f)
return g:CheckWithSumEqual(Card.GetSynchroLevel,lv,2,2,syncard)
end
function c73417207.operation(e,tp,eg,ep,ev,re,r,rp,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
local g=Duel.GetMatchingGroup(c73417207.filter,syncard:GetControler(),LOCATION_HAND,0,c,syncard,c,f)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local sg=g:SelectWithSumEqual(tp,Card.GetSynchroLevel,lv,2,2,syncard)
Duel.SetSynchroMaterial(sg)
end end
...@@ -26,11 +26,9 @@ function c73941492.initial_effect(c) ...@@ -26,11 +26,9 @@ function c73941492.initial_effect(c)
--synchro custom --synchro custom
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_SYNCHRO_MATERIAL_CUSTOM) e4:SetCode(EFFECT_TUNER_MATERIAL_LIMIT)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e4:SetTarget(c73941492.syntg) e4:SetTarget(c73941492.synlimit)
e4:SetValue(1)
e4:SetOperation(c73941492.synop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--fusion and xyz custom not implemented --fusion and xyz custom not implemented
--local e5=Effect.CreateEffect(c) --local e5=Effect.CreateEffect(c)
...@@ -56,6 +54,9 @@ end ...@@ -56,6 +54,9 @@ end
function c73941492.tuner_filter(c) function c73941492.tuner_filter(c)
return c:IsSetCard(0x98) and c:IsType(TYPE_PENDULUM) return c:IsSetCard(0x98) and c:IsType(TYPE_PENDULUM)
end end
function c73941492.synlimit(e,c)
return c:IsSetCard(0x98) and c:IsType(TYPE_PENDULUM)
end
function c73941492.atkfilter(c) function c73941492.atkfilter(c)
return c:IsFaceup() and c:IsSetCard(0x98) and c:IsType(TYPE_PENDULUM) return c:IsFaceup() and c:IsSetCard(0x98) and c:IsType(TYPE_PENDULUM)
end end
...@@ -63,25 +64,6 @@ function c73941492.atkval(e,c) ...@@ -63,25 +64,6 @@ function c73941492.atkval(e,c)
local g=Duel.GetMatchingGroup(c73941492.atkfilter,c:GetControler(),LOCATION_EXTRA,0,nil) local g=Duel.GetMatchingGroup(c73941492.atkfilter,c:GetControler(),LOCATION_EXTRA,0,nil)
return g:GetClassCount(Card.GetCode)*100 return g:GetClassCount(Card.GetCode)*100
end end
function c73941492.synfilter(c,syncard,tuner,f)
return c:IsFaceup() and c:IsNotTuner() and c:IsCanBeSynchroMaterial(syncard,tuner) and c:IsSetCard(0x98) and c:IsType(TYPE_PENDULUM) and (f==nil or f(c))
end
function c73941492.syntg(e,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
if lv<=0 then return false end
local g=Duel.GetMatchingGroup(c73941492.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
local res=g:CheckWithSumEqual(Card.GetSynchroLevel,lv,minc,maxc,syncard)
return res
end
function c73941492.synop(e,tp,eg,ep,ev,re,r,rp,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
local g=Duel.GetMatchingGroup(c73941492.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local sg=g:SelectWithSumEqual(tp,Card.GetSynchroLevel,lv,minc,maxc,syncard)
Duel.SetSynchroMaterial(sg)
end
function c73941492.spcon(e,tp,eg,ep,ev,re,r,rp) function c73941492.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:GetSummonType()==SUMMON_TYPE_PENDULUM and c:IsPreviousLocation(LOCATION_HAND) return c:GetSummonType()==SUMMON_TYPE_PENDULUM and c:IsPreviousLocation(LOCATION_HAND)
......
...@@ -3,28 +3,14 @@ function c74509280.initial_effect(c) ...@@ -3,28 +3,14 @@ function c74509280.initial_effect(c)
--synchro custom --synchro custom
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SYNCHRO_MATERIAL_CUSTOM) e1:SetCode(EFFECT_TUNER_MATERIAL_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetTarget(c74509280.target) e1:SetTarget(c74509280.synlimit)
e1:SetValue(1) e1:SetTargetRange(1,1)
e1:SetOperation(c74509280.operation) e1:SetValue(LOCATION_HAND)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c74509280.tuner_filter=aux.FALSE c74509280.tuner_filter=aux.FALSE
function c74509280.synfilter(c,syncard,tuner,f,lv) function c74509280.synlimit(e,c)
return c:IsSetCard(0x23) and c:IsCanBeSynchroMaterial(syncard,tuner) and (f==nil or f(c)) and c:GetLevel()==lv return c:IsSetCard(0x23)
end
function c74509280.target(e,syncard,f,minc)
local c=e:GetHandler()
if minc>1 then return false end
local lv=syncard:GetLevel()-c:GetLevel()
if lv<=0 then return false end
return Duel.IsExistingMatchingCard(c74509280.synfilter,syncard:GetControler(),LOCATION_HAND,0,1,nil,syncard,c,f,lv)
end
function c74509280.operation(e,tp,eg,ep,ev,re,r,rp,syncard,f,minc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local g=Duel.SelectMatchingCard(tp,c74509280.synfilter,tp,LOCATION_HAND,0,1,1,nil,syncard,c,f,lv)
Duel.SetSynchroMaterial(g)
end end
...@@ -54,32 +54,14 @@ function c9047460.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,32 +54,14 @@ function c9047460.spop(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SYNCHRO_MATERIAL_CUSTOM) e1:SetCode(EFFECT_TUNER_MATERIAL_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetTarget(c9047460.syntg) e1:SetTarget(c9047460.synlimit)
e1:SetValue(1)
e1:SetOperation(c9047460.synop)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
c9047460.tuner_filter=aux.FilterBoolFunction(Card.IsSetCard,0x33) c9047460.tuner_filter=aux.FilterBoolFunction(Card.IsSetCard,0x33)
function c9047460.synfilter(c,syncard,tuner,f) function c9047460.synlimit(e,c)
return c:IsFaceup() and c:IsNotTuner() and c:IsCanBeSynchroMaterial(syncard,tuner) and c:IsSetCard(0x33) and (f==nil or f(c)) return c:IsSetCard(0x33)
end
function c9047460.syntg(e,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
if lv<=0 then return false end
local g=Duel.GetMatchingGroup(c9047460.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
local res=g:CheckWithSumEqual(Card.GetSynchroLevel,lv,minc,maxc,syncard)
return res
end
function c9047460.synop(e,tp,eg,ep,ev,re,r,rp,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
local g=Duel.GetMatchingGroup(c9047460.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local sg=g:SelectWithSumEqual(tp,Card.GetSynchroLevel,lv,minc,maxc,syncard)
Duel.SetSynchroMaterial(sg)
end end
...@@ -14,11 +14,9 @@ function c93369354.initial_effect(c) ...@@ -14,11 +14,9 @@ function c93369354.initial_effect(c)
--synchro custom --synchro custom
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SYNCHRO_MATERIAL_CUSTOM) e2:SetCode(EFFECT_TUNER_MATERIAL_LIMIT)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetTarget(c93369354.syntg) e2:SetTarget(c93369354.synlimit)
e2:SetValue(1)
e2:SetOperation(c93369354.synop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c93369354.filter(c) function c93369354.filter(c)
...@@ -43,21 +41,6 @@ function c93369354.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,21 +41,6 @@ function c93369354.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
c93369354.tuner_filter=aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_WATER) c93369354.tuner_filter=aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_WATER)
function c93369354.synfilter(c,syncard,tuner,f) function c93369354.synlimit(e,c)
return c:IsFaceup() and c:IsNotTuner() and c:IsCanBeSynchroMaterial(syncard,tuner) and c:IsAttribute(ATTRIBUTE_WATER) and (f==nil or f(c)) return c:IsAttribute(ATTRIBUTE_WATER)
end
function c93369354.syntg(e,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
if lv<=0 then return false end
local g=Duel.GetMatchingGroup(c93369354.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
return g:CheckWithSumEqual(Card.GetSynchroLevel,lv,minc,maxc,syncard)
end
function c93369354.synop(e,tp,eg,ep,ev,re,r,rp,syncard,f,minc,maxc)
local c=e:GetHandler()
local lv=syncard:GetLevel()-c:GetLevel()
local g=Duel.GetMatchingGroup(c93369354.synfilter,syncard:GetControler(),LOCATION_MZONE,LOCATION_MZONE,c,syncard,c,f)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
local sg=g:SelectWithSumEqual(tp,Card.GetSynchroLevel,lv,minc,maxc,syncard)
Duel.SetSynchroMaterial(sg)
end end
...@@ -516,6 +516,7 @@ EFFECT_ADD_FUSION_ATTRIBUTE =349 --reserve ...@@ -516,6 +516,7 @@ EFFECT_ADD_FUSION_ATTRIBUTE =349 --reserve
EFFECT_REMOVE_FUSION_ATTRIBUTE =350 --reserve EFFECT_REMOVE_FUSION_ATTRIBUTE =350 --reserve
EFFECT_CHANGE_FUSION_ATTRIBUTE =351 --用作融合素材时的属性 EFFECT_CHANGE_FUSION_ATTRIBUTE =351 --用作融合素材时的属性
EFFECT_EXTRA_FUSION_MATERIAL =352 -- EFFECT_EXTRA_FUSION_MATERIAL =352 --
EFFECT_TUNER_MATERIAL_LIMIT =353 --
--下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发) --下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发)
EVENT_STARTUP =1000 --游戏开始时 EVENT_STARTUP =1000 --游戏开始时
......
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