Commit 4d73203d authored by mercury233's avatar mercury233

update & fix

parent 69724391
......@@ -23,9 +23,6 @@ function c33846209.costfilter(c)
if c:IsFacedown() or c:GetLevel()~=4 or not c:IsType(TYPE_DUAL) then return false end
return Duel.IsExistingTarget(c33846209.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c,c)
end
function c33846209.tgfilter(c,e)
return c:IsCanBeEffectTarget(e)
end
function c33846209.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc~=e:GetHandler() end
if chk==0 then
......
......@@ -20,47 +20,34 @@ function c4333086.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
return true
end
function c4333086.costfilter(c,e,dg)
if not c:IsRace(RACE_ZOMBIE) then return false end
local a=0
if dg:IsContains(c) then a=1 end
if c:GetEquipCount()==0 then return dg:GetCount()-a>=2 end
local eg=c:GetEquipGroup()
local tc=eg:GetFirst()
while tc do
if dg:IsContains(tc) then a=a+1 end
tc=eg:GetNext()
end
return dg:GetCount()-a>=2
function c4333086.desfilter(c,tc)
return c:GetEquipTarget()~=tc
end
function c4333086.tgfilter(c,e)
return c:IsCanBeEffectTarget(e)
function c4333086.costfilter(c)
if not c:IsRace(RACE_ZOMBIE) then return false end
return Duel.IsExistingTarget(c4333086.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,2,c,c)
end
function c4333086.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc~=e:GetHandler() end
if chk==0 then
if chkc then return chkc:IsOnField() end
if e:GetLabel()==1 then
e:SetLabel(0)
local rg=Duel.GetReleaseGroup(tp)
local dg=Duel.GetMatchingGroup(c4333086.tgfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler(),e)
local res=rg:IsExists(c4333086.costfilter,1,e:GetHandler(),e,dg)
return res and Duel.IsExistingMatchingCard(c4333086.filter,tp,LOCATION_DECK,0,1,nil)
return Duel.CheckReleaseGroup(tp,c4333086.costfilter,1,e:GetHandler())
and Duel.IsExistingMatchingCard(c4333086.filter,tp,LOCATION_DECK,0,1,nil)
else
return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,2,e:GetHandler())
return Duel.IsExistingTarget(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,2,e:GetHandler())
and Duel.IsExistingMatchingCard(c4333086.filter,tp,LOCATION_DECK,0,1,nil)
end
end
if e:GetLabel()==1 then
e:SetLabel(0)
local rg=Duel.GetReleaseGroup(tp)
local dg=Duel.GetMatchingGroup(c4333086.tgfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler(),e)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=rg:FilterSelect(tp,c4333086.costfilter,1,1,e:GetHandler(),e,dg)
local sg=Duel.SelectReleaseGroup(tp,c4333086.costfilter,1,1,e:GetHandler())
Duel.Release(sg,REASON_COST)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,2,2,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,2,2,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
end
function c4333086.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
......
......@@ -16,46 +16,31 @@ function c53567095.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
return true
end
function c53567095.costfilter(c,e,dg)
if not c:IsRace(RACE_WINDBEAST) then return false end
local a=0
if dg:IsContains(c) then a=1 end
if c:GetEquipCount()==0 then return dg:GetCount()-a>=2 end
local eg=c:GetEquipGroup()
local tc=eg:GetFirst()
while tc do
if dg:IsContains(tc) then a=a+1 end
tc=eg:GetNext()
end
return dg:GetCount()-a>=2
function c53567095.desfilter(c,tc)
return c:GetEquipTarget()~=tc
end
function c53567095.tgfilter(c,e)
return c:IsCanBeEffectTarget(e)
function c53567095.costfilter(c)
if not c:IsRace(RACE_WINDBEAST) then return false end
return Duel.IsExistingTarget(c53567095.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,2,c,c)
end
function c53567095.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc~=e:GetHandler() end
if chk==0 then
if chkc then return chkc:IsOnField() end
if e:GetLabel()==1 then
e:SetLabel(0)
local rg=Duel.GetReleaseGroup(tp)
local dg=Duel.GetMatchingGroup(c53567095.tgfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler(),e)
local res=rg:IsExists(c53567095.costfilter,1,e:GetHandler(),e,dg)
return res
return Duel.CheckReleaseGroup(tp,c53567095.costfilter,1,e:GetHandler())
else
return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,2,e:GetHandler())
return Duel.IsExistingTarget(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,2,e:GetHandler())
end
end
if e:GetLabel()==1 then
e:SetLabel(0)
local rg=Duel.GetReleaseGroup(tp)
local dg=Duel.GetMatchingGroup(c53567095.tgfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler(),e)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=rg:FilterSelect(tp,c53567095.costfilter,1,1,e:GetHandler(),e,dg)
local sg=Duel.SelectReleaseGroup(tp,c53567095.costfilter,1,1,e:GetHandler())
Duel.Release(sg,REASON_COST)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,2,2,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,2,2,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,2,0,0)
end
function c53567095.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
......
......@@ -25,46 +25,32 @@ function c5795980.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
return true
end
function c5795980.cfilter(c,e,dg)
function c5795980.cfilter(c)
if c:IsFacedown() or not c:IsLevelAbove(5) or not c:IsSummonType(SUMMON_TYPE_NORMAL) then return false end
local a=0
if dg:IsContains(c) then a=1 end
if c:GetEquipCount()==0 then return dg:GetCount()-a>=1 end
local eg=c:GetEquipGroup()
local tc=eg:GetFirst()
while tc do
if dg:IsContains(tc) then a=a+1 end
tc=eg:GetNext()
end
return dg:GetCount()-a>=1
return Duel.IsExistingTarget(c5795980.tgfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c,c)
end
function c5795980.tgfilter(c,e)
return aux.disfilter1(c) and c:IsCanBeEffectTarget(e)
function c5795980.tgfilter(c,tc)
return aux.disfilter1(c) and c:GetEquipTarget()~=tc
end
function c5795980.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and c5795980.tgfilter(chkc,e) and chkc~=e:GetHandler() end
if chkc then return chkc:IsOnField() and aux.disfilter1(chkc) and chkc~=e:GetHandler() end
if chk==0 then
if not Duel.IsPlayerCanDraw(tp,1) then return false end
if e:GetLabel()==1 then
e:SetLabel(0)
local rg=Duel.GetReleaseGroup(tp)
local dg=Duel.GetMatchingGroup(c5795980.tgfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler(),e)
return rg:IsExists(c5795980.cfilter,1,e:GetHandler(),e,dg)
return Duel.CheckReleaseGroup(tp,c5795980.cfilter,1,e:GetHandler())
else
return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler())
return Duel.IsExistingTarget(aux.disfilter1,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler())
end
end
if e:GetLabel()==1 then
e:SetLabel(0)
local rg=Duel.GetReleaseGroup(tp)
local dg=Duel.GetMatchingGroup(c5795980.tgfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler(),e)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=rg:FilterSelect(tp,c5795980.cfilter,1,1,e:GetHandler(),e,dg)
local sg=Duel.SelectReleaseGroup(tp,c5795980.cfilter,1,1,e:GetHandler())
Duel.Release(sg,REASON_COST)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,g:GetCount(),0,0)
local g=Duel.SelectTarget(tp,aux.disfilter1,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c5795980.activate(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -16,47 +16,32 @@ function c58873391.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
return true
end
function c58873391.costfilter(c,e,dg)
if not c:IsRace(RACE_FISH) then return false end
local a=0
if dg:IsContains(c) then a=1 end
if c:GetEquipCount()==0 then return dg:GetCount()-a>=1 end
local eg=c:GetEquipGroup()
local tc=eg:GetFirst()
while tc do
if dg:IsContains(tc) then a=a+1 end
tc=eg:GetNext()
end
return dg:GetCount()-a>=1
function c58873391.desfilter(c,tc)
return c:GetEquipTarget()~=tc
end
function c58873391.tgfilter(c,e)
return c:IsCanBeEffectTarget(e)
function c58873391.costfilter(c)
if not c:IsRace(RACE_FISH) then return false end
return Duel.IsExistingTarget(c58873391.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c,c)
end
function c58873391.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc~=e:GetHandler() end
if chk==0 then
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)==0 then return false end
if not Duel.IsPlayerCanDraw(tp,1) then return false end
if e:GetLabel()==1 then
e:SetLabel(0)
local rg=Duel.GetReleaseGroup(tp)
local dg=Duel.GetMatchingGroup(c58873391.tgfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler(),e)
local res=rg:IsExists(c58873391.costfilter,1,e:GetHandler(),e,dg)
return res
return Duel.CheckReleaseGroup(tp,c58873391.costfilter,1,e:GetHandler())
else
return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler())
return Duel.IsExistingTarget(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler())
end
end
if e:GetLabel()==1 then
e:SetLabel(0)
local rg=Duel.GetReleaseGroup(tp)
local dg=Duel.GetMatchingGroup(c58873391.tgfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler(),e)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=rg:FilterSelect(tp,c58873391.costfilter,1,1,e:GetHandler(),e,dg)
local sg=Duel.SelectReleaseGroup(tp,c58873391.costfilter,1,1,e:GetHandler())
Duel.Release(sg,REASON_COST)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c58873391.activate(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