Commit c4ae724f authored by wind2009's avatar wind2009 Committed by GitHub

Add HintSelection for cards to be returned to Deck (#2380)

* Add HintSelection for cards returned to Deck

* Add HintSelection() for BF-ツインシャドウ
parent 1915d3d9
...@@ -46,6 +46,9 @@ function c11398951.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,6 +46,9 @@ function c11398951.activate(e,tp,eg,ep,ev,re,r,rp)
if not mat then goto cancel end if not mat then goto cancel end
tc:SetMaterial(mat) tc:SetMaterial(mat)
local mat2=mat:Filter(Card.IsLocation,nil,LOCATION_GRAVE):Filter(Card.IsRace,nil,RACE_WARRIOR+RACE_FAIRY) local mat2=mat:Filter(Card.IsLocation,nil,LOCATION_GRAVE):Filter(Card.IsRace,nil,RACE_WARRIOR+RACE_FAIRY)
if #mat2>0 then
Duel.HintSelection(mat2)
end
mat:Sub(mat2) mat:Sub(mat2)
Duel.ReleaseRitualMaterial(mat) Duel.ReleaseRitualMaterial(mat)
Duel.SendtoDeck(mat2,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL) Duel.SendtoDeck(mat2,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL)
......
...@@ -20,6 +20,7 @@ function c13002461.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -20,6 +20,7 @@ function c13002461.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c13002461.cfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c13002461.cfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c13002461.cfilter,tp,LOCATION_GRAVE,0,1,1,e:GetHandler()) local g=Duel.SelectMatchingCard(tp,c13002461.cfilter,tp,LOCATION_GRAVE,0,1,1,e:GetHandler())
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end end
function c13002461.filter(c) function c13002461.filter(c)
......
...@@ -50,6 +50,7 @@ end ...@@ -50,6 +50,7 @@ end
function c14357527.sprop(e,tp,eg,ep,ev,re,r,rp,c) function c14357527.sprop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c14357527.sprfilter,tp,LOCATION_REMOVED,0,3,3,nil) local g=Duel.SelectMatchingCard(tp,c14357527.sprfilter,tp,LOCATION_REMOVED,0,3,3,nil)
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,2,REASON_COST) Duel.SendtoDeck(g,nil,2,REASON_COST)
end end
function c14357527.spcon(e,tp,eg,ep,ev,re,r,rp) function c14357527.spcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -71,6 +71,9 @@ function c15447747.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -71,6 +71,9 @@ function c15447747.atkop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c15447747.tdfilter,tp,LOCATION_GRAVE,0,1,99,nil) local g=Duel.SelectMatchingCard(tp,c15447747.tdfilter,tp,LOCATION_GRAVE,0,1,99,nil)
local ct=#g local ct=#g
if ct>0 then
Duel.HintSelection(g)
end
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)==0 then return end if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)==0 then return end
if tc:IsFaceup() and tc:IsRelateToBattle() and ct>0 then if tc:IsFaceup() and tc:IsRelateToBattle() and ct>0 then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
......
...@@ -58,14 +58,16 @@ function c19942835.setop(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,14 +58,16 @@ function c19942835.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c19942835.setfilter,tp,LOCATION_REMOVED,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c19942835.setfilter,tp,LOCATION_REMOVED,0,1,1,nil)
if #g>0 and Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 if #g>0 then
and c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then Duel.HintSelection(g)
local e1=Effect.CreateEffect(c) if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then
e1:SetType(EFFECT_TYPE_SINGLE) local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(LOCATION_REMOVED) e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
c:RegisterEffect(e1) e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1)
end
end end
end end
...@@ -67,6 +67,14 @@ function s.spstg(e,tp,eg,ep,ev,re,r,rp,chk,c) ...@@ -67,6 +67,14 @@ function s.spstg(e,tp,eg,ep,ev,re,r,rp,chk,c)
end end
function s.spsop(e,tp,eg,ep,ev,re,r,rp,c) function s.spsop(e,tp,eg,ep,ev,re,r,rp,c)
local g=e:GetLabelObject() local g=e:GetLabelObject()
local hg=g:Filter(Card.IsLocation,nil,LOCATION_HAND)
if #hg>0 then
Duel.ConfirmCards(1-tp,hg)
end
local gg=g:Filter(Card.IsLocation,nil,LOCATION_GRAVE)
if #gg>0 then
Duel.HintSelection(gg)
end
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
g:DeleteGroup() g:DeleteGroup()
end end
......
...@@ -100,6 +100,7 @@ function c24484270.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -100,6 +100,7 @@ function c24484270.spop(e,tp,eg,ep,ev,re,r,rp)
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf) local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1) tc:SetMaterial(mat1)
Duel.HintSelection(mat1)
Duel.SendtoDeck(mat1,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) Duel.SendtoDeck(mat1,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
......
...@@ -70,6 +70,10 @@ function c31855260.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -70,6 +70,10 @@ function c31855260.activate(e,tp,eg,ep,ev,re,r,rp)
local cg=mat:Filter(Card.IsFacedown,nil) local cg=mat:Filter(Card.IsFacedown,nil)
Duel.ConfirmCards(1-tp,cg) Duel.ConfirmCards(1-tp,cg)
end end
if mat:Filter(c31855260.cfilter,nil):GetCount()>0 then
local cg=mat:Filter(c31855260.cfilter,nil)
Duel.HintSelection(cg)
end
Duel.SendtoDeck(mat,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) Duel.SendtoDeck(mat,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
...@@ -81,3 +85,6 @@ function c31855260.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -81,3 +85,6 @@ function c31855260.activate(e,tp,eg,ep,ev,re,r,rp)
tc:CompleteProcedure() tc:CompleteProcedure()
end end
end end
function c31855260.cfilter(c)
return c:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) or (c:IsLocation(LOCATION_MZONE) and c:IsFaceup())
end
...@@ -64,14 +64,16 @@ function c32335697.setop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,14 +64,16 @@ function c32335697.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c32335697.setfilter,tp,LOCATION_REMOVED,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c32335697.setfilter,tp,LOCATION_REMOVED,0,1,1,nil)
if #g>0 and Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 if #g>0 then
and c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then Duel.HintSelection(g)
local e1=Effect.CreateEffect(c) if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then
e1:SetType(EFFECT_TYPE_SINGLE) local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(LOCATION_REMOVED) e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
c:RegisterEffect(e1) e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1)
end
end end
end end
...@@ -76,13 +76,16 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -76,13 +76,16 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.tdfilter),tp,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED,0,nil) local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.tdfilter),tp,LOCATION_MZONE+LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:SelectSubGroup(tp,s.tdcheck,false,5,5,e,tp) local sg=g:SelectSubGroup(tp,s.tdcheck,false,5,5,e,tp)
if sg and Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 then if #sg>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.HintSelection(sg)
local tg=Duel.SelectMatchingCard(tp,s.synfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,nil) if Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 then
local tc=tg:GetFirst() Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
if tc then local tg=Duel.SelectMatchingCard(tp,s.synfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,nil)
Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP) local tc=tg:GetFirst()
tc:CompleteProcedure() if tc then
Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)
tc:CompleteProcedure()
end
end end
end end
end end
......
...@@ -77,6 +77,7 @@ function c37491810.desmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,6 +77,7 @@ function c37491810.desmop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c37491810.desmfilter,tp,LOCATION_EXTRA,0,2,2,nil) local g=Duel.SelectMatchingCard(tp,c37491810.desmfilter,tp,LOCATION_EXTRA,0,2,2,nil)
Duel.HintSelection(g)
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 and g:IsExists(Card.IsLocation,1,nil,LOCATION_DECK+LOCATION_EXTRA) and tc:IsRelateToEffect(e) then if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 and g:IsExists(Card.IsLocation,1,nil,LOCATION_DECK+LOCATION_EXTRA) and tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT) Duel.Destroy(tc,REASON_EFFECT)
end end
......
...@@ -99,6 +99,10 @@ function c37961969.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -99,6 +99,10 @@ function c37961969.activate(e,tp,eg,ep,ev,re,r,rp)
local cg=mat1:Filter(c37961969.fdfilter,nil) local cg=mat1:Filter(c37961969.fdfilter,nil)
Duel.ConfirmCards(1-tp,cg) Duel.ConfirmCards(1-tp,cg)
end end
if mat1:IsExists(c37961969.fdfilter2,1,nil) then
local cg=mat1:Filter(c37961969.fdfilter2,nil)
Duel.HintSelection(cg)
end
aux.PlaceCardsOnDeckBottom(tp,mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) aux.PlaceCardsOnDeckBottom(tp,mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
...@@ -113,3 +117,6 @@ end ...@@ -113,3 +117,6 @@ end
function c37961969.fdfilter(c) function c37961969.fdfilter(c)
return c:IsLocation(LOCATION_MZONE) and c:IsFacedown() or c:IsLocation(LOCATION_HAND) return c:IsLocation(LOCATION_MZONE) and c:IsFacedown() or c:IsLocation(LOCATION_HAND)
end end
function c37961969.fdfilter2(c)
return c:IsLocation(LOCATION_MZONE) and c:IsFaceup() or c:IsLocation(LOCATION_GRAVE)
end
...@@ -54,14 +54,16 @@ function c38363525.setop(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,14 +54,16 @@ function c38363525.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c38363525.setfilter,tp,LOCATION_REMOVED,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c38363525.setfilter,tp,LOCATION_REMOVED,0,1,1,nil)
if #g>0 and Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 if #g>0 then
and c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then Duel.HintSelection(g)
local e1=Effect.CreateEffect(c) if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then
e1:SetType(EFFECT_TYPE_SINGLE) local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(LOCATION_REMOVED) e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
c:RegisterEffect(e1) e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1)
end
end end
end end
...@@ -54,6 +54,7 @@ end ...@@ -54,6 +54,7 @@ end
function c41782653.sprop(e,tp,eg,ep,ev,re,r,rp,c) function c41782653.sprop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c41782653.sprfilter,tp,LOCATION_REMOVED,0,5,5,nil) local g=Duel.SelectMatchingCard(tp,c41782653.sprfilter,tp,LOCATION_REMOVED,0,5,5,nil)
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end end
function c41782653.negcon(e,tp,eg,ep,ev,re,r,rp) function c41782653.negcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -47,6 +47,7 @@ function c4334811.drcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -47,6 +47,7 @@ function c4334811.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c4334811.cfilter,tp,LOCATION_GRAVE,0,2,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c4334811.cfilter,tp,LOCATION_GRAVE,0,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c4334811.cfilter,tp,LOCATION_GRAVE,0,2,2,nil) local g=Duel.SelectMatchingCard(tp,c4334811.cfilter,tp,LOCATION_GRAVE,0,2,2,nil)
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end end
function c4334811.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function c4334811.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -49,10 +49,7 @@ function c52394047.atkcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -49,10 +49,7 @@ function c52394047.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c52394047.cfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c52394047.cfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c52394047.cfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c52394047.cfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil)
local cf=g:Filter(Card.IsFacedown,nil) Duel.ConfirmCards(1-tp,g)
if cf:GetCount()>0 then
Duel.ConfirmCards(1-tp,cf)
end
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end end
function c52394047.atkfilter(c) function c52394047.atkfilter(c)
......
...@@ -60,6 +60,7 @@ end ...@@ -60,6 +60,7 @@ end
function c53262004.disop(e,tp,eg,ep,ev,re,r,rp) function c53262004.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c53262004.disfilter,tp,LOCATION_EXTRA,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c53262004.disfilter,tp,LOCATION_EXTRA,0,1,1,nil)
Duel.HintSelection(g)
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 then if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 then
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT) Duel.Destroy(eg,REASON_EFFECT)
......
...@@ -75,6 +75,7 @@ function c54283059.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -75,6 +75,7 @@ function c54283059.activate(e,tp,eg,ep,ev,re,r,rp)
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat=Duel.SelectFusionMaterial(tp,tc,mg,nil,chkf) local mat=Duel.SelectFusionMaterial(tp,tc,mg,nil,chkf)
tc:SetMaterial(mat) tc:SetMaterial(mat)
Duel.HintSelection(mat)
Duel.SendtoDeck(mat,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) Duel.SendtoDeck(mat,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
......
...@@ -52,6 +52,7 @@ function c55136228.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -52,6 +52,7 @@ function c55136228.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c55136228.cfilter,tp,LOCATION_GRAVE,0,2,e:GetHandler()) end if chk==0 then return Duel.IsExistingMatchingCard(c55136228.cfilter,tp,LOCATION_GRAVE,0,2,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c55136228.cfilter,tp,LOCATION_GRAVE,0,2,2,e:GetHandler()) local g=Duel.SelectMatchingCard(tp,c55136228.cfilter,tp,LOCATION_GRAVE,0,2,2,e:GetHandler())
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end end
function c55136228.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c55136228.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -79,6 +79,10 @@ function c55704856.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -79,6 +79,10 @@ function c55704856.activate(e,tp,eg,ep,ev,re,r,rp)
local cg=mat:Filter(Card.IsFacedown,nil) local cg=mat:Filter(Card.IsFacedown,nil)
Duel.ConfirmCards(1-tp,cg) Duel.ConfirmCards(1-tp,cg)
end end
if mat:Filter(c55704856.cfilter,nil):GetCount()>0 then
local cg=mat:Filter(c55704856.cfilter,nil)
Duel.HintSelection(cg)
end
Duel.SendtoDeck(mat,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) Duel.SendtoDeck(mat,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
...@@ -102,6 +106,9 @@ function c55704856.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -102,6 +106,9 @@ function c55704856.activate(e,tp,eg,ep,ev,re,r,rp)
end end
aux.FCheckAdditional=nil aux.FCheckAdditional=nil
end end
function c55704856.cfilter(c)
return c:IsLocation(LOCATION_REMOVED) or (c:IsLocation(LOCATION_MZONE) and c:IsFaceup())
end
function c55704856.ftarget(e,c) function c55704856.ftarget(e,c)
return e:GetLabel()~=c:GetFlagEffectLabel(55704856) return e:GetLabel()~=c:GetFlagEffectLabel(55704856)
end end
...@@ -106,6 +106,10 @@ function c572850.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -106,6 +106,10 @@ function c572850.activate(e,tp,eg,ep,ev,re,r,rp)
local cg=mat1:Filter(c572850.fdfilter,nil) local cg=mat1:Filter(c572850.fdfilter,nil)
Duel.ConfirmCards(1-tp,cg) Duel.ConfirmCards(1-tp,cg)
end end
if mat1:IsExists(c572850.fdfilter2,1,nil) then
local cg=mat1:Filter(c572850.fdfilter2,nil)
Duel.HintSelection(cg)
end
aux.PlaceCardsOnDeckBottom(tp,mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) aux.PlaceCardsOnDeckBottom(tp,mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
...@@ -120,3 +124,6 @@ end ...@@ -120,3 +124,6 @@ end
function c572850.fdfilter(c) function c572850.fdfilter(c)
return c:IsLocation(LOCATION_MZONE) and c:IsFacedown() or c:IsLocation(LOCATION_HAND) return c:IsLocation(LOCATION_MZONE) and c:IsFacedown() or c:IsLocation(LOCATION_HAND)
end end
function c572850.fdfilter2(c)
return c:IsLocation(LOCATION_MZONE) and c:IsFaceup() or c:IsLocation(LOCATION_GRAVE)
end
...@@ -109,6 +109,8 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -109,6 +109,8 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp)
local g1=eg:Filter(Card.IsRelateToChain,nil):Filter(s.filter2,nil) local g1=eg:Filter(Card.IsRelateToChain,nil):Filter(s.filter2,nil)
local g2=Duel.GetMatchingGroup(s.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil) local g2=Duel.GetMatchingGroup(s.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if #g1~=0 and #g2~=0 then if #g1~=0 and #g2~=0 then
Duel.HintSelection(g1)
Duel.HintSelection(g2)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local tc=g1:Select(tp,1,1,nil):GetFirst() local tc=g1:Select(tp,1,1,nil):GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
...@@ -125,9 +127,12 @@ end ...@@ -125,9 +127,12 @@ end
function s.todeckop(e,tp,eg,ep,ev,re,r,rp) function s.todeckop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=eg:Filter(Card.IsRelateToChain,nil):FilterSelect(tp,s.filter3,1,1,nil,e,tp) local g=eg:Filter(Card.IsRelateToChain,nil):FilterSelect(tp,s.filter3,1,1,nil,e,tp)
if #g>0 and Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and Duel.IsPlayerCanDraw(tp,1) then if #g>0 then
Duel.ShuffleDeck(tp) Duel.HintSelection(g)
Duel.Draw(tp,1,REASON_EFFECT) if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and Duel.IsPlayerCanDraw(tp,1) then
Duel.ShuffleDeck(tp)
Duel.Draw(tp,1,REASON_EFFECT)
end
end end
end end
function s.tohandop(e,tp,eg,ep,ev,re,r,rp) function s.tohandop(e,tp,eg,ep,ev,re,r,rp)
...@@ -137,6 +142,7 @@ function s.tohandop(e,tp,eg,ep,ev,re,r,rp) ...@@ -137,6 +142,7 @@ function s.tohandop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
if #g~=0 then if #g~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end end
end end
end end
...@@ -57,14 +57,16 @@ function c65357623.setop(e,tp,eg,ep,ev,re,r,rp) ...@@ -57,14 +57,16 @@ function c65357623.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c65357623.retfilter,tp,LOCATION_REMOVED,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c65357623.retfilter,tp,LOCATION_REMOVED,0,1,1,nil)
if #g>0 and Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 if #g>0 then
and c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then Duel.HintSelection(g)
local e1=Effect.CreateEffect(c) if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then
e1:SetType(EFFECT_TYPE_SINGLE) local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(LOCATION_REMOVED) e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
c:RegisterEffect(e1) e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1)
end
end end
end end
...@@ -50,6 +50,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,6 +50,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g2=Duel.SelectMatchingCard(tp,s.tfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp,g1:GetFirst(),opchk) local g2=Duel.SelectMatchingCard(tp,s.tfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp,g1:GetFirst(),opchk)
g1:Merge(g2) g1:Merge(g2)
Duel.HintSelection(g1)
if Duel.SendtoDeck(g1,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)<2 if Duel.SendtoDeck(g1,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)<2
or not g1:IsExists(Card.IsLocation,1,nil,LOCATION_DECK+LOCATION_EXTRA) then return end or not g1:IsExists(Card.IsLocation,1,nil,LOCATION_DECK+LOCATION_EXTRA) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
...@@ -48,6 +48,7 @@ function c69973414.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -48,6 +48,7 @@ function c69973414.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:SelectSubGroup(tp,c69973414.fselect,false,2,2,e,tp) local sg=g:SelectSubGroup(tp,c69973414.fselect,false,2,2,e,tp)
e:SetLabel(sg:GetSum(Card.GetLevel)) e:SetLabel(sg:GetSum(Card.GetLevel))
Duel.HintSelection(sg)
Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_COST)
end end
function c69973414.target(e,tp,eg,ep,ev,re,r,rp,chk) function c69973414.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -83,6 +83,10 @@ function c70534340.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -83,6 +83,10 @@ function c70534340.spop(e,tp,eg,ep,ev,re,r,rp)
local cg=mat:Filter(Card.IsFacedown,nil) local cg=mat:Filter(Card.IsFacedown,nil)
Duel.ConfirmCards(1-tp,cg) Duel.ConfirmCards(1-tp,cg)
end end
if mat:IsExists(c70534340.fdfilter,1,nil) then
local cg=mat:Filter(c70534340.fdfilter,nil)
Duel.HintSelection(cg)
end
Duel.SendtoDeck(mat,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) Duel.SendtoDeck(mat,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
...@@ -113,3 +117,6 @@ end ...@@ -113,3 +117,6 @@ end
function c70534340.splimit(e,c) function c70534340.splimit(e,c)
return not c:IsType(TYPE_FUSION) and c:IsLocation(LOCATION_EXTRA) return not c:IsType(TYPE_FUSION) and c:IsLocation(LOCATION_EXTRA)
end end
function c70534340.fdfilter(c)
return c:IsLocation(LOCATION_MZONE) and c:IsFaceup() or c:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED)
end
...@@ -82,6 +82,10 @@ function c71143015.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -82,6 +82,10 @@ function c71143015.activate(e,tp,eg,ep,ev,re,r,rp)
local cg=mat1:Filter(Card.IsFacedown,nil) local cg=mat1:Filter(Card.IsFacedown,nil)
Duel.ConfirmCards(1-tp,cg) Duel.ConfirmCards(1-tp,cg)
end end
if mat1:Filter(c71143015.cfilter,nil):GetCount()>0 then
local cg=mat1:Filter(c71143015.cfilter,nil)
Duel.HintSelection(cg)
end
Duel.SendtoDeck(mat1,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) Duel.SendtoDeck(mat1,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
...@@ -104,3 +108,7 @@ function c71143015.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -104,3 +108,7 @@ function c71143015.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(dg,REASON_EFFECT) Duel.Destroy(dg,REASON_EFFECT)
end end
end end
function c71143015.cfilter(c)
return c:IsLocation(LOCATION_GRAVE) or (c:IsLocation(LOCATION_MZONE) and c:IsFaceup())
end
...@@ -93,6 +93,10 @@ function c74078255.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -93,6 +93,10 @@ function c74078255.activate(e,tp,eg,ep,ev,re,r,rp)
local cg=mat1:Filter(c74078255.fdfilter,nil) local cg=mat1:Filter(c74078255.fdfilter,nil)
Duel.ConfirmCards(1-tp,cg) Duel.ConfirmCards(1-tp,cg)
end end
if mat1:IsExists(c74078255.fdfilter2,1,nil) then
local cg=mat1:Filter(c74078255.fdfilter2,nil)
Duel.HintSelection(cg)
end
aux.PlaceCardsOnDeckBottom(tp,mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) aux.PlaceCardsOnDeckBottom(tp,mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
...@@ -107,3 +111,6 @@ end ...@@ -107,3 +111,6 @@ end
function c74078255.fdfilter(c) function c74078255.fdfilter(c)
return c:IsLocation(LOCATION_MZONE) and c:IsFacedown() or c:IsLocation(LOCATION_HAND) return c:IsLocation(LOCATION_MZONE) and c:IsFacedown() or c:IsLocation(LOCATION_HAND)
end end
function c74078255.fdfilter2(c)
return c:IsLocation(LOCATION_MZONE) and c:IsFaceup() or c:IsLocation(LOCATION_GRAVE)
end
...@@ -22,6 +22,7 @@ function c75991898.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -22,6 +22,7 @@ function c75991898.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c75991898.costfilter,tp,LOCATION_GRAVE,0,2,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c75991898.costfilter,tp,LOCATION_GRAVE,0,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c75991898.costfilter,tp,LOCATION_GRAVE,0,2,2,nil) local g=Duel.SelectMatchingCard(tp,c75991898.costfilter,tp,LOCATION_GRAVE,0,2,2,nil)
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end end
function c75991898.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c75991898.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
...@@ -69,6 +69,7 @@ function c78316184.negcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -69,6 +69,7 @@ function c78316184.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c78316184.costfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c78316184.costfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c78316184.costfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c78316184.costfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end end
function c78316184.negtg(e,tp,eg,ep,ev,re,r,rp,chk) function c78316184.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -36,6 +36,9 @@ end ...@@ -36,6 +36,9 @@ end
function c80033124.cfilter(c) function c80033124.cfilter(c)
return c:IsLocation(LOCATION_HAND) or (c:IsOnField() and c:IsFacedown()) return c:IsLocation(LOCATION_HAND) or (c:IsOnField() and c:IsFacedown())
end end
function c80033124.cfilter2(c)
return c:IsLocation(LOCATION_GRAVE) or (c:IsOnField() and c:IsFaceup())
end
function c80033124.activate(e,tp,eg,ep,ev,re,r,rp) function c80033124.activate(e,tp,eg,ep,ev,re,r,rp)
if not aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL) then return end if not aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL) then return end
local mg=Duel.GetMatchingGroup(aux.NecroValleyFilter(c80033124.ffilter),tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,nil,e) local mg=Duel.GetMatchingGroup(aux.NecroValleyFilter(c80033124.ffilter),tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,nil,e)
...@@ -47,6 +50,10 @@ function c80033124.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,6 +50,10 @@ function c80033124.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,cg) Duel.ConfirmCards(1-tp,cg)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
end end
local cg2=sg:Filter(c80033124.cfilter2,nil)
if cg2:GetCount()>0 then
Duel.HintSelection(cg2)
end
Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT) Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c80033124.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c80033124.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
......
...@@ -92,6 +92,7 @@ function c81306186.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -92,6 +92,7 @@ function c81306186.spop(e,tp,eg,ep,ev,re,r,rp)
if tc then if tc then
rc:SetMaterial(Group.FromCards(tc)) rc:SetMaterial(Group.FromCards(tc))
if tc:IsLocation(LOCATION_GRAVE) then if tc:IsLocation(LOCATION_GRAVE) then
Duel.HintSelection(Group.FromCards(tc))
if Duel.SendtoDeck(tc,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL)==0 then return end if Duel.SendtoDeck(tc,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL)==0 then return end
else else
if Duel.Release(tc,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL)==0 then return end if Duel.Release(tc,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL)==0 then return end
......
...@@ -23,6 +23,7 @@ function c84766279.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -23,6 +23,7 @@ function c84766279.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c84766279.costfilter,tp,LOCATION_GRAVE,0,2,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c84766279.costfilter,tp,LOCATION_GRAVE,0,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c84766279.costfilter,tp,LOCATION_GRAVE,0,2,2,nil) local g=Duel.SelectMatchingCard(tp,c84766279.costfilter,tp,LOCATION_GRAVE,0,2,2,nil)
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end end
function c84766279.filter(c) function c84766279.filter(c)
......
...@@ -92,6 +92,7 @@ function c89320376.poscost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -92,6 +92,7 @@ function c89320376.poscost(e,tp,eg,ep,ev,re,r,rp,chk)
and Duel.IsExistingMatchingCard(c89320376.cfilter,tp,LOCATION_GRAVE,0,1,nil) end and Duel.IsExistingMatchingCard(c89320376.cfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c89320376.cfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c89320376.cfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
c89320376.cost(e,tp,eg,ep,ev,re,r,rp,1) c89320376.cost(e,tp,eg,ep,ev,re,r,rp,1)
end end
......
...@@ -20,6 +20,7 @@ function c91449144.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -20,6 +20,7 @@ function c91449144.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c91449144.filter,tp,LOCATION_GRAVE,0,2,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c91449144.filter,tp,LOCATION_GRAVE,0,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c91449144.filter,tp,LOCATION_GRAVE,0,2,2,nil) local g=Duel.SelectMatchingCard(tp,c91449144.filter,tp,LOCATION_GRAVE,0,2,2,nil)
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end end
function c91449144.target(e,tp,eg,ep,ev,re,r,rp,chk) function c91449144.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -86,11 +86,15 @@ end ...@@ -86,11 +86,15 @@ end
function c91668401.desop(e,tp,eg,ep,ev,re,r,rp) function c91668401.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c91668401.tdfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c91668401.tdfilter,tp,LOCATION_GRAVE,0,1,1,nil)
if #g>0 and Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 then if #g>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.HintSelection(g)
local g2=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil) if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 then
if #g2>0 then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
Duel.Destroy(g2,REASON_EFFECT) local g2=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
if #g2>0 then
Duel.HintSelection(g2)
Duel.Destroy(g2,REASON_EFFECT)
end
end end
end end
end end
...@@ -57,14 +57,16 @@ function c91742238.setop(e,tp,eg,ep,ev,re,r,rp) ...@@ -57,14 +57,16 @@ function c91742238.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c91742238.setfilter,tp,LOCATION_REMOVED,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c91742238.setfilter,tp,LOCATION_REMOVED,0,1,1,nil)
if #g>0 and Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 if #g>0 then
and c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then Duel.HintSelection(g)
local e1=Effect.CreateEffect(c) if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 then
e1:SetType(EFFECT_TYPE_SINGLE) local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(LOCATION_REMOVED) e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
c:RegisterEffect(e1) e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1)
end
end end
end end
...@@ -58,6 +58,9 @@ function c92379223.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,6 +58,9 @@ function c92379223.activate(e,tp,eg,ep,ev,re,r,rp)
if g:GetClassCount(Card.GetCode)>=3 then if g:GetClassCount(Card.GetCode)>=3 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local tg=g:SelectSubGroup(tp,aux.dncheck,false,3,3) local tg=g:SelectSubGroup(tp,aux.dncheck,false,3,3)
if #tg>0 then
Duel.HintSelection(tg)
end
Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT) Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
local og=Duel.GetOperatedGroup() local og=Duel.GetOperatedGroup()
if og:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then Duel.ShuffleDeck(tp) end if og:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then Duel.ShuffleDeck(tp) end
...@@ -75,6 +78,9 @@ function c92379223.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -75,6 +78,9 @@ function c92379223.activate(e,tp,eg,ep,ev,re,r,rp)
if g:GetClassCount(Card.GetCode)>=3 then if g:GetClassCount(Card.GetCode)>=3 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local tg=g:SelectSubGroup(tp,aux.dncheck,false,3,3) local tg=g:SelectSubGroup(tp,aux.dncheck,false,3,3)
if #tg>0 then
Duel.HintSelection(tg)
end
Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT) Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
local og=Duel.GetOperatedGroup() local og=Duel.GetOperatedGroup()
if og:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then Duel.ShuffleDeck(tp) end if og:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then Duel.ShuffleDeck(tp) end
......
...@@ -77,5 +77,6 @@ function c94553671.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,5 +77,6 @@ function c94553671.thop(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e) local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if tg:GetCount()>0 then if tg:GetCount()>0 then
Duel.SendtoHand(tg,nil,REASON_EFFECT) Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.ConfirmCards(tg)
end end
end end
...@@ -36,6 +36,7 @@ function c94730900.drcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -36,6 +36,7 @@ function c94730900.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c94730900.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,3,e:GetHandler()) end if chk==0 then return Duel.IsExistingMatchingCard(c94730900.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,3,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c94730900.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,3,3,e:GetHandler()) local g=Duel.SelectMatchingCard(tp,c94730900.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,3,3,e:GetHandler())
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end end
function c94730900.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function c94730900.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -76,6 +76,10 @@ function c95238394.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -76,6 +76,10 @@ function c95238394.activate(e,tp,eg,ep,ev,re,r,rp)
local cg=mat:Filter(Card.IsFacedown,nil) local cg=mat:Filter(Card.IsFacedown,nil)
Duel.ConfirmCards(1-tp,cg) Duel.ConfirmCards(1-tp,cg)
end end
if mat:Filter(c95238394.cfilter,nil):GetCount()>0 then
local cg=mat:Filter(c95238394.cfilter,nil)
Duel.HintSelection(cg)
end
Duel.SendtoDeck(mat,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) Duel.SendtoDeck(mat,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
...@@ -87,6 +91,9 @@ function c95238394.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,6 +91,9 @@ function c95238394.activate(e,tp,eg,ep,ev,re,r,rp)
tc:CompleteProcedure() tc:CompleteProcedure()
end end
end end
function c95238394.cfilter(c)
return c:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) or (c:IsLocation(LOCATION_MZONE) and c:IsFaceup())
end
function c95238394.thfilter(c) function c95238394.thfilter(c)
return c:IsRace(RACE_THUNDER) and c:IsAbleToHand() return c:IsRace(RACE_THUNDER) and c:IsAbleToHand()
end end
......
...@@ -82,6 +82,7 @@ function c95658967.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -82,6 +82,7 @@ function c95658967.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
e:SetLabel(lv) e:SetLabel(lv)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local tg=Duel.SelectMatchingCard(tp,c95658967.cfilter2,tp,LOCATION_GRAVE,0,lv,lv,nil) local tg=Duel.SelectMatchingCard(tp,c95658967.cfilter2,tp,LOCATION_GRAVE,0,lv,lv,nil)
Duel.HintSelection(tg)
Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_COST) Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_COST)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
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