Commit ca4a59a5 authored by Nemo Ma's avatar Nemo Ma

240211 std

parent 9a7b8835
...@@ -2321,12 +2321,6 @@ ...@@ -2321,12 +2321,6 @@
#230318 #230318
189122 0 189122 0
14000371 0 14000371 0
53750001 0
53750003 0
53750005 0
53750007 0
53750009 0
53750018 0
67200604 0 67200604 0
82208105 0 82208105 0
98920114 0 98920114 0
...@@ -2369,7 +2363,7 @@ ...@@ -2369,7 +2363,7 @@
60001141 0 60001141 0
64800147 0 64800147 0
72100214 0 72100214 0
82206104 0 82206104 1
90700000 0 90700000 0
29010007 1 29010007 1
37629203 1 37629203 1
...@@ -2995,7 +2989,6 @@ ...@@ -2995,7 +2989,6 @@
31400053 0 31400053 0
33712019 0 33712019 0
40009788 0 40009788 0
72413450 0
40008677 1 40008677 1
40008688 1 40008688 1
#220821 #220821
...@@ -5603,7 +5596,7 @@ ...@@ -5603,7 +5596,7 @@
30000236 0 30000236 0
30000240 0 30000240 0
10105674 0 10105674 0
11451002 0 11451002 1
13000750 0 13000750 0
#limit #limit
33403513 1 33403513 1
......
No preview for this file type
expansions/pics/11451002.jpg

178 KB | W: | H:

expansions/pics/11451002.jpg

41.4 KB | W: | H:

expansions/pics/11451002.jpg
expansions/pics/11451002.jpg
expansions/pics/11451002.jpg
expansions/pics/11451002.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451428.jpg

11 KB | W: | H:

expansions/pics/11451428.jpg

47.8 KB | W: | H:

expansions/pics/11451428.jpg
expansions/pics/11451428.jpg
expansions/pics/11451428.jpg
expansions/pics/11451428.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451460.jpg

11.2 KB | W: | H:

expansions/pics/11451460.jpg

46.7 KB | W: | H:

expansions/pics/11451460.jpg
expansions/pics/11451460.jpg
expansions/pics/11451460.jpg
expansions/pics/11451460.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451461.jpg

12.5 KB | W: | H:

expansions/pics/11451461.jpg

51.6 KB | W: | H:

expansions/pics/11451461.jpg
expansions/pics/11451461.jpg
expansions/pics/11451461.jpg
expansions/pics/11451461.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451466.jpg

11.9 KB | W: | H:

expansions/pics/11451466.jpg

51.6 KB | W: | H:

expansions/pics/11451466.jpg
expansions/pics/11451466.jpg
expansions/pics/11451466.jpg
expansions/pics/11451466.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451467.jpg

12 KB | W: | H:

expansions/pics/11451467.jpg

52.4 KB | W: | H:

expansions/pics/11451467.jpg
expansions/pics/11451467.jpg
expansions/pics/11451467.jpg
expansions/pics/11451467.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451474.jpg

11.4 KB | W: | H:

expansions/pics/11451474.jpg

49.9 KB | W: | H:

expansions/pics/11451474.jpg
expansions/pics/11451474.jpg
expansions/pics/11451474.jpg
expansions/pics/11451474.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451488.jpg

13 KB | W: | H:

expansions/pics/11451488.jpg

54.5 KB | W: | H:

expansions/pics/11451488.jpg
expansions/pics/11451488.jpg
expansions/pics/11451488.jpg
expansions/pics/11451488.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451505.jpg

10.5 KB | W: | H:

expansions/pics/11451505.jpg

45.7 KB | W: | H:

expansions/pics/11451505.jpg
expansions/pics/11451505.jpg
expansions/pics/11451505.jpg
expansions/pics/11451505.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451506.jpg

10.4 KB | W: | H:

expansions/pics/11451506.jpg

43.4 KB | W: | H:

expansions/pics/11451506.jpg
expansions/pics/11451506.jpg
expansions/pics/11451506.jpg
expansions/pics/11451506.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451507.jpg

11.6 KB | W: | H:

expansions/pics/11451507.jpg

49.1 KB | W: | H:

expansions/pics/11451507.jpg
expansions/pics/11451507.jpg
expansions/pics/11451507.jpg
expansions/pics/11451507.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451533.jpg

187 KB | W: | H:

expansions/pics/11451533.jpg

15 KB | W: | H:

expansions/pics/11451533.jpg
expansions/pics/11451533.jpg
expansions/pics/11451533.jpg
expansions/pics/11451533.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451544.jpg

131 KB | W: | H:

expansions/pics/11451544.jpg

40.4 KB | W: | H:

expansions/pics/11451544.jpg
expansions/pics/11451544.jpg
expansions/pics/11451544.jpg
expansions/pics/11451544.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451547.jpg

10.6 KB | W: | H:

expansions/pics/11451547.jpg

15.1 KB | W: | H:

expansions/pics/11451547.jpg
expansions/pics/11451547.jpg
expansions/pics/11451547.jpg
expansions/pics/11451547.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451750.jpg

120 KB | W: | H:

expansions/pics/11451750.jpg

40.1 KB | W: | H:

expansions/pics/11451750.jpg
expansions/pics/11451750.jpg
expansions/pics/11451750.jpg
expansions/pics/11451750.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40009178.jpg

200 KB | W: | H:

expansions/pics/40009178.jpg

16.2 KB | W: | H:

expansions/pics/40009178.jpg
expansions/pics/40009178.jpg
expansions/pics/40009178.jpg
expansions/pics/40009178.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40009181.jpg

196 KB | W: | H:

expansions/pics/40009181.jpg

15.4 KB | W: | H:

expansions/pics/40009181.jpg
expansions/pics/40009181.jpg
expansions/pics/40009181.jpg
expansions/pics/40009181.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40009184.jpg

205 KB | W: | H:

expansions/pics/40009184.jpg

16 KB | W: | H:

expansions/pics/40009184.jpg
expansions/pics/40009184.jpg
expansions/pics/40009184.jpg
expansions/pics/40009184.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40009187.jpg

197 KB | W: | H:

expansions/pics/40009187.jpg

15.4 KB | W: | H:

expansions/pics/40009187.jpg
expansions/pics/40009187.jpg
expansions/pics/40009187.jpg
expansions/pics/40009187.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40009190.jpg

203 KB | W: | H:

expansions/pics/40009190.jpg

16.5 KB | W: | H:

expansions/pics/40009190.jpg
expansions/pics/40009190.jpg
expansions/pics/40009190.jpg
expansions/pics/40009190.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40009193.jpg

207 KB | W: | H:

expansions/pics/40009193.jpg

16.1 KB | W: | H:

expansions/pics/40009193.jpg
expansions/pics/40009193.jpg
expansions/pics/40009193.jpg
expansions/pics/40009193.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40009196.jpg

191 KB | W: | H:

expansions/pics/40009196.jpg

14.7 KB | W: | H:

expansions/pics/40009196.jpg
expansions/pics/40009196.jpg
expansions/pics/40009196.jpg
expansions/pics/40009196.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40009199.jpg

191 KB | W: | H:

expansions/pics/40009199.jpg

15.3 KB | W: | H:

expansions/pics/40009199.jpg
expansions/pics/40009199.jpg
expansions/pics/40009199.jpg
expansions/pics/40009199.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40009202.jpg

48.4 KB | W: | H:

expansions/pics/40009202.jpg

16.8 KB | W: | H:

expansions/pics/40009202.jpg
expansions/pics/40009202.jpg
expansions/pics/40009202.jpg
expansions/pics/40009202.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40009205.jpg

212 KB | W: | H:

expansions/pics/40009205.jpg

17 KB | W: | H:

expansions/pics/40009205.jpg
expansions/pics/40009205.jpg
expansions/pics/40009205.jpg
expansions/pics/40009205.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40009207.jpg

183 KB | W: | H:

expansions/pics/40009207.jpg

14 KB | W: | H:

expansions/pics/40009207.jpg
expansions/pics/40009207.jpg
expansions/pics/40009207.jpg
expansions/pics/40009207.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40009208.jpg

209 KB | W: | H:

expansions/pics/40009208.jpg

15.9 KB | W: | H:

expansions/pics/40009208.jpg
expansions/pics/40009208.jpg
expansions/pics/40009208.jpg
expansions/pics/40009208.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -7,13 +7,28 @@ function cm.initial_effect(c) ...@@ -7,13 +7,28 @@ function cm.initial_effect(c)
e0:SetCode(EVENT_FREE_CHAIN) e0:SetCode(EVENT_FREE_CHAIN)
e0:SetCost(cm.cost) e0:SetCost(cm.cost)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--remove
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_FZONE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetOperation(aux.chainreg)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_FZONE)
e3:SetCondition(cm.recon)
e3:SetOperation(cm.reop)
c:RegisterEffect(e3)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetFieldGroup(tp,LOCATION_ONFIELD,LOCATION_ONFIELD) local g=Duel.GetFieldGroup(tp,LOCATION_ONFIELD,LOCATION_ONFIELD)
for tc in aux.Next(g) do for tc in aux.Next(g) do
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1) tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH+EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,1))
end end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
...@@ -37,17 +52,10 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -37,17 +52,10 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e2:SetLabelObject(e) e2:SetLabelObject(e)
e2:SetReset(RESET_CHAIN) e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAIN_NEGATED)
e3:SetOperation(cm.rsop2)
e3:SetLabelObject(e)
e3:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e3,tp)
end end
function cm.aclimit(e,c) function cm.aclimit(e,c)
local te=Duel.GetChainInfo(0,CHAININFO_TRIGGERING_EFFECT) local te=Duel.GetChainInfo(0,CHAININFO_TRIGGERING_EFFECT)
return c:GetFlagEffect(m)>0 and c:GetFlagEffect(m-1)==0 and (not te or te~=e:GetLabelObject() or te:GetFieldID()~=e:GetLabelObject():GetFieldID()) return c:GetFlagEffect(m)>0 and (not te or te~=e:GetLabelObject() or te:GetFieldID()~=e:GetLabelObject():GetFieldID())
end end
function cm.aclimit2(e,c) function cm.aclimit2(e,c)
return c:GetFlagEffect(m)>0 return c:GetFlagEffect(m)>0
...@@ -55,10 +63,146 @@ end ...@@ -55,10 +63,146 @@ end
function cm.rsop(e,tp,eg,ep,ev,re,r,rp) function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler() local rc=re:GetHandler()
local te=Duel.GetChainInfo(ev-1,CHAININFO_TRIGGERING_EFFECT) local te=Duel.GetChainInfo(ev-1,CHAININFO_TRIGGERING_EFFECT)
if rc:IsOnField() and (te==e:GetLabelObject() or re:IsHasType(EFFECT_TYPE_QUICK_F)) then rc:RegisterFlagEffect(m-1,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1) end if rc:IsOnField() and (te==e:GetLabelObject() or re:IsHasType(EFFECT_TYPE_QUICK_F)) then
rc:ResetFlagEffect(m)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_NEGATED)
e2:SetLabel(ev)
e2:SetLabelObject(e1)
e2:SetReset(RESET_CHAIN)
e2:SetOperation(cm.resetop)
Duel.RegisterEffect(e2,tp)
end
end end
function cm.rsop2(e,tp,eg,ep,ev,re,r,rp) function cm.resetop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler() local rc=re:GetHandler()
local te=Duel.GetChainInfo(ev-1,CHAININFO_TRIGGERING_EFFECT) if ev==e:GetLabel() then rc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH+EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,1)) end
if rc:IsOnField() and (te==e:GetLabelObject() or re:IsHasType(EFFECT_TYPE_QUICK_F)) then rc:ResetFlagEffect(m-1) end end
function cm.recon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp and e:GetHandler():GetFlagEffect(1)>0
end
function cm.retfilter2(c,p,loc)
if (c:IsPreviousLocation(LOCATION_SZONE) and c:GetPreviousTypeOnField()&TYPE_EQUIP>0) or c:IsPreviousLocation(LOCATION_FZONE) then return false end
return c:IsPreviousControler(p) and c:IsPreviousLocation(loc)
end
function cm.rffilter(c)
return c:IsLocation(LOCATION_REMOVED) and not c:IsReason(REASON_REDIRECT)
end
function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil)
if #g==0 then return end
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_REMOVE)
local tc=g:Select(1-tp,1,1,nil):GetFirst()
local b1=tc:IsFaceup() and not tc:IsStatus(STATUS_EFFECT_ENABLED)
if Duel.Remove(tc,nil,REASON_EFFECT+REASON_TEMPORARY)>0 then
local fid=c:GetFieldID()
if b1 then fid=m+fid end
local og1=Duel.GetOperatedGroup()
if og1:IsExists(cm.retfilter2,1,nil,tp,LOCATION_HAND) then Duel.ShuffleHand(tp) end
if og1:IsExists(cm.retfilter2,1,nil,1-tp,LOCATION_HAND) then Duel.ShuffleHand(1-tp) end
local og=og1:Filter(cm.rffilter,nil)
if og and #og>0 then
for oc in aux.Next(og) do
oc:RegisterFlagEffect(m-1,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,fid)
end
og:KeepAlive()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(11451461,0))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetLabel(fid)
e1:SetLabelObject(og)
e1:SetCondition(cm.retcon)
e1:SetOperation(cm.retop)
e1:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_CHAIN_NEGATED)
Duel.RegisterEffect(e2,tp)
end
end
end
function cm.returntofield(tc)
if tc:IsPreviousLocation(LOCATION_FZONE) then
local p=tc:GetPreviousControler()
local gc=Duel.GetFieldCard(p,LOCATION_FZONE,0)
if gc then
Duel.SendtoGrave(gc,REASON_RULE)
Duel.BreakEffect()
end
end
if tc:GetPreviousTypeOnField()&TYPE_EQUIP>0 or tc:GetFlagEffectLabel(m-1)>m then
Duel.SendtoGrave(tc,REASON_RULE+REASON_RETURN)
else
Duel.ReturnToField(tc)
end
end
function cm.filter6(c,e)
return c:GetFlagEffectLabel(m-1)==e:GetLabel()
end
function cm.retcon(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
if not g:IsExists(cm.filter6,1,nil,e) then
g:DeleteGroup()
e:Reset()
return false
else return Duel.GetCurrentChain()==1 end
end
function cm.retop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
local sg=g:Filter(cm.filter6,nil,e)
g:DeleteGroup()
local ft,mg,pft,pmg={},{},{},{}
ft[1]=Duel.GetLocationCount(tp,LOCATION_MZONE)
ft[2]=Duel.GetLocationCount(1-tp,LOCATION_MZONE)
ft[3]=Duel.GetLocationCount(tp,LOCATION_SZONE)
ft[4]=Duel.GetLocationCount(1-tp,LOCATION_SZONE)
pft[3],pft[4]=0,0
if Duel.CheckLocation(tp,LOCATION_PZONE,0) then pft[3]=pft[3]+1 end
if Duel.CheckLocation(tp,LOCATION_PZONE,1) then pft[3]=pft[3]+1 end
if Duel.CheckLocation(1-tp,LOCATION_PZONE,0) then pft[4]=pft[4]+1 end
if Duel.CheckLocation(1-tp,LOCATION_PZONE,1) then pft[4]=pft[4]+1 end
mg[1]=sg:Filter(cm.retfilter2,nil,tp,LOCATION_MZONE)
mg[2]=sg:Filter(cm.retfilter2,nil,1-tp,LOCATION_MZONE)
mg[3]=sg:Filter(cm.retfilter2,nil,tp,LOCATION_SZONE)
mg[4]=sg:Filter(cm.retfilter2,nil,1-tp,LOCATION_SZONE)
pmg[3]=sg:Filter(cm.retfilter2,nil,tp,LOCATION_PZONE)
pmg[4]=sg:Filter(cm.retfilter2,nil,1-tp,LOCATION_PZONE)
for i=1,2 do
if #mg[i]>ft[i] then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(11451461,7))
local tg=mg[i]:Select(tp,ft[i],ft[i],nil)
for tc in aux.Next(tg) do cm.returntofield(tc) end
sg:Sub(tg)
end
end
for i=3,4 do
if #mg[i]>ft[i] then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(11451461,7))
local ct=math.min(#(mg[i]-pmg[i])+pft[i],ft[i])
local tg=mg[i]:SelectSubGroup(tp,cm.fselect2,false,ct,ct,pft[i])
local ptg=tg:Filter(Card.IsPreviousLocation,nil,LOCATION_PZONE)
for tc in aux.Next(ptg) do cm.returntofield(tc) end
for tc in aux.Next(tg-ptg) do cm.returntofield(tc) end
sg:Sub(tg)
elseif #pmg[i]>pft[i] then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(11451461,7))
local tg=pmg[i]:Select(tp,pft[i],pft[i],nil)
for tc in aux.Next(tg) do cm.returntofield(tc) end
sg:Sub(tg)
end
end
local psg=sg:Filter(Card.IsPreviousLocation,nil,LOCATION_PZONE)
for tc in aux.Next(psg) do cm.returntofield(tc) end
for tc in aux.Next(sg-psg) do
if tc:GetPreviousLocation()&LOCATION_ONFIELD>0 then
cm.returntofield(tc)
elseif tc:IsPreviousLocation(LOCATION_HAND) then
Duel.SendtoHand(tc,tc:GetPreviousControler(),REASON_EFFECT)
end
end
end end
\ No newline at end of file
--镜影
--a(0)=1 a(1)=2 a(2)=8 a(3)=2048 a(4)=10^620
local cm,m=GetID()
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
local KOISHI_CHECK=false
if Card.SetCardData then KOISHI_CHECK=true end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,0,1,nil) end
end
function cm.filter2(c,e)
return not c:IsImmuneToEffect(e)
end
function cm.filter3(c,ct)
return c:GetFlagEffect(m)>ct
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_ONFIELD,0,nil,e)
if sg:IsExists(cm.filter3,1,nil,1) and not cm[1] then
cm[1]=true
if KOISHI_CHECK then
Duel.Hint(24,0,aux.Stringid(m,7))
Duel.Hint(24,0,aux.Stringid(m,8))
else
Debug.Message("A liar's song left all alone in fractals.")
Debug.Message("纷繁层叠的真实倏忽入梦。神圣的狂乱于分形之中诞生。")
end
elseif sg:IsExists(cm.filter3,1,nil,0) and not cm[0] then
cm[0]=true
if KOISHI_CHECK then
Duel.Hint(24,0,aux.Stringid(m,5))
Duel.Hint(24,0,aux.Stringid(m,6))
else
Debug.Message("Mirror on the wall, what fates do you see?")
Debug.Message("递归、反复、循环。镜中映照出的是另一面镜还是迷宫?")
end
end
local c=e:GetHandler()
local tc=sg:GetFirst()
while tc do
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,fid,aux.Stringid(m,1))
tc=sg:GetNext()
end
sg:KeepAlive()
local e1=Effect.CreateEffect(c)
local fid=e1:GetFieldID()
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAIN_SOLVING)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return re:GetHandler():GetFlagEffect(m)>0 and re:GetHandler():GetFlagEffectLabel(m)==fid end)
e1:SetOperation(cm.dsop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetCountLimit(1)
e2:SetLabel(fid)
e2:SetLabelObject(sg)
e2:SetCondition(cm.descon)
e2:SetOperation(cm.desop)
Duel.RegisterEffect(e2,tp)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
local dg=g:Filter(cm.desfilter,nil,e:GetLabel())
g:DeleteGroup()
Duel.Destroy(dg,REASON_EFFECT)
end
function cm.desfilter(c,fid)
return c:GetFlagEffectLabel(m)==fid
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
if not g:IsExists(cm.desfilter,1,nil,e:GetLabel()) then
g:DeleteGroup()
e:Reset()
return false
else return true end
end
function cm.dsop(e,tp,eg,ep,ev,re,r,rp)
if re:GetHandler():IsImmuneToEffect(e) then return end
local op=re:GetOperation()
local op2=function(e,...) e:SetOperation(op) op(e,...) op(e,...) end
re:SetOperation(op2)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetLabel(ev)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return ev==e:GetLabel() end)
e1:SetOperation(function(e,tp,eg,ep,ev,re,r,rp) re:SetOperation(op) end)
e1:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e1,tp)
end
\ No newline at end of file
--虚诞衍生物 --虚诞衍生物
--21.04.13 --21.04.13
local m=11451461 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
......
...@@ -28,7 +28,7 @@ function cm.initial_effect(c) ...@@ -28,7 +28,7 @@ function cm.initial_effect(c)
--addition --addition
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAINING) e4:SetCode(EVENT_CHAIN_SOLVING)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetCondition(cm.chcon) e4:SetCondition(cm.chcon)
e4:SetOperation(cm.chop) e4:SetOperation(cm.chop)
......
...@@ -26,7 +26,7 @@ function cm.initial_effect(c) ...@@ -26,7 +26,7 @@ function cm.initial_effect(c)
--addition --addition
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAINING) e4:SetCode(EVENT_CHAIN_SOLVING)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetCondition(cm.chcon) e4:SetCondition(cm.chcon)
e4:SetOperation(cm.chop) e4:SetOperation(cm.chop)
...@@ -37,7 +37,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -37,7 +37,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(e:GetHandler(),REASON_COST) Duel.Release(e:GetHandler(),REASON_COST)
end end
function cm.filter(c) function cm.filter(c)
return c:GetType()&0x100004==0x100004 and (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE)) and not c:IsCode(m) and c:CheckActivateEffect(false,true,false)~=nil return c:GetType()&0x100004==0x100004 and (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE)) and c:CheckActivateEffect(false,true,false)~=nil --and not c:IsCode(m)
end 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)
if chkc then if chkc then
...@@ -45,12 +45,12 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -45,12 +45,12 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local tg=te:GetTarget() local tg=te:GetTarget()
return tg and tg(e,tp,eg,ep,ev,re,r,rp,0,chkc) return tg and tg(e,tp,eg,ep,ev,re,r,rp,0,chkc)
end end
if chk==0 then return Duel.IsExistingTarget(cm.filter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0,1,e:GetHandler()) end if chk==0 then return e:IsCostChecked() and Duel.IsExistingTarget(cm.filter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0,1,nil) end
e:SetProperty(EFFECT_FLAG_CARD_TARGET) e:SetProperty(EFFECT_FLAG_CARD_TARGET)
local _GetCurrentChain=Duel.GetCurrentChain local _GetCurrentChain=Duel.GetCurrentChain
Duel.GetCurrentChain=function() return _GetCurrentChain()-1 end Duel.GetCurrentChain=function() return _GetCurrentChain()-1 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,cm.filter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0,1,1,e:GetHandler()) local g=Duel.SelectTarget(tp,cm.filter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0,1,1,nil)
local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(false,true,true) local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(false,true,true)
Duel.GetCurrentChain=_GetCurrentChain Duel.GetCurrentChain=_GetCurrentChain
Duel.ClearTargetCard() Duel.ClearTargetCard()
......
...@@ -30,7 +30,7 @@ function cm.initial_effect(c) ...@@ -30,7 +30,7 @@ function cm.initial_effect(c)
--addition --addition
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAINING) e4:SetCode(EVENT_CHAIN_SOLVING)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetCondition(cm.chcon) e4:SetCondition(cm.chcon)
e4:SetOperation(cm.chop) e4:SetOperation(cm.chop)
......
...@@ -30,7 +30,7 @@ function cm.initial_effect(c) ...@@ -30,7 +30,7 @@ function cm.initial_effect(c)
--addition --addition
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAINING) e4:SetCode(EVENT_CHAIN_SOLVING)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetCondition(cm.chcon) e4:SetCondition(cm.chcon)
e4:SetOperation(cm.chop) e4:SetOperation(cm.chop)
......
...@@ -28,7 +28,7 @@ function cm.initial_effect(c) ...@@ -28,7 +28,7 @@ function cm.initial_effect(c)
--addition --addition
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAINING) e4:SetCode(EVENT_CHAIN_SOLVING)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetCondition(cm.chcon) e4:SetCondition(cm.chcon)
e4:SetOperation(cm.chop) e4:SetOperation(cm.chop)
......
...@@ -30,7 +30,7 @@ function cm.initial_effect(c) ...@@ -30,7 +30,7 @@ function cm.initial_effect(c)
--addition --addition
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAINING) e4:SetCode(EVENT_CHAIN_SOLVING)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetCondition(cm.chcon) e4:SetCondition(cm.chcon)
e4:SetOperation(cm.chop) e4:SetOperation(cm.chop)
......
--幻影骑士团 鬼魂长枪 --幻影骑士团 鬼魂长枪
local m=11451750 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--to grave or negate --to grave or negate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--笑点解析
local cm,m=GetID()
function cm.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--reveal
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetRange(LOCATION_HAND)
e2:SetCode(EVENT_PHASE+PHASE_STANDBY)
e2:SetCountLimit(1)
e2:SetCondition(cm.regcon)
e2:SetOperation(cm.regop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetRange(LOCATION_HAND)
e3:SetCode(EVENT_ADJUST)
e3:SetCondition(cm.adcon)
e3:SetOperation(cm.adop)
c:RegisterEffect(e3)
--immune
local ge2=Effect.CreateEffect(c)
ge2:SetType(EFFECT_TYPE_SINGLE)
ge2:SetCode(EFFECT_IMMUNE_EFFECT)
ge2:SetRange(LOCATION_ONFIELD)
ge2:SetLabelObject(c)
ge2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE)
ge2:SetValue(cm.chkval0)
local ge3=Effect.CreateEffect(c)
ge3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
ge3:SetTargetRange(LOCATION_ONFIELD,0)
ge3:SetRange(LOCATION_SZONE)
ge3:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_IMMUNE)
ge3:SetLabelObject(ge2)
c:RegisterEffect(ge3)
end
function cm.chkval0(e,te)
local c=e:GetLabelObject()
local tp=e:GetHandlerPlayer()
if te and te:IsActivated() then
local attr=Duel.GetChainInfo(0,CHAININFO_TRIGGERING_ATTRIBUTE) or 0
local typ=te:GetActiveType()
if typ&TYPE_SPELL>0 then attr=attr|0x80 end
if typ&TYPE_TRAP>0 then attr=attr|0x100 end
for i=0,8 do
if attr&(1<<i)>0 then
if c:IsLocation(LOCATION_HAND+LOCATION_SZONE) and c:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,i))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(0)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
--immune
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetTargetRange(LOCATION_ONFIELD,0)
e2:SetLabel(1<<i)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetValue(cm.efilter)
Duel.RegisterEffect(e2,tp)
end
end
end
return false
end
function cm.efilter(e,te)
if not te:IsActivated() then return false end
local attr=Duel.GetChainInfo(0,CHAININFO_TRIGGERING_ATTRIBUTE) or 0
local typ=te:GetActiveType()
if typ&TYPE_SPELL>0 then attr=attr|0x80 end
if typ&TYPE_TRAP>0 then attr=attr|0x100 end
if attr&e:GetLabel()>0 then
Duel.Hint(HINT_CARD,0,m)
return true
end
return false
end
function cm.regcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return not c:IsPublic()
end
function cm.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.SelectYesNo(tp,aux.Stringid(m,10)) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_PUBLIC)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,9))
end
end
function cm.adcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:GetFlagEffect(m)==0
end
function cm.adop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsPublic() and c:GetFlagEffect(m-1)==0 then
c:RegisterFlagEffect(m-1,RESET_EVENT+RESETS_STANDARD,0,1)
elseif c:GetFlagEffect(m-1)>0 then
c:ResetFlagEffect(m-1)
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,11))
--immune
local ge2=Effect.CreateEffect(c)
ge2:SetType(EFFECT_TYPE_FIELD)
ge2:SetCode(EFFECT_IMMUNE_EFFECT)
ge2:SetLabelObject(c)
ge2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_IMMUNE)
ge2:SetValue(cm.chkval0)
ge2:SetTargetRange(LOCATION_ONFIELD,0)
ge2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(ge2,tp)
end
end
\ No newline at end of file
--炼狱之结界像
local cm,m=GetID()
function cm.initial_effect(c)
--disable spsummon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,1)
e1:SetTarget(cm.sumlimit)
c:RegisterEffect(e1)
--remove
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetCountLimit(1,m)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_BOTH_SIDE)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(cm.recon)
e0:SetOperation(cm.reop)
c:RegisterEffect(e0)
local e2=e0:Clone()
e2:SetCondition(cm.recon2)
Duel.RegisterEffect(e2,0)
local e4=e2:Clone()
Duel.RegisterEffect(e4,1)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_CUSTOM+m)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetTarget(cm.sptg)
e3:SetOperation(cm.spop)
c:RegisterEffect(e3)
--replace
local e5=Effect.CreateEffect(c)
e5:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e5:SetCountLimit(1,11451896+EFFECT_COUNT_CODE_DUEL)
e5:SetRange(LOCATION_HAND+LOCATION_DECK)
e5:SetOperation(cm.rep)
c:RegisterEffect(e5)
end
function cm.rep(e,tp,eg,ep,ev,re,r,rp)
local table={19740112,10963799,47961808,73356503,46145256,84478195}
for i,code in ipairs(table) do
local cn=_G["c"..code]
if type(cn)=="table" and type(cn.sumlimit)=="function" then
cn.sumlimit=function(e,c,sump,sumtype,sumpos,targetp)
return not c:IsAttribute(1<<(i-1))
end
end
local g=Duel.GetMatchingGroup(aux.FilterEqualFunction(Card.GetOriginalCode,code),0,0xff,0xff,nil)
for tc in aux.Next(g) do tc:ReplaceEffect(code,0) end
end
end
function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp)
return c:GetAttribute()&(ATTRIBUTE_WATER+ATTRIBUTE_FIRE)==0
end
function cm.recon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) and Duel.GetTurnPlayer()==tp and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil)
end
function cm.recon2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsLocation(LOCATION_MZONE) and c:IsFaceup() and c:IsControler(1-tp) and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) and Duel.GetTurnPlayer()==tp and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil)
end
function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(sg,POS_FACEUP,REASON_COST)
Duel.RaiseSingleEvent(c,EVENT_CUSTOM+m,e,0,0,0,sg:GetFirst():GetAttribute())
end
function cm.filter(c)
return c:IsAbleToRemoveAsCost() and c:IsType(TYPE_MONSTER)
end
function cm.cclfilter(c,tc)
local seq1=aux.GetColumn(c)
local seq2=aux.GetColumn(tc)
return math.abs(seq1-seq2)==1
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetMatchingGroup(cm.cclfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,e:GetHandler())
g:AddCard(e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,cm.cclfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil,e:GetHandler())
if not g or #g==0 then return end
g:AddCard(c)
if Duel.Destroy(g,REASON_EFFECT)>0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,ev)
if #g>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end
function cm.spfilter(c,e,tp,attr)
return c:IsAttribute(attr) and c:IsAttack(1000) and c:IsDefense(1000) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
\ No newline at end of file
--森罗之结界像
local cm,m=GetID()
function cm.initial_effect(c)
--disable spsummon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,1)
e1:SetTarget(cm.sumlimit)
c:RegisterEffect(e1)
--remove
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetCountLimit(1,m)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_BOTH_SIDE)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(cm.recon)
e0:SetOperation(cm.reop)
c:RegisterEffect(e0)
local e2=e0:Clone()
e2:SetCondition(cm.recon2)
Duel.RegisterEffect(e2,0)
local e4=e2:Clone()
Duel.RegisterEffect(e4,1)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_CUSTOM+m)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetTarget(cm.sptg)
e3:SetOperation(cm.spop)
c:RegisterEffect(e3)
--replace
local e5=Effect.CreateEffect(c)
e5:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e5:SetCountLimit(1,11451896+EFFECT_COUNT_CODE_DUEL)
e5:SetRange(LOCATION_HAND+LOCATION_DECK)
e5:SetOperation(cm.rep)
c:RegisterEffect(e5)
end
function cm.rep(e,tp,eg,ep,ev,re,r,rp)
local table={19740112,10963799,47961808,73356503,46145256,84478195}
for i,code in ipairs(table) do
local cn=_G["c"..code]
if type(cn)=="table" and type(cn.sumlimit)=="function" then
cn.sumlimit=function(e,c,sump,sumtype,sumpos,targetp)
return not c:IsAttribute(1<<(i-1))
end
end
local g=Duel.GetMatchingGroup(aux.FilterEqualFunction(Card.GetOriginalCode,code),0,0xff,0xff,nil)
for tc in aux.Next(g) do tc:ReplaceEffect(code,0) end
end
end
function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp)
return c:GetAttribute()&(ATTRIBUTE_WIND+ATTRIBUTE_EARTH)==0
end
function cm.recon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) and Duel.GetTurnPlayer()==tp and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil)
end
function cm.recon2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsLocation(LOCATION_MZONE) and c:IsFaceup() and c:IsControler(1-tp) and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) and Duel.GetTurnPlayer()==tp and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil)
end
function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(sg,POS_FACEUP,REASON_COST)
Duel.RaiseSingleEvent(c,EVENT_CUSTOM+m,e,0,0,0,sg:GetFirst():GetAttribute())
end
function cm.filter(c)
return c:IsAbleToRemoveAsCost() and c:IsType(TYPE_MONSTER)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetDecktopGroup(tp,1)
g:AddCard(e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,2,tp,LOCATION_DECK+LOCATION_MZONE)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local g=Duel.GetDecktopGroup(tp,1)
if not g or #g==0 then return end
g:AddCard(c)
if Duel.SendtoHand(g,nil,REASON_EFFECT)>0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,ev)
if #g>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end
function cm.spfilter(c,e,tp,attr)
return c:IsAttribute(attr) and c:IsAttack(1000) and c:IsDefense(1000) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
\ No newline at end of file
--混沌之结界像
local cm,m=GetID()
function cm.initial_effect(c)
--disable spsummon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,1)
e1:SetTarget(cm.sumlimit)
c:RegisterEffect(e1)
--remove
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetCountLimit(1,m)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_BOTH_SIDE)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(cm.recon)
e0:SetOperation(cm.reop)
c:RegisterEffect(e0)
local e2=e0:Clone()
e2:SetCondition(cm.recon2)
Duel.RegisterEffect(e2,0)
local e4=e2:Clone()
Duel.RegisterEffect(e4,1)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_CUSTOM+m)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetTarget(cm.sptg)
e3:SetOperation(cm.spop)
c:RegisterEffect(e3)
--replace
local e5=Effect.CreateEffect(c)
e5:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e5:SetCountLimit(1,11451896+EFFECT_COUNT_CODE_DUEL)
e5:SetRange(LOCATION_HAND+LOCATION_DECK)
e5:SetOperation(cm.rep)
c:RegisterEffect(e5)
end
function cm.rep(e,tp,eg,ep,ev,re,r,rp)
local table={19740112,10963799,47961808,73356503,46145256,84478195}
for i,code in ipairs(table) do
local cn=_G["c"..code]
if type(cn)=="table" and type(cn.sumlimit)=="function" then
cn.sumlimit=function(e,c,sump,sumtype,sumpos,targetp)
return not c:IsAttribute(1<<(i-1))
end
end
local g=Duel.GetMatchingGroup(aux.FilterEqualFunction(Card.GetOriginalCode,code),0,0xff,0xff,nil)
for tc in aux.Next(g) do tc:ReplaceEffect(code,0) end
end
end
function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp)
return c:GetAttribute()&(ATTRIBUTE_LIGHT+ATTRIBUTE_DARK)==0
end
function cm.recon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) and Duel.GetTurnPlayer()==tp and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil)
end
function cm.recon2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsLocation(LOCATION_MZONE) and c:IsFaceup() and c:IsControler(1-tp) and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) and Duel.GetTurnPlayer()==tp and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil)
end
function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(sg,POS_FACEUP,REASON_COST)
Duel.RaiseSingleEvent(c,EVENT_CUSTOM+m,e,0,0,0,sg:GetFirst():GetAttribute())
end
function cm.filter(c)
return c:IsAbleToRemoveAsCost() and c:IsType(TYPE_MONSTER)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_HAND,nil)
g:AddCard(e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_HAND,nil):RandomSelect(tp,1)
if not g or #g==0 then return end
g:AddCard(c)
if Duel.Remove(g,POS_FACEUP,REASON_EFFECT+REASON_TEMPORARY)>0 then
local fid=c:GetFieldID()
local og1=Duel.GetOperatedGroup()
if og1:IsExists(cm.retfilter2,1,nil,tp,LOCATION_HAND) then Duel.ShuffleHand(tp) end
if og1:IsExists(cm.retfilter2,1,nil,1-tp,LOCATION_HAND) then Duel.ShuffleHand(1-tp) end
local og=og1:Filter(cm.rffilter,nil)
if og and #og>0 then
for oc in aux.Next(og) do
oc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,fid)
end
og:KeepAlive()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(11451461,0))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetLabel(fid)
e1:SetLabelObject(og)
e1:SetCondition(cm.retcon)
e1:SetOperation(cm.retop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,ev)
if #g>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end
function cm.spfilter(c,e,tp,attr)
return c:IsAttribute(attr) and c:IsAttack(1000) and c:IsDefense(1000) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.retfilter2(c,p,loc)
if (c:IsPreviousLocation(LOCATION_SZONE) and c:GetPreviousTypeOnField()&TYPE_EQUIP>0) or c:IsPreviousLocation(LOCATION_FZONE) then return false end
return c:IsPreviousControler(p) and c:IsPreviousLocation(loc)
end
function cm.rffilter(c)
return c:IsLocation(LOCATION_REMOVED) and not c:IsReason(REASON_REDIRECT)
end
function cm.returntofield(tc)
if tc:IsPreviousLocation(LOCATION_FZONE) then
local p=tc:GetPreviousControler()
local gc=Duel.GetFieldCard(p,LOCATION_FZONE,0)
if gc then
Duel.SendtoGrave(gc,REASON_RULE)
Duel.BreakEffect()
end
end
if tc:GetPreviousTypeOnField()&TYPE_EQUIP>0 then
Duel.SendtoGrave(tc,REASON_RULE+REASON_RETURN)
else
Duel.ReturnToField(tc)
end
end
function cm.filter6(c,e)
return c:GetFlagEffectLabel(m)==e:GetLabel()
end
function cm.retcon(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
if not g:IsExists(cm.filter6,1,nil,e) then
g:DeleteGroup()
e:Reset()
return false
else return true end
end
function cm.retop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
local sg=g:Filter(cm.filter6,nil,e)
g:DeleteGroup()
local ft,mg,pft,pmg={},{},{},{}
ft[1]=Duel.GetLocationCount(tp,LOCATION_MZONE)
ft[2]=Duel.GetLocationCount(1-tp,LOCATION_MZONE)
ft[3]=Duel.GetLocationCount(tp,LOCATION_SZONE)
ft[4]=Duel.GetLocationCount(1-tp,LOCATION_SZONE)
pft[3],pft[4]=0,0
if Duel.CheckLocation(tp,LOCATION_PZONE,0) then pft[3]=pft[3]+1 end
if Duel.CheckLocation(tp,LOCATION_PZONE,1) then pft[3]=pft[3]+1 end
if Duel.CheckLocation(1-tp,LOCATION_PZONE,0) then pft[4]=pft[4]+1 end
if Duel.CheckLocation(1-tp,LOCATION_PZONE,1) then pft[4]=pft[4]+1 end
mg[1]=sg:Filter(cm.retfilter2,nil,tp,LOCATION_MZONE)
mg[2]=sg:Filter(cm.retfilter2,nil,1-tp,LOCATION_MZONE)
mg[3]=sg:Filter(cm.retfilter2,nil,tp,LOCATION_SZONE)
mg[4]=sg:Filter(cm.retfilter2,nil,1-tp,LOCATION_SZONE)
pmg[3]=sg:Filter(cm.retfilter2,nil,tp,LOCATION_PZONE)
pmg[4]=sg:Filter(cm.retfilter2,nil,1-tp,LOCATION_PZONE)
for i=1,2 do
if #mg[i]>ft[i] then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(11451461,7))
local tg=mg[i]:Select(tp,ft[i],ft[i],nil)
for tc in aux.Next(tg) do cm.returntofield(tc) end
sg:Sub(tg)
end
end
for i=3,4 do
if #mg[i]>ft[i] then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(11451461,7))
local ct=math.min(#(mg[i]-pmg[i])+pft[i],ft[i])
local tg=mg[i]:SelectSubGroup(tp,cm.fselect2,false,ct,ct,pft[i])
local ptg=tg:Filter(Card.IsPreviousLocation,nil,LOCATION_PZONE)
for tc in aux.Next(ptg) do cm.returntofield(tc) end
for tc in aux.Next(tg-ptg) do cm.returntofield(tc) end
sg:Sub(tg)
elseif #pmg[i]>pft[i] then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(11451461,7))
local tg=pmg[i]:Select(tp,pft[i],pft[i],nil)
for tc in aux.Next(tg) do cm.returntofield(tc) end
sg:Sub(tg)
end
end
local psg=sg:Filter(Card.IsPreviousLocation,nil,LOCATION_PZONE)
for tc in aux.Next(psg) do cm.returntofield(tc) end
for tc in aux.Next(sg-psg) do
if tc:GetPreviousLocation()&LOCATION_ONFIELD>0 then
cm.returntofield(tc)
elseif tc:IsPreviousLocation(LOCATION_HAND) then
Duel.SendtoHand(tc,tc:GetPreviousControler(),REASON_EFFECT)
end
end
end
\ No newline at end of file
...@@ -24,7 +24,6 @@ function c11621102.initial_effect(c) ...@@ -24,7 +24,6 @@ function c11621102.initial_effect(c)
e2:SetOperation(cm.tgop) e2:SetOperation(cm.tgop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.SetCard_xxj_Mirror=true
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and ep~=tp return re:IsHasType(EFFECT_TYPE_ACTIVATE) and ep~=tp
end end
......
...@@ -42,7 +42,6 @@ function c11621103.initial_effect(c) ...@@ -42,7 +42,6 @@ function c11621103.initial_effect(c)
e3:SetOperation(cm.desrepop) e3:SetOperation(cm.desrepop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
cm.SetCard_xxj_Mirror=true
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() local c=e:GetHandler()
if chk==0 then return Duel.IsCanAddCounter(tp,0x63,7,c) end if chk==0 then return Duel.IsCanAddCounter(tp,0x63,7,c) end
......
...@@ -20,7 +20,6 @@ function cm.initial_effect(c) ...@@ -20,7 +20,6 @@ function cm.initial_effect(c)
e2:SetOperation(cm.cdop) e2:SetOperation(cm.cdop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.SetCard_xxj_Mirror=true
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,0)
...@@ -37,7 +36,7 @@ end ...@@ -37,7 +36,7 @@ end
----------------------------------------------------------------------- -----------------------------------------------------------------------
function cm.cdfilter(c,typ) function cm.cdfilter(c,typ)
return c:IsType(typ) and not c.SetCard_XWZL return c:IsType(typ) and not c:IsSetCard(0x9220)
end end
function cm.cdcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cdcost(e,tp,eg,ep,ev,re,r,rp,chk)
local g1=Duel.GetMatchingGroup(cm.cdfilter,tp,LOCATION_HAND,0,nil,TYPE_MONSTER) local g1=Duel.GetMatchingGroup(cm.cdfilter,tp,LOCATION_HAND,0,nil,TYPE_MONSTER)
......
...@@ -4,5 +4,3 @@ local cm=_G["c"..m] ...@@ -4,5 +4,3 @@ local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
end end
cm.SetCard_XWZL=true
\ No newline at end of file
...@@ -7,10 +7,9 @@ function cm.initial_effect(c) ...@@ -7,10 +7,9 @@ function cm.initial_effect(c)
--e1:SetType(EFFECT_TYPE_ACTIVATE) --e1:SetType(EFFECT_TYPE_ACTIVATE)
--e1:SetCode(EVENT_FREE_CHAIN) --e1:SetCode(EVENT_FREE_CHAIN)
--e1:SetCondition(cm.condition) --e1:SetCondition(cm.condition)
--c:RegisterEffect(e1) --c:RegisterEffect(e1)
end end
cm.SetCard_XWZL=true
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsType(TYPE_SPELL) and e:GetHandler():GetType()-TYPE_SPELL~=0 return e:GetHandler():IsType(TYPE_SPELL) and e:GetHandler():GetType()-TYPE_SPELL~=0
......
...@@ -7,10 +7,9 @@ function cm.initial_effect(c) ...@@ -7,10 +7,9 @@ function cm.initial_effect(c)
--e1:SetType(EFFECT_TYPE_ACTIVATE) --e1:SetType(EFFECT_TYPE_ACTIVATE)
--e1:SetCode(EVENT_FREE_CHAIN) --e1:SetCode(EVENT_FREE_CHAIN)
--e1:SetCondition(cm.condition) --e1:SetCondition(cm.condition)
--c:RegisterEffect(e1) --c:RegisterEffect(e1)
end end
cm.SetCard_XWZL=true
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsType(TYPE_TRAP) and e:GetHandler():GetType()-TYPE_TRAP~=0 return e:GetHandler():IsType(TYPE_TRAP) and e:GetHandler():GetType()-TYPE_TRAP~=0
......
...@@ -51,7 +51,6 @@ function cm.initial_effect(c) ...@@ -51,7 +51,6 @@ function cm.initial_effect(c)
e4:SetOperation(cm.thop) e4:SetOperation(cm.thop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
cm.SetCard_xxj_Mirror=true
function cm.eqtg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.eqtg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsFaceup() and chkc:IsControler(tp) end if chkc then return chkc:IsFaceup() and chkc:IsControler(tp) end
......
...@@ -19,7 +19,6 @@ function cm.initial_effect(c) ...@@ -19,7 +19,6 @@ function cm.initial_effect(c)
e2:SetValue(1) e2:SetValue(1)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.SetCard_XWZL=true
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)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
......
...@@ -13,7 +13,6 @@ function c11630203.initial_effect(c) ...@@ -13,7 +13,6 @@ function c11630203.initial_effect(c)
e1:SetOperation(cm.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
cm.SetCard_xxj_Mirror=true
function cm.copyfilter(c) function cm.copyfilter(c)
return c:IsFaceup() and not c:IsType(TYPE_TOKEN) return c:IsFaceup() and not c:IsType(TYPE_TOKEN)
end end
......
...@@ -23,7 +23,6 @@ function c11630204.initial_effect(c) ...@@ -23,7 +23,6 @@ function c11630204.initial_effect(c)
e2:SetOperation(cm.thop) e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.SetCard_xxj_Mirror=true
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) --and c:IsLevelBelow(6) return c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) --and c:IsLevelBelow(6)
end end
......
...@@ -45,7 +45,6 @@ function c11630205.initial_effect(c) ...@@ -45,7 +45,6 @@ function c11630205.initial_effect(c)
e5:SetOperation(cm.thop) e5:SetOperation(cm.thop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
cm.SetCard_xxj_Mirror=true
function cm.cfilter(c,tp) function cm.cfilter(c,tp)
return c:IsControler(tp) return c:IsControler(tp)
end end
...@@ -151,7 +150,7 @@ function cm.tkcop(e,tp,eg,ep,ev,re,r,rp) ...@@ -151,7 +150,7 @@ function cm.tkcop(e,tp,eg,ep,ev,re,r,rp)
end end
--03 --03
function cm.thfilter(c) function cm.thfilter(c)
return c.SetCard_xxj_Mirror and not c:IsCode(m) and c:IsAbleToHand() return c:IsSetCard(0x6220) and not c:IsCode(m) and c:IsAbleToHand()
end end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
...@@ -22,7 +22,6 @@ function c11630206.initial_effect(c) ...@@ -22,7 +22,6 @@ function c11630206.initial_effect(c)
e2:SetOperation(cm.spop) e2:SetOperation(cm.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.SetCard_xxj_Mirror=true
function cm.filter(c) function cm.filter(c)
return c:IsLevelAbove(1) return c:IsLevelAbove(1)
end end
...@@ -54,9 +53,9 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,9 +53,9 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if e:GetHandler():GetFlagEffect(m)<=0 then return end if e:GetHandler():GetFlagEffect(m)<=0 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,code,0,TYPES_TOKEN_MONSTER,atk,def,lv,race,att) then if Duel.IsPlayerCanSpecialSummonMonster(tp,code,0,TYPES_TOKEN_MONSTER,atk,def,lv,race,att) then
local token=Duel.CreateToken(tp,11630207) local token=Duel.CreateToken(tp,11630207)
--e:GetLabelObject():GetLabel() --e:GetLabelObject():GetLabel()
--Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) --Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
......
...@@ -12,7 +12,6 @@ function c11630208.initial_effect(c) ...@@ -12,7 +12,6 @@ function c11630208.initial_effect(c)
e1:SetOperation(cm.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
cm.SetCard_xxj_Mirror=true
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RACE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RACE)
......
...@@ -13,7 +13,6 @@ function c11630210.initial_effect(c) ...@@ -13,7 +13,6 @@ function c11630210.initial_effect(c)
e1:SetOperation(cm.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
cm.SetCard_xxj_Mirror=true
-- --
function cm.copyfilter(c) function cm.copyfilter(c)
return c:IsFaceup() return c:IsFaceup()
......
...@@ -13,7 +13,6 @@ function c11630211.initial_effect(c) ...@@ -13,7 +13,6 @@ function c11630211.initial_effect(c)
e1:SetOperation(cm.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
cm.SetCard_xxj_Mirror=true
function cm.cfilter(c,tp) function cm.cfilter(c,tp)
local zone=0 local zone=0
local seq=c:GetSequence() local seq=c:GetSequence()
......
...@@ -13,7 +13,6 @@ function cm.initial_effect(c) ...@@ -13,7 +13,6 @@ function cm.initial_effect(c)
e1:SetOperation(cm.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
cm.SetCard_xxj_Mirror=true
-- --
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 ct=Duel.GetFieldGroupCount(tp,0,LOCATION_HAND) local ct=Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)
......
...@@ -17,7 +17,6 @@ function cm.initial_effect(c) ...@@ -17,7 +17,6 @@ function cm.initial_effect(c)
e2:SetCondition(cm.handcon) e2:SetCondition(cm.handcon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.SetCard_xxj_Mirror=true
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -33,7 +33,6 @@ function cm.initial_effect(c) ...@@ -33,7 +33,6 @@ function cm.initial_effect(c)
Duel.RegisterEffect(ge2,0) Duel.RegisterEffect(ge2,0)
end end
end end
cm.SetCard_xxj_Mirror=true
function cm.resetcount(e,tp,eg,ep,ev,re,r,rp) function cm.resetcount(e,tp,eg,ep,ev,re,r,rp)
cm[0]=0 cm[0]=0
cm[1]=0 cm[1]=0
......
...@@ -12,7 +12,6 @@ function cm.initial_effect(c) ...@@ -12,7 +12,6 @@ function cm.initial_effect(c)
e1:SetOperation(cm.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
cm.SetCard_xxj_Mirror=true
function cm.rmfilter(c) function cm.rmfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove() return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove()
end end
...@@ -69,7 +68,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -69,7 +68,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsPlayerCanSpecialSummonMonster(1-tp,code,0,TYPES_TOKEN_MONSTER,atk,def,lv,ra,att) then if not Duel.IsPlayerCanSpecialSummonMonster(1-tp,code,0,TYPES_TOKEN_MONSTER,atk,def,lv,ra,att) then
ft2=0 ft2=0
end end
for i=1,ft1 do for i=1,ft1 do
local token=Duel.CreateToken(tp,11630217) local token=Duel.CreateToken(tp,11630217)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -110,7 +109,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -110,7 +109,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
-- --
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP_ATTACK) Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP_ATTACK)
end end
for i=1,ft2 do for i=1,ft2 do
local token=Duel.CreateToken(1-tp,11630217) local token=Duel.CreateToken(1-tp,11630217)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -29,9 +29,8 @@ function cm.initial_effect(c) ...@@ -29,9 +29,8 @@ function cm.initial_effect(c)
e3:SetOperation(cm.op) e3:SetOperation(cm.op)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
cm.SetCard_xxj_Mirror=true
function cm.thfilter(c) function cm.thfilter(c)
return c.SetCard_xxj_Mirror and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand() return c:IsSetCard(0x6220) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
end end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
...@@ -11,7 +11,6 @@ function cm.initial_effect(c) ...@@ -11,7 +11,6 @@ function cm.initial_effect(c)
e1:SetOperation(cm.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
cm.SetCard_xxj_Mirror=true
function cm.filter(c) function cm.filter(c)
return c:IsFaceup() return c:IsFaceup()
end end
......
...@@ -34,9 +34,8 @@ function cm.initial_effect(c) ...@@ -34,9 +34,8 @@ function cm.initial_effect(c)
e3:SetOperation(cm.operation) e3:SetOperation(cm.operation)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
cm.SetCard_xxj_Mirror=true
function cm.filter(e,c) function cm.filter(e,c)
return c.SetCard_xxj_Mirror return c:IsSetCard(0x6220)
end end
function cm.actfilter(c) function cm.actfilter(c)
return c:IsFaceup() and c:IsOriginalCodeRule(11630218) return c:IsFaceup() and c:IsOriginalCodeRule(11630218)
...@@ -49,7 +48,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -49,7 +48,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return ep==tp return ep==tp
end end
function cm.thfilter(c) function cm.thfilter(c)
return c.SetCard_xxj_Mirror and c:IsAbleToHand() return c:IsSetCard(0x6220) and c:IsAbleToHand()
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=eg:GetCount() local ct=eg:GetCount()
......
...@@ -30,7 +30,6 @@ function c11630221.initial_effect(c) ...@@ -30,7 +30,6 @@ function c11630221.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
cm.SetCard_xxj_Mirror=true
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)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc:IsFaceup() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil) end
...@@ -118,7 +117,7 @@ function cm.repop(e,tp,eg,ep,ev,re,r,rp) ...@@ -118,7 +117,7 @@ function cm.repop(e,tp,eg,ep,ev,re,r,rp)
e2:SetReset(RESET_PHASE+PHASE_END,2) e2:SetReset(RESET_PHASE+PHASE_END,2)
e2:SetValue(val) e2:SetValue(val)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
end end
tc=g:GetNext() tc=g:GetNext()
end end
......
...@@ -12,7 +12,6 @@ function c11630222.initial_effect(c) ...@@ -12,7 +12,6 @@ function c11630222.initial_effect(c)
e1:SetOperation(cm.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
cm.SetCard_xxj_Mirror=true
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
e:SetLabel(c:GetSequence()) e:SetLabel(c:GetSequence())
......
...@@ -11,7 +11,6 @@ function c11630223.initial_effect(c) ...@@ -11,7 +11,6 @@ function c11630223.initial_effect(c)
e1:SetOperation(cm.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
cm.SetCard_xxj_Mirror=true
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) end if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) end
......
...@@ -18,7 +18,6 @@ function cm.initial_effect(c) ...@@ -18,7 +18,6 @@ function cm.initial_effect(c)
e2:SetOperation(cm.activate2) e2:SetOperation(cm.activate2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.SetCard_xxj_Mirror=true
function cm.cfilter(c) function cm.cfilter(c)
return c:IsType(TYPE_MONSTER) and not c:IsPublic() return c:IsType(TYPE_MONSTER) and not c:IsPublic()
end end
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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