Commit b2fd842f authored by Nemo Ma's avatar Nemo Ma

upd wd

parent ae0c4be6
......@@ -83,6 +83,7 @@
7210015 0
7210016 0
7210017 0
7210018 0
7407235 0
7423753 0
7451999 0
......@@ -95,6 +96,8 @@
9981625 0
9990119 0
9990233 0
10080420 0
10100000 0
10105697 0
10105698 0
10105699 0
......@@ -102,12 +105,18 @@
10111101 0
10111102 0
10173077 0
10199990 0
10203046 0
10736541 0
11163044 0
11450000 0
11450001 0
11450900 0
11450901 0
11450902 0
11450903 0
11450904 0
11450905 0
11450996 0
11450997 0
11450998 0
......@@ -129,6 +138,7 @@
11513044 0
11513045 0
11513046 0
11513047 0
11513048 0
11560295 0
11560300 0
......@@ -178,6 +188,7 @@
12847555 0
12847556 0
12847666 0
12847740 0
12847877 0
12856000 0
12856005 0
......@@ -234,11 +245,13 @@
15000318 0
15003062 0
15004002 0
15004003 0
15005459 0
15090003 0
15291627 0
16200000 0
16200001 0
16200003 0
16200004 0
16200005 0
16200006 0
......@@ -339,6 +352,7 @@
21411005 0
21411006 0
21411007 0
21419996 0
22021680 0
22348028 0
22348134 0
......@@ -356,6 +370,21 @@
22510013 0
22510014 0
22510015 0
24501001 0
24501003 0
24501006 0
24501010 0
24501013 0
24501015 0
24501017 0
24501019 0
24501021 0
24501023 0
24501025 0
24501027 0
24501030 0
24501033 0
24501035 0
27847059 0
28317923 0
28318524 0
......@@ -457,11 +486,13 @@
30015110 0
30015115 0
30015120 0
30015500 0
31400001 0
31400002 0
31400003 0
31400004 0
31400005 0
31400006 0
31400032 0
31400033 0
31400034 0
......@@ -599,6 +630,7 @@
35531510 0
35531511 0
35531512 0
35531513 0
35531514 0
35531515 0
35697557 0
......@@ -618,6 +650,7 @@
40010461 0
40010464 0
40010467 0
40010468 0
40010469 0
40010470 0
40010471 0
......@@ -642,6 +675,8 @@
43990065 0
43990066 0
43990067 0
43990068 0
43990088 0
43999013 0
45746000 0
45746001 0
......@@ -683,6 +718,7 @@
45746901 0
45746905 0
46250000 0
46250001 0
46250002 0
46250003 0
46250004 0
......@@ -742,7 +778,6 @@
60000010 0
60000016 0
60000017 0
60001009 0
60001158 0
60001159 0
60001160 0
......@@ -848,12 +883,14 @@
65123176 0
65123177 0
65123333 0
65123334 0
65123335 0
65123336 0
65130400 0
65130405 0
65130460 0
65130465 0
65130466 0
65130470 0
65130475 0
65131030 0
......@@ -917,6 +954,22 @@
65850105 0
65850106 0
65850110 0
65860000 0
65860005 0
65860010 0
65860015 0
65860020 0
65860025 0
65860030 0
65860035 0
65860040 0
65860045 0
65860050 0
65860055 0
65860060 0
65860065 0
65899920 0
65899925 0
67200701 0
67200702 0
67200703 0
......@@ -924,6 +977,7 @@
67200705 0
67200706 0
67200708 0
67200709 0
67200710 0
67200800 0
67200801 0
......@@ -999,6 +1053,7 @@
70002096 0
70002097 0
70002098 0
70002100 0
70002101 0
70002102 0
70002103 0
......@@ -1044,6 +1099,7 @@
70007500 0
70007501 0
70007502 0
70007503 0
70007504 0
70007505 0
70007507 0
......@@ -1107,6 +1163,7 @@
72100310 0
72100311 0
72100312 0
72100315 0
72100377 0
72100378 0
72100379 0
......@@ -1319,6 +1376,7 @@
82800141 0
82800144 0
82800147 0
82800150 0
82800244 0
82800268 0
82800271 0
......@@ -1387,6 +1445,7 @@
84610021 0
84610022 0
84610023 0
84610024 0
84610025 0
84610026 0
84610027 0
......@@ -1416,6 +1475,7 @@
88100007 0
88100008 0
88100009 0
88100010 0
88100011 0
88100012 0
88100013 0
......@@ -1472,6 +1532,15 @@
89410001 0
89412001 0
90351999 0
90700001 0
90700002 0
90700003 0
90700004 0
90700005 0
90700006 0
90700007 0
90700008 0
90700009 0
90700010 0
90700011 0
90700012 0
......@@ -1520,6 +1589,7 @@
90700057 0
90700058 0
90700059 0
90700060 0
90700061 0
90700062 0
90700063 0
......@@ -1529,15 +1599,18 @@
90700067 0
90700068 0
90700069 0
90700070 0
90700071 0
90700072 0
90700073 0
90700074 0
90700075 0
90700076 0
90700077 0
90700078 0
90700079 0
90700080 0
90700081 0
90700082 0
90700083 0
90700084 0
......@@ -1559,6 +1632,8 @@
91060009 0
91060011 0
91060013 0
91060015 0
91060017 0
92781608 0
94380880 0
95703000 0
......@@ -1584,6 +1659,7 @@
96071015 0
96071016 0
96071018 0
96071020 0
96071021 0
96071022 0
96071023 0
......@@ -1591,6 +1667,7 @@
96071026 0
96071027 0
96071029 0
96071031 0
96071032 0
96071033 0
96071035 0
......@@ -1763,11 +1840,15 @@
98941000 0
98941043 0
98941044 0
98941045 0
98941046 0
98941047 0
98941048 0
98941050 0
98941053 0
98941054 0
98941055 0
98942059 0
99550610 0
99700125 0
99700135 0
......@@ -1878,6 +1959,7 @@
125123082 0
127541563 0
129223325 0
130001000 0
130005101 0
130005102 0
130005103 0
......@@ -1922,6 +2004,7 @@
130006108 0
130006109 0
130006110 0
130006111 0
130006130 0
130006131 0
130918820 0
......@@ -2445,6 +2528,10 @@
60362066 0
74920585 0
77103950 1
#250126
10111161 1
11451915 1
11451901 2
#250112
40010934 0
98500000 0
......@@ -6332,7 +6419,7 @@
50223025 1
98920533 1
98920732 1
11451903 1
11451903 2
11451003 1
12899005 1
12899006 1
......
No preview for this file type
--苏生灵摆
local s,id,o=GetID()
local OriPConditionFilter = Auxiliary.PConditionFilter
function s.PConditionFilter(c,e,tp,lscale,rscale,eset)
if not Duel.IsPlayerAffectedByEffect(tp,id) then
return OriPConditionFilter(c,e,tp,lscale,rscale,eset)
end
local lv=0
if c.pendulum_level then
lv=c.pendulum_level
else
lv=c:GetLevel()
end
local bool=Auxiliary.PendulumSummonableBool(c)
return (c:IsLocation(LOCATION_HAND+LOCATION_GRAVE) or (c:IsFaceup() and c:IsType(TYPE_PENDULUM)))
and lv>lscale and lv<rscale and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_PENDULUM,tp,bool,bool)
and not c:IsForbidden()
and (aux.PendulumChecklist&(0x1<<tp)==0 or aux.PConditionExtraFilter(c,e,tp,lscale,rscale,eset))
end
Auxiliary.PConditionFilter = s.PConditionFilter
local OriPendCondition = Auxiliary.PendCondition
function s.PendCondition(e,c,og)
--Debug.Message("in my con")
if c==nil then return true end
local tp=c:GetControler()
if not Duel.IsPlayerAffectedByEffect(tp,id) then
return false
end
local eset={Duel.IsPlayerAffectedByEffect(tp,EFFECT_EXTRA_PENDULUM_SUMMON)}
if aux.PendulumChecklist&(0x1<<tp)~=0 and #eset==0 then return false end
local rpz=Duel.GetFieldCard(tp,LOCATION_PZONE,1)
if rpz==nil or c==rpz then return false end
local lscale=c:GetLeftScale()
local rscale=rpz:GetRightScale()
if lscale>rscale then lscale,rscale=rscale,lscale end
local loc=0
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then loc=loc+LOCATION_HAND+LOCATION_GRAVE end
if Duel.GetLocationCountFromEx(tp,tp,nil,TYPE_PENDULUM)>0 then loc=loc+LOCATION_EXTRA end
if loc==0 then return false end
local g=nil
local graveg = Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_GRAVE,0,nil,TYPE_MONSTER)
if og then
og.Merge(graveg)
g=og:Filter(Card.IsLocation,nil,loc)
else
g=Duel.GetFieldGroup(tp,loc,0)
end
return g:IsExists(Auxiliary.PConditionFilter,1,nil,e,tp,lscale,rscale,eset)
end
Auxiliary.PendCondition = s.PendCondition
local OriPendOperation = Auxiliary.PendOperation
function s.PendOperation(e,tp,eg,ep,ev,re,r,rp,c,sg,og)
--Debug.Message("in my op")
if not Duel.IsPlayerAffectedByEffect(tp,id) then
return OriPendOperation(e,tp,eg,ep,ev,re,r,rp,c,sg,og)
end
local rpz=Duel.GetFieldCard(tp,LOCATION_PZONE,1)
local lscale=c:GetLeftScale()
local rscale=rpz:GetRightScale()
if lscale>rscale then lscale,rscale=rscale,lscale end
local eset={Duel.IsPlayerAffectedByEffect(tp,EFFECT_EXTRA_PENDULUM_SUMMON)}
local tg=nil
local loc=0
local ft1=Duel.GetLocationCount(tp,LOCATION_MZONE)
local ft2=Duel.GetLocationCountFromEx(tp,tp,nil,TYPE_PENDULUM)
local ft=Duel.GetUsableMZoneCount(tp)
local ect=c29724053 and Duel.IsPlayerAffectedByEffect(tp,29724053) and c29724053[tp]
if ect and ect<ft2 then ft2=ect end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then
if ft1>0 then ft1=1 end
if ft2>0 then ft2=1 end
ft=1
end
if ft1>0 then loc=loc|(LOCATION_HAND+LOCATION_GRAVE) end
if ft2>0 then loc=loc|LOCATION_EXTRA end
local graveg = Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_GRAVE,0,nil,TYPE_MONSTER)
if og then
og.Merge(graveg)
tg=og:Filter(Card.IsLocation,nil,loc):Filter(Auxiliary.PConditionFilter,nil,e,tp,lscale,rscale,eset)
else
tg=Duel.GetMatchingGroup(Auxiliary.PConditionFilter,tp,loc,0,nil,e,tp,lscale,rscale,eset)
end
local ce=nil
local b1=aux.PendulumChecklist&(0x1<<tp)==0
local b2=#eset>0
if b1 and b2 then
local options={1163}
for _,te in ipairs(eset) do
table.insert(options,te:GetDescription())
end
local op=Duel.SelectOption(tp,table.unpack(options))
if op>0 then
ce=eset[op]
end
elseif b2 and not b1 then
local options={}
for _,te in ipairs(eset) do
table.insert(options,te:GetDescription())
end
local op=Duel.SelectOption(tp,table.unpack(options))
ce=eset[op+1]
end
if ce then
tg=tg:Filter(aux.PConditionExtraFilterSpecific,nil,e,tp,lscale,rscale,ce)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
aux.GCheckAdditional=Auxiliary.PendOperationCheck(ft1,ft2,ft)
local g=tg:SelectSubGroup(tp,Auxiliary.TRUE,true,1,math.min(#tg,ft))
aux.GCheckAdditional=nil
if not g then return end
if ce then
Duel.Hint(HINT_CARD,0,ce:GetOwner():GetOriginalCode())
ce:UseCountLimit(tp)
else
aux.PendulumChecklist=aux.PendulumChecklist|(0x1<<tp)
end
sg:Merge(g)
Duel.HintSelection(Group.FromCards(c))
Duel.HintSelection(Group.FromCards(rpz))
end
Auxiliary.PendOperation = s.PendOperation
--Debug.Message("pre")
function s.initial_effect(c)
if c:GetOriginalCode()==id then
--adjust
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e0:SetCode(EVENT_ADJUST)
e0:SetRange(0xff)
e0:SetOperation(s.adjustop)
c:RegisterEffect(e0)
end
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--change effect type
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(id)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(1,0)
c:RegisterEffect(e2)
end
function s.filter(c)
return c:IsType(TYPE_PENDULUM)
end
function s.adjustop(e,tp,eg,ep,ev,re,r,rp)
--
if not s.globle_check then
s.globle_check=true
local g=Duel.GetMatchingGroup(s.filter,0,0xff,0xff,nil)
for tc in aux.Next(g) do
local e1=Effect.CreateEffect(tc)
e1:SetDescription(aux.Stringid(id,0))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC_G)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_PZONE)
e1:SetCondition(Auxiliary.PendCondition)
e1:SetOperation(Auxiliary.PendOperation)
e1:SetValue(SUMMON_TYPE_PENDULUM)
tc:RegisterEffect(e1)
Duel.CreateToken(0,tc:GetOriginalCode())
--Debug.Message(tc:GetOriginalCode())
end
end
end
\ No newline at end of file
......@@ -10,16 +10,17 @@ function c24501019.initial_effect(c)
e1:SetTarget(c24501019.target)
e1:SetOperation(c24501019.activate)
c:RegisterEffect(e1)
--immune
--destroy
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
--e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,24501020)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c24501019.imtg)
e2:SetOperation(c24501019.imop)
e2:SetTarget(c24501019.destg)
e2:SetOperation(c24501019.desop)
c:RegisterEffect(e2)
end
function c24501019.chkfilter(c)
......@@ -43,26 +44,26 @@ function c24501019.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
end
end
function c24501019.cfilter(c)
return c:IsSetCard(0x501) and c:IsFaceup()
function c24501019.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD+LOCATION_HAND)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CARDTYPE)
local op=Duel.AnnounceType(tp)
e:SetLabel(op)
end
function c24501019.imtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c24501019.cfilter(chck) end
if chk==0 then return Duel.IsExistingTarget(c24501019.cfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c24501019.cfilter,tp,LOCATION_MZONE,0,1,1,nil)
end
function c24501019.imop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(c24501019.efilter)
tc:RegisterEffect(e1)
function c24501019.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD+LOCATION_HAND)
if #g==0 then return end
Duel.ConfirmCards(tp,g)
local dg=g:Clone()
if e:GetLabel()==0 then
dg=g:Filter(Card.IsType,nil,TYPE_MONSTER)
elseif e:GetLabel()==1 then
dg=g:Filter(Card.IsType,nil,TYPE_SPELL)
else
dg=g:Filter(Card.IsType,nil,TYPE_TRAP)
end
if #dg==0 then return end
Duel.Destroy(dg,REASON_EFFECT)
end
function c24501019.efilter(e,te)
return not te:GetOwner():IsSetCard(0x501)
......
......@@ -29,15 +29,7 @@ function c24501021.counterfilter(re,tp,cid)
end
function c24501021.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
if chk==0 then return Duel.GetCustomActivityCount(24501021,tp,ACTIVITY_CHAIN)==0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetValue(c24501021.aclimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
if chk==0 then return true end
end
function c24501021.aclimit(e,re,tp)
return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsRace(RACE_MACHINE)
......@@ -82,12 +74,13 @@ function c24501021.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function c24501021.activate1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCountFromEx(tp)<=0 then return end
if Duel.GetLocationCountFromEx(tp,tp,nil,TYPE_SYNCHRO)<=0 then return end
local lv=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sc=Duel.SelectMatchingCard(tp,c24501021.synfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,nil,lv):GetFirst()
if sc then
Duel.SpecialSummon(sc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)
sc:CompleteProcedure()
end
end
function c24501021.activate2(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -59,7 +59,7 @@ end
function c24501025.effectfilter(e,ct)
local p=e:GetHandler():GetControler()
local te,tp,loc=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TRIGGERING_LOCATION)
return p==tp and te:GetHandler():IsSetCard(0x501) and bit.band(loc,LOCATION_ONFIELD)~=0
return p==tp and te:GetHandler():IsSetCard(0x501)-- and bit.band(loc,LOCATION_ONFIELD)~=0
end
--3
function c24501025.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
......
--浮华若梦·浮光掠影
function c65860000.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,65860000+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c65860000.cost)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1)
e2:SetCost(c65860000.cost1)
e2:SetOperation(c65860000.operation)
c:RegisterEffect(e2)
end
function c65860000.costfilter(c)
return c:IsSetCard(0xa36) and c:IsAbleToHandAsCost()
end
function c65860000.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(c65860000.costfilter,tp,LOCATION_DECK,0,nil)
if chk==0 then return #g>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
sg=g:Select(tp,1,1,nil)
if #sg>0 then
Duel.SendtoHand(sg,nil,REASON_COST)
Duel.ConfirmCards(1-tp,sg)
end
end
function c65860000.filter(c)
return c:IsSetCard(0xa36) and c:IsType(TYPE_MONSTER) and Duel.IsPlayerCanRelease(c:GetControler())
end
function c65860000.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c65860000.filter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c65860000.filter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,nil)
Duel.ReleaseRitualMaterial(g)
end
function c65860000.iumfilter(c)
return c:IsFaceupEx() and c:IsSetCard(0xa36)
end
function c65860000.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g1=Duel.GetMatchingGroup(c65860000.iumfilter,tp,LOCATION_ONFIELD,0,nil)
if g1:GetCount()>0 then
Duel.BreakEffect()
local nc=g1:GetFirst()
while nc do
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,2)
e3:SetValue(c65860000.efilter)
e3:SetOwnerPlayer(tp)
nc:RegisterEffect(e3)
nc=g1:GetNext()
end
end
end
function c65860000.efilter(e,re,te)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer() and re:IsActiveType(TYPE_SPELL+TYPE_TRAP)
end
\ No newline at end of file
--浮华若梦·绮梦绮罗
function c65860005.initial_effect(c)
c:SetSPSummonOnce(65860005)
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(65860005,0))
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_LIMIT_SUMMON_PROC)
e0:SetCondition(c65860005.ttcon)
e0:SetOperation(c65860005.ttop)
c:RegisterEffect(e0)
--spsummon cost
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(65860005,0))
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_SPSUMMON_COST)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED)
e5:SetCost(c65860005.spcost)
e5:SetOperation(c65860005.spcop)
c:RegisterEffect(e5)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(65860005,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetTarget(c65860005.target)
e1:SetOperation(c65860005.operation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetCode(EVENT_REMOVE)
c:RegisterEffect(e2)
end
function c65860005.ttcon(e,c,minc)
if c==nil then return true end
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(Card.IsCanTurnSet,e:GetHandlerPlayer(),LOCATION_MZONE,LOCATION_MZONE,1,nil)
end
function c65860005.ttop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),Card.IsCanTurnSet,e:GetHandlerPlayer(),LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
if #g>0 then
Duel.ChangePosition(g,POS_FACEDOWN_DEFENSE)
end
end
function c65860005.spcost(e,c,tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(Card.IsCanTurnSet,e:GetHandlerPlayer(),LOCATION_MZONE,LOCATION_MZONE,1,nil)
end
function c65860005.spcop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),Card.IsCanTurnSet,e:GetHandlerPlayer(),LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
if #g>0 then
Duel.ChangePosition(g,POS_FACEDOWN_DEFENSE)
end
end
function c65860005.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c65860005.spfilter(c,e,tp)
return (not c:IsSetCard(0xa36) or c:IsFacedown()) and c:IsAbleToDeck()
end
function c65860005.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) then
local g=Duel.GetMatchingGroup(c65860005.spfilter,tp,LOCATION_ONFIELD,0,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:Select(tp,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_RULE)
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(c65860005.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function c65860005.splimit(e,c)
return not c:IsSetCard(0xa36) and c:IsLocation(LOCATION_EXTRA)
end
\ No newline at end of file
--浮华若梦·绮梦绮华
function c65860010.initial_effect(c)
c:SetSPSummonOnce(65860010)
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(65860010,0))
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_LIMIT_SUMMON_PROC)
e0:SetCondition(c65860010.ttcon)
e0:SetOperation(c65860010.ttop)
c:RegisterEffect(e0)
--spsummon cost
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(65860010,0))
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_SPSUMMON_COST)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED)
e5:SetCost(c65860010.spcost)
e5:SetOperation(c65860010.spcop)
c:RegisterEffect(e5)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(65860010,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetTarget(c65860010.target)
e1:SetOperation(c65860010.operation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetCode(EVENT_REMOVE)
c:RegisterEffect(e2)
end
function c65860010.ttcon(e,c,minc)
if c==nil then return true end
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(Card.IsAbleToHandAsCost,e:GetHandlerPlayer(),LOCATION_SZONE,LOCATION_SZONE,1,nil)
end
function c65860010.ttop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),Card.IsAbleToHandAsCost,e:GetHandlerPlayer(),LOCATION_SZONE,LOCATION_SZONE,1,1,nil)
if #g>0 then
Duel.SendtoHand(g,nil,REASON_COST)
end
end
function c65860010.spcost(e,c,tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(Card.IsAbleToHandAsCost,e:GetHandlerPlayer(),LOCATION_SZONE,LOCATION_SZONE,1,nil)
end
function c65860010.spcop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),Card.IsAbleToHandAsCost,e:GetHandlerPlayer(),LOCATION_SZONE,LOCATION_SZONE,1,1,nil)
if #g>0 then
Duel.SendtoHand(g,nil,REASON_COST)
end
end
function c65860010.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c65860010.spfilter(c,e,tp)
return (not c:IsSetCard(0xa36) or c:IsFacedown()) and c:IsAbleToDeck()
end
function c65860010.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) then
local g=Duel.GetMatchingGroup(c65860010.spfilter,tp,LOCATION_ONFIELD,0,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:Select(tp,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_RULE)
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(c65860010.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function c65860010.splimit(e,c)
return not c:IsSetCard(0xa36) and c:IsLocation(LOCATION_EXTRA)
end
\ No newline at end of file
--浮华若梦·绮梦绮音
function c65860015.initial_effect(c)
c:SetSPSummonOnce(65860015)
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(65860015,0))
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_LIMIT_SUMMON_PROC)
e0:SetCondition(c65860015.ttcon)
e0:SetOperation(c65860015.ttop)
c:RegisterEffect(e0)
--spsummon cost
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(65860015,0))
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_SPSUMMON_COST)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED)
e5:SetCost(c65860015.spcost)
e5:SetOperation(c65860015.spcop)
c:RegisterEffect(e5)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(65860015,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetTarget(c65860015.target)
e1:SetOperation(c65860015.operation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetCode(EVENT_REMOVE)
c:RegisterEffect(e2)
end
function c65860015.filter1(c,e,tp)
return c:IsSetCard(0xa36) and c:IsAbleToGraveAsCost()
end
function c65860015.ttcon(e,c,minc)
if c==nil then return true end
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c65860015.filter1,e:GetHandlerPlayer(),LOCATION_DECK,0,1,e:GetHandler())
end
function c65860015.ttop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),c65860015.filter1,e:GetHandlerPlayer(),LOCATION_DECK,0,1,1,e:GetHandler())
if #g>0 then
Duel.SendtoGrave(g,REASON_COST)
end
end
function c65860015.spcost(e,c,tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c65860015.filter1,e:GetHandlerPlayer(),LOCATION_DECK,0,1,e:GetHandler())
end
function c65860015.spcop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),c65860015.filter1,e:GetHandlerPlayer(),LOCATION_DECK,0,1,1,e:GetHandler())
if #g>0 then
Duel.SendtoGrave(g,REASON_COST)
end
end
function c65860015.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c65860015.spfilter(c,e,tp)
return (not c:IsSetCard(0xa36) or c:IsFacedown()) and c:IsAbleToDeck()
end
function c65860015.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) then
local g=Duel.GetMatchingGroup(c65860015.spfilter,tp,LOCATION_ONFIELD,0,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:Select(tp,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_RULE)
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(c65860015.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function c65860015.splimit(e,c)
return not c:IsSetCard(0xa36) and c:IsLocation(LOCATION_EXTRA)
end
\ No newline at end of file
--浮华若梦·绮梦绮影
function c65860020.initial_effect(c)
c:SetSPSummonOnce(65860020)
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(65860020,0))
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_LIMIT_SUMMON_PROC)
e0:SetCondition(c65860020.ttcon)
e0:SetOperation(c65860020.ttop)
c:RegisterEffect(e0)
--spsummon cost
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(65860020,0))
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_SPSUMMON_COST)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED)
e5:SetCost(c65860020.spcost)
e5:SetOperation(c65860020.spcop)
c:RegisterEffect(e5)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(65860020,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetTarget(c65860020.target)
e1:SetOperation(c65860020.operation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetCode(EVENT_REMOVE)
c:RegisterEffect(e2)
end
function c65860020.filter1(c,e,tp)
return c:IsSetCard(0xa36) and c:IsAbleToRemoveAsCost() and aux.NecroValleyFilter()
end
function c65860020.ttcon(e,c,minc)
if c==nil then return true end
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c65860020.filter1,e:GetHandlerPlayer(),LOCATION_DECK+LOCATION_GRAVE,0,1,e:GetHandler())
end
function c65860020.ttop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),c65860020.filter1,e:GetHandlerPlayer(),LOCATION_DECK+LOCATION_GRAVE,0,1,1,e:GetHandler())
if #g>0 then
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
end
function c65860020.spcost(e,c,tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c65860020.filter1,e:GetHandlerPlayer(),LOCATION_DECK+LOCATION_GRAVE,0,1,e:GetHandler())
end
function c65860020.spcop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),c65860020.filter1,e:GetHandlerPlayer(),LOCATION_DECK+LOCATION_GRAVE,0,1,1,e:GetHandler())
if #g>0 then
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
end
function c65860020.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c65860020.spfilter(c,e,tp)
return (not c:IsSetCard(0xa36) or c:IsFacedown()) and c:IsAbleToDeck()
end
function c65860020.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) then
local g=Duel.GetMatchingGroup(c65860020.spfilter,tp,LOCATION_ONFIELD,0,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:Select(tp,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_RULE)
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(c65860020.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function c65860020.splimit(e,c)
return not c:IsSetCard(0xa36) and c:IsLocation(LOCATION_EXTRA)
end
\ No newline at end of file
--浮华若梦·绮梦绮灵
function c65860025.initial_effect(c)
c:SetSPSummonOnce(65860025)
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(65860025,0))
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_LIMIT_SUMMON_PROC)
e0:SetCondition(c65860025.ttcon)
e0:SetOperation(c65860025.ttop)
c:RegisterEffect(e0)
--spsummon cost
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(65860025,0))
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_SPSUMMON_COST)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED)
e5:SetCost(c65860025.spcost)
e5:SetOperation(c65860025.spcop)
c:RegisterEffect(e5)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(65860025,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetTarget(c65860025.target)
e1:SetOperation(c65860025.operation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetCode(EVENT_REMOVE)
c:RegisterEffect(e2)
end
function c65860025.ttcon(e,c,minc)
if c==nil then return true end
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(Card.IsAbleToRemoveAsCost,e:GetHandlerPlayer(),LOCATION_GRAVE,LOCATION_GRAVE,3,e:GetHandler())
end
function c65860025.ttop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),Card.IsAbleToRemoveAsCost,e:GetHandlerPlayer(),LOCATION_GRAVE,LOCATION_GRAVE,3,3,e:GetHandler())
if #g>0 then
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
end
function c65860025.spcost(e,c,tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(Card.IsAbleToRemoveAsCost,e:GetHandlerPlayer(),LOCATION_GRAVE,LOCATION_GRAVE,3,e:GetHandler())
end
function c65860025.spcop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),Card.IsAbleToRemoveAsCost,e:GetHandlerPlayer(),LOCATION_GRAVE,LOCATION_GRAVE,3,3,e:GetHandler())
if #g>0 then
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
end
function c65860025.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c65860025.spfilter(c,e,tp)
return (not c:IsSetCard(0xa36) or c:IsFacedown()) and c:IsAbleToDeck()
end
function c65860025.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) then
local g=Duel.GetMatchingGroup(c65860025.spfilter,tp,LOCATION_ONFIELD,0,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:Select(tp,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_RULE)
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(c65860025.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function c65860025.splimit(e,c)
return not c:IsSetCard(0xa36) and c:IsLocation(LOCATION_EXTRA)
end
\ No newline at end of file
--浮华若梦·绮梦绮光
function c65860030.initial_effect(c)
c:SetSPSummonOnce(65860030)
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(65860030,0))
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_LIMIT_SUMMON_PROC)
e0:SetCondition(c65860030.ttcon)
e0:SetOperation(c65860030.ttop)
c:RegisterEffect(e0)
--spsummon cost
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(65860030,0))
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_SPSUMMON_COST)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED)
e5:SetCost(c65860030.spcost)
e5:SetOperation(c65860030.spcop)
c:RegisterEffect(e5)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(65860030,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetTarget(c65860030.target)
e1:SetOperation(c65860030.operation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetCode(EVENT_REMOVE)
c:RegisterEffect(e2)
end
function c65860030.filter1(c,e,tp)
return aux.NecroValleyFilter() and c:IsAbleToDeckOrExtraAsCost()
end
function c65860030.ttcon(e,c,minc)
if c==nil then return true end
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c65860030.filter1,e:GetHandlerPlayer(),LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_GRAVE+LOCATION_REMOVED,3,e:GetHandler())
end
function c65860030.ttop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),c65860030.filter1,e:GetHandlerPlayer(),LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_GRAVE+LOCATION_REMOVED,3,3,e:GetHandler())
if #g>0 then
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end
end
function c65860030.spcost(e,c,tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c65860030.filter1,e:GetHandlerPlayer(),LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_GRAVE+LOCATION_REMOVED,3,e:GetHandler())
end
function c65860030.spcop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),c65860030.filter1,e:GetHandlerPlayer(),LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_GRAVE+LOCATION_REMOVED,3,3,e:GetHandler())
if #g>0 then
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end
end
function c65860030.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c65860030.spfilter(c,e,tp)
return (not c:IsSetCard(0xa36) or c:IsFacedown()) and c:IsAbleToDeck()
end
function c65860030.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) then
local g=Duel.GetMatchingGroup(c65860030.spfilter,tp,LOCATION_ONFIELD,0,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:Select(tp,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_RULE)
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(c65860030.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function c65860030.splimit(e,c)
return not c:IsSetCard(0xa36) and c:IsLocation(LOCATION_EXTRA)
end
\ No newline at end of file
--浮华若梦·绮梦绮梦
function c65860035.initial_effect(c)
c:SetSPSummonOnce(65860035)
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(65860035,0))
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_LIMIT_SUMMON_PROC)
e0:SetCondition(c65860035.ttcon)
e0:SetOperation(c65860035.ttop)
c:RegisterEffect(e0)
--spsummon cost
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(65860035,0))
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_SPSUMMON_COST)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED)
e5:SetCost(c65860035.spcost)
e5:SetOperation(c65860035.spcop)
c:RegisterEffect(e5)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(65860035,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetTarget(c65860035.target)
e1:SetOperation(c65860035.operation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetCode(EVENT_REMOVE)
c:RegisterEffect(e2)
end
function c65860035.filter1(c,e,tp)
return c:IsSetCard(0xa36) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and not c:IsCode(65860035)
end
function c65860035.ttcon(e,c,minc)
if c==nil then return true end
return Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and Duel.IsExistingMatchingCard(c65860035.filter1,e:GetHandlerPlayer(),LOCATION_HAND+LOCATION_DECK,0,1,e:GetHandler(),e,tp)
end
function c65860035.ttop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),c65860035.filter1,e:GetHandlerPlayer(),LOCATION_HAND+LOCATION_DECK,0,1,1,e:GetHandler(),e,tp)
if #g>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function c65860035.spcost(e,c,tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and Duel.IsExistingMatchingCard(c65860035.filter1,e:GetHandlerPlayer(),LOCATION_HAND+LOCATION_DECK,0,1,e:GetHandler(),e,tp)
end
function c65860035.spcop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),c65860035.filter1,e:GetHandlerPlayer(),LOCATION_HAND+LOCATION_DECK,0,1,1,e:GetHandler(),e,tp)
if #g>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function c65860035.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c65860035.spfilter(c,e,tp)
return (not c:IsSetCard(0xa36) or c:IsFacedown()) and c:IsAbleToDeck()
end
function c65860035.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) then
local g=Duel.GetMatchingGroup(c65860035.spfilter,tp,LOCATION_ONFIELD,0,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:Select(tp,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_RULE)
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(c65860035.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function c65860035.splimit(e,c)
return not c:IsSetCard(0xa36) and c:IsLocation(LOCATION_EXTRA)
end
\ No newline at end of file
--浮华若梦·绮梦幻影
function c65860040.initial_effect(c)
c:SetSPSummonOnce(65860040)
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(65860040,0))
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_LIMIT_SUMMON_PROC)
e0:SetCondition(c65860040.ttcon)
e0:SetOperation(c65860040.ttop)
c:RegisterEffect(e0)
--spsummon cost
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(65860040,0))
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_SPSUMMON_COST)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED)
e5:SetCost(c65860040.spcost)
e5:SetOperation(c65860040.spcop)
c:RegisterEffect(e5)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(65860040,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetTarget(c65860040.target)
e1:SetOperation(c65860040.operation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetCode(EVENT_REMOVE)
c:RegisterEffect(e2)
end
function c65860040.filter1(c)
return c:IsSetCard(0xa36) and c:IsAbleToHandAsCost() and aux.NecroValleyFilter()
end
function c65860040.ttcon(e,c,minc)
if c==nil then return true end
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c65860040.filter1,e:GetHandlerPlayer(),LOCATION_GRAVE+LOCATION_REMOVED,0,1,e:GetHandler())
end
function c65860040.ttop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),c65860040.filter1,e:GetHandlerPlayer(),LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,e:GetHandler())
if #g>0 then
Duel.SendtoHand(g,nil,REASON_COST)
Duel.ConfirmCards(1-tp,g)
end
end
function c65860040.spcost(e,c,tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c65860040.filter1,e:GetHandlerPlayer(),LOCATION_GRAVE+LOCATION_REMOVED,0,1,e:GetHandler())
end
function c65860040.spcop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),c65860040.filter1,e:GetHandlerPlayer(),LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,e:GetHandler())
if #g>0 then
Duel.SendtoHand(g,nil,REASON_COST)
Duel.ConfirmCards(1-tp,g)
end
end
function c65860040.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c65860040.spfilter(c,e,tp)
return (not c:IsSetCard(0xa36) or c:IsFacedown()) and c:IsAbleToDeck()
end
function c65860040.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) then
local g=Duel.GetMatchingGroup(c65860040.spfilter,tp,LOCATION_ONFIELD,0,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:Select(tp,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_RULE)
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(c65860040.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function c65860040.splimit(e,c)
return not c:IsSetCard(0xa36) and c:IsLocation(LOCATION_EXTRA)
end
\ No newline at end of file
--浮华若梦·绮梦挥光
function c65860045.initial_effect(c)
--超量
c:EnableReviveLimit()
aux.AddXyzProcedure(c,nil,4,2,nil,nil,99)
--炸卡
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(65860045,0))
e3:SetCategory(CATEGORY_TODECK)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,65860045)
e3:SetCondition(c65860045.descon)
e3:SetCost(c65860045.descost)
e3:SetTarget(c65860045.destg)
e3:SetOperation(c65860045.desop)
c:RegisterEffect(e3)
end
function c65860045.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsSetCard,1,nil,0xa36)
end
function c65860045.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
if #g>0 then
Duel.Destroy(g,REASON_COST)
end
end
function c65860045.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,0,1,REASON_EFFECT) end
end
function c65860045.spfilter(c,e,tp)
return (not c:IsSetCard(0xa36) or c:IsFacedown()) and c:IsAbleToDeck()
end
function c65860045.desop(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
local g=Duel.GetMatchingGroup(c65860045.spfilter,tp,LOCATION_ONFIELD,0,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:Select(tp,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_RULE)
end
end
end
\ No newline at end of file
--浮华若梦·绮梦绮夜
function c65860050.initial_effect(c)
c:EnableReviveLimit()
--material
aux.AddFusionProcFunFun(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa36),aux.FilterBoolFunction(Card.IsFusionType,TYPE_MONSTER),1,true)
aux.AddContactFusionProcedure(c,c65860050.ffilter,LOCATION_MZONE+LOCATION_HAND,0,Duel.Release,REASON_SPSUMMON):SetCountLimit(1,65860050)
--spsummon cost
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(65860050,0))
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_SPSUMMON_COST)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_EXTRA)
e5:SetCost(c65860050.spcost)
e5:SetOperation(c65860050.spcop)
c:RegisterEffect(e5)
--spsummon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(65860050,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetCountLimit(1,65860050)
e3:SetTarget(c65860050.target)
e3:SetOperation(c65860050.operation)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetCode(EVENT_REMOVE)
c:RegisterEffect(e4)
end
function c65860050.ffilter(c,fc,sub,mg,sg)
return c:IsSetCard(0xa36) and Duel.IsPlayerCanRelease(c:GetControler()) and c:IsType(TYPE_MONSTER)
end
function c65860050.filter(c,fc,sub,mg,sg)
return (Duel.GetLocationCountFromEx(tp,tp,c)>0 or Duel.GetMZoneCount(tp,c)>0) and c:IsAbleToDeckOrExtraAsCost()
end
function c65860050.spcost(e,c,tp)
return Duel.IsExistingMatchingCard(c65860050.filter,e:GetHandlerPlayer(),LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler(),tp)
end
function c65860050.spcop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),c65860050.filter,e:GetHandlerPlayer(),LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler(),tp)
if #g>0 then
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end
end
function c65860050.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c65860050.spfilter1(c,e,tp)
return (not c:IsSetCard(0xa36) or c:IsFacedown()) and c:IsAbleToDeck()
end
function c65860050.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) then
local g=Duel.GetMatchingGroup(c65860050.spfilter1,tp,LOCATION_ONFIELD,0,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:Select(tp,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_RULE)
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(c65860050.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function c65860050.splimit(e,c)
return not c:IsSetCard(0xa36) and c:IsLocation(LOCATION_EXTRA)
end
\ No newline at end of file
--浮华若梦·绮梦绮月
function c65860055.initial_effect(c)
c:SetSPSummonOnce(65860055)
c:EnableReviveLimit()
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(c65860055.LinkCondition(c65860055.effectmonster,2,c:GetLink(),nil))
e0:SetTarget(c65860055.LinkTarget(c65860055.effectmonster,2,c:GetLink(),nil))
e0:SetOperation(c65860055.LinkOperation(c65860055.effectmonster,2,c:GetLink(),nil))
e0:SetValue(SUMMON_TYPE_LINK)
c:RegisterEffect(e0)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(65860055,1))
e2:SetCategory(CATEGORY_RECOVER)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,65860055)
e2:SetCost(c65860055.spcost)
e2:SetTarget(c65860055.sptg)
e2:SetOperation(c65860055.spop)
c:RegisterEffect(e2)
end
function c65860055.effectmonster(c)
return (c:IsFaceup() or c:IsLocation(LOCATION_DECK+LOCATION_HAND)) and c:IsCanBeLinkMaterial(nil) and c:IsLinkSetCard(0xa36)
end
function c65860055.LinkCondition(f,minct,maxct,gf)
return function(e,c,og,lmat,min,max)
if c==nil then return true end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
local minc=minct
local maxc=maxct
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
if minc>maxc then return false end
end
local tp=c:GetControler()
local mg=nil
if og then
mg=og:Filter(Auxiliary.LConditionFilter,nil,f,c,e)
else
mg=Auxiliary.GetLinkMaterials(tp,f,c,e)
local mg2=Duel.GetMatchingGroup(c65860055.effectmonster,tp,LOCATION_DECK+LOCATION_HAND,0,c)
if mg2:GetCount()>0 then
mg:Merge(mg2)
end
end
if lmat~=nil then
if not Auxiliary.LConditionFilter(lmat,f,c,e) then return false end
mg:AddCard(lmat)
end
return mg:CheckSubGroup(c65860055.LCheckGoal,minc,maxc,tp,c,gf,lmat)
end
end
function c65860055.location(c)
return not c:IsLocation(LOCATION_EXTRA)
end
function c65860055.lcfilter(c)
return not c:IsLinkSetCard(0xa36)
end
function c65860055.LCheckGoal(sg,tp,lc,gf,lmat)
local ug=sg:Filter(Card.IsLocation,nil,LOCATION_DECK+LOCATION_HAND)
return sg:CheckWithSumEqual(Auxiliary.GetLinkCount,lc:GetLink(),#sg,#sg)
and Duel.GetLocationCountFromEx(tp,tp,sg,lc)>0 and (not gf or gf(sg,lc,tp))
and not sg:IsExists(Auxiliary.LUncompatibilityFilter,1,nil,sg,lc,tp)
and (not lmat or sg:IsContains(lmat)) and ug:GetCount()<=1
end
function c65860055.LinkTarget(f,minct,maxct,gf)
return function(e,tp,eg,ep,ev,re,r,rp,chk,c,og,lmat,min,max)
local minc=minct
local maxc=maxct
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
if minc>maxc then return false end
end
local mg=nil
if og then
mg=og:Filter(Auxiliary.LConditionFilter,nil,f,c,e)
else
mg=Auxiliary.GetLinkMaterials(tp,f,c,e)
local mg2=Duel.GetMatchingGroup(c65860055.effectmonster,tp,LOCATION_DECK+LOCATION_HAND,0,c)
if mg2:GetCount()>0 then
mg:Merge(mg2)
end
end
if lmat~=nil then
if not Auxiliary.LConditionFilter(lmat,f,c,e) then return false end
mg:AddCard(lmat)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_LMATERIAL)
local cancel=Duel.IsSummonCancelable()
local sg=mg:SelectSubGroup(tp,c65860055.LCheckGoal,cancel,minc,maxc,tp,c,gf,lmat)
if sg then
sg:KeepAlive()
e:SetLabelObject(sg)
return true
else return false end
end
end
function c65860055.LinkOperation(f,minct,maxct,gf)
return function(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local g=e:GetLabelObject()
c:SetMaterial(g)
Auxiliary.LExtraMaterialCount(g,c,tp)
Duel.SendtoGrave(g,REASON_MATERIAL+REASON_LINK)
g:DeleteGroup()
end
end
function c65860055.filter1(c)
return c:IsSetCard(0xa36) and c:IsAbleToHandAsCost() and aux.NecroValleyFilter()
end
function c65860055.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c65860055.filter1,e:GetHandlerPlayer(),LOCATION_GRAVE+LOCATION_REMOVED,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),c65860055.filter1,e:GetHandlerPlayer(),LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,e:GetHandler())
if #g>0 then
Duel.SendtoHand(g,nil,REASON_COST)
Duel.ConfirmCards(1-tp,g)
end
end
function c65860055.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_RECOVER,0,0,tp,2000)
end
function c65860055.sumfilter(c)
return c:IsAbleToHand()
end
function c65860055.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.Recover(tp,2000,REASON_EFFECT) and Duel.IsExistingMatchingCard(c65860055.sumfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) then
Duel.BreakEffect()
Duel.ShuffleHand(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local sg=Duel.SelectMatchingCard(tp,c65860055.sumfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
if sg:GetCount()>0 then
Duel.Summon(tp,sg:GetFirst(),true,nil)
end
end
end
\ No newline at end of file
--浮华若梦·绮梦师
function c65860060.initial_effect(c)
--act in hand
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e0:SetCondition(c65860060.excondition)
e0:SetDescription(aux.Stringid(65860060,2))
c:RegisterEffect(e0)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_RELEASE+CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,65860060+EFFECT_COUNT_CODE_OATH)
e1:SetDescription(aux.Stringid(65860060,0))
e1:SetCost(c65860060.cost)
e1:SetTarget(c65860060.target1)
e1:SetOperation(c65860060.activate1)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_GRAVE_ACTION+CATEGORY_LEAVE_GRAVE+CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK+CATEGORY_FUSION_SUMMON)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,65860060+EFFECT_COUNT_CODE_OATH)
e2:SetDescription(aux.Stringid(65860060,1))
e2:SetCost(c65860060.cost)
e2:SetTarget(c65860060.target2)
e2:SetOperation(c65860060.activate2)
c:RegisterEffect(e2)
end
function c65860060.cfilter2(c)
return not c:IsSetCard(0xa36) or c:IsFacedown()
end
function c65860060.cfilter1(c)
return c:IsSetCard(0xa36)
end
function c65860060.excondition(e)
local tp=e:GetHandlerPlayer()
return not Duel.IsExistingMatchingCard(c65860060.cfilter2,tp,LOCATION_MZONE,0,1,nil) and Duel.IsExistingMatchingCard(c65860060.cfilter1,tp,LOCATION_MZONE,0,1,nil)
end
function c65860060.cfilter(c,att)
return c:IsFaceup() and c:IsAttribute(att)
end
function c65860060.dfilter2(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP)
end
function c65860060.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(aux.NegateAnyFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local g=Duel.SelectMatchingCard(tp,aux.NegateAnyFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,c)
if g:GetCount()>0 then
Duel.HintSelection(g)
local ttc=g:GetFirst()
if not ttc then return end
Duel.NegateRelatedChain(ttc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
ttc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
ttc:RegisterEffect(e2)
if ttc:IsType(TYPE_TRAPMONSTER) then
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
ttc:RegisterEffect(e3)
end
end
end
function c65860060.filter1(c,e)
return not c:IsImmuneToEffect(e) and aux.NecroValleyFilter()
end
function c65860060.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0xa36) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c65860060.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp)
local res=Duel.IsExistingMatchingCard(c65860060.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c65860060.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c65860060.activate1(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c65860060.filter1,nil,e)
local sg1=Duel.GetMatchingGroup(c65860060.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg2=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c65860060.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg2,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1)
Duel.Release(mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg2,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end
function c65860060.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp,LOCATION_GRAVE+LOCATION_REMOVED)
local res=Duel.IsExistingMatchingCard(c65860060.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c65860060.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c65860060.activate2(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp,LOCATION_GRAVE+LOCATION_REMOVED):Filter(c65860060.filter1,nil,e)
local sg1=Duel.GetMatchingGroup(c65860060.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg2=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c65860060.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg2,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1)
Duel.SendtoDeck(mat1,nil,2,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg2,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end
\ No newline at end of file
--浮华若梦·绮梦花使
function c65860065.initial_effect(c)
c:EnableReviveLimit()
--material
aux.AddFusionProcFunFun(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa36),aux.FilterBoolFunction(Card.IsFusionType,TYPE_MONSTER),1,true)
aux.AddContactFusionProcedure(c,c65860065.ffilter,LOCATION_MZONE+LOCATION_HAND,0,Duel.Release,REASON_SPSUMMON):SetCountLimit(1,65860065)
--spsummon cost
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(65860065,0))
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_SPSUMMON_COST)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_EXTRA)
e5:SetCost(c65860065.spcost)
e5:SetOperation(c65860065.spcop)
c:RegisterEffect(e5)
--spsummon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(65860065,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetCountLimit(1,65860065)
e3:SetTarget(c65860065.target)
e3:SetOperation(c65860065.operation)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetCode(EVENT_REMOVE)
c:RegisterEffect(e4)
end
function c65860065.ffilter(c,fc,sub,mg,sg)
return c:IsSetCard(0xa36) and Duel.IsPlayerCanRelease(c:GetControler()) and c:IsType(TYPE_MONSTER)
end
function c65860065.filter(c,fc,sub,mg,sg)
return c:IsFaceupEx() and c:IsAbleToHandAsCost() and aux.NecroValleyFilter()
end
function c65860065.spcost(e,c,tp)
return Duel.IsExistingMatchingCard(c65860065.filter,e:GetHandlerPlayer(),0,LOCATION_GRAVE+LOCATION_REMOVED,1,e:GetHandler(),tp)
end
function c65860065.spcop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(e:GetHandlerPlayer(),c65860065.filter,e:GetHandlerPlayer(),0,LOCATION_GRAVE+LOCATION_REMOVED,1,1,e:GetHandler(),tp)
if #g>0 then
Duel.SendtoHand(g,tp,REASON_COST)
Duel.ConfirmCards(1-tp,g)
end
end
function c65860065.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c65860065.spfilter1(c,e,tp)
return (not c:IsSetCard(0xa36) or c:IsFacedown()) and c:IsAbleToDeck()
end
function c65860065.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) then
local g=Duel.GetMatchingGroup(c65860065.spfilter1,tp,LOCATION_ONFIELD,0,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:Select(tp,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_RULE)
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(c65860065.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function c65860065.splimit(e,c)
return not c:IsSetCard(0xa36) and c:IsLocation(LOCATION_EXTRA)
end
\ No newline at end of file
--樱花落尽
function c65899925.initial_effect(c)
--act in hand
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e0:SetCondition(c65899925.excondition)
e0:SetDescription(aux.Stringid(65899925,1))
c:RegisterEffect(e0)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,65899925)
e1:SetTarget(c65899925.target)
e1:SetOperation(c65899925.operation)
c:RegisterEffect(e1)
--
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_GRAVE_ACTION+CATEGORY_TOHAND+CATEGORY_LEAVE_GRAVE+CATEGORY_REMOVE+CATEGORY_TOGRAVE+CATEGORY_RECOVER)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,65899925+1)
e3:SetCost(aux.bfgcost)
e3:SetTarget(c65899925.sptg)
e3:SetOperation(c65899925.spop)
c:RegisterEffect(e3)
end
function c65899925.cfilter(c)
return c:IsCode(71521025) and c:IsFaceup()
end
function c65899925.excondition(e)
local c=e:GetHandler()
return Duel.IsExistingMatchingCard(c65899925.cfilter,c:GetControler(),LOCATION_ONFIELD,0,1,nil) or Duel.GetFieldGroupCount(c:GetControler(),LOCATION_ONFIELD,0)==0
end
function c65899925.filter(c,e,tp)
return c:IsCode(71521025) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c65899925.setfilter(c,e,tp)
return c:IsCode(63086455,11110218,85698115) and c:IsSSetable() and c:IsFaceupEx() and not c:IsForbidden()
end
function c65899925.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c65899925.filter,tp,LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED)
end
function c65899925.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c65899925.filter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil,e,tp)
if g:GetCount()>0 then
if Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)>0 and Duel.IsExistingMatchingCard(c65899925.setfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(65899925,0)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c65899925.setfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if tc and Duel.SSet(tp,tc)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(65899925,1))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
end
end
end
end
function c65899925.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_RECOVER,0,0,tp,1000)
end
function c65899925.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.Recover(tp,1000,REASON_EFFECT) and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_REMOVED,0,1,nil) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToHand,tp,LOCATION_REMOVED,0,1,1,nil)
if sg:GetCount()>0 then
if Duel.SendtoHand(sg,nil,REASON_EFFECT)>0 and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_HAND,0,1,nil) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tg=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,LOCATION_HAND,0,1,1,nil)
if tg:GetCount()>0 then
if Duel.SendtoGrave(tg,REASON_EFFECT)>0 and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_GRAVE,0,1,nil) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
end
end
end
end
end
end
\ No newline at end of file
--世纪末编年史
--Hero
local table1={89943723,
9411399,
9411399,
9411399,
13650422,
13650422,
40044918,
40044918,
30583090,
115072031,
115072031,
115072031,
50720316,
50720316,
27780618,
16605586,
14558127,
14558127,
14558127,
23434538,
23434538,
97268402,
97268402,
3519195,
3519195,
8949584,
8949584,
8949584,
24094653,
45906428,
52947044,
52947044,
52947044,
81439173,
21143940,
21143940,
24224830,
24224830,
65681983,
10045474,
10045474,
10045474,
75047173,
32828466,
56733747,
29095552,
60461804,
40854197,
93347961,
58481572,
58481572,
89870349,
30757127,
1948619,
19324993,
29301450,
58004362,
58004362}
--雷火进化
local table2={80186010,
80186010,
80186010,
8633261,
8633261,
8633261,
17045014,
15171722,
15171722,
35844557,
35844557,
72238166,
54266211,
34022970,
14558127,
14558127,
14558127,
89776023,
89776023,
89776023,
23434538,
23434538,
88095331,
13046291,
5338223,
5338223,
7477101,
7477101,
7477101,
73628505,
88760522,
60394026,
10080420,
10080420,
10080420,
10045474,
10045474,
10045474,
74100225,
74100225,
74100225,
90448279,
9940036,
67630394,
35103106,
35103106,
34909328,
2061963,
7511613,
45852939,
74294676,
42752141,
42752141,
63746411,
85747929,
66011101}
--青蛙
local table3={55063751,
26400609,
10963799,
84192580,
84192580,
14558127,
14558127,
14558127,
13533678,
75922381,
76145933,
2311090,
9126351,
9126351,
9126351,
9396662,
88686573,
23434538,
23434538,
68353324,
68353324,
68353324,
112538374,
112538374,
112538374,
1357146,
46239604,
75500286,
81439173,
84211599,
15443125,
24224830,
24224830,
65681983,
43582229,
10045474,
10045474,
10045474,
40366667,
40366667,
40366667,
68250822,
9464441,
42566602,
90448279,
72167543,
90809975,
36776089,
54498517,
45112597,
4280258,
69385019,
79130389,
29301450,
72329844,
65741786,
60303245}
--蛇毒
local table4={22499463,
22499463,
97565997,
48806195,
62383431,
74426895,
9284723,
84900597,
36278828,
20295753,
52543404,
62405028,
62405028,
62405028,
36010310,
36010310,
36010310,
73899015,
14558127,
14558127,
14558127,
23434538,
23434538,
97268402,
97268402,
17189677,
24050692,
24050692,
24050692,
24224830,
24224830,
65681983,
78789356,
10045474,
10045474,
10045474,
39163598,
93217231,
93217231,
1683982,
85888377,
4058,
68319538,
70913714,
70913714,
11398059,
11398059,
98127546,
6908161,
1487805,
75352507,
74974229,
29301450,
1528054,
9763474,
8602351}
function c98942059.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e1:SetRange(LOCATION_EXTRA)
e1:SetOperation(c98942059.op)
e1:SetCountLimit(1)
c:RegisterEffect(e1)
end
function c98942059.selectdeck(random)
if random==1 then return table1
elseif random==2 then return table2
elseif random==3 then return table3
elseif random==4 then return table4
else return end
end
function c98942059.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetFlagEffect(0,98942058)>0 then return end
Duel.RegisterFlagEffect(0,98942058,0,0,1)
local c=e:GetHandler()
local tp=c:GetControler()
Duel.ConfirmCards(1-tp,c)
Duel.ConfirmCards(tp,c)
local g=Duel.GetFieldGroup(tp,0xff,0)
local ec=g:GetFirst()
while ec do
Duel.Exile(ec,0)
ec=g:GetNext()
end
local x=0
local rr=math.random(1,4)
local tableuse=c98942059.selectdeck(rr)
for _,id in pairs(tableuse) do
local token=Duel.CreateToken(tp,id)
Duel.SendtoDeck(token,nil,0,0)
end
Duel.BreakEffect()
Duel.ShuffleDeck(tp)
local ht1=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
if ht1<5 then
Duel.Draw(tp,5-ht1,0)
end
Duel.BreakEffect()
end
\ No newline at end of file
......@@ -1434,6 +1434,7 @@
!setname 0x3a12 复乐园
#???
!setname 0xa36 浮华若梦
#TYGOC Submissions
#Desruc_6872 987
......
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