Commit 525a2d37 authored by POLYMER's avatar POLYMER

fix

parent f75f4d50
...@@ -48,6 +48,9 @@ function c28366277.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -48,6 +48,9 @@ function c28366277.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c28366277.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c28366277.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c28366277.gcheck(sg)
return sg:IsExists(Card.IsType,nil,TYPE_MONSTER)
end
function c28366277.activate(e,tp,eg,ep,ev,re,r,rp) function c28366277.activate(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetLP(tp)>3000 and 1 or 2 local ct=Duel.GetLP(tp)>3000 and 1 or 2
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
...@@ -59,8 +62,9 @@ function c28366277.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,8 +62,9 @@ function c28366277.activate(e,tp,eg,ep,ev,re,r,rp)
tg=tg:Filter(Card.IsLocation,nil,LOCATION_HAND) tg=tg:Filter(Card.IsLocation,nil,LOCATION_HAND)
if #tg==0 then return end if #tg==0 then return end
Duel.ConfirmCards(1-tp,tg) Duel.ConfirmCards(1-tp,tg)
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_HAND+LOCATION_ONFIELD,0,aux.ExceptThisCard(e))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_HAND+LOCATION_ONFIELD,0,#tg,#tg,aux.ExceptThisCard(e)) local dg=g:SelectSubGroup(tp,c28366277.gcheck,false,#tg,#tg)
Duel.HintSelection(dg) Duel.HintSelection(dg)
Duel.Destroy(dg,REASON_EFFECT) Duel.Destroy(dg,REASON_EFFECT)
end end
......
...@@ -28,6 +28,7 @@ function s.initial_effect(c) ...@@ -28,6 +28,7 @@ function s.initial_effect(c)
e6:SetOperation(s.tnop) e6:SetOperation(s.tnop)
c:RegisterEffect(e6) c:RegisterEffect(e6)
end end
function s.sprfilter(c,tp,g,sc) function s.sprfilter(c,tp,g,sc)
return (c:IsLocation(LOCATION_SZONE) or (c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsCanBeXyzMaterial(nil))) return (c:IsLocation(LOCATION_SZONE) or (c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsCanBeXyzMaterial(nil)))
and c:IsSetCard(0x3a32) and c:IsSetCard(0x3a32)
...@@ -35,6 +36,7 @@ end ...@@ -35,6 +36,7 @@ end
function s.spgckfil(g,e,tp) function s.spgckfil(g,e,tp)
return Duel.GetLocationCountFromEx(tp,tp,g,nil) return Duel.GetLocationCountFromEx(tp,tp,g,nil)
end end
function s.sprcon(e,c) function s.sprcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
...@@ -45,7 +47,15 @@ function s.sprop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -45,7 +47,15 @@ function s.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(s.sprfilter,tp,LOCATION_ONFIELD,0,nil) local g=Duel.GetMatchingGroup(s.sprfilter,tp,LOCATION_ONFIELD,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local g1=g:SelectSubGroup(tp,s.spgckfil,false,2,2,e,tp) local g1=g:SelectSubGroup(tp,s.spgckfil,false,2,2,e,tp)
c:SetMaterial(g1) local sg=Group.CreateGroup()
local tc=g1:GetFirst()
while tc do
local sg1=tc:GetOverlayGroup()
sg:Merge(sg1)
tc=g1:GetNext()
end
Duel.SendtoGrave(sg,REASON_RULE)
c:SetMaterial(g1)
Duel.Overlay(c,g1) Duel.Overlay(c,g1)
end end
......
...@@ -29,7 +29,6 @@ function s.initial_effect(c) ...@@ -29,7 +29,6 @@ function s.initial_effect(c)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--destroy --destroy
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
......
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