Commit 7482736c authored by POLYMER's avatar POLYMER

fix

parent 8808f871
...@@ -7,9 +7,9 @@ function c29021399.initial_effect(c) ...@@ -7,9 +7,9 @@ function c29021399.initial_effect(c)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,nil,5,2) aux.AddXyzProcedure(c,nil,5,2)
c:EnableReviveLimit() c:EnableReviveLimit()
--spsummon --TOGRAVE
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
......
...@@ -36,6 +36,7 @@ function cm.initial_effect(c) ...@@ -36,6 +36,7 @@ function cm.initial_effect(c)
e5:SetProperty(EFFECT_FLAG_CARD_TARGET) e5:SetProperty(EFFECT_FLAG_CARD_TARGET)
e5:SetRange(LOCATION_MZONE) e5:SetRange(LOCATION_MZONE)
e5:SetHintTiming(0,TIMINGS_CHECK_MONSTER) e5:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e5:SetCondition(cm.descon)
e5:SetTarget(cm.target) e5:SetTarget(cm.target)
e5:SetOperation(cm.operation) e5:SetOperation(cm.operation)
c:RegisterEffect(e5) c:RegisterEffect(e5)
...@@ -67,32 +68,36 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,32 +68,36 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
c:RegisterFlagEffect(0,RESET_EVENT+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,0)) c:RegisterFlagEffect(0,RESET_EVENT+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,0))
end end
end end
function cm.dfilter(c) function cm.dfilter(c)
return c:IsFaceup() and c:IsCode(40010230) return c:IsFaceup() and c:IsCode(40010230)
end end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
--if Duel.GetFlagEffect(tp,m)>0 then return e:GetHandler():GetFlagEffect(m+1)<2
--else return e:GetHandler():GetFlagEffect(m+1)<1 end
return Duel.GetFlagEffect(tp,40009560)>0 or Duel.IsExistingMatchingCard(cm.dfilter,tp,LOCATION_MZONE,0,1,nil)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsControler(1-tp) and chkc:IsOnField() and aux.NegateAnyFilter(chkc) end if chkc then return chkc:IsControler(1-tp) and chkc:IsOnField() and aux.NegateAnyFilter(chkc) end
if chk==0 then if chk==0 then
local count = Duel.GetFlagEffect(tp, m+1) local b
if count >= 2 then return false end if Duel.GetFlagEffect(tp,m)>0 then
b=c:GetFlagEffect(m+1)<2
if Duel.GetFlagEffect(tp, 40009560) <= 0 or Duel.IsExistingMatchingCard(cm.dfilter, tp, LOCATION_MZONE, 0, 1, nil) then return false end else
b=c:GetFlagEffect(m+1)<1
end
return b and Duel.IsExistingTarget(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,nil)
end
c:RegisterFlagEffect(m+1,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
if count == 1 and Duel.GetFlagEffect(tp, m) <= 0 then return false end
return Duel.IsExistingTarget(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,nil)
end
--if chk==0 then return Duel.IsExistingTarget(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local g=Duel.SelectTarget(tp,aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectTarget(tp,aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp, m+1, RESET_PHASE+PHASE_END, 0, 1)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if ((tc:IsFaceup() and not tc:IsDisabled()) or tc:IsType(TYPE_TRAPMONSTER)) and tc:IsRelateToEffect(e) then if ((tc:IsFaceup() and not tc:IsDisabled()) or tc:IsType(TYPE_TRAPMONSTER)) and tc:IsRelateToEffect(e) then
...@@ -119,4 +124,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -119,4 +124,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e3) tc:RegisterEffect(e3)
end end
end end
e:GetHandler():RegisterFlagEffect(m+1,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end end
...@@ -100,7 +100,7 @@ function c75081051.thfilter(c) ...@@ -100,7 +100,7 @@ function c75081051.thfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0xa754) and c:IsAbleToHand() return c:IsType(TYPE_MONSTER) and c:IsSetCard(0xa754) and c:IsAbleToHand()
end end
function c75081051.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75081051.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return Duel.IsExistingMatchingCard(c75081051.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
end end
function c75081051.thop(e,tp,eg,ep,ev,re,r,rp) function c75081051.thop(e,tp,eg,ep,ev,re,r,rp)
......
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