Commit db8f233b authored by Tachibana's avatar Tachibana

1145141919810

parent 838002bf
Pipeline #14433 passed with stages
in 27 minutes and 21 seconds
......@@ -24,7 +24,7 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,m+100)
e3:SetCountLimit(1,m+200)
e3:SetCondition(cm.discon)
e3:SetTarget(cm.distg)
e3:SetOperation(cm.disop)
......@@ -55,6 +55,7 @@ function cm.spop1(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetTarget(cm.destg)
......
......@@ -74,7 +74,7 @@ end
function cm.negcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if ep==tp or c:IsStatus(STATUS_BATTLE_DESTROYED) then return false end
return re:GetHandler():IsAbleToHand()
return re:GetHandler():IsAbleToHand() and not re:GetHandler():IsLocation(LOCATION_HAND)
end
function cm.spfilter(c)
return c:IsAbleToGrave()
......
......@@ -10,6 +10,7 @@ function cm.initial_effect(c)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
--destroy replace
local e2=Effect.CreateEffect(c)
......
......@@ -59,7 +59,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp
return rp==1-tp and not Duel.IsExistingMatchingCard(Card.IsType,e:GetHandlerPlayer(),LOCATION_ONFIELD,0,1,nil,TYPE_NORMAL)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -88,7 +88,7 @@ function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(g,REASON_EFFECT)
end
end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,2))
local g=Duel.SelectMatchingCard(tp,cm.filter1,tp,LOCATION_ONFIELD,0,1,1,nil)
if #g>0 then
......
......@@ -32,7 +32,7 @@ function cm.initial_effect(c)
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(m,1))
e0:SetCategory(CATEGORY_)
e0:SetCategory(CATEGORY_EQUIP)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e0:SetCode(EVENT_PHASE+PHASE_BATTLE_START)
e0:SetRange(LOCATION_GRAVE)
......
......@@ -35,9 +35,9 @@ function cm.initial_effect(c)
e2:SetCountLimit(1)
c:RegisterEffect(e2)
--copy
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_XMATERIAL)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_XMATERIAL)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EFFECT_CHANGE_CODE)
e3:SetCondition(cm.gecon)
e3:SetValue(m)
......@@ -109,7 +109,7 @@ function cm.lcop(e,tp,eg,ep,ev,re,r,rp)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EFFECT_CANNOT_ACTIVATE)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(1,1)
e3:SetTargetRange(1,0)
e3:SetCondition(cm.econ1)
e3:SetValue(cm.elimit)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
......
......@@ -117,7 +117,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
if hg:GetCount()>0 and Duel.SendtoHand(hg,tp,REASON_EFFECT)>0 and hg:GetFirst():IsLocation(LOCATION_HAND) then
Duel.ConfirmCards(1-tp,hg)
local dis=1<<c:GetSequence()
if Duel.Remove(c,0,REASON_EFFECT+REASON_TEMPORARY)>0 and c:IsLocation(LOCATION_REMOVED) then
if c:IsRelateToEffect(e) and Duel.Remove(c,0,REASON_EFFECT+REASON_TEMPORARY)>0 and c:IsLocation(LOCATION_REMOVED) then
if SNNM.DisMZone(tp)&dis>0 then return end
local zone=dis
if tp==1 then dis=((dis&0xffff)<<16)|((dis>>16)&0xffff) end
......
......@@ -82,7 +82,7 @@ function cm.discon2(e,tp,eg,ep,ev,re,r,rp)
return SNNM.DisMZone(tp)&0x1f>0
end
function cm.disfilter(c)
return aux.NegateAnyFilter(c) and c:IsStatus(STATUS_EFFECT_ENABLED)
return aux.NegateAnyFilter(c) and c:IsStatus(STATUS_EFFECT_ENABLED) and not c:IsStatus(STATUS_LEAVE_CONFIRMED)
end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local b1=SNNM.RinnaZone(tp,Duel.GetMatchingGroup(function(c)return c:GetSequence()<5 and c:IsAbleToRemove()end,tp,LOCATION_MZONE,0,nil))>0 and Duel.IsExistingMatchingCard(cm.disfilter,tp,0,LOCATION_ONFIELD,1,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