Commit 1c09c4d5 authored by Tachibana's avatar Tachibana

ndyd

parent f2528e3d
...@@ -49,8 +49,13 @@ function c12005004.checkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -49,8 +49,13 @@ function c12005004.checkop(e,tp,eg,ep,ev,re,r,rp)
end end
function c12005004.drop(e,tp,eg,ep,ev,re,r,rp) function c12005004.drop(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasType(EFFECT_TYPE_ACTIVATE) or not re:IsActiveType(TYPE_COUNTER) then return end if not re:IsHasType(EFFECT_TYPE_ACTIVATE) or not re:IsActiveType(TYPE_COUNTER) then return end
local sel=Duel.SelectOption(tp,aux.Stringid(12005004,3),aux.Stringid(12005004,4))+1 local b1=(Duel.IsPlayerCanDraw(tp,1) and Duel.IsPlayerCanDraw(1-tp,1))
if sel==1 then local b2=(Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil))
local sel=0
if b1 and b2 then
sel=Duel.SelectOption(tp,aux.Stringid(12005004,3),aux.Stringid(12005004,4))+1
end
if sel==1 and b1 then
Duel.Hint(HINT_CARD,0,12005004) Duel.Hint(HINT_CARD,0,12005004)
Duel.BreakEffect() Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
......
...@@ -6,7 +6,7 @@ function c12016002.initial_effect(c) ...@@ -6,7 +6,7 @@ function c12016002.initial_effect(c)
--tohand --tohand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(12016002,0)) e1:SetDescription(aux.Stringid(12016002,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
......
...@@ -18,14 +18,24 @@ function c65090029.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -18,14 +18,24 @@ function c65090029.condition(e,tp,eg,ep,ev,re,r,rp)
local bc=e:GetHandler():GetBattleTarget() local bc=e:GetHandler():GetBattleTarget()
return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED) return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED)
end end
function c65090029.seqfil(c,bc)
local seq=c:GetSequence()
local seq2=bc:GetSequence()
local a=seq2==5 and (seq==0 or seq==1 or seq==2)
local b=seq2==6 and (seq==2 or seq==3 or seq==4)
local m=seq<5 and seq2<5 and math.abs(seq2-seq)<=1
local d=(seq==5 and c:IsLocation(LOCATION_MZONE)) and (seq2==0 or seq2==1 or seq2==2)
local e=(seq==6 and c:IsLocation(LOCATION_MZONE)) and (seq2==2 or seq2==3 or seq2==4)
return a or b or m or d or e
end
function c65090029.target(e,tp,eg,ep,ev,re,r,rp,chk) function c65090029.target(e,tp,eg,ep,ev,re,r,rp,chk)
local bc=e:GetHandler():GetBattleTarget() local bc=e:GetHandler():GetBattleTarget()
if chk==0 then return true end if chk==0 then return true end
local g=bc:GetColumnGroup(1,1):Filter(Card.IsControler,bc,1-tp) local g=Duel.GetMatchingGroup(c65090029.seqfil,tp,0,LOCATION_ONFIELD,nil,bc)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),1-tp,LOCATION_ONFIELD) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),1-tp,LOCATION_ONFIELD)
end end
function c65090029.operation(e,tp,eg,ep,ev,re,r,rp) function c65090029.operation(e,tp,eg,ep,ev,re,r,rp)
local bc=e:GetHandler():GetBattleTarget() local bc=e:GetHandler():GetBattleTarget()
local g=bc:GetColumnGroup(1,1):Filter(Card.IsControler,bc,1-tp) local g=Duel.GetMatchingGroup(c65090029.seqfil,tp,0,LOCATION_ONFIELD,nil,bc)
Duel.Destroy(g,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
end end
\ No newline at end of file
...@@ -125,10 +125,10 @@ function c9310041.cfilter(c) ...@@ -125,10 +125,10 @@ function c9310041.cfilter(c)
end end
function c9310041.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c9310041.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(c9310041.cfilter,tp,LOCATION_MZONE,0,1,nil) if chk==0 then return Duel.IsExistingTarget(c9310041.cfilter,tp,LOCATION_ONFIELD,0,1,nil)
and Duel.IsExistingTarget(Card.IsAbleToHand,tp,0,LOCATION_ONFIELD+LOCATION_GRAVE,1,nil) end and Duel.IsExistingTarget(Card.IsAbleToHand,tp,0,LOCATION_ONFIELD+LOCATION_GRAVE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
local g1=Duel.SelectTarget(tp,c9310041.cfilter,tp,LOCATION_MZONE,0,1,1,nil) local g1=Duel.SelectTarget(tp,c9310041.cfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPPO) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPPO)
local g2=Duel.SelectTarget(tp,Card.IsAbleToHand,tp,0,LOCATION_ONFIELD+LOCATION_GRAVE,1,1,nil) local g2=Duel.SelectTarget(tp,Card.IsAbleToHand,tp,0,LOCATION_ONFIELD+LOCATION_GRAVE,1,1,nil)
g1:Merge(g2) g1:Merge(g2)
......
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