diff --git a/c22610082.lua b/c22610082.lua index f540062aa2..d1565cb805 100644 --- a/c22610082.lua +++ b/c22610082.lua @@ -18,7 +18,7 @@ function c22610082.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then if e:GetLabel()==0 then return false end e:SetLabel(0) - return e:GetHandler():IsAbleToDeck() + return not Duel.IsPlayerAffectedByEffect(tp,4130270) end e:SetLabel(0) Duel.SetOperationInfo(0,CATEGORY_TODECK,e:GetHandler(),1,0,0) diff --git a/c4130270.lua b/c4130270.lua index 29e3017c6a..d2dd98469e 100644 --- a/c4130270.lua +++ b/c4130270.lua @@ -9,4 +9,11 @@ function c4130270.initial_effect(c) e1:SetTargetRange(1,1) e1:SetTarget(aux.TargetBoolFunction(Card.IsLocation,LOCATION_ONFIELD)) c:RegisterEffect(e1) + local e2=Effect.CreateEffect(c) + e2:SetType(EFFECT_TYPE_FIELD) + e2:SetCode(4130270) + e2:SetRange(LOCATION_MZONE) + e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) + e2:SetTargetRange(1,1) + c:RegisterEffect(e2) end diff --git a/c7165085.lua b/c7165085.lua index d79a777f94..4016da439d 100644 --- a/c7165085.lua +++ b/c7165085.lua @@ -5,16 +5,25 @@ function c7165085.initial_effect(c) e1:SetCategory(CATEGORY_DESTROY) e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetCode(EVENT_FREE_CHAIN) + e1:SetCost(c7165085.cost) e1:SetTarget(c7165085.target) e1:SetOperation(c7165085.activate) c:RegisterEffect(e1) end +function c7165085.cost(e,tp,eg,ep,ev,re,r,rp,chk) + e:SetLabel(1) + return true +end function c7165085.filter(c) return c:IsFacedown() and c:GetSequence()~=5 end function c7165085.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) if chkc then return chkc:IsLocation(LOCATION_SZONE) and c7165085.filter(chkc) end - if chk==0 then return Duel.IsExistingTarget(c7165085.filter,tp,LOCATION_SZONE,LOCATION_SZONE,1,e:GetHandler()) end + if chk==0 then + if e:GetLabel()==0 then return false end + e:SetLabel(0) + return not Duel.IsPlayerAffectedByEffect(tp,4130270) and Duel.IsExistingTarget(c7165085.filter,tp,LOCATION_SZONE,LOCATION_SZONE,1,e:GetHandler()) + end e:SetProperty(EFFECT_FLAG_CARD_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEDOWN) Duel.SelectTarget(tp,c7165085.filter,tp,LOCATION_SZONE,LOCATION_SZONE,1,1,e:GetHandler()) diff --git a/c81171949.lua b/c81171949.lua index 738430ab56..40abf5d25f 100644 --- a/c81171949.lua +++ b/c81171949.lua @@ -5,6 +5,8 @@ function c81171949.initial_effect(c) e1:SetCategory(CATEGORY_TODECK) e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetCode(EVENT_FREE_CHAIN) + e1:SetCost(c81171949.cost) + e1:SetTarget(c81171949.target) e1:SetOperation(c81171949.activate) c:RegisterEffect(e1) --remove @@ -18,6 +20,19 @@ function c81171949.initial_effect(c) e2:SetOperation(c81171949.rmop) c:RegisterEffect(e2) end +function c81171949.cost(e,tp,eg,ep,ev,re,r,rp,chk) + e:SetLabel(1) + return true +end +function c81171949.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then + if e:GetLabel()==0 then return false end + e:SetLabel(0) + return not Duel.IsPlayerAffectedByEffect(tp,4130270) + end + e:SetLabel(0) + Duel.SetOperationInfo(0,CATEGORY_TODECK,e:GetHandler(),1,0,0) +end function c81171949.activate(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() if c:IsRelateToEffect(e) then