Commit c91c4566 authored by 聖園ミカ's avatar 聖園ミカ 🐟

byd

parent 81e13a93
No preview for this file type
......@@ -19,8 +19,8 @@ end
function s.eqcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipCount()>0
end
function s.defilter(c,tc)
return c:IsLocation(LOCATION_SZONE) and c:IsType(TYPE_EQUIP)
function s.defilter(c,tc,tp)
return tc==c:GetEquipTarget() and Duel.IsExistingMatchingCard(s.eqfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,c,tc,c:GetCode(),tp)
end
function s.eqfilter(c,tc,code,tp)
return Hnk.eqfilter(c,tc,tp) and not c:IsCode(code)
......@@ -29,9 +29,9 @@ function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() end
local c=e:GetHandler()
local eqg=c:GetEquipGroup()
if chk==0 then return eqg:FilterCount(s.defilter,nil)>0 end
if chk==0 then return eqg:FilterCount(s.defilter,nil,c,tp)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,s.defilter,tp,LOCATION_SZONE,LOCATION_SZONE,1,1,nil,c)
local g=Duel.SelectTarget(tp,s.defilter,tp,LOCATION_SZONE,LOCATION_SZONE,1,1,nil,c,tp)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,tp,LOCATION_SZONE)
end
function s.eqop(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -18,8 +18,8 @@ end
function s.eqcon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and (re:IsActiveType(TYPE_MONSTER) or re:GetHandler():IsType(TYPE_SPELL))
end
function s.defilter(c)
return c:IsSetCard(0x3ca0)
function s.defilter(c,tc,tp)
return c:IsSetCard(0x3ca0) and Duel.IsExistingMatchingCard(s.eqfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,c,tc,c:GetCode(),tp)
end
function s.eqfilter(c,tc,code,tp)
return Hnk.eqfilter(c,tc,tp) and not c:IsCode(code)
......@@ -27,19 +27,19 @@ end
function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsSetCard(0x3ca0) end
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingTarget(s.defilter,tp,LOCATION_ONFIELD,0,1,c) end
if chk==0 then return Duel.IsExistingTarget(s.defilter,tp,LOCATION_ONFIELD,0,1,c,c,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,s.defilter,tp,LOCATION_ONFIELD,0,1,1,c)
local g=Duel.SelectTarget(tp,s.defilter,tp,LOCATION_ONFIELD,0,1,1,c,c,tp)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,tp,LOCATION_ONFIELD)
end
function s.eqop(e,tp,eg,ep,ev,re,r,rp)
local tc =Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) then
local code=tc:GetCode()
if Duel.Destroy(tc,REASON_EFFECT)~=0 then
local c=e:GetHandler()
if Duel.Destroy(tc,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(s.eqfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,c,code,tp) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,s.eqfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,c,code,tp)
local g=Duel.SelectMatchingCard(tp,s.eqfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,c,c,code,tp)
local tc2=g:GetFirst()
Duel.Equip(tp,tc2,c)
end
......
......@@ -106,7 +106,7 @@ function s.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,tp,1)
end
function s.spop2(e,tp,eg,ep,ev,re,r,rp)
if not Duel.GetMZoneCount(tp)>0 then return end
if Duel.GetMZoneCount(tp)<=0 then return end
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,false,false,POS_FACEUP)~=0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
......
......@@ -56,8 +56,7 @@ function c60152009.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return c:IsLocation(LOCATION_EXTRA)
end
function c60152009.spfilter2(c)
return ((c:IsSetCard(0x6b25) and c:IsType(TYPE_MONSTER))
or (c:IsType(TYPE_TOKEN) and c:IsAttribute(ATTRIBUTE_FIRE))) and c:IsReleasable()
return c:IsAttribute(ATTRIBUTE_FIRE) and c:IsType(TYPE_MONSTER) and c:IsReleasable()
end
function c60152009.spcon2(e,c)
if c==nil then return true end
......@@ -130,25 +129,22 @@ function c60152009.activate(e,tp,eg,ep,ev,re,r,rp)
end
end
function c60152009.dfilter(c)
return c:IsAttribute(ATTRIBUTE_FIRE) and c:IsReleasableByEffect()
return c:IsAttribute(ATTRIBUTE_FIRE)
end
function c60152009.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60152009.dfilter,tp,LOCATION_MZONE+LOCATION_HAND,0,1,nil)
and Duel.IsExistingMatchingCard(Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
local b=Duel.GetMatchingGroupCount(c60152009.spfilter2,tp,LOCATION_HAND+LOCATION_ONFIELD,0,e:GetHandler())
if chk==0 then return Duel.IsExistingMatchingCard(c60152009.spfilter2,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil)
and Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c60152009.desop(e,tp,eg,ep,ev,re,r,rp)
local ct1=Duel.GetMatchingGroupCount(Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local rg=Duel.SelectMatchingCard(tp,c60152009.dfilter,tp,LOCATION_MZONE+LOCATION_HAND,0,1,ct1,nil)
if rg:GetCount()>0 then
local ct1=Duel.GetMatchingGroupCount(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
local rg=Duel.SelectMatchingCard(tp,c60152009.spfilter2,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,ct1,nil)
local ct2=Duel.Release(rg,REASON_EFFECT)
if ct2==0 then return end
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=Duel.SelectMatchingCard(tp,Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,ct2,ct2,nil)
local dg=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,ct2,ct2,nil)
Duel.HintSelection(dg)
Duel.Destroy(dg,REASON_EFFECT)
end
end
\ No newline at end of file
......@@ -53,8 +53,9 @@ function c60152011.cfilter(c)
end
function c60152011.spcon(e,c)
if c==nil then return true end
return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>-3
and Duel.CheckReleaseGroup(REASON_COST,c:GetControler(),c60152011.cfilter,3,nil)
local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(c60152011.cfilter,tp,LOCATION_MZONE,0,nil)
return mg:CheckSubGroup(aux.mzctcheck,3,3,tp)
end
function c60152011.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectReleaseGroup(REASON_COST,c:GetControler(),c60152011.cfilter,3,3,nil)
......
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