Commit 5e3effd7 authored by mercury233's avatar mercury233 Committed by GitHub

fix サイバー・ヴァリー

●自分の墓地のカード1枚を対象として発動できる。
parent c637be96
...@@ -24,6 +24,7 @@ function c3657444.initial_effect(c) ...@@ -24,6 +24,7 @@ function c3657444.initial_effect(c)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(3657444,2)) e3:SetDescription(aux.Stringid(3657444,2))
e3:SetCategory(CATEGORY_TODECK) e3:SetCategory(CATEGORY_TODECK)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetTarget(c3657444.target3) e3:SetTarget(c3657444.target3)
...@@ -68,13 +69,16 @@ function c3657444.operation2(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,13 +69,16 @@ function c3657444.operation2(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,2,REASON_EFFECT) Duel.Draw(tp,2,REASON_EFFECT)
end end
end end
function c3657444.target3(e,tp,eg,ep,ev,re,r,rp,chk) function c3657444.target3(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and chkc:IsAbleToDeck() end
if chk==0 then return e:GetHandler():IsAbleToRemove() if chk==0 then return e:GetHandler():IsAbleToRemove()
and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_HAND,0,1,nil) and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_HAND,0,1,nil)
and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_GRAVE,0,1,nil) end and Duel.IsExistingTarget(Card.IsAbleToDeck,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription()) Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,2,0,0) Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
end end
function c3657444.operation3(e,tp,eg,ep,ev,re,r,rp) function c3657444.operation3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -84,12 +88,10 @@ function c3657444.operation3(e,tp,eg,ep,ev,re,r,rp) ...@@ -84,12 +88,10 @@ function c3657444.operation3(e,tp,eg,ep,ev,re,r,rp)
if hg:GetCount()>0 then if hg:GetCount()>0 then
hg:AddCard(c) hg:AddCard(c)
if Duel.Remove(hg,POS_FACEUP,REASON_EFFECT)~=2 then return end if Duel.Remove(hg,POS_FACEUP,REASON_EFFECT)~=2 then return end
Duel.BreakEffect() local tc=Duel.GetFirstTarget()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) if tc:IsRelateToEffect(e) then
local gg=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_GRAVE,0,1,1,nil) Duel.BreakEffect()
if gg:GetCount()>0 then Duel.SendtoDeck(tc,nil,SEQ_DECKTOP,REASON_EFFECT)
Duel.SendtoDeck(gg,nil,SEQ_DECKTOP,REASON_EFFECT)
Duel.ConfirmCards(1-tp,gg)
end end
end end
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