Commit 6744d24f authored by wind2009's avatar wind2009

Fix

parent 335d97ca
Pipeline #41767 passed with stages
in 2 minutes and 42 seconds
...@@ -3,8 +3,8 @@ local s,id,o=GetID() ...@@ -3,8 +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()
-- old function
if aux.AddFusionProcShaddoll then if aux.AddFusionProcShaddoll then
--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)
...@@ -13,6 +13,7 @@ function s.initial_effect(c) ...@@ -13,6 +13,7 @@ function s.initial_effect(c)
e0:SetOperation(s.FShaddollOperation) e0:SetOperation(s.FShaddollOperation)
c:RegisterEffect(e0) c:RegisterEffect(e0)
else else
--new function
aux.AddFusionProcMix(c,false,true, aux.AddFusionProcMix(c,false,true,
function (mc) return mc:IsFusionSetCard(0x9d) end, function (mc) return mc:IsFusionSetCard(0x9d) end,
function (mc) return aux.FShaddollFilter2(mc,ATTRIBUTE_DARK) end, function (mc) return aux.FShaddollFilter2(mc,ATTRIBUTE_DARK) end,
......
...@@ -5,8 +5,10 @@ function s.initial_effect(c) ...@@ -5,8 +5,10 @@ function s.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
-- using new function -- using new function
if aux.AddFusionProcShaddoll then if aux.AddFusionProcShaddoll then
--old function
aux.AddFusionProcShaddoll(c,ATTRIBUTE_WIND) aux.AddFusionProcShaddoll(c,ATTRIBUTE_WIND)
else else
--new function
aux.AddFusionProcFun2(c,function (mc) return mc:IsFusionSetCard(0x9d) end, function (mc) return aux.FShaddollFilter2(mc,ATTRIBUTE_WIND) end, true) aux.AddFusionProcFun2(c,function (mc) return mc:IsFusionSetCard(0x9d) end, function (mc) return aux.FShaddollFilter2(mc,ATTRIBUTE_WIND) end, true)
end end
--cannot spsummon --cannot spsummon
......
...@@ -19,7 +19,7 @@ function s.initial_effect(c) ...@@ -19,7 +19,7 @@ function s.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetLabel(0) e2:SetLabel(0)
e2:SetCost(s.fuscost) e2:SetCost(s.cost)
e2:SetTarget(s.fustg) e2:SetTarget(s.fustg)
e2:SetOperation(s.fusop) e2:SetOperation(s.fusop)
e2:SetCountLimit(1,id+o) e2:SetCountLimit(1,id+o)
...@@ -27,7 +27,7 @@ function s.initial_effect(c) ...@@ -27,7 +27,7 @@ function s.initial_effect(c)
Duel.AddCustomActivityCounter(id,ACTIVITY_SPSUMMON,s.counterfilter) Duel.AddCustomActivityCounter(id,ACTIVITY_SPSUMMON,s.counterfilter)
end end
function s.counterfilter(c) function s.counterfilter(c)
return not c:IsSummonLocation(LOCATION_EXTRA) or c:IsSetCard(0x9d) and c:IsFaceup() return not c:IsSummonLocation(LOCATION_EXTRA) or c:IsSetCard(0x9d) and c:IsFaceup()
end end
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(id,tp,ACTIVITY_SPSUMMON)==0 end if chk==0 then return Duel.GetCustomActivityCount(id,tp,ACTIVITY_SPSUMMON)==0 end
...@@ -58,10 +58,6 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,10 +58,6 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoGrave(g,REASON_EFFECT) Duel.SendtoGrave(g,REASON_EFFECT)
end end
end end
function s.fuscost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100)
return true
end
function s.fusfilter1(c,e,tp) function s.fusfilter1(c,e,tp)
return c:IsType(TYPE_FUSION) and Duel.IsExistingMatchingCard(s.fusfilter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,c:GetAttribute(),c) return c:IsType(TYPE_FUSION) and Duel.IsExistingMatchingCard(s.fusfilter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,c:GetAttribute(),c)
end end
...@@ -76,6 +72,7 @@ function s.fustg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -76,6 +72,7 @@ function s.fustg(e,tp,eg,ep,ev,re,r,rp,chk)
return aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL) and Duel.CheckReleaseGroup(tp,s.fusfilter1,1,nil,e,tp) return aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL) and Duel.CheckReleaseGroup(tp,s.fusfilter1,1,nil,e,tp)
and s.cost(e,tp,eg,ep,ev,re,r,rp,0) and s.cost(e,tp,eg,ep,ev,re,r,rp,0)
end end
e:SetLabel(0)
local rg=Duel.SelectReleaseGroup(tp,s.fusfilter1,1,1,nil,e,tp) local rg=Duel.SelectReleaseGroup(tp,s.fusfilter1,1,1,nil,e,tp)
e:SetLabel(rg:GetFirst():GetAttribute()) e:SetLabel(rg:GetFirst():GetAttribute())
Duel.Release(rg,REASON_COST) Duel.Release(rg,REASON_COST)
......
...@@ -120,9 +120,9 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -120,9 +120,9 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function s.cfilter(c,tp,chk) function s.cfilter(c,tp,chk)
return c:IsType(TYPE_FUSION) and c:IsReleasableByEffect() and not chk return c:IsType(TYPE_FUSION) and c:IsReleasableByEffect() and (not chk
or (Duel.GetMZoneCount(tp,c)>1 or (Duel.GetMZoneCount(tp,c)>1
and Duel.IsPlayerCanSpecialSummonMonster(tp,id+o,0,TYPES_TOKEN_MONSTER,0,0,c:GetLevel(),RACE_SPELLCASTER,ATTRIBUTE_DARK)) and Duel.IsPlayerCanSpecialSummonMonster(tp,id+o,0,TYPES_TOKEN_MONSTER,0,0,c:GetLevel(),RACE_SPELLCASTER,ATTRIBUTE_DARK)))
end end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local rg=Duel.GetReleaseGroup(tp,false,REASON_EFFECT) local rg=Duel.GetReleaseGroup(tp,false,REASON_EFFECT)
......
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