Commit 47ddc85b authored by 聖園ミカ's avatar 聖園ミカ 🐟

Replace c11451907.lua

parent 40a4955e
Pipeline #32500 canceled with stages
in 1 minute and 26 seconds
......@@ -113,6 +113,11 @@ function cm.initial_effect(c)
ge6:SetCode(EVENT_CHAIN_END)
ge6:SetOperation(cm.clear)
Duel.RegisterEffect(ge6,0)
local ge7=Effect.CreateEffect(c)
ge7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge7:SetCode(EVENT_PHASE_START+PHASE_DRAW)
ge7:SetOperation(cm.clear2)
Duel.RegisterEffect(ge7,0)
end
if not PTFL_SUMMONRULE_CHECK then
PTFL_SUMMONRULE_CHECK=true
......@@ -124,6 +129,14 @@ function cm.initial_effect(c)
c:RegisterFlagEffect(11451905,RESET_CHAIN,0,1)
end
end
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_CHAIN_ACTIVATING)
ge1:SetOperation(function()
local g=Duel.GetMatchingGroup(function(c) return c:GetFlagEffect(11451905)>0 end,0,0xff,0xff,nil)
for tc in aux.Next(g) do tc:ResetFlagEffect(11451905) end
end)
Duel.RegisterEffect(ge1,0)
end
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -146,7 +159,11 @@ function cm.cpcost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return ft>0 and Duel.GetFlagEffect(tp,11451902)>0 and e:GetHandler():GetFlagEffect(m)==0 end
e:GetHandler():RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
Duel.ResetFlagEffect(tp,11451902)
if Duel.GetFlagEffect(1,11451901)==0 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetOperation(function(e)
if Duel.GetFlagEffect(1,11451901)==0 and Duel.GetCurrentChain()==e:GetLabel() then
--change code
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_FIELD)
......@@ -159,6 +176,10 @@ function cm.cpcost2(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e3,tp)
end
Duel.RegisterFlagEffect(1,11451901,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end)
e1:SetReset(RESET_CHAIN)
e1:SetLabel(Duel.GetCurrentChain())
Duel.RegisterEffect(e1,tp)
end
function cm.nmfilter(c)
return c:GetFlagEffect(11451908)==0 and Duel.IsExistingMatchingCard(Card.IsOriginalCodeRule,0,LOCATION_GRAVE,LOCATION_GRAVE,1,c,table.unpack({c:GetOriginalCodeRule()}))
......@@ -265,19 +286,24 @@ end
function cm.clear(e,tp,eg,ep,ev,re,r,rp)
Duel.ResetFlagEffect(0,m)
end
function cm.clear2(e,tp,eg,ep,ev,re,r,rp)
cm[0]=nil
cm[1]=nil
end
function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(0,m)>0 and Duel.GetCurrentChain()==1 and e:GetHandler():GetFlagEffect(m+1)==0
return Duel.GetFlagEffect(0,m)>0 and Duel.GetCurrentChain()==1 and e:GetHandler():GetFlagEffect(m+1)==0 and e:GetHandler():IsSetCard(0xc976)
end
function cm.filter11(c)
return c:IsSetCard(0xc976) and c:GetFlagEffect(11451905)==0
return c:IsSetCard(0xc976) and (c:GetFlagEffect(11451905)==0 or not c:IsLocation(LOCATION_HAND))
end
function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local hg=Duel.GetMatchingGroup(cm.filter11,tp,LOCATION_HAND,0,nil)
if c:IsLocation(LOCATION_HAND) then
local op=not cm[tp] and Duel.SelectYesNo(tp,aux.Stringid(m,6))
local op=not cm[tp] and Duel.SelectEffectYesNo(tp,c,aux.Stringid(m,6))
if not op and cm[tp]==nil then cm[tp]=Duel.SelectYesNo(tp,aux.Stringid(m,9)) end
if not op then return end
Duel.ResetFlagEffect(0,m)
Duel.Hint(HINT_CARD,0,m)
Duel.Destroy(c,REASON_EFFECT)
--Destroy
......@@ -296,6 +322,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local op=not cm[tp] and Duel.SelectEffectYesNo(tp,c,aux.Stringid(m,5))
if not op and cm[tp]==nil then cm[tp]=Duel.SelectYesNo(tp,aux.Stringid(m,9)) end
if not op then return end
Duel.ResetFlagEffect(0,m)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=hg:Select(tp,1,1,nil)
Duel.Hint(HINT_CARD,0,m)
......@@ -317,16 +344,16 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.operation3(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,m)
local te=e:GetLabelObject()
te:Reset()
e:Reset()
local c=e:GetHandler()
local hg=Duel.GetMatchingGroup(cm.filter11,tp,LOCATION_ONFIELD,0,nil):Filter(Card.IsFaceup,nil)
if #hg>0 then
local op=not cm[tp] and Duel.SelectYesNo(tp,aux.Stringid(m,2))
local op=not cm[tp] and Duel.SelectEffectYesNo(tp,c,aux.Stringid(m,2))
if not op and cm[tp]==nil then cm[tp]=Duel.SelectYesNo(tp,aux.Stringid(m,9)) end
if not op then return end
Duel.Hint(HINT_CARD,0,m)
local te=e:GetLabelObject()
te:Reset()
e:Reset()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=hg:Select(tp,1,1,nil)
Duel.Destroy(dg,REASON_EFFECT)
......@@ -345,16 +372,16 @@ function cm.operation3(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.operation4(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,m)
local te=e:GetLabelObject()
te:Reset()
e:Reset()
local c=e:GetHandler()
if c:GetFlagEffect(m+1)>0 and c:GetFlagEffectLabel(m+1)==e:GetLabel() then
if c:GetFlagEffect(m+1)>0 and c:GetFlagEffectLabel(m+1)==e:GetLabel() and c:IsSetCard(0xc976) then
local op=not cm[tp] and Duel.SelectEffectYesNo(tp,c,aux.Stringid(m,4))
if not op and cm[tp]==nil then cm[tp]=Duel.SelectYesNo(tp,aux.Stringid(m,9)) end
if not op then return end
if op then
Duel.Hint(HINT_CARD,0,m)
local te=e:GetLabelObject()
te:Reset()
e:Reset()
Duel.Destroy(c,REASON_EFFECT)
--Destroy
local e6=Effect.CreateEffect(c)
......@@ -374,19 +401,19 @@ function cm.operation4(e,tp,eg,ep,ev,re,r,rp)
c:ResetFlagEffect(m+1)
end
function cm.operation5(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,m)
local te=e:GetLabelObject()
te:Reset()
e:Reset()
local c=e:GetHandler()
local hg=Duel.GetMatchingGroup(cm.filter11,tp,LOCATION_DECK,0,nil)
if c:GetFlagEffect(m+1)>0 and c:GetFlagEffectLabel(m+1)==e:GetLabel() then
c:ResetFlagEffect(m+1)
end
if #hg>0 then
local op=not cm[tp] and Duel.SelectYesNo(tp,aux.Stringid(m,3))
local op=not cm[tp] and Duel.SelectEffectYesNo(tp,c,aux.Stringid(m,3))
if not op and cm[tp]==nil then cm[tp]=Duel.SelectYesNo(tp,aux.Stringid(m,9)) end
if not op then return end
Duel.Hint(HINT_CARD,0,m)
local te=e:GetLabelObject()
te:Reset()
e:Reset()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=hg:Select(tp,1,1,nil)
Duel.Destroy(dg,REASON_EFFECT)
......
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