Commit 4ccd9b6b authored by mercury233's avatar mercury233 Committed by GitHub

update クロシープ and ベイオネット・パニッシャー (#1578)

parent 499e91b3
...@@ -47,11 +47,15 @@ function c36092504.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,11 +47,15 @@ function c36092504.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.HintSelection(rg) Duel.HintSelection(rg)
res=Duel.Remove(rg,POS_FACEUP,REASON_EFFECT) res=Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
end end
g1=Duel.GetMatchingGroup(c36092504.cfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil)
g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(Card.IsAbleToRemove),tp,0,LOCATION_ONFIELD+LOCATION_EXTRA+LOCATION_GRAVE,nil)
if g1:IsExists(Card.IsType,1,nil,TYPE_SYNCHRO) and g2:IsExists(c36092504.rmfilter1,3,nil) then if g1:IsExists(Card.IsType,1,nil,TYPE_SYNCHRO) and g2:IsExists(c36092504.rmfilter1,3,nil) then
if res~=0 then Duel.BreakEffect() end if res~=0 then Duel.BreakEffect() end
local rg=g2:Filter(c36092504.rmfilter1,nil):RandomSelect(tp,3) local rg=g2:Filter(c36092504.rmfilter1,nil):RandomSelect(tp,3)
res=Duel.Remove(rg,POS_FACEUP,REASON_EFFECT) res=Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
end end
g1=Duel.GetMatchingGroup(c36092504.cfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil)
g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(Card.IsAbleToRemove),tp,0,LOCATION_ONFIELD+LOCATION_EXTRA+LOCATION_GRAVE,nil)
if g1:IsExists(Card.IsType,1,nil,TYPE_XYZ) and g2:IsExists(c36092504.rmfilter2,1,nil) then if g1:IsExists(Card.IsType,1,nil,TYPE_XYZ) and g2:IsExists(c36092504.rmfilter2,1,nil) then
if res~=0 then Duel.BreakEffect() end if res~=0 then Duel.BreakEffect() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
...@@ -59,6 +63,8 @@ function c36092504.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,6 +63,8 @@ function c36092504.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.HintSelection(rg) Duel.HintSelection(rg)
res=Duel.Remove(rg,POS_FACEUP,REASON_EFFECT) res=Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
end end
g1=Duel.GetMatchingGroup(c36092504.cfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil)
g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(Card.IsAbleToRemove),tp,0,LOCATION_ONFIELD+LOCATION_EXTRA+LOCATION_GRAVE,nil)
if g1:IsExists(Card.IsType,1,nil,TYPE_LINK) and g2:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE) then if g1:IsExists(Card.IsType,1,nil,TYPE_LINK) and g2:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE) then
if res~=0 then Duel.BreakEffect() end if res~=0 then Duel.BreakEffect() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
......
...@@ -47,12 +47,8 @@ end ...@@ -47,12 +47,8 @@ end
function c50277355.activate(e,tp,eg,ep,ev,re,r,rp) function c50277355.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
local lg=e:GetHandler():GetLinkedGroup() local lg=e:GetHandler():GetLinkedGroup()
local b1=Duel.IsPlayerCanDraw(tp,2) and lg:IsExists(c50277355.lkfilter,1,nil,TYPE_RITUAL)
local b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(c50277355.spfilter),tp,LOCATION_GRAVE,0,1,nil,e,tp) and lg:IsExists(c50277355.lkfilter,1,nil,TYPE_FUSION)
local b3=Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil) and lg:IsExists(c50277355.lkfilter,1,nil,TYPE_SYNCHRO)
local b4=Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) and lg:IsExists(c50277355.lkfilter,1,nil,TYPE_XYZ)
local res=0 local res=0
local b1=Duel.IsPlayerCanDraw(tp,2) and lg:IsExists(c50277355.lkfilter,1,nil,TYPE_RITUAL)
if b1 then if b1 then
res=Duel.Draw(tp,2,REASON_EFFECT) res=Duel.Draw(tp,2,REASON_EFFECT)
if res==2 then if res==2 then
...@@ -61,6 +57,9 @@ function c50277355.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,6 +57,9 @@ function c50277355.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.DiscardHand(tp,aux.TRUE,2,2,REASON_EFFECT+REASON_DISCARD) Duel.DiscardHand(tp,aux.TRUE,2,2,REASON_EFFECT+REASON_DISCARD)
end end
end end
lg=e:GetHandler():GetLinkedGroup()
local b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(c50277355.spfilter),tp,LOCATION_GRAVE,0,1,nil,e,tp) and lg:IsExists(c50277355.lkfilter,1,nil,TYPE_FUSION)
if b2 then if b2 then
if res~=0 then Duel.BreakEffect() end if res~=0 then Duel.BreakEffect() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
...@@ -69,6 +68,8 @@ function c50277355.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -69,6 +68,8 @@ function c50277355.activate(e,tp,eg,ep,ev,re,r,rp)
res=Duel.SpecialSummon(g1,0,tp,tp,false,false,POS_FACEUP) res=Duel.SpecialSummon(g1,0,tp,tp,false,false,POS_FACEUP)
end end
end end
lg=e:GetHandler():GetLinkedGroup()
local b3=Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil) and lg:IsExists(c50277355.lkfilter,1,nil,TYPE_SYNCHRO)
if b3 then if b3 then
if res~=0 then Duel.BreakEffect() end if res~=0 then Duel.BreakEffect() end
local g2=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil) local g2=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil)
...@@ -85,6 +86,8 @@ function c50277355.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -85,6 +86,8 @@ function c50277355.activate(e,tp,eg,ep,ev,re,r,rp)
tc1=g2:GetNext() tc1=g2:GetNext()
end end
end end
lg=e:GetHandler():GetLinkedGroup()
local b4=Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) and lg:IsExists(c50277355.lkfilter,1,nil,TYPE_XYZ)
if b4 then if b4 then
if res~=0 then Duel.BreakEffect() end if res~=0 then Duel.BreakEffect() end
local g3=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil) local g3=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,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