Commit 03279c8b authored by Nemo Ma's avatar Nemo Ma

fix

parent 768413f1
#[No81DIY 19.10 STANDARD][No81DIY 19.10 WILD]
!THE STANDARD LIST
#forbidden
9952009 0
9952010 0
9952011 0
9952012 0
9952013 0
9952014 0
9952015 0
9952016 0
9952017 0
9952018 0
18061801 0
9981429 0
9960671 0
9950665 0
9950664 0
9950393 0
9950430 0
9981460 0
9981439 0
9981461 0
9981438 0
9950775 0
9950727 0
9950731 0
9950966 0
79029093 0
14010155 0
82208108 0
10700082 0
31400050 0
14000951 0
14000953 0
14000256 0
14010201 0
14010224 0
14010229 0
......@@ -397,6 +430,8 @@
14000701 0
14000702 0
#limit
9950679 1
9950737 1
9951183 1
9951245 0
14010007 1
......@@ -406,7 +441,7 @@
9950620 1
9950621 1
9950622 1
9910011 1
#9910011 1
9910052 1
#9910056 1
9950000 1
......@@ -1029,7 +1064,7 @@
#limit
#9910011 1
9910052 1
9910056 1
#9910056 1
9950000 1
9950002 1
9950014 1
......
expansions/pics/33401058.jpg

313 KB | W: | H:

expansions/pics/33401058.jpg

311 KB | W: | H:

expansions/pics/33401058.jpg
expansions/pics/33401058.jpg
expansions/pics/33401058.jpg
expansions/pics/33401058.jpg
  • 2-up
  • Swipe
  • Onion skin
......@@ -36,6 +36,7 @@ function c10700053.initial_effect(c)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetRange(LOCATION_SZONE)
e4:SetCountLimit(1)
e4:SetCondition(c10700053.effcon)
e4:SetLabel(3)
e4:SetTarget(c10700053.thtg)
......
......@@ -61,9 +61,9 @@ end
function c10700066.sptg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_REMOVED) and c10700066.filter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c10700063.filter,tp,LOCATION_REMOVED,0,1,nil,e,tp) end
and Duel.IsExistingTarget(c10700066.filter,tp,LOCATION_REMOVED,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c10700063.filter,tp,LOCATION_REMOVED,0,1,1,nil,e,tp)
local g=Duel.SelectTarget(tp,c10700066.filter,tp,LOCATION_REMOVED,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c10700066.spop1(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -75,7 +75,7 @@ function c10700075.filter2(c,e,tp)
return c:IsCode(10700076) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,tc,c)>0
end
function c10700075.spcon(e)
return not Duel.IsExistingMatchingCard(c10700060.cfilter,e:GetHandlerPlayer(),LOCATION_ONFIELD,0,1,e:GetHandler())
return not Duel.IsExistingMatchingCard(c10700075.cfilter,e:GetHandlerPlayer(),LOCATION_ONFIELD,0,1,e:GetHandler())
end
function c10700075.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x3911)
......
......@@ -55,5 +55,5 @@ function cm.spop(e,tp)
if not c or rssf.SpecialSummon(c)<=0 then return end
Duel.RegisterFlagEffect(tp,m,0,0,1)
local ct=Duel.GetFlagEffect(tp,m)
local e1=rscf.QuickBuff({c,true},"atk+,def+",500*ct)
local e1=rscf.QuickBuff({c,nil,true},"atk+,def+",500*ct)
end
......@@ -30,25 +30,16 @@ function c30000007.initial_effect(c)
e4:SetCode(EVENT_DESTROYED)
c:RegisterEffect(e4)
end
function c30000007.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_GRAVE,0,1,nil) end
local num=Duel.GetMatchingGroupCount(Card.IsAbleToRemove,tp,LOCATION_GRAVE,0,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,num,tp,LOCATION_GRAVE)
if chk==0 then return true end
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_GRAVE,0,c)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,g:GetCount(),0,0)
end
function c30000007.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_GRAVE,0,nil)
if Duel.Remove(g,POS_FACEUP,REASON_EFFECT)~=0 then
local sg=g:Filter(Card.IsLocation,nil,LOCATION_REMOVED)
local gc=sg:GetFirst()
while gc do
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CANNOT_TO_GRAVE)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
gc:RegisterEffect(e3)
gc=sg:GetNext()
end
end
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
function c30000007.ctfilter(c)
......
......@@ -3,7 +3,7 @@ if not pcall(function() require("expansions/script/c10199990") end) then require
local m,cm=rscf.DefineCard(30000220)
function cm.initial_effect(c)
local e1=rsef.ACT(c,nil,nil,nil,"td,dr",nil,nil,nil,cm.tg,cm.act)
local e2=rsef.I(c,{m,0},nil,"td,dr","tg",LOCATION_GRAVE,aux.exccon,nil,rstg.target({cm.tdfilter,"td",LOCATION_GRAVE+LOCATION_REMOVED,0,2 },rsop.list(Card.IsAbleToDeck,"td"),rsop.list(nil,"dr",1)),cm.drop)
local e2=rsef.I(c,{m,0},nil,"td,dr","tg",LOCATION_GRAVE,aux.exccon,nil,rstg.target({cm.tdfilter,"td",LOCATION_GRAVE+LOCATION_REMOVED,0,2 },rsop.list(Card.IsAbleToDeck,"td"),rsop.list(1,"dr")),cm.drop)
if cm.actct then return end
cm.actct=0
local ge1=Effect.CreateEffect(c)
......@@ -43,6 +43,10 @@ function cm.act(e,tp)
end
Duel.HintSelection(tg-hg)
if Duel.SendtoDeck(tg,nil,2,REASON_EFFECT)>0 then
local og=Duel.GetOperatedGroup()
if og:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then
Duel.ShuffleDeck(tp)
end
Duel.Draw(tp,cm.actct+2,REASON_EFFECT)
end
end
......
......@@ -7,41 +7,72 @@ tpara={e,tp,eg,ep,ev,re,r,rp}
para=table.unpack(tpara)
------
function XY.REZS(c)
if not (c:GetCode()==33403501) then
if c:IsSetCard(0x5349) and not (c:GetCode()==33403501) then
--set
local ge2=Effect.CreateEffect(c)
ge2:SetType(EFFECT_TYPE_QUICK_O)
ge2:SetCode(EVENT_FREE_CHAIN)
ge2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
ge2:SetCode(EVENT_PHASE+PHASE_END)
ge2:SetRange(LOCATION_GRAVE)
ge2:SetCondition(XY.recon)
ge2:SetCost(XY.recost)
ge2:SetTarget(XY.resettg)
ge2:SetOperation(XY.resetop)
c:RegisterEffect(ge2)
else
--draw
local ge3=Effect.CreateEffect(c)
ge3:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
ge3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
ge3:SetRange(LOCATION_GRAVE)
ge3:SetCode(EVENT_PHASE+PHASE_END)
ge3:SetCondition(XY.recon)
ge3:SetCost(XY.recost)
ge3:SetTarget(XY.drtg)
ge3:SetOperation(XY.drop)
c:RegisterEffect(ge3)
end
if not XY.zs then
XY.zs=true
local ge1=Effect.GlobalEffect()
ge1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
ge1:SetProperty(EFFECT_FLAG_DELAY)
ge1:SetCode(EVENT_SPSUMMON_SUCCESS)
ge1:SetCondition(XY.zscon1)
ge1:SetOperation(XY.zsop1)
Duel.RegisterEffect(ge1,0)
end
if c:IsSetCard(0x5349) and c:IsType(TYPE_TRAP) then
--act in hand
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e3:SetCondition(XY.handcon)
c:RegisterEffect(e3)
end
if not XY.zs then
XY.zs=true
local ge1=Effect.GlobalEffect(c)
ge1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
ge1:SetCode(EVENT_SPSUMMON_SUCCESS)
ge1:SetCondition(XY.zscon1)
ge1:SetOperation(XY.zsop1)
Duel.RegisterEffect(ge1,0)
end
end
function XY.zsfilter1(c,rp)
return Duel.GetFlagEffect(rp,33443500)==0
end
function XY.zsfilter1(c,tp,re)
return c:GetSummonPlayer()==tp and not c:IsCode(33403500) and (re and not re:GetHandler(0x5349))
function XY.zsckfilter1(c,rp,re)
return c:GetSummonPlayer()==rp and not c:IsCode(33403500) and (re and not re:GetHandler():IsSetCard(0x5349))
end
function XY.zscon1(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(XY.zsfilter1,1,nil,tp,re)
return eg:IsExists(XY.zsfilter1,1,nil,rp)
end
function XY.zsop1(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,33443500)
if eg:IsExists(XY.zsckfilter1,1,nil,rp,re) then
Duel.RegisterFlagEffect(rp,33443500,RESET_PHASE+PHASE_END,0,1)
end
end
function XY.handcon(e)
return Duel.IsExistingMatchingCard(XY.hdfilter,e:GetHandlerPlayer(),LOCATION_MZONE+LOCATION_GRAVE,0,1,nil) and Duel.GetFieldGroupCount(tp,LOCATION_EXTRA,0)==0
end
function XY.hdfilter(c)
return c:IsFaceup() and c:IsCode(33403500)
end
function XY.recost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,33443500)==0
and aux.bfgcost(e,tp,eg,ep,ev,re,r,rp,0) end
if chk==0 then return aux.bfgcost(e,tp,eg,ep,ev,re,r,rp,0) end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
......@@ -56,6 +87,17 @@ function XY.REsplimit(e,c,sump,sumtype,sumpos,targetp,se)
return not se:GetHandler():IsSetCard(0x5349) and not c:IsCode(33403500)
end
function XY.recon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ss=Duel.GetFlagEffect(tp,33403501)
local sx=0
while(sx<(ss/2+2))
do
sx=sx+1
ss=ss+1
end
return Duel.GetFlagEffect(tp,33413501)<sx and Duel.GetFlagEffect(tp,c:GetCode()+20000)==0 and Duel.GetFlagEffect(tp,33443500)==0
end
function XY.REstfilter(c,m)
return c:IsSetCard(0x5349) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable() and not c:IsCode(m)
end
......@@ -64,35 +106,8 @@ function XY.resettg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,c:GetCode()+20000)==0 and Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingMatchingCard(XY.REstfilter,tp,LOCATION_DECK,0,1,nil,e:GetHandler():GetCode()) end
Duel.RegisterFlagEffect(tp,c:GetCode()+30000,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,33403501,0,0,0)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_NEGATED)
e2:SetCondition(XY.regcon)
e2:SetOperation(XY.regop3)
e2:SetReset(RESET_EVENT+RESET_CHAIN+RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
function XY.regcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetHandler():IsSetCard(0x5349) and rp==tp
end
function XY.regop3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local m=c:GetCode()
local n1=Duel.GetFlagEffect(tp,33413501)
local n3=Duel.GetFlagEffect(tp,m+30000)
Duel.ResetFlagEffect(tp,33403501)
Duel.ResetFlagEffect(tp,m+30000)
if n1>=2 then
for i=1,n1-1 do
Duel.RegisterFlagEffect(tp,33413501,RESET_PHASE+PHASE_END,0,1)
end
end
if n3>=2 then
for i=1,n3-1 do
Duel.RegisterFlagEffect(tp,m+30000,RESET_PHASE+PHASE_END,0,1)
end
end
Duel.RegisterFlagEffect(tp,33413501,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,33403501,0,0,0)
end
function XY.resetop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
......@@ -101,4 +116,29 @@ function XY.resetop(e,tp,eg,ep,ev,re,r,rp)
if #g>0 then
Duel.SSet(tp,g)
end
end
\ No newline at end of file
end
function XY.drfilter(c,e)
return c:IsSetCard(0x5349) and c:IsAbleToDeck()
end
function XY.drtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return false end
local g=Duel.GetMatchingGroup(XY.drfilter,tp,LOCATION_REMOVED,0,e:GetHandler())
local n=g:GetCount()
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) and n>=5 end
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,5,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
Duel.RegisterFlagEffect(tp,c:GetCode()+30000,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,33413501,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,33403501,0,0,0)
end
function XY.drop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,XY.drfilter,tp,LOCATION_REMOVED,0,5,5,nil,e)
Duel.SendtoDeck(g,nil,0,REASON_EFFECT)
Duel.ShuffleDeck(tp)
Duel.BreakEffect()
Duel.Draw(tp,2,REASON_EFFECT)
end
......@@ -234,7 +234,14 @@ function c33400033.disop(e,tp,eg,ep,ev,re,r,rp)
end
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c33400033.filter,tp,LOCATION_ONFIELD,0,1,1,nil)
local tc=Duel.GetFirstTarget()
local tg=Duel.SelectMatchingCard(tp,c33400033.filter,tp,LOCATION_ONFIELD,0,1,1,nil)
local tc=tg:GetFirst()
tc:AddCounter(0x34f,2)
end
\ No newline at end of file
end
--刻刻帝-喰时之城
function c33400100.initial_effect(c)
local m=33400100
local cm=_G["c"..m]
function cm.initial_effect(c)
c:EnableCounterPermit(0x34f)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c33400100.activate)
c:RegisterEffect(e1)
--counter
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
c:RegisterEffect(e1)
--Add counter
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetRange(LOCATION_FZONE)
e2:SetOperation(c33400100.counter)
e2:SetOperation(cm.acop)
c:RegisterEffect(e2)
--atk down
local e3=Effect.CreateEffect(c)
......@@ -21,37 +22,56 @@ function c33400100.initial_effect(c)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_FZONE)
e3:SetTargetRange(0,LOCATION_MZONE)
e3:SetValue(c33400100.atkval)
e3:SetCondition(cm.atkcon)
e3:SetValue(cm.atkval)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e4)
--damage
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e7:SetCode(EVENT_LEAVE_FIELD_P)
e7:SetOperation(cm.ctp)
c:RegisterEffect(e7)
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_LEAVE_FIELD)
e8:SetOperation(cm.ctop)
e8:SetLabelObject(e7)
c:RegisterEffect(e8)
end
function c33400100.atkval(e)
return Duel.GetMatchingGroupCount(c33400100.PD,e:GetHandlerPlayer(),LOCATION_GRAVE,0,nil)*-100
function cm.atkcon(e)
return Duel.GetTurnPlayer()~=e:GetHandlerPlayer()
end
function c33400100.PD(c)
function cm.atkval(e)
return Duel.GetMatchingGroupCount(cm.down,e:GetHandlerPlayer(),LOCATION_GRAVE,0,nil)*-100
end
function cm.down(c)
return c:IsSetCard(0x3340) or c:IsSetCard(0x3341)
end
function c33400100.counter(e,tp,eg,ep,ev,re,r,rp)
local ct=eg:FilterCount(c33400100.cfilter,nil)
if ct>0 then
e:GetHandler():AddCounter(0x34f,ct,true)
function cm.cfilter(c,tp)
return c:GetPreviousLocation()==LOCATION_ONFIELD and c:GetPreviousControler()==tp
end
function cm.acop(e,tp,eg,ep,ev,re,r,rp)
if eg:IsExists(cm.cfilter,1,nil,tp) then
e:GetHandler():AddCounter(0x34f,1)
end
end
function c33400100.cfilter(c)
return c:IsPreviousLocation(LOCATION_ONFIELD)
function cm.ctp(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=c:GetCounter(0x34f)
e:SetLabel(ct)
end
function c33400100.filter(c)
return c:IsCode(33400113) and c:IsAbleToHand()
function cm.ctfilter(c)
return c:IsFaceup() and c:IsCanAddCounter(0x34f,1)
end
function c33400100.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(c33400100.filter,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(33400100,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
if ct>0 and Duel.IsExistingMatchingCard(cm.ctfilter,tp,LOCATION_ONFIELD,0,1,nil) then
local tc1=Duel.SelectMatchingCard(tp,cm.ctfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
local tc=tc1:GetFirst()
tc:AddCounter(0x34f,ct,true)
end
end
end
\ No newline at end of file
......@@ -25,17 +25,17 @@ function cm.initial_effect(c)
e2:SetOperation(cm.desop)
c:RegisterEffect(e2)
--origami
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,2))
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_DRAW+CATEGORY_COUNTER)
e2:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e2:SetCondition(cm.descon)
e2:SetTarget(cm.destg2)
e2:SetOperation(cm.desop2)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,2))
e3:SetType(EFFECT_TYPE_ACTIVATE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCategory(CATEGORY_DESTROY+CATEGORY_DRAW+CATEGORY_COUNTER)
e3:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e3:SetCondition(cm.descon)
e3:SetTarget(cm.destg2)
e3:SetOperation(cm.desop2)
c:RegisterEffect(e3)
end
function cm.desfilter(c)
......@@ -46,13 +46,13 @@ function cm.ctfilter(c)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() end
if chk==0 then return Duel.IsExistingTarget(cm.desfilter,tp,LOCATION_ONFIELD,0,1,nil) and Duel.IsPlayerCanDraw(tp,1) end
if chk==0 then return Duel.IsExistingTarget(cm.desfilter,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) and Duel.IsPlayerCanDraw(tp,1) and Duel.IsExistingMatchingCard(cm.ctfilter,tp,LOCATION_ONFIELD,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g1=Duel.SelectTarget(tp,cm.desfilter,tp,LOCATION_ONFIELD,0,1,2,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g1,g1:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function cm.activate(e)
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tg=g:Filter(Card.IsRelateToEffect,nil,e)
......@@ -62,7 +62,7 @@ function cm.activate(e)
end
if Duel.IsExistingMatchingCard(cm.ctfilter,tp,LOCATION_ONFIELD,0,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,3))
local tg=Duel.SelectMatchingCard(tp,cm.ctfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
local tg=Duel.SelectMatchingCard(tp,cm.ctfilter,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler())
local tc=tg:GetFirst()
tc:AddCounter(0x34f,3*ss)
end
......@@ -74,10 +74,10 @@ function cm.desfilter2(c)
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(cm.desfilter2,tp,LOCATION_ONFIELD,0,1,nil)
if chk==0 then return Duel.IsExistingTarget(cm.desfilter2,tp,LOCATION_ONFIELD,0,1,e:GetHandler())
and Duel.IsExistingTarget(nil,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g1=Duel.SelectTarget(tp,cm.desfilter2,tp,LOCATION_ONFIELD,0,1,1,nil)
local g1=Duel.SelectTarget(tp,cm.desfilter2,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g2=Duel.SelectTarget(tp,nil,tp,0,LOCATION_ONFIELD,1,2,nil)
g1:Merge(g2)
......@@ -101,10 +101,10 @@ function cm.descon(e,tp,eg,ep,ev,re,r,rp)
end
function cm.destg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(cm.desfilter2,tp,LOCATION_ONFIELD,0,1,nil)
and Duel.IsExistingTarget(nil,tp,0,LOCATION_ONFIELD,1,nil)and Duel.IsPlayerCanDraw(tp,1) end
if chk==0 then return Duel.IsExistingTarget(cm.desfilter2,tp,LOCATION_ONFIELD,0,1,e:GetHandler())
and Duel.IsExistingTarget(nil,tp,0,LOCATION_ONFIELD,1,nil)and Duel.IsPlayerCanDraw(tp,1) and Duel.IsExistingMatchingCard(cm.ctfilter,tp,LOCATION_ONFIELD,0,1,nil)end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g1=Duel.SelectTarget(tp,cm.desfilter2,tp,LOCATION_ONFIELD,0,1,2,nil)
local g1=Duel.SelectTarget(tp,cm.desfilter2,tp,LOCATION_ONFIELD,0,1,2,e:GetHandler())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g2=Duel.SelectTarget(tp,nil,tp,0,LOCATION_ONFIELD,1,2,nil)
g1:Merge(g2)
......
......@@ -58,7 +58,7 @@ function cm.penop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,cm.penfilter,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
end
end
......
......@@ -172,7 +172,7 @@ function cm.penop(e,tp,eg,ep,ev,re,r,rp)
op=1
end
if c:IsRelateToEffect(e) and op==0 then
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
if op==1 then
local g1=Duel.GetMatchingGroup(Card.IsCanAddCounter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,0x1015,1)
......
......@@ -135,7 +135,7 @@ function cm.penop(e,tp,eg,ep,ev,re,r,rp)
if Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) then b1=1 end
if Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
and Duel.IsExistingMatchingCard(Card.IsCanAddCounter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil,0x1015,1) then b2=1 end
if b1==1 and b2==1 then
if b1==1 and b2==1 then
op=Duel.SelectOption(tp,aux.Stringid(m,3),aux.Stringid(m,4))
elseif b1==1 then
op=0
......@@ -143,7 +143,7 @@ function cm.penop(e,tp,eg,ep,ev,re,r,rp)
op=1
end
if c:IsRelateToEffect(e) and op==0 then
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
if op==1 then
local g1=Duel.GetMatchingGroup(Card.IsCanAddCounter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,0x1015,1)
......
......@@ -145,7 +145,7 @@ function cm.penop(e,tp,eg,ep,ev,re,r,rp)
op=1
end
if c:IsRelateToEffect(e) and op==0 then
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
if op==1 then
local g1=Duel.GetMatchingGroup(Card.IsCanAddCounter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,0x1015,1)
......
......@@ -173,7 +173,7 @@ function cm.penop(e,tp,eg,ep,ev,re,r,rp)
op=1
end
if c:IsRelateToEffect(e) and op==0 then
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
if op==1 then
local g1=Duel.GetMatchingGroup(Card.IsCanAddCounter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,0x1015,1)
......
......@@ -138,7 +138,7 @@ function cm.penop(e,tp,eg,ep,ev,re,r,rp)
op=1
end
if c:IsRelateToEffect(e) and op==0 then
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
if op==1 then
local g1=Duel.GetMatchingGroup(Card.IsCanAddCounter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,0x1015,1)
......
......@@ -150,7 +150,7 @@ end
function cm.setop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,LOCATION_PZONE,0)
if Duel.Destroy(g,REASON_EFFECT)~=0 and e:GetHandler():IsRelateToEffect(e) then
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,true)
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
end
......
......@@ -17,6 +17,7 @@ function cm.initial_effect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_ATTACK_ANNOUNCE)
e5:SetRange(LOCATION_SZONE)
e5:SetCountLimit(1)
e5:SetCondition(cm.atkcon)
e5:SetOperation(cm.atkop)
c:RegisterEffect(e5)
......
......@@ -26,7 +26,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e2)
end
function cm.cfilter(c,tp)
return c:IsReason(REASON_BATTLE+REASON_EFFECT) and c:IsSetCard(0x9341) and c:GetPreviousControler()==tp
return c:IsReason(REASON_BATTLE+REASON_EFFECT) and c:IsSetCard(0x9341) and c:IsType(TYPE_MONSTER) and c:GetPreviousControler()==tp
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil,tp)
......
......@@ -23,7 +23,7 @@ function c33401303.initial_effect(c)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x341+0x5344))
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x341,0x5344))
e2:SetValue(c33401303.atkval)
c:RegisterEffect(e2)
local e3=e2:Clone()
......@@ -69,7 +69,7 @@ function c33401303.desop(e,tp,eg,ep,ev,re,r,rp)
end
function c33401303.pd(c)
return c:IsSetCard(0x341+0x5344+0x340)
return c:IsSetCard(0x341,0x5344,0x340)
end
function c33401303.atkval(e,c)
return Duel.GetMatchingGroupCount(c33401303.pd,e:GetHandlerPlayer(),LOCATION_GRAVE,0,nil)*100
......
......@@ -5,7 +5,8 @@ local cm=_G["c"..m]
function cm.initial_effect(c)
rscf.SetSummonCondition(c)
aux.AddXyzProcedureLevelFree(c,cm.mfilter,aux.TRUE,40,40)
local e1=rsef.I(c,{m,0},{1,m,2},"sp",nil,LOCATION_EXTRA+LOCATION_GRAVE,nil,rscost.lpcost(true),cm.sptg,cm.spop)
local e0=rsef.I(c,{m,0},{1,m,2},"sp",nil,LOCATION_EXTRA,nil,rscost.lpcost(true),cm.sptg,cm.spop)
local e1=rsef.I(c,{m,0},{1,m,2},"sp",nil,LOCATION_GRAVE,nil,rscost.lpcost(true),cm.sptg,cm.spop)
local e3=rsef.SV_ADD(c,"att",cm.attfilter)
local e5=rsef.SV_INDESTRUCTABLE(c,"battle",1,cm.con(ATTRIBUTE_LIGHT))
local e8=rsef.I(c,{m,2},1,"th","tg",LOCATION_MZONE,cm.con(ATTRIBUTE_WATER),nil,rstg.target({Card.IsAbleToHand,"th",LOCATION_ONFIELD,0,1,1,c}),cm.thop)
......@@ -77,7 +78,7 @@ function cm.rfilter(c,e,tp)
end
function cm.rtg(e,tp,eg,ep,ev,re,r,rp,chk)
local og=e:GetLabelObject():GetLabelObject()
if chk==0 then return og:IsExists(cm.rfilter,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
if chk==0 then return og and og:IsExists(cm.rfilter,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetTargetCard(og)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_GRAVE)
end
......
......@@ -4,7 +4,7 @@ function c79029078.initial_effect(c)
c:EnableReviveLimit()
aux.AddFusionProcFunRep2(c,c79029078.ffilter,3,3,false)
--synchro summon
aux.AddSynchroMixProcedure(c,aux.Tuner(nil),aux.Tuner(nil),nil,aux.NonTuner(nil),2,99)
aux.AddSynchroMixProcedure(c,aux.Tuner(nil),aux.Tuner(nil),nil,aux.NonTuner(nil),1,99)
--pendulum summon
aux.EnablePendulumAttribute(c)
--splimit
......
--乌萨斯·重装干员-古米
function c79029120.initial_effect(c)
aux.AddXyzProcedure(c,nil,4,2,c79029120.ovfilter,aux.Stringid(79029120,1),99)
aux.AddXyzProcedure(c,nil,4,3,c79029120.ovfilter,aux.Stringid(79029120,1),99)
--serch
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
......
......@@ -5,7 +5,7 @@ function c79029527.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCountLimit(1,79029527+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c79029527.cost)
e1:SetTarget(c79029527.target)
......@@ -18,11 +18,11 @@ function c79029527.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c79029527.filter1(c,e,tp)
local lv=c:GetLink()
local rg=Duel.GetMatchingGroup(c79029527.filter3,tp,LOCATION_REMOVED,0,c)
return c:IsType(TYPE_LINK) and c:IsLinkSummonable(nil) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 and rg:GetCount()==lv
local rg=Duel.GetMatchingGroup(c79029527.filter3,tp,LOCATION_REMOVED,0,nil)
return c:IsType(TYPE_LINK) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 and rg:GetCount()>=lv and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_LINK,tp,false,false)
end
function c79029527.filter3(c)
return c:IsAbleToRemove() and c:IsCanBeLinkMaterial(nil)
return c:IsAbleToDeck() and c:IsType(TYPE_MONSTER)
end
function c79029527.filter2(c)
return c:IsType(TYPE_LINK) and c:IsSetCard(0x11b)
......@@ -46,7 +46,7 @@ function c79029527.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.SelectYesNo(tp,aux.Stringid(79029527,0)) then
local gb=Duel.GetDecktopGroup(tp,lv)
Duel.SendtoGrave(gb,REASON_EFFECT)
end
end
end
end
......
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