Commit 61cb7c84 authored by Nemo Ma's avatar Nemo Ma

Update 0621

Updated 500+ cards
parent 65237dfd
No preview for this file type
expansions/pics/190001.jpg

67.3 KB | W: | H:

expansions/pics/190001.jpg

62.5 KB | W: | H:

expansions/pics/190001.jpg
expansions/pics/190001.jpg
expansions/pics/190001.jpg
expansions/pics/190001.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/190002.jpg

58.2 KB | W: | H:

expansions/pics/190002.jpg

54.9 KB | W: | H:

expansions/pics/190002.jpg
expansions/pics/190002.jpg
expansions/pics/190002.jpg
expansions/pics/190002.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/190003.jpg

53.3 KB | W: | H:

expansions/pics/190003.jpg

53.8 KB | W: | H:

expansions/pics/190003.jpg
expansions/pics/190003.jpg
expansions/pics/190003.jpg
expansions/pics/190003.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/190004.jpg

53 KB | W: | H:

expansions/pics/190004.jpg

53.4 KB | W: | H:

expansions/pics/190004.jpg
expansions/pics/190004.jpg
expansions/pics/190004.jpg
expansions/pics/190004.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/190005.jpg

53.1 KB | W: | H:

expansions/pics/190005.jpg

52.2 KB | W: | H:

expansions/pics/190005.jpg
expansions/pics/190005.jpg
expansions/pics/190005.jpg
expansions/pics/190005.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/190006.jpg

51.8 KB | W: | H:

expansions/pics/190006.jpg

51.2 KB | W: | H:

expansions/pics/190006.jpg
expansions/pics/190006.jpg
expansions/pics/190006.jpg
expansions/pics/190006.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/190007.jpg

39.4 KB | W: | H:

expansions/pics/190007.jpg

44.6 KB | W: | H:

expansions/pics/190007.jpg
expansions/pics/190007.jpg
expansions/pics/190007.jpg
expansions/pics/190007.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/190008.jpg

59.8 KB | W: | H:

expansions/pics/190008.jpg

56.5 KB | W: | H:

expansions/pics/190008.jpg
expansions/pics/190008.jpg
expansions/pics/190008.jpg
expansions/pics/190008.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/190009.jpg

56.1 KB | W: | H:

expansions/pics/190009.jpg

55.4 KB | W: | H:

expansions/pics/190009.jpg
expansions/pics/190009.jpg
expansions/pics/190009.jpg
expansions/pics/190009.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/190010.jpg

46.4 KB | W: | H:

expansions/pics/190010.jpg

52.1 KB | W: | H:

expansions/pics/190010.jpg
expansions/pics/190010.jpg
expansions/pics/190010.jpg
expansions/pics/190010.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/190011.jpg

45.6 KB | W: | H:

expansions/pics/190011.jpg

48 KB | W: | H:

expansions/pics/190011.jpg
expansions/pics/190011.jpg
expansions/pics/190011.jpg
expansions/pics/190011.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/25000087.jpg

185 KB | W: | H:

expansions/pics/25000087.jpg

50.3 KB | W: | H:

expansions/pics/25000087.jpg
expansions/pics/25000087.jpg
expansions/pics/25000087.jpg
expansions/pics/25000087.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/25000088.jpg

180 KB | W: | H:

expansions/pics/25000088.jpg

41.4 KB | W: | H:

expansions/pics/25000088.jpg
expansions/pics/25000088.jpg
expansions/pics/25000088.jpg
expansions/pics/25000088.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/25000152.jpg

57.9 KB | W: | H:

expansions/pics/25000152.jpg

58 KB | W: | H:

expansions/pics/25000152.jpg
expansions/pics/25000152.jpg
expansions/pics/25000152.jpg
expansions/pics/25000152.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/25000158.jpg

46.8 KB | W: | H:

expansions/pics/25000158.jpg

156 KB | W: | H:

expansions/pics/25000158.jpg
expansions/pics/25000158.jpg
expansions/pics/25000158.jpg
expansions/pics/25000158.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/79029010.jpg

53.9 KB | W: | H:

expansions/pics/79029010.jpg

225 KB | W: | H:

expansions/pics/79029010.jpg
expansions/pics/79029010.jpg
expansions/pics/79029010.jpg
expansions/pics/79029010.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/79029355.jpg

48.7 KB | W: | H:

expansions/pics/79029355.jpg

218 KB | W: | H:

expansions/pics/79029355.jpg
expansions/pics/79029355.jpg
expansions/pics/79029355.jpg
expansions/pics/79029355.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/79029470.jpg

51.5 KB | W: | H:

expansions/pics/79029470.jpg

221 KB | W: | H:

expansions/pics/79029470.jpg
expansions/pics/79029470.jpg
expansions/pics/79029470.jpg
expansions/pics/79029470.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330001.jpg

381 KB | W: | H:

expansions/pics/9330001.jpg

380 KB | W: | H:

expansions/pics/9330001.jpg
expansions/pics/9330001.jpg
expansions/pics/9330001.jpg
expansions/pics/9330001.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330002.jpg

343 KB | W: | H:

expansions/pics/9330002.jpg

385 KB | W: | H:

expansions/pics/9330002.jpg
expansions/pics/9330002.jpg
expansions/pics/9330002.jpg
expansions/pics/9330002.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330003.jpg

364 KB | W: | H:

expansions/pics/9330003.jpg

366 KB | W: | H:

expansions/pics/9330003.jpg
expansions/pics/9330003.jpg
expansions/pics/9330003.jpg
expansions/pics/9330003.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330004.jpg

369 KB | W: | H:

expansions/pics/9330004.jpg

363 KB | W: | H:

expansions/pics/9330004.jpg
expansions/pics/9330004.jpg
expansions/pics/9330004.jpg
expansions/pics/9330004.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330005.jpg

363 KB | W: | H:

expansions/pics/9330005.jpg

351 KB | W: | H:

expansions/pics/9330005.jpg
expansions/pics/9330005.jpg
expansions/pics/9330005.jpg
expansions/pics/9330005.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330007.jpg

380 KB | W: | H:

expansions/pics/9330007.jpg

372 KB | W: | H:

expansions/pics/9330007.jpg
expansions/pics/9330007.jpg
expansions/pics/9330007.jpg
expansions/pics/9330007.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330008.jpg

384 KB | W: | H:

expansions/pics/9330008.jpg

350 KB | W: | H:

expansions/pics/9330008.jpg
expansions/pics/9330008.jpg
expansions/pics/9330008.jpg
expansions/pics/9330008.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330009.jpg

370 KB | W: | H:

expansions/pics/9330009.jpg

370 KB | W: | H:

expansions/pics/9330009.jpg
expansions/pics/9330009.jpg
expansions/pics/9330009.jpg
expansions/pics/9330009.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330010.jpg

380 KB | W: | H:

expansions/pics/9330010.jpg

382 KB | W: | H:

expansions/pics/9330010.jpg
expansions/pics/9330010.jpg
expansions/pics/9330010.jpg
expansions/pics/9330010.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330011.jpg

371 KB | W: | H:

expansions/pics/9330011.jpg

370 KB | W: | H:

expansions/pics/9330011.jpg
expansions/pics/9330011.jpg
expansions/pics/9330011.jpg
expansions/pics/9330011.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330012.jpg

386 KB | W: | H:

expansions/pics/9330012.jpg

383 KB | W: | H:

expansions/pics/9330012.jpg
expansions/pics/9330012.jpg
expansions/pics/9330012.jpg
expansions/pics/9330012.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330013.jpg

380 KB | W: | H:

expansions/pics/9330013.jpg

378 KB | W: | H:

expansions/pics/9330013.jpg
expansions/pics/9330013.jpg
expansions/pics/9330013.jpg
expansions/pics/9330013.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330014.jpg

364 KB | W: | H:

expansions/pics/9330014.jpg

376 KB | W: | H:

expansions/pics/9330014.jpg
expansions/pics/9330014.jpg
expansions/pics/9330014.jpg
expansions/pics/9330014.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330015.jpg

365 KB | W: | H:

expansions/pics/9330015.jpg

367 KB | W: | H:

expansions/pics/9330015.jpg
expansions/pics/9330015.jpg
expansions/pics/9330015.jpg
expansions/pics/9330015.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330016.jpg

356 KB | W: | H:

expansions/pics/9330016.jpg

356 KB | W: | H:

expansions/pics/9330016.jpg
expansions/pics/9330016.jpg
expansions/pics/9330016.jpg
expansions/pics/9330016.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9330017.jpg

384 KB | W: | H:

expansions/pics/9330017.jpg

383 KB | W: | H:

expansions/pics/9330017.jpg
expansions/pics/9330017.jpg
expansions/pics/9330017.jpg
expansions/pics/9330017.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910001.jpg

51.1 KB | W: | H:

expansions/pics/9910001.jpg

51.2 KB | W: | H:

expansions/pics/9910001.jpg
expansions/pics/9910001.jpg
expansions/pics/9910001.jpg
expansions/pics/9910001.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910030.jpg

53.1 KB | W: | H:

expansions/pics/9910030.jpg

53.6 KB | W: | H:

expansions/pics/9910030.jpg
expansions/pics/9910030.jpg
expansions/pics/9910030.jpg
expansions/pics/9910030.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910065.jpg

48.2 KB | W: | H:

expansions/pics/9910065.jpg

49.8 KB | W: | H:

expansions/pics/9910065.jpg
expansions/pics/9910065.jpg
expansions/pics/9910065.jpg
expansions/pics/9910065.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910141.jpg

41.1 KB | W: | H:

expansions/pics/9910141.jpg

48.3 KB | W: | H:

expansions/pics/9910141.jpg
expansions/pics/9910141.jpg
expansions/pics/9910141.jpg
expansions/pics/9910141.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910436.jpg

54.5 KB | W: | H:

expansions/pics/9910436.jpg

47.7 KB | W: | H:

expansions/pics/9910436.jpg
expansions/pics/9910436.jpg
expansions/pics/9910436.jpg
expansions/pics/9910436.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910440.jpg

47.3 KB | W: | H:

expansions/pics/9910440.jpg

47.4 KB | W: | H:

expansions/pics/9910440.jpg
expansions/pics/9910440.jpg
expansions/pics/9910440.jpg
expansions/pics/9910440.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910615.jpg

52.9 KB | W: | H:

expansions/pics/9910615.jpg

53.7 KB | W: | H:

expansions/pics/9910615.jpg
expansions/pics/9910615.jpg
expansions/pics/9910615.jpg
expansions/pics/9910615.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910621.jpg

54.8 KB | W: | H:

expansions/pics/9910621.jpg

54.9 KB | W: | H:

expansions/pics/9910621.jpg
expansions/pics/9910621.jpg
expansions/pics/9910621.jpg
expansions/pics/9910621.jpg
  • 2-up
  • Swipe
  • Onion skin
--智商碾压!? --智商碾压!?
function c11113127.initial_effect(c) function c11113127.initial_effect(c)
c:SetUniqueOnField(1,1,11113127) c:SetUniqueOnField(1,1,11113127)
c:EnableCounterPermit(0x4) c:EnableCounterPermit(0x4)
c:SetCounterLimit(0x4,5) c:SetCounterLimit(0x4,5)
--activate --activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -58,22 +58,23 @@ function c11113127.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,22 +58,23 @@ function c11113127.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
local ct=c11113127[tp] local ct=c11113127[tp]
if ct==0 then ct=1 end
if ct<5 then if ct<5 then
local t={} local t={}
for i=1,6-ct do t[i]=i+(ct-1) end for i=1,6-ct do t[i]=i+(ct-1) end
local at=Duel.AnnounceNumber(tp,table.unpack(t)) local at=Duel.AnnounceNumber(tp,table.unpack(t))
c:AddCounter(0x4,at) c:AddCounter(0x4,at)
else else
c:AddCounter(0x4,5) c:AddCounter(0x4,5)
end end
end end
function c11113127.econ1(e) function c11113127.econ1(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
local st=c11113127[tp] local st=c11113127[tp]
return st>=e:GetHandler():GetCounter(0x4) return st>=e:GetHandler():GetCounter(0x4)
end end
function c11113127.econ2(e) function c11113127.econ2(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
local st=c11113127[1-tp] local st=c11113127[1-tp]
return st>=e:GetHandler():GetCounter(0x4) return st>=e:GetHandler():GetCounter(0x4)
end end
......
--智商扭曲? --智商扭曲?
function c11113131.initial_effect(c) function c11113131.initial_effect(c)
c:SetUniqueOnField(1,1,11113131) c:SetUniqueOnField(1,1,11113131)
c:EnableCounterPermit(0x4) c:EnableCounterPermit(0x4)
c:SetCounterLimit(0x4,5) c:SetCounterLimit(0x4,5)
--activate --activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -54,7 +54,7 @@ end ...@@ -54,7 +54,7 @@ end
function c11113131.checkop(e,tp,eg,ep,ev,re,r,rp) function c11113131.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst() local tc=eg:GetFirst()
local p=tc:GetSummonPlayer() local p=tc:GetSummonPlayer()
c11113131[p]=c11113131[p]+1 c11113131[p]=c11113131[p]+1
end end
function c11113131.clear(e,tp,eg,ep,ev,re,r,rp) function c11113131.clear(e,tp,eg,ep,ev,re,r,rp)
c11113131[0]=0 c11113131[0]=0
...@@ -64,23 +64,24 @@ function c11113131.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,23 +64,24 @@ function c11113131.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
local ct=c11113131[tp] local ct=c11113131[tp]
if ct==0 then ct=1 end
if ct<5 then if ct<5 then
local t={} local t={}
for i=1,6-ct do t[i]=i+(ct-1) end for i=1,6-ct do t[i]=i+(ct-1) end
local at=Duel.AnnounceNumber(tp,table.unpack(t)) local at=Duel.AnnounceNumber(tp,table.unpack(t))
if at==0 then return end if at==0 then return end
c:AddCounter(0x4,at) c:AddCounter(0x4,at)
else else
c:AddCounter(0x4,5) c:AddCounter(0x4,5)
end end
end end
function c11113131.econ1(e) function c11113131.econ1(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
local st=c11113131[tp] local st=c11113131[tp]
return st>=e:GetHandler():GetCounter(0x4) return st>=e:GetHandler():GetCounter(0x4)
end end
function c11113131.econ2(e) function c11113131.econ2(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
local st=c11113131[1-tp] local st=c11113131[1-tp]
return st>=e:GetHandler():GetCounter(0x4) return st>=e:GetHandler():GetCounter(0x4)
end end
\ No newline at end of file
--电脑网断了
--21.06.18
local m=11451575
local cm=_G["c"..m]
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_LIMIT_ZONE)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
e1:SetValue(cm.zones)
c:RegisterEffect(e1)
--force mzone
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_MUST_USE_MZONE)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(0xff,0xff)
e2:SetValue(cm.frcval)
c:RegisterEffect(e2)
end
function cm.xylabel(c,tp)
local x=c:GetSequence()
local y=0
if c:GetControler()==tp then
if c:IsLocation(LOCATION_MZONE) and x<=4 then y=1
elseif c:IsLocation(LOCATION_MZONE) and x==5 then x,y=1,2
elseif c:IsLocation(LOCATION_MZONE) and x==6 then x,y=3,2
elseif c:IsLocation(LOCATION_SZONE) and x<=4 then y=0
else x,y=-1,0.5 end
elseif c:GetControler()==1-tp then
if c:IsLocation(LOCATION_MZONE) and x<=4 then x,y=4-x,3
elseif c:IsLocation(LOCATION_MZONE) and x==5 then x,y=3,2
elseif c:IsLocation(LOCATION_MZONE) and x==6 then x,y=1,2
elseif c:IsLocation(LOCATION_SZONE) and x<=4 then x,y=4-x,4
else x,y=5,3.5 end
end
return x,y
end
function cm.gradient(y,x)
if y>0 and x==0 then return 100 end
if y<0 and x==0 then return 110 end
if y>0 and x~=0 then return y/x end
if y<0 and x~=0 then return y/x+10 end
if y==0 and x>0 then return 0 end
if y==0 and x<0 then return 10 end
return 1000
end
function cm.fieldline(x1,y1,x2,y2,tp,...)
for _,k in pairs({...}) do
if cm.gradient(y2-y1,x2-x1)==k then return true end
end
return false
end
function cm.willbelinkdir(c,lc,x0,y0,tp,tgp)
if tp~=tgp then x0,y0=4-x0,4-y0 end
local x,y=cm.xylabel(c,tgp)
local list={11,110,9,10,1000,0,-1,100,1}
for i=0,8 do
if lc:IsLinkMarker(1<<i) and cm.fieldline(x0,y0,x,y,tgp,list[i+1]) then return true end
end
return false
end
function cm.islinkdir(lc,x,y,tp)
if lc:IsControler(1-tp) then x,y=4-x,4-y end
local x0,y0=cm.xylabel(lc,lc:GetControler())
local list={11,110,9,10,1000,0,-1,100,1}
for i=0,8 do
if lc:IsLinkMarker(1<<i) and cm.fieldline(x0,y0,x,y,lc:GetControler(),list[i+1]) then return true end
end
return false
end
function cm.cfilter(c)
return c:IsFaceup() and c:IsType(TYPE_LINK) and c:IsAbleToRemove()
end
function cm.zones(e,tp,eg,ep,ev,re,r,rp)
local lg=Duel.GetMatchingGroup(cm.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local zone=0
for x=0,4 do
for lc in aux.Next(lg) do
local x,y=cm.xylabel(lc,tp)
if cm.islinkdir(lc,x,0,tp) then zone=zone|(1<<x) end
end
end
return zone
end
function cm.dfilter(lc,x,tp)
return cm.islinkdir(lc,x,0,tp) and Duel.CheckLocation(tp,LOCATION_SZONE,x)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local lg=Duel.GetMatchingGroup(cm.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if chk==0 then
if c:IsLocation(LOCATION_SZONE) then
local x,y=cm.xylabel(c,tp)
return lg:IsExists(cm.islinkdir,1,nil,x,y,tp)
else
for x=0,4 do
if lg:IsExists(cm.dfilter,1,nil,x,tp) then return true end
end
return false
end
end
local x,y=cm.xylabel(c,tp)
local g=lg:Filter(cm.islinkdir,nil,x,y,tp)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,#g,0,0)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or not c:IsLocation(LOCATION_SZONE) or not c:IsFaceup() then return end
local lg=Duel.GetMatchingGroup(cm.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local x,y=cm.xylabel(c,tp)
local g=lg:Filter(cm.islinkdir,nil,x,y,tp)
if Duel.Remove(g,POS_FACEUP,REASON_EFFECT+REASON_TEMPORARY)>0 then
local og=Duel.GetOperatedGroup()
og:KeepAlive()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_LEAVE_FIELD)
e1:SetLabelObject(og)
e1:SetOperation(cm.retop)
c:RegisterEffect(e1,true)
end
end
function cm.retop(e,tp,eg,ep,ev,re,r,rp)
local tg=e:GetLabelObject()
for tc in aux.Next(tg) do Duel.ReturnToField(tc) end
e:Reset()
end
function cm.frcval(e,c,fp,rp,r)
if not c:IsType(TYPE_LINK) then return 0xff00ff end
local zone=0
for x=0,4 do
if not Duel.IsExistingMatchingCard(cm.willbelinkdir,0,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil,c,x,1,fp,fp) then zone=zone|(1<<x) end
if not Duel.IsExistingMatchingCard(cm.willbelinkdir,0,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil,c,x,3,fp,1-fp) then zone=zone|(1<<(16+x)) end
end
if not Duel.IsExistingMatchingCard(cm.willbelinkdir,0,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil,c,1,2,fp,fp) then zone=zone|0x400020 end
if not Duel.IsExistingMatchingCard(cm.willbelinkdir,0,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil,c,3,2,fp,fp) then zone=zone|0x200040 end
return zone
end
\ No newline at end of file
local m=15000059
local cm=_G["c"..m]
cm.name="色带神·犹格索托斯"
function cm.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(Card.IsSetCard,0x1f33),1)
c:EnableReviveLimit()
--Destroy
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(cm.srcon)
e1:SetTarget(cm.srtg)
e1:SetOperation(cm.srop)
c:RegisterEffect(e1)
end
function cm.srcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tp=c:GetControler()
return c:IsSummonType(SUMMON_TYPE_SYNCHRO)
end
function cm.srtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tp=c:GetControler()
if chk==0 then return c:IsDestructable(e) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,c,1,0,0)
end
function cm.srop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tp=c:GetControler()
if Duel.Destroy(c,REASON_EFFECT)~=0 then
local g=Duel.GetFieldGroup(tp,LOCATION_MZONE,0)
if #g>0 and #g==Duel.GetMatchingGroupCount(cm.filter,tp,LOCATION_MZONE,0,1,nil) then
Duel.BreakEffect()
Debug.Message("Ia,Ia,Y’ghaa,y’gai,gai!")
Debug.Message("由虚构深渊降临之人啊。镇座于梦之长廊彼方穷极之门的神啊。")
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(0,1)
e1:SetValue(cm.aclimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
end
function cm.filter(c)
return c:IsFaceup() and c:IsSetCard(0xf33)
end
function cm.aclimit(e,re,tp)
return re:GetActivateLocation()==LOCATION_HAND
end
\ No newline at end of file
...@@ -73,9 +73,22 @@ function cm.atkfilter(c) ...@@ -73,9 +73,22 @@ function cm.atkfilter(c)
return c:IsFaceup() and c:GetRace()~=0 return c:IsFaceup() and c:GetRace()~=0
end end
function cm.damtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_MZONE,LOCATION_MZONE,1,c) end if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_MZONE,LOCATION_MZONE,1,c) end
local g=Duel.GetMatchingGroup(cm.atkfilter,c:GetControler(),LOCATION_MZONE,LOCATION_MZONE,nil)
local att=0
local tc=g:GetFirst()
while tc do
att=bit.bor(att,tc:GetRace())
tc=g:GetNext()
end
local ct=0
while att~=0 do
if bit.band(att,0x1)~=0 then ct=ct+1 end
att=bit.rshift(att,1)
end
Duel.SetTargetPlayer(1-tp) Duel.SetTargetPlayer(1-tp)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,0) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,0,0,1-tp,ct*800)
end end
function cm.damop(e,tp,eg,ep,ev,re,r,rp) function cm.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -92,5 +105,5 @@ function cm.damop(e,tp,eg,ep,ev,re,r,rp) ...@@ -92,5 +105,5 @@ function cm.damop(e,tp,eg,ep,ev,re,r,rp)
att=bit.rshift(att,1) att=bit.rshift(att,1)
end end
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER) local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
Duel.Damage(p,ct*200,REASON_EFFECT) Duel.Damage(p,ct*800,REASON_EFFECT)
end end
\ No newline at end of file
local m=15000708
local cm=_G["c"..m]
cm.name="盖理的诗歌"
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,15000708+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(cm.con)
e1:SetTarget(cm.tg)
e1:SetOperation(cm.op)
c:RegisterEffect(e1)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tp=c:GetControler()
local g=Duel.GetFieldGroup(tp,LOCATION_MZONE,0)
return g:GetClassCount(Card.GetRace)>=4
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tp=c:GetControler()
local g=Duel.GetFieldGroup(tp,LOCATION_MZONE,0)
if chk==0 then return g:FilterCount(Card.IsAbleToGrave,nil)~=0 end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,tp,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.filter2(c,e,tp,mc)
return c:IsSetCard(0x3f38) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and Duel.GetLocationCountFromEx(tp,tp,mc,c)>0
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tp=c:GetControler()
local g=Duel.GetFieldGroup(tp,LOCATION_MZONE,0)
g=g:Filter(Card.IsAbleToGrave,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tg=g:Select(tp,1,99,nil)
if tg:GetCount()~=0 and Duel.SendtoGrave(tg,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,nil) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local ag=Duel.SelectMatchingCard(tp,cm.filter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,nil)
local tc=ag:GetFirst()
if tc then
if Duel.SpecialSummonStep(tc,0,tp,tp,true,false,POS_FACEUP) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
e1:SetValue(LOCATION_DECKBOT)
tc:RegisterEffect(e1,true)
Duel.SpecialSummonComplete()
end
end
end
end
\ No newline at end of file
local m=15000709
local cm=_G["c"..m]
cm.name="盖理的远客·沙利叶&伊诺兹"
function cm.initial_effect(c)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,nil,2,2,cm.lcheck)
--effect gain
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetCategory(CATEGORY_TODECK+CATEGORY_TOHAND+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCondition(cm.retcon)
e1:SetCost(cm.retcost)
e1:SetTarget(cm.rettg)
e1:SetOperation(cm.retop)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetCondition(cm.efcon)
e2:SetTarget(cm.eftg)
e2:SetLabelObject(e1)
c:RegisterEffect(e2)
end
function cm.lcheck(g)
return g:GetClassCount(Card.GetLinkRace)==g:GetCount() and g:IsExists(Card.IsLinkSetCard,1,nil,0x3f38)
end
function cm.retcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tp=c:GetControler()
if Duel.GetFlagEffect(tp,15000709)~=0 then
for _,i in ipairs{Duel.GetFlagEffectLabel(tp,15000709)} do
if i==c:GetOriginalCodeRule() then return false end
end
end
local g=Duel.GetFieldGroup(tp,LOCATION_MZONE,0)
local tc=g:GetFirst()
while tc do
if Duel.IsExistingMatchingCard(Card.IsRace,tp,LOCATION_MZONE,0,1,tc,tc:GetRace()) then return false end
tc=g:GetNext()
end
return true
end
function cm.retcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tp=c:GetControler()
if chk==0 then return true end
Duel.RegisterFlagEffect(tp,15000709,RESET_PHASE+PHASE_END,0,1,c:GetOriginalCodeRule())
if Duel.Remove(c,POS_FACEUP,REASON_COST+REASON_TEMPORARY)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetLabelObject(c)
e1:SetCountLimit(1)
e1:SetOperation(cm.regop)
Duel.RegisterEffect(e1,tp)
end
end
function cm.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.ReturnToField(e:GetLabelObject())
end
function cm.swfilter(c)
return c:IsSetCard(0x3f38) and (c:IsAbleToHand() or c:IsAbleToDeck())
end
function cm.rettg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tp=c:GetControler()
if chk==0 then return Duel.IsExistingTarget(cm.swfilter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,cm.swfilter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function cm.retop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tp=c:GetControler()
local ag=Duel.GetFieldGroup(tp,LOCATION_MZONE,0)
local ac=ag:GetFirst()
while ac do
if Duel.IsExistingMatchingCard(Card.IsRace,tp,LOCATION_MZONE,0,1,ac,ac:GetRace()) then return end
ac=ag:GetNext()
end
local tc=Duel.GetFirstTarget()
local b1=tc:IsAbleToHand()
local b2=tc:IsAbleToDeck()
if not (b1 or b2) then return end
local op=0
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(m,2))
else op=Duel.SelectOption(tp,aux.Stringid(m,3))+1 end
if op==0 then
if Duel.SendtoHand(tc,nil,REASON_EFFECT)~=0 then
local tg=Duel.GetOperatedGroup()
tg=tg:Filter(Card.IsLocation,nil,LOCATION_DECK)
tg=tg:Filter(Card.IsControler,nil,tp)
if tg:GetCount()~=0 then
Duel.BreakEffect()
Duel.ShuffleDeck(tp)
Duel.Draw(tp,tg:GetCount(),REASON_EFFECT)
end
end
end
if op==1 then
if Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)~=0 then
local tg=Duel.GetOperatedGroup()
tg=tg:Filter(Card.IsLocation,nil,LOCATION_DECK)
tg=tg:Filter(Card.IsControler,nil,tp)
if tg:GetCount()~=0 then
Duel.BreakEffect()
Duel.ShuffleDeck(tp)
Duel.Draw(tp,tg:GetCount(),REASON_EFFECT)
end
end
end
end
function cm.efcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tp=c:GetControler()
return c:IsSummonType(SUMMON_TYPE_LINK)
end
function cm.eftg(e,c)
return c:IsSetCard(0x3f38) and c:IsType(TYPE_MONSTER)
end
\ No newline at end of file
...@@ -51,11 +51,9 @@ function cm.initial_effect(c) ...@@ -51,11 +51,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e6) c:RegisterEffect(e6)
--search --search
local e7=Effect.CreateEffect(c) local e7=Effect.CreateEffect(c)
e7:SetCategory(CATEGORY_TODECK)
e7:SetType(EFFECT_TYPE_QUICK_O) e7:SetType(EFFECT_TYPE_QUICK_O)
e7:SetCode(EVENT_FREE_CHAIN) e7:SetCode(EVENT_FREE_CHAIN)
e7:SetRange(LOCATION_HAND) e7:SetRange(LOCATION_HAND)
e7:SetCountLimit(1,190001)
e7:SetCost(cm.efcost) e7:SetCost(cm.efcost)
e7:SetTarget(cm.eftg) e7:SetTarget(cm.eftg)
e7:SetOperation(cm.efop) e7:SetOperation(cm.efop)
...@@ -127,8 +125,6 @@ function cm.efop(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -127,8 +125,6 @@ function cm.efop(e,tp,eg,ep,ev,re,r,rp,chk)
e4:SetValue(1) e4:SetValue(1)
e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e4,true) tc:RegisterEffect(e4,true)
Duel.BreakEffect()
Duel.SendtoDeck(e:GetHandler(),nil,2,REASON_EFFECT)
end end
end end
function cm.e2filter(e,re) function cm.e2filter(e,re)
......
...@@ -50,7 +50,7 @@ function cm.initial_effect(c) ...@@ -50,7 +50,7 @@ function cm.initial_effect(c)
--lv up --lv up
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(m,3)) e6:SetDescription(aux.Stringid(m,3))
e6:SetCategory(CATEGORY_TODECK) e6:SetCategory(CATEGORY_TODECK+CATEGORY_TOHAND+CATEGORY_SEARCH)
e6:SetType(EFFECT_TYPE_IGNITION) e6:SetType(EFFECT_TYPE_IGNITION)
e6:SetRange(LOCATION_HAND) e6:SetRange(LOCATION_HAND)
e6:SetProperty(EFFECT_FLAG_CARD_TARGET) e6:SetProperty(EFFECT_FLAG_CARD_TARGET)
...@@ -63,7 +63,7 @@ function cm.atkval(e,c) ...@@ -63,7 +63,7 @@ function cm.atkval(e,c)
return c:GetLevel()*100 return c:GetLevel()*100
end end
function cm.spfilter(c,lv,e,tp) function cm.spfilter(c,lv,e,tp)
return c:IsSetCard(0xca4) and c:GetLevel()<=lv and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0xca5) and c:GetLevel()<=lv and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local lv=e:GetHandler():GetLevel() local lv=e:GetHandler():GetLevel()
...@@ -81,7 +81,7 @@ function cm.sp2cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -81,7 +81,7 @@ function cm.sp2cost(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.banfilter(c) function cm.banfilter(c)
return c:IsSetCard(0xca4) and c:IsAbleToRemoveAsCost() return c:IsSetCard(0xca5) and c:IsAbleToRemoveAsCost()
end end
function cm.sp3cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sp3cost(e,tp,eg,ep,ev,re,r,rp,chk)
local lv=e:GetHandler():GetLevel() local lv=e:GetHandler():GetLevel()
...@@ -114,30 +114,28 @@ function cm.sp2op(e,tp,eg,ep,ev,re,r,rp) ...@@ -114,30 +114,28 @@ function cm.sp2op(e,tp,eg,ep,ev,re,r,rp)
if tc then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) end if tc then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) end
end end
function cm.lufilter(c) function cm.thfilter(c,lv)
return c:IsSetCard(0x41) and not c:IsPublic() return c:IsSetCard(0xca5) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and c:GetLevel()<=lv
end
function cm.lufilter(c,lv)
return c:IsSetCard(0x41) and not c:IsPublic() and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil,lv+c:GetLevel())
end end
function cm.lutg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.lutg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return Duel.IsExistingTarget(Card.IsSetCard,tp,LOCATION_MZONE,0,1,nil,0x41) if chk==0 then return Duel.IsExistingTarget(Card.IsSetCard,tp,LOCATION_MZONE,0,1,nil,0x41)
and not c:IsPublic() and not c:IsPublic()
and Duel.IsExistingMatchingCard(cm.lufilter,tp,LOCATION_HAND,0,1,c) end and Duel.IsExistingMatchingCard(cm.lufilter,tp,LOCATION_HAND,0,1,c,c:GetLevel()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.lufilter,tp,LOCATION_HAND,0,1,1,c) local g=Duel.SelectMatchingCard(tp,cm.lufilter,tp,LOCATION_HAND,0,1,1,c,c:GetLevel())
local tc=g:GetFirst() local tc=g:GetFirst()
g:AddCard(c) g:AddCard(c)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
local lv=c:GetLevel()+tc:GetLevel() local lv=c:GetLevel()+tc:GetLevel()
local num1,num2=math.modf(lv/2)--返回整数和小数部分
if(num2==0)then
lv=lv/2
else
lv=(lv/2)+0.5
end
Duel.SetTargetParam(lv) Duel.SetTargetParam(lv)
local lvg=Duel.SelectTarget(tp,Card.IsSetCard,tp,LOCATION_MZONE,0,1,1,nil,0x41) local lvg=Duel.SelectTarget(tp,Card.IsSetCard,tp,LOCATION_MZONE,0,1,1,nil,0x41)
Duel.SetOperationInfo(0,CATEGORY_TODECK,c,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_TODECK,c,1,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function cm.luop(e,tp,eg,ep,ev,re,r,rp) function cm.luop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -151,6 +149,11 @@ function cm.luop(e,tp,eg,ep,ev,re,r,rp) ...@@ -151,6 +149,11 @@ function cm.luop(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(lv) e1:SetValue(lv)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SendtoDeck(c,nil,2,REASON_EFFECT) if Duel.SendtoDeck(c,nil,2,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil,lv) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil,lv)
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end end
end end
\ No newline at end of file
...@@ -66,7 +66,7 @@ function cm.atkval(e,c) ...@@ -66,7 +66,7 @@ function cm.atkval(e,c)
return c:GetLevel()*100 return c:GetLevel()*100
end end
function cm.spfilter(c,lv,e,tp) function cm.spfilter(c,lv,e,tp)
return c:IsSetCard(0xca4) and c:GetLevel()<=lv and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0xca5) and c:GetLevel()<=lv and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local lv=e:GetHandler():GetLevel() local lv=e:GetHandler():GetLevel()
...@@ -84,7 +84,7 @@ function cm.sp2cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -84,7 +84,7 @@ function cm.sp2cost(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.banfilter(c) function cm.banfilter(c)
return c:IsSetCard(0xca4) and c:IsAbleToRemoveAsCost() return c:IsSetCard(0xca5) and c:IsAbleToRemoveAsCost()
end end
function cm.sp3cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sp3cost(e,tp,eg,ep,ev,re,r,rp,chk)
local lv=e:GetHandler():GetLevel() local lv=e:GetHandler():GetLevel()
...@@ -117,7 +117,7 @@ function cm.sp2op(e,tp,eg,ep,ev,re,r,rp) ...@@ -117,7 +117,7 @@ function cm.sp2op(e,tp,eg,ep,ev,re,r,rp)
if tc then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) end if tc then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) end
end end
function cm.thfilter(c) function cm.thfilter(c)
return c:IsSetCard(0xca4) and c:IsAbleToHand() and c:IsType(TYPE_SPELL+TYPE_TRAP) return c:IsSetCard(0xca5) and c:IsAbleToHand() and c:IsType(TYPE_SPELL+TYPE_TRAP)
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
......
...@@ -63,7 +63,7 @@ function cm.atkval(e,c) ...@@ -63,7 +63,7 @@ function cm.atkval(e,c)
return c:GetLevel()*100 return c:GetLevel()*100
end end
function cm.spfilter(c,lv,e,tp) function cm.spfilter(c,lv,e,tp)
return c:IsSetCard(0xca4) and c:GetLevel()<=lv and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0xca5) and c:GetLevel()<=lv and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local lv=e:GetHandler():GetLevel() local lv=e:GetHandler():GetLevel()
...@@ -81,7 +81,7 @@ function cm.sp2cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -81,7 +81,7 @@ function cm.sp2cost(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.banfilter(c) function cm.banfilter(c)
return c:IsSetCard(0xca4) and c:IsAbleToRemoveAsCost() return c:IsSetCard(0xca5) and c:IsAbleToRemoveAsCost()
end end
function cm.sp3cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sp3cost(e,tp,eg,ep,ev,re,r,rp,chk)
local lv=e:GetHandler():GetLevel() local lv=e:GetHandler():GetLevel()
......
...@@ -65,7 +65,7 @@ function cm.atkval(e,c) ...@@ -65,7 +65,7 @@ function cm.atkval(e,c)
return c:GetLevel()*100 return c:GetLevel()*100
end end
function cm.spfilter(c,lv,e,tp) function cm.spfilter(c,lv,e,tp)
return c:IsSetCard(0xca4) and c:GetLevel()<=lv and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0xca5) and c:GetLevel()<=lv and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local lv=e:GetHandler():GetLevel() local lv=e:GetHandler():GetLevel()
...@@ -83,7 +83,7 @@ function cm.sp2cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -83,7 +83,7 @@ function cm.sp2cost(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.banfilter(c) function cm.banfilter(c)
return c:IsSetCard(0xca4) and c:IsAbleToRemoveAsCost() return c:IsSetCard(0xca5) and c:IsAbleToRemoveAsCost()
end end
function cm.sp3cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sp3cost(e,tp,eg,ep,ev,re,r,rp,chk)
local lv=e:GetHandler():GetLevel() local lv=e:GetHandler():GetLevel()
...@@ -116,17 +116,17 @@ function cm.sp2op(e,tp,eg,ep,ev,re,r,rp) ...@@ -116,17 +116,17 @@ function cm.sp2op(e,tp,eg,ep,ev,re,r,rp)
if tc then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) end if tc then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) end
end end
function cm.ssfilter(c,tp) function cm.ssfilter(c,tp)
return c:IsControler(tp) and c:IsSetCard(0xca4) and c:IsFaceup() return c:IsControler(tp) and c:IsSetCard(0xca5) and c:IsFaceup()
end end
function cm.llvfilter(c,tp) function cm.llvfilter(c,tp)
return c:IsSetCard(0xca4) and c:IsFaceup() and c:IsLevelAbove(1) return c:IsSetCard(0xca5) and c:IsFaceup() and c:IsLevelAbove(1)
end end
function cm.sscon(e,tp,eg,ep,ev,re,r,rp) function cm.sscon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.ssfilter,1,nil,tp) return eg:IsExists(cm.ssfilter,1,nil,tp)
end end
function cm.sstg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and e:GetHandler():IsSetCard(0xca4) and Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_MZONE,0,1,nil,0xca4) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and e:GetHandler():IsSetCard(0xca5) and Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_MZONE,0,1,nil,0xca5) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function cm.ssop(e,tp,eg,ep,ev,re,r,rp) function cm.ssop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -13,15 +13,16 @@ function cm.initial_effect(c) ...@@ -13,15 +13,16 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
return re and re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsSetCard(0xca4) return re and re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsSetCard(0xca5)
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 c=e:GetHandler() local c=e:GetHandler()
--atk up --atk up
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,2))
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_BASE_ATTACK) e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(4000) e1:SetValue(4000)
...@@ -37,6 +38,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -37,6 +38,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_FREE_CHAIN) e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1) e3:SetCountLimit(1)
e3:SetCondition(cm.lvcon2)
e3:SetTarget(cm.target) e3:SetTarget(cm.target)
e3:SetOperation(cm.operation) e3:SetOperation(cm.operation)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
...@@ -48,11 +50,15 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,11 +50,15 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e4:SetType(EFFECT_TYPE_IGNITION) e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1) e4:SetCountLimit(1)
e4:SetCondition(cm.lvcon3)
e4:SetTarget(cm.destarget) e4:SetTarget(cm.destarget)
e4:SetOperation(cm.desoperation) e4:SetOperation(cm.desoperation)
e4:SetReset(RESET_EVENT+RESETS_STANDARD) e4:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function cm.lvcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetLevel()>=5
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
...@@ -76,6 +82,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -76,6 +82,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
end end
end end
function cm.lvcon3(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetLevel()>=12
end
function cm.desfilter(c,tp) function cm.desfilter(c,tp)
return c:IsType(TYPE_MONSTER) and Duel.GetMZoneCount(tp,c)>=1 return c:IsType(TYPE_MONSTER) and Duel.GetMZoneCount(tp,c)>=1
end end
......
...@@ -65,7 +65,7 @@ function cm.atkval(e,c) ...@@ -65,7 +65,7 @@ function cm.atkval(e,c)
return c:GetLevel()*100 return c:GetLevel()*100
end end
function cm.spfilter(c,lv,e,tp) function cm.spfilter(c,lv,e,tp)
return c:IsSetCard(0xca4) and c:GetLevel()<=lv and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0xca5) and c:GetLevel()<=lv and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local lv=e:GetHandler():GetLevel() local lv=e:GetHandler():GetLevel()
...@@ -83,7 +83,7 @@ function cm.sp2cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -83,7 +83,7 @@ function cm.sp2cost(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.banfilter(c) function cm.banfilter(c)
return c:IsSetCard(0xca4) and c:IsAbleToRemoveAsCost() return c:IsSetCard(0xca5) and c:IsAbleToRemoveAsCost()
end end
function cm.sp3cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sp3cost(e,tp,eg,ep,ev,re,r,rp,chk)
local lv=e:GetHandler():GetLevel() local lv=e:GetHandler():GetLevel()
......
...@@ -50,7 +50,7 @@ function cm.checkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,7 +50,7 @@ function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
local p1=false local p1=false
local p2=false local p2=false
while tc do while tc do
if ((tc:GetReasonCard() and tc:GetReasonCard():IsSetCard(0xca4) and tc:GetReasonCard():IsType(TYPE_MONSTER)) or (tc:GetReasonEffect() and tc:GetReasonEffect():GetHandler():IsSetCard(0xca4) and tc:GetReasonEffect():GetHandler():IsType(TYPE_MONSTER))) if ((tc:GetReasonCard() and tc:GetReasonCard():IsSetCard(0xca5) and tc:GetReasonCard():IsType(TYPE_MONSTER)) or (tc:GetReasonEffect() and tc:GetReasonEffect():GetHandler():IsSetCard(0xca5) and tc:GetReasonEffect():GetHandler():IsType(TYPE_MONSTER)))
and (tc:IsReason(REASON_BATTLE) or tc:IsReason(REASON_EFFECT)) and (tc:IsReason(REASON_BATTLE) or tc:IsReason(REASON_EFFECT))
and tc:IsType(TYPE_MONSTER) then and tc:IsType(TYPE_MONSTER) then
if tc:GetReasonPlayer()==0 then p1=true else p2=true end if tc:GetReasonPlayer()==0 then p1=true else p2=true end
...@@ -72,7 +72,7 @@ function cm.descon(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,7 +72,7 @@ function cm.descon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and rp==1-tp and re:IsActiveType(TYPE_MONSTER) return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and rp==1-tp and re:IsActiveType(TYPE_MONSTER)
end end
function cm.rmfilter(c) function cm.rmfilter(c)
return c:IsSetCard(0xca4) and c:IsAbleToRemoveAsCost() return c:IsSetCard(0xca5) and c:IsAbleToRemoveAsCost()
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 Duel.IsExistingMatchingCard(cm.rmfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.rmfilter,tp,LOCATION_GRAVE,0,1,nil) end
......
...@@ -24,7 +24,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -24,7 +24,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
end end
function cm.filter(c,e,tp) function cm.filter(c,e,tp)
return c:IsLevelBelow(4) and c:IsSetCard(0xca4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsLevelBelow(4) and c:IsSetCard(0xca5) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
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)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
...@@ -37,10 +37,10 @@ function cm.initial_effect(c) ...@@ -37,10 +37,10 @@ function cm.initial_effect(c)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function cm.eqlimit(e,c) function cm.eqlimit(e,c)
return c:IsSetCard(0xca4) and c:IsLevelBelow(5) return c:IsSetCard(0xca5) and c:IsLevelBelow(5)
end end
function cm.filter(c) function cm.filter(c)
return c:IsFaceup() and c:IsSetCard(0xca4) and c:IsLevelBelow(5) return c:IsFaceup() and c:IsSetCard(0xca5) and c:IsLevelBelow(5)
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 return chkc:IsLocation(LOCATION_MZONE) and cm.filter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and cm.filter(chkc) end
......
--机车玩家lazerturbo lv0
local m=190012
local cm=_G["c"..m]
cm.name="机车玩家lazerturbo lv0"
function cm.initial_effect(c)
c:SetSPSummonOnce(m)
c:EnableReviveLimit()
aux.AddLinkProcedure(c,cm.matfilter,1,1)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCondition(cm.condition)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
--LV UP
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCost(cm.cost1)
e2:SetTarget(cm.tgtg)
e2:SetOperation(cm.tgop)
c:RegisterEffect(e2)
end
function cm.matfilter(c)
return c:IsLinkSetCard(0xca5)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function cm.filter(c,e,tp,zone)
return c:IsSetCard(0xca5) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local zone=e:GetHandler():GetLinkedZone(tp)
return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,1,nil,e,tp,zone)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local zone=e:GetHandler():GetLinkedZone(tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_TOFIELD,zone)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp,zone)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP,zone)
end
end
end
function cm.costfilter1(c)
return c:IsSetCard(0x41) and c:IsType(TYPE_MONSTER) and not c:IsPublic()
end
function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter1,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.costfilter1,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp)
end
function cm.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0xca5) and c:IsType(TYPE_MONSTER) and c:GetLevel()>0
end
function cm.tgfilter(c,race)
return c:IsAbleToGrave() and c:GetOriginalRace()==race
end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and cm.cfilter(chkc,tp) end
if chk==0 then return Duel.IsExistingTarget(cm.cfilter,tp,LOCATION_MZONE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,cm.cfilter,tp,LOCATION_MZONE,0,1,1,nil,tp)
end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
end
end
\ No newline at end of file
--模拟玩家snipe lv50
local m=190013
local cm=_G["c"..m]
cm.name="模拟玩家snipe lv50"
function cm.initial_effect(c)
c:SetUniqueOnField(1,1,m)
--discard oppo deck
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCondition(cm.con)
e1:SetOperation(cm.op)
c:RegisterEffect(e1)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return re and re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsSetCard(0xca5)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
--atk up
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(4000)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_SET_BASE_DEFENSE)
c:RegisterEffect(e2)
--Destroy
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,1))
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1)
e3:SetCondition(cm.lvcon2)
e3:SetCost(cm.descost)
e3:SetTarget(cm.destarget)
e3:SetOperation(cm.desoperation)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e3)
--to grave
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,2))
e4:SetCategory(CATEGORY_TOGRAVE)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e4:SetCondition(cm.lvcon3)
e4:SetTarget(cm.tgtg)
e4:SetOperation(cm.tgop)
c:RegisterEffect(e4)
end
function cm.lvcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetLevel()>=5
end
function cm.costfilter2(c)
return c:IsSetCard(0x41) and not c:IsPublic()
end
function cm.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter2,tp,LOCATION_HAND,0,1,nil) end
local g=Duel.GetMatchingGroup(cm.costfilter2,tp,LOCATION_HAND,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g1=Duel.SelectMatchingCard(tp,cm.costfilter2,tp,LOCATION_HAND,0,1,g:GetCount(),nil)
Duel.ConfirmCards(1-tp,g1)
Duel.ShuffleHand(tp)
e:SetLabel(g1:GetCount())
end
function cm.destarget(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,0,LOCATION_ONFIELD)
end
function cm.desoperation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ds=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local tg=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,ds,nil)
if tg:GetCount()~=0 then
Duel.Destroy(tg,REASON_EFFECT)
end
end
function cm.lvcon3(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetLevel()>=12
end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler())
if chk==0 then return #g>0 end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,#g,0,0)
end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,aux.ExceptThisCard(e))
if #g>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
\ No newline at end of file
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.
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.
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