Commit b495120b authored by wyykak's avatar wyykak

fix

parent 1d141f1e
Pipeline #8806 passed with stage
in 33 seconds
...@@ -70,7 +70,7 @@ function c74563023.defval(e,c) ...@@ -70,7 +70,7 @@ function c74563023.defval(e,c)
return math.ceil(c:GetDefense()/2) return math.ceil(c:GetDefense()/2)
end end
function c74563023.drfilter(c) function c74563023.drfilter(c)
return c:IsType(TYPE_SPELL) and c:IsAbleToGraveAsCost() return c:IsType(TYPE_SPELL) and c:IsAbleToGraveAsCost() and Duel.IsExistingMatchingCard(c74563023.spfilter1,tp,LOCATION_EXTRA,0,1,nil,e,tp,Group.FromCards(c,mc))
end end
function c74563023.spfilter1(c,e,tp,mg) function c74563023.spfilter1(c,e,tp,mg)
return c:IsType(TYPE_SYNCHRO) and (c:IsSetCard(0x111) or c:IsSetCard(0x811)) return c:IsType(TYPE_SYNCHRO) and (c:IsSetCard(0x111) or c:IsSetCard(0x811))
......
...@@ -31,7 +31,7 @@ function c86379536.initial_effect(c) ...@@ -31,7 +31,7 @@ function c86379536.initial_effect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CANNOT_ATTACK) e4:SetCode(EFFECT_CANNOT_ATTACK)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e4:SetTargetRange(LOCATION_MZONE,0)
e4:SetTarget(c86379536.htg2) e4:SetTarget(c86379536.htg2)
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT) e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
...@@ -45,7 +45,7 @@ function c86379536.initial_effect(c) ...@@ -45,7 +45,7 @@ function c86379536.initial_effect(c)
e6:SetType(EFFECT_TYPE_FIELD) e6:SetType(EFFECT_TYPE_FIELD)
e6:SetCode(EFFECT_DISABLE) e6:SetCode(EFFECT_DISABLE)
e6:SetRange(LOCATION_MZONE) e6:SetRange(LOCATION_MZONE)
e6:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e6:SetTargetRange(LOCATION_MZONE,0)
e6:SetTarget(c86379536.htg2) e6:SetTarget(c86379536.htg2)
local e7=Effect.CreateEffect(c) local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT) e7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
...@@ -225,8 +225,8 @@ function c86379536.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -225,8 +225,8 @@ function c86379536.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c86379536.operation(e,tp,eg,ep,ev,re,r,rp) function c86379536.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local flag1=Duel.IsPlayerCanSpecialSummonMonster(tp,86379537,0x208,0x4011,1500,400,1,RACE_ZOMBIE,ATTRIBUTE_DARK,POS_FACEUP,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 local flag1=Duel.IsPlayerCanSpecialSummonMonster(tp,86379537,0x208,0x4011,1500,400,1,RACE_ZOMBIE,ATTRIBUTE_DARK) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
local flag2=Duel.IsPlayerCanSpecialSummonMonster(tp,86379537,0x208,0x4011,1500,400,1,RACE_ZOMBIE,ATTRIBUTE_DARK,POS_FACEUP,1-tp) and Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0 local flag2=Duel.IsPlayerCanSpecialSummonMonster(1-tp,86379537,0x208,0x4011,1500,400,1,RACE_ZOMBIE,ATTRIBUTE_DARK) and Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0
if not (flag1 or flag2) then return end if not (flag1 or flag2) then return end
local op=0 local op=0
if flag1 and flag2 then if flag1 and flag2 then
...@@ -293,5 +293,5 @@ function c86379536.htg(e,c) ...@@ -293,5 +293,5 @@ function c86379536.htg(e,c)
return math.abs(e:GetHandler():GetSequence()-c:GetSequence())==1 return math.abs(e:GetHandler():GetSequence()-c:GetSequence())==1
end end
function c86379536.htg2(e,c) function c86379536.htg2(e,c)
return math.abs(e:GetHandler():GetSequence()-c:GetSequence())==1 and not c:IsSetCard(0xc432) return math.abs(e:GetHandler():GetSequence()-c:GetSequence())==1 and c:GetSequence()<5 and not c:IsSetCard(0xc432)
end end
...@@ -78,8 +78,8 @@ function c86379888.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -78,8 +78,8 @@ function c86379888.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
c86379888[20]=1 c86379888[20]=1
end end
end end
function c86379888.filter(c,tid) function c86379888.filter(c,e,tp,tid)
return c:IsReason(REASON_DESTROY) and c:IsType(TYPE_MONSTER) and c:GetTurnID()==tid and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return bit.band(c:GetReason(),REASON_DESTROY)~=0 and c:IsType(TYPE_MONSTER) and c:GetTurnID()==tid and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c86379888.activate(e,tp,eg,ep,ev,re,r,rp) function c86379888.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -157,7 +157,10 @@ function c86379888.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -157,7 +157,10 @@ function c86379888.activate(e,tp,eg,ep,ev,re,r,rp)
end end
end end
if c86379888[7]==1 or c86379888[17]==1 then if c86379888[7]==1 or c86379888[17]==1 then
if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,86379888,nil,0x4011,2000,2000,nil,nil,nil,POS_FACEUP) then if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,86379888,nil,0x4011,nil,2000,2000,nil,nil,POS_FACEUP) then
c:SetEntityCode(86379887,true)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP)
c:SetEntityCode(86379888,true)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_TYPE) e1:SetCode(EFFECT_CHANGE_TYPE)
...@@ -182,7 +185,7 @@ function c86379888.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -182,7 +185,7 @@ function c86379888.activate(e,tp,eg,ep,ev,re,r,rp)
e5:SetValue(2000) e5:SetValue(2000)
c:RegisterEffect(e5,true) c:RegisterEffect(e5,true)
c:SetStatus(STATUS_NO_LEVEL,true) c:SetStatus(STATUS_NO_LEVEL,true)
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummonComplete()
end end
end end
if c86379888[8]==1 then if c86379888[8]==1 then
...@@ -255,11 +258,12 @@ function c86379888.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -255,11 +258,12 @@ function c86379888.activate(e,tp,eg,ep,ev,re,r,rp)
if c86379888[20]==1 then if c86379888[20]==1 then
sp=sp+1 sp=sp+1
end end
if sp>0 and Duel.IsExistingMatchingCard(c86379888.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil,Duel.GetTurnCount()) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then local tid=Duel.GetTurnCount()
if sp>0 and Duel.IsExistingMatchingCard(c86379888.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil,e,tp,tid) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
while sp>0 do while sp>0 do
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c86379888.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil,Duel.GetTurnCount()) local g=Duel.SelectMatchingCard(tp,c86379888.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil,e,tp,tid)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummonStep(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(g,0,tp,tp,false,false,POS_FACEUP)
end end
......
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