Commit b69b1b68 authored by Nemo Ma's avatar Nemo Ma

fix

parent e7cce77c
...@@ -62,18 +62,35 @@ function c67200251.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -62,18 +62,35 @@ function c67200251.thop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
-- --
function c67200251.spfilter1(c,tp) function c67200251.spfilter1(c)
return c:IsFaceup() and c:IsSetCard(0x674) and c:IsReleasable() return c:IsFaceup() and c:IsSetCard(0x674) and c:IsReleasable()
end end
function c67200251.spcon(e,c) function c67200251.spcon(e,c)
--
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>-2 local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
and Duel.IsExistingMatchingCard(c67200251.spfilter1,tp,LOCATION_ONFIELD,0,2,nil,tp) local ct=-ft+1
if ct>2 then return false end
if ct>0 and not Duel.IsExistingMatchingCard(c67200251.spfilter1,tp,LOCATION_SZONE+LOCATION_FZONE,0,ct,nil) then return false end
return Duel.IsExistingMatchingCard(c67200251.spfilter1,tp,LOCATION_ONFIELD,0,2,nil)
end end
function c67200251.spop(e,tp,eg,ep,ev,re,r,rp,c) function c67200251.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) --
local g=Duel.SelectMatchingCard(tp,c67200251.spfilter1,tp,LOCATION_ONFIELD,0,2,2,nil,tp) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local ct=-ft+1
if ct<0 then ct=0 end
local g=Group.CreateGroup()
if ct>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=Duel.SelectMatchingCard(tp,c67200251.spfilter1,tp,LOCATION_MZONE,0,ct,ct,nil)
g:Merge(sg)
end
if ct<2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=Duel.SelectMatchingCard(tp,c67200251.spfilter1,tp,LOCATION_ONFIELD,0,2-ct,2-ct,g:GetFirst())
g:Merge(sg)
end
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
end end
-- --
......
...@@ -55,14 +55,30 @@ function c67200280.spfilter1(c,tp) ...@@ -55,14 +55,30 @@ function c67200280.spfilter1(c,tp)
return c:IsFaceup() and c:IsSetCard(0x674) and c:IsReleasable() return c:IsFaceup() and c:IsSetCard(0x674) and c:IsReleasable()
end end
function c67200280.spcon(e,c) function c67200280.spcon(e,c)
--
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>-3 local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
and Duel.IsExistingMatchingCard(c67200280.spfilter1,tp,LOCATION_ONFIELD,0,3,nil,tp) local ct=-ft+1
if ct>3 then return false end
if ct>0 and not Duel.IsExistingMatchingCard(c67200280.spfilter1,tp,LOCATION_SZONE+LOCATION_FZONE,0,ct,nil) then return false end
return Duel.IsExistingMatchingCard(c67200280.spfilter1,tp,LOCATION_ONFIELD,0,3,nil)
end end
function c67200280.spop(e,tp,eg,ep,ev,re,r,rp,c) function c67200280.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=Duel.SelectMatchingCard(tp,c67200280.spfilter1,tp,LOCATION_ONFIELD,0,3,3,nil,tp) local ct=-ft+1
if ct<0 then ct=0 end
local g=Group.CreateGroup()
if ct>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=Duel.SelectMatchingCard(tp,c67200280.spfilter1,tp,LOCATION_MZONE,0,ct,ct,nil)
g:Merge(sg)
end
if ct<3 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=Duel.SelectMatchingCard(tp,c67200280.spfilter1,tp,LOCATION_ONFIELD,0,3-ct,3-ct,g:GetFirst())
g:Merge(sg)
end
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
end end
-- --
......
...@@ -53,14 +53,31 @@ function c67200287.spfilter1(c,tp) ...@@ -53,14 +53,31 @@ function c67200287.spfilter1(c,tp)
return c:IsFaceup() and c:IsSetCard(0x674) and c:IsReleasable() return c:IsFaceup() and c:IsSetCard(0x674) and c:IsReleasable()
end end
function c67200287.spcon(e,c) function c67200287.spcon(e,c)
--
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
return Duel.IsExistingMatchingCard(c67200287.spfilter1,tp,LOCATION_ONFIELD,0,1,nil,tp) and ((c:IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>-1) or local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
(c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0)) local ct=-ft+1
if ct>1 then return false end
if ct>0 and not Duel.IsExistingMatchingCard(c67200251.spfilter1,tp,LOCATION_SZONE+LOCATION_FZONE,0,ct,nil) then return false end
return Duel.IsExistingMatchingCard(c67200251.spfilter1,tp,LOCATION_ONFIELD,0,1,nil) and ((c:IsLocation(LOCATION_HAND) and Duel.GetLocationCount(tp,LOCATION_MZONE)>-1) or (c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0))
end end
function c67200287.spop(e,tp,eg,ep,ev,re,r,rp,c) function c67200287.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) --
local g=Duel.SelectMatchingCard(tp,c67200287.spfilter1,tp,LOCATION_ONFIELD,0,1,1,nil,tp) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local ct=-ft+1
if ct<0 then ct=0 end
local g=Group.CreateGroup()
if ct>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=Duel.SelectMatchingCard(tp,c67200251.spfilter1,tp,LOCATION_MZONE,0,ct,ct,nil)
g:Merge(sg)
end
if ct<1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=Duel.SelectMatchingCard(tp,c67200251.spfilter1,tp,LOCATION_ONFIELD,0,1-ct,1-ct,g:GetFirst())
g:Merge(sg)
end
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
end end
-- --
......
...@@ -47,14 +47,14 @@ function c67200517.ctcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,14 +47,14 @@ function c67200517.ctcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c67200517.cfilter,1,nil,tp,rp) return eg:IsExists(c67200517.cfilter,1,nil,tp,rp)
end end
function c67200517.ctcon2(e,tp,eg,ep,ev,re,r,rp) function c67200517.ctcon2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c67200517.cfilter,1,nil,tp,rp) and Duel.IsPlayerAffectedByEffect(tp,67200590) return eg:IsExists(c67200517.cfilter,1,nil,tp,rp) and Duel.IsPlayerAffectedByEffect(tp,67200531)
end end
function c67200517.ctfilter(c) function c67200517.ctfilter(c)
return c:IsAbleToHand() return c:IsAbleToHand()
end end
function c67200517.cttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c67200517.cttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c67200527.ctfilter,tp,0,LOCATION_DECK,1,nil) and Duel.IsPlayerCanSpecialSummonMonster(tp,67200517,0x3675,TYPE_TUNER,2400,0,6,RACE_MACHINE,ATTRIBUTE_WIND) end if chk==0 then return Duel.IsExistingMatchingCard(c67200517.ctfilter,tp,0,LOCATION_DECK,1,nil) and Duel.IsPlayerCanSpecialSummonMonster(tp,67200517,0x3675,TYPE_TUNER,2400,0,6,RACE_MACHINE,ATTRIBUTE_WIND) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end end
function c67200517.ctop(e,tp,eg,ep,ev,re,r,rp) function c67200517.ctop(e,tp,eg,ep,ev,re,r,rp)
......
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