Commit 34da2710 authored by Tachibana's avatar Tachibana

tnndx

parent 6db45bcc
No preview for this file type
...@@ -49,7 +49,12 @@ function cm.spfilter1(c,e,tp) ...@@ -49,7 +49,12 @@ function cm.spfilter1(c,e,tp)
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc=tg:GetNext()
end
end end
function cm.stop(e,tp,eg,ep,ev,re,r,rp) function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler() c=e:GetHandler()
......
--八舞夕弦 月下双子 --八舞夕弦 月下双子
local m=33400802 local m=33400802
local cm=_G["c"..m] local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--search --search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
...@@ -66,7 +66,12 @@ function cm.ckfilter1(c,seq) ...@@ -66,7 +66,12 @@ function cm.ckfilter1(c,seq)
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc=tg:GetNext()
end
end end
function cm.stop(e,tp,eg,ep,ev,re,r,rp) function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler() c=e:GetHandler()
......
--八舞夕弦 束缚之风 --八舞夕弦 束缚之风
local m=33400803 local m=33400803
local cm=_G["c"..m] local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--atk up --atk up
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
...@@ -69,7 +69,12 @@ function cm.ckfilter(c,tp) ...@@ -69,7 +69,12 @@ function cm.ckfilter(c,tp)
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc=tg:GetNext()
end
end end
function cm.stop(e,tp,eg,ep,ev,re,r,rp) function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler() c=e:GetHandler()
......
...@@ -55,7 +55,12 @@ function cm.filter2(c,e,tp,m,f,chkf) ...@@ -55,7 +55,12 @@ function cm.filter2(c,e,tp,m,f,chkf)
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,5))
tc=tg:GetNext()
end
end end
function cm.stop(e,tp,eg,ep,ev,re,r,rp) function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler() c=e:GetHandler()
......
...@@ -53,7 +53,12 @@ function cm.ckfilter(c,tp) ...@@ -53,7 +53,12 @@ function cm.ckfilter(c,tp)
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc=tg:GetNext()
end
end end
function cm.stop(e,tp,eg,ep,ev,re,r,rp) function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler() c=e:GetHandler()
......
...@@ -67,7 +67,12 @@ function cm.ckfilter1(c,tp,seq) ...@@ -67,7 +67,12 @@ function cm.ckfilter1(c,tp,seq)
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc=tg:GetNext()
end
end end
function cm.stop(e,tp,eg,ep,ev,re,r,rp) function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler() c=e:GetHandler()
......
--八舞耶俱矢 贯穿之风 --八舞耶俱矢 贯穿之风
local m=33400807 local m=33400807
local cm=_G["c"..m] local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--atk up --atk up
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
...@@ -69,7 +69,12 @@ function cm.ckfilter(c,tp) ...@@ -69,7 +69,12 @@ function cm.ckfilter(c,tp)
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc=tg:GetNext()
end
end end
function cm.stop(e,tp,eg,ep,ev,re,r,rp) function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler() c=e:GetHandler()
......
...@@ -55,7 +55,12 @@ function cm.filter2(c,e,tp,m,f,chkf) ...@@ -55,7 +55,12 @@ function cm.filter2(c,e,tp,m,f,chkf)
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,5))
tc=tg:GetNext()
end
end end
function cm.stop(e,tp,eg,ep,ev,re,r,rp) function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler() c=e:GetHandler()
......
...@@ -65,6 +65,11 @@ function cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -65,6 +65,11 @@ function cm.mvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local b2=Duel.IsExistingMatchingCard(cm.mvfilter2,tp,LOCATION_MZONE,0,1,nil,tp) local b2=Duel.IsExistingMatchingCard(cm.mvfilter2,tp,LOCATION_MZONE,0,1,nil,tp)
if chk==0 then return b1 or b2 end if chk==0 then return b1 or b2 end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,6))
tc=tg:GetNext()
end
end end
function cm.mvop(e,tp,eg,ep,ev,re,r,rp) function cm.mvop(e,tp,eg,ep,ev,re,r,rp)
local b1=Duel.IsExistingMatchingCard(cm.mvfilter1,tp,LOCATION_MZONE,0,1,nil) local b1=Duel.IsExistingMatchingCard(cm.mvfilter1,tp,LOCATION_MZONE,0,1,nil)
......
...@@ -40,7 +40,7 @@ function cm.initial_effect(c) ...@@ -40,7 +40,7 @@ function cm.initial_effect(c)
end end
function cm.hspfilter(c,tp,sc) function cm.hspfilter(c,tp,sc)
return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode())==0 return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode())==0
and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc) and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0 and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc)
end end
function cm.hspfilter2(c,tp,sc,tc) function cm.hspfilter2(c,tp,sc,tc)
local g=Group.CreateGroup() local g=Group.CreateGroup()
...@@ -61,8 +61,20 @@ function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -61,8 +61,20 @@ function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
g2:Merge(g1) g2:Merge(g1)
c:SetMaterial(g2) c:SetMaterial(g2)
Duel.Release(g2,REASON_COST) Duel.Release(g2,REASON_COST)
Duel.RegisterFlagEffect(tp,tc1:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,tc1:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,tc2:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,tc2:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg1=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc1:GetCode())
local tc1=tg1:GetFirst()
while tc1 do
tc1:RegisterFlagEffect(tc1:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4))
tc1=tg1:GetNext()
end
local tg2=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc2:GetCode())
local tc2=tg2:GetFirst()
while tc2 do
tc2:RegisterFlagEffect(tc2:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4))
tc2=tg2:GetNext()
end
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
...@@ -102,7 +114,12 @@ function cm.ckfilter(c,tp) ...@@ -102,7 +114,12 @@ function cm.ckfilter(c,tp)
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,5))
tc=tg:GetNext()
end
end end
function cm.stop(e,tp,eg,ep,ev,re,r,rp) function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler() c=e:GetHandler()
......
...@@ -39,7 +39,7 @@ function cm.initial_effect(c) ...@@ -39,7 +39,7 @@ function cm.initial_effect(c)
end end
function cm.hspfilter(c,tp,sc) function cm.hspfilter(c,tp,sc)
return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode())==0 return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode())==0
and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc) and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0 and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc)
end end
function cm.hspfilter2(c,tp,sc,tc) function cm.hspfilter2(c,tp,sc,tc)
local g=Group.CreateGroup() local g=Group.CreateGroup()
...@@ -60,8 +60,20 @@ function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -60,8 +60,20 @@ function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
g2:Merge(g1) g2:Merge(g1)
c:SetMaterial(g2) c:SetMaterial(g2)
Duel.Release(g2,REASON_COST) Duel.Release(g2,REASON_COST)
Duel.RegisterFlagEffect(tp,tc1:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,tc1:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,tc2:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,tc2:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg1=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc1:GetCode())
local tc1=tg1:GetFirst()
while tc1 do
tc1:RegisterFlagEffect(tc1:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4))
tc1=tg1:GetNext()
end
local tg2=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc2:GetCode())
local tc2=tg2:GetFirst()
while tc2 do
tc2:RegisterFlagEffect(tc2:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4))
tc2=tg2:GetNext()
end
end end
function cm.seqfilter(c) function cm.seqfilter(c)
...@@ -118,7 +130,12 @@ function cm.setfilter(c) ...@@ -118,7 +130,12 @@ function cm.setfilter(c)
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,5))
tc=tg:GetNext()
end
end end
function cm.stop(e,tp,eg,ep,ev,re,r,rp) function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler() c=e:GetHandler()
......
...@@ -40,7 +40,7 @@ function cm.initial_effect(c) ...@@ -40,7 +40,7 @@ function cm.initial_effect(c)
end end
function cm.hspfilter(c,tp,sc) function cm.hspfilter(c,tp,sc)
return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode())==0 return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode())==0
and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc) and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0 and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc)
end end
function cm.hspfilter2(c,tp,sc,tc) function cm.hspfilter2(c,tp,sc,tc)
local g=Group.CreateGroup() local g=Group.CreateGroup()
...@@ -61,8 +61,20 @@ function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -61,8 +61,20 @@ function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
g2:Merge(g1) g2:Merge(g1)
c:SetMaterial(g2) c:SetMaterial(g2)
Duel.Release(g2,REASON_COST) Duel.Release(g2,REASON_COST)
Duel.RegisterFlagEffect(tp,tc1:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,tc1:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,tc2:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,tc2:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg1=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc1:GetCode())
local tc1=tg1:GetFirst()
while tc1 do
tc1:RegisterFlagEffect(tc1:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc1=tg1:GetNext()
end
local tg2=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc2:GetCode())
local tc2=tg2:GetFirst()
while tc2 do
tc2:RegisterFlagEffect(tc2:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3))
tc2=tg2:GetNext()
end
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
...@@ -81,7 +93,7 @@ function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -81,7 +93,7 @@ function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 then if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 then
Duel.Damage(1-tp,1000,REASON_EFFECT) Duel.Damage(1-tp,1000,REASON_EFFECT)
end end
end end
...@@ -103,7 +115,12 @@ function cm.ckfilter(c,tp) ...@@ -103,7 +115,12 @@ function cm.ckfilter(c,tp)
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4))
tc=tg:GetNext()
end
end end
function cm.stop(e,tp,eg,ep,ev,re,r,rp) function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler() c=e:GetHandler()
......
...@@ -4,7 +4,7 @@ local cm=_G["c"..m] ...@@ -4,7 +4,7 @@ local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa341),2,true) aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa341),2,true)
--spsummon --spsummon
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD) e0:SetType(EFFECT_TYPE_FIELD)
...@@ -40,7 +40,7 @@ function cm.initial_effect(c) ...@@ -40,7 +40,7 @@ function cm.initial_effect(c)
end end
function cm.hspfilter(c,tp,sc) function cm.hspfilter(c,tp,sc)
return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode())==0 return c:IsSetCard(0xa341) and Duel.GetFlagEffect(tp,c:GetCode())==0
and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc) and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0 and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc)
end end
function cm.hspfilter2(c,tp,sc,tc) function cm.hspfilter2(c,tp,sc,tc)
local g=Group.CreateGroup() local g=Group.CreateGroup()
...@@ -61,8 +61,20 @@ function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -61,8 +61,20 @@ function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
g2:Merge(g1) g2:Merge(g1)
c:SetMaterial(g2) c:SetMaterial(g2)
Duel.Release(g2,REASON_COST) Duel.Release(g2,REASON_COST)
Duel.RegisterFlagEffect(tp,tc1:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,tc1:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,tc2:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,tc2:GetCode()+10000,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg1=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc1:GetCode())
local tc1=tg1:GetFirst()
while tc1 do
tc1:RegisterFlagEffect(tc1:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4))
tc1=tg1:GetNext()
end
local tg2=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc2:GetCode())
local tc2=tg2:GetFirst()
while tc2 do
tc2:RegisterFlagEffect(tc2:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,4))
tc2=tg2:GetNext()
end
end end
function cm.seqfilter(c) function cm.seqfilter(c)
...@@ -122,7 +134,12 @@ function cm.spfilter1(c,e,tp) ...@@ -122,7 +134,12 @@ function cm.spfilter1(c,e,tp)
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,5))
tc=tg:GetNext()
end
end end
function cm.stop(e,tp,eg,ep,ev,re,r,rp) function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler() c=e:GetHandler()
......
...@@ -22,36 +22,36 @@ function cm.initial_effect(c) ...@@ -22,36 +22,36 @@ function cm.initial_effect(c)
e1:SetValue(cm.splimit) e1:SetValue(cm.splimit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--ChainLimit --ChainLimit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetOperation(cm.chainop)
c:RegisterEffect(e2)
--inactivatable
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EFFECT_CANNOT_INACTIVATE)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetOperation(cm.chainop) e3:SetValue(cm.effectfilter)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--inactivatable
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CANNOT_INACTIVATE) e4:SetCode(EFFECT_CANNOT_DISEFFECT)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetValue(cm.effectfilter) e4:SetValue(cm.effectfilter)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_CANNOT_DISEFFECT)
e5:SetRange(LOCATION_MZONE)
e5:SetValue(cm.effectfilter)
c:RegisterEffect(e5)
--set --set
local e2=Effect.CreateEffect(c) local e9=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DISABLE+CATEGORY_TOHAND) e9:SetCategory(CATEGORY_DISABLE+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_QUICK_O) e9:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING) e9:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE) e9:SetRange(LOCATION_MZONE)
e2:SetCountLimit(2,m) e9:SetCountLimit(2,m)
e2:SetCondition(cm.stcon) e9:SetCondition(cm.stcon)
e2:SetTarget(cm.sttg) e9:SetTarget(cm.sttg)
e2:SetOperation(cm.stop) e9:SetOperation(cm.stop)
c:RegisterEffect(e2) c:RegisterEffect(e9)
--Equip Okatana --Equip Okatana
local e8=Effect.CreateEffect(c) local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
...@@ -69,6 +69,7 @@ end ...@@ -69,6 +69,7 @@ end
function cm.hspfilter(c,tp,sc) function cm.hspfilter(c,tp,sc)
return c:IsSetCard(0xa341)and c:IsType(TYPE_FUSION) and Duel.GetFlagEffect(tp,c:GetCode())==0 return c:IsSetCard(0xa341)and c:IsType(TYPE_FUSION) and Duel.GetFlagEffect(tp,c:GetCode())==0
and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0
and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc) and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc)
end end
function cm.hspfilter2(c,tp,sc,tc) function cm.hspfilter2(c,tp,sc,tc)
...@@ -76,6 +77,7 @@ function cm.hspfilter2(c,tp,sc,tc) ...@@ -76,6 +77,7 @@ function cm.hspfilter2(c,tp,sc,tc)
g:AddCard(tc) g:AddCard(tc)
g:AddCard(c) g:AddCard(c)
return c:IsSetCard(0xa341) and c:IsType(TYPE_FUSION)and Duel.GetFlagEffect(tp,c:GetCode())==0 return c:IsSetCard(0xa341) and c:IsType(TYPE_FUSION)and Duel.GetFlagEffect(tp,c:GetCode())==0
and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end end
function cm.hspcon(e,c) function cm.hspcon(e,c)
...@@ -92,6 +94,18 @@ function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -92,6 +94,18 @@ function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Release(g2,REASON_COST) Duel.Release(g2,REASON_COST)
Duel.RegisterFlagEffect(tp,tc1:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,tc1:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,tc2:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,tc2:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg1=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc1:GetCode())
local tc1=tg1:GetFirst()
while tc1 do
tc1:RegisterFlagEffect(tc1:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,6))
tc1=tg1:GetNext()
end
local tg2=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc2:GetCode())
local tc2=tg2:GetFirst()
while tc2 do
tc2:RegisterFlagEffect(tc2:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,6))
tc2=tg2:GetNext()
end
end end
function cm.splimit(e,se,sp,st) function cm.splimit(e,se,sp,st)
...@@ -134,7 +148,12 @@ function cm.setfilter(c) ...@@ -134,7 +148,12 @@ function cm.setfilter(c)
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,7))
tc=tg:GetNext()
end
end end
function cm.stop(e,tp,eg,ep,ev,re,r,rp) function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler() c=e:GetHandler()
......
...@@ -50,16 +50,16 @@ function cm.initial_effect(c) ...@@ -50,16 +50,16 @@ function cm.initial_effect(c)
e3:SetValue(cm.tglimit) e3:SetValue(cm.tglimit)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--set --set
local e5=Effect.CreateEffect(c) local e9=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_DISABLE+CATEGORY_TOHAND) e9:SetCategory(CATEGORY_DISABLE+CATEGORY_TOHAND)
e5:SetType(EFFECT_TYPE_QUICK_O) e9:SetType(EFFECT_TYPE_QUICK_O)
e5:SetCode(EVENT_CHAINING) e9:SetCode(EVENT_CHAINING)
e5:SetRange(LOCATION_MZONE) e9:SetRange(LOCATION_MZONE)
e5:SetCountLimit(2,m) e9:SetCountLimit(2,m)
e5:SetCondition(cm.stcon) e9:SetCondition(cm.stcon)
e5:SetTarget(cm.sttg) e9:SetTarget(cm.sttg)
e5:SetOperation(cm.stop) e9:SetOperation(cm.stop)
c:RegisterEffect(e5) c:RegisterEffect(e9)
--Equip Okatana --Equip Okatana
local e8=Effect.CreateEffect(c) local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
...@@ -77,6 +77,7 @@ end ...@@ -77,6 +77,7 @@ end
function cm.hspfilter(c,tp,sc) function cm.hspfilter(c,tp,sc)
return c:IsSetCard(0xa341)and c:IsType(TYPE_FUSION) and Duel.GetFlagEffect(tp,c:GetCode())==0 return c:IsSetCard(0xa341)and c:IsType(TYPE_FUSION) and Duel.GetFlagEffect(tp,c:GetCode())==0
and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0
and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc) and c:IsControler(tp) and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and Duel.CheckReleaseGroup(c:GetControler(),cm.hspfilter2,1,c,c:GetControler(),sc,tc)
end end
function cm.hspfilter2(c,tp,sc,tc) function cm.hspfilter2(c,tp,sc,tc)
...@@ -84,6 +85,7 @@ function cm.hspfilter2(c,tp,sc,tc) ...@@ -84,6 +85,7 @@ function cm.hspfilter2(c,tp,sc,tc)
g:AddCard(tc) g:AddCard(tc)
g:AddCard(c) g:AddCard(c)
return c:IsSetCard(0xa341) and c:IsType(TYPE_FUSION)and Duel.GetFlagEffect(tp,c:GetCode())==0 return c:IsSetCard(0xa341) and c:IsType(TYPE_FUSION)and Duel.GetFlagEffect(tp,c:GetCode())==0
and Duel.GetFlagEffect(tp,c:GetCode()+10000)==0
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL) and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end end
function cm.hspcon(e,c) function cm.hspcon(e,c)
...@@ -100,6 +102,18 @@ function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -100,6 +102,18 @@ function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Release(g2,REASON_COST) Duel.Release(g2,REASON_COST)
Duel.RegisterFlagEffect(tp,tc1:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,tc1:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
Duel.RegisterFlagEffect(tp,tc2:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,tc2:GetCode(),RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg1=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc1:GetCode())
local tc1=tg1:GetFirst()
while tc1 do
tc1:RegisterFlagEffect(tc1:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,6))
tc1=tg1:GetNext()
end
local tg2=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,tc2:GetCode())
local tc2=tg2:GetFirst()
while tc2 do
tc2:RegisterFlagEffect(tc2:GetCode()+10000,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,6))
tc2=tg2:GetNext()
end
end end
function cm.splimit(e,se,sp,st) function cm.splimit(e,se,sp,st)
...@@ -130,7 +144,12 @@ function cm.spfilter1(c,e,tp) ...@@ -130,7 +144,12 @@ function cm.spfilter1(c,e,tp)
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,7))
tc=tg:GetNext()
end
end end
function cm.stop(e,tp,eg,ep,ev,re,r,rp) function cm.stop(e,tp,eg,ep,ev,re,r,rp)
c=e:GetHandler() c=e:GetHandler()
......
...@@ -125,7 +125,12 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp) ...@@ -125,7 +125,12 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp)
e3:SetValue(cm.efilter2) e3:SetValue(cm.efilter2)
e3:SetReset(RESET_PHASE+PHASE_END) e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp) Duel.RegisterEffect(e3,tp)
Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0) Duel.RegisterFlagEffect(tp,m,RESET_EVENT+RESET_PHASE+PHASE_END,0,0)
local tg=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0,nil,m)local tc=tg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,9))
tc=tg:GetNext()
end
end end
function cm.actlimit1(e,re,tp) function cm.actlimit1(e,re,tp)
return not re:GetHandler():IsLocation(LOCATION_ONFIELD) return not re:GetHandler():IsLocation(LOCATION_ONFIELD)
...@@ -447,11 +452,4 @@ function cm.rmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -447,11 +452,4 @@ function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
end end
end end
\ No newline at end of file
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