Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-scripts
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
ygopro-scripts
Commits
31ba57b1
Commit
31ba57b1
authored
May 12, 2017
by
VanillaSalt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
1f0cee95
Changes
56
Hide whitespace changes
Inline
Side-by-side
Showing
56 changed files
with
325 additions
and
406 deletions
+325
-406
c10424147.lua
c10424147.lua
+5
-6
c11047543.lua
c11047543.lua
+7
-7
c11109820.lua
c11109820.lua
+10
-13
c11502550.lua
c11502550.lua
+20
-41
c12289247.lua
c12289247.lua
+33
-48
c1412158.lua
c1412158.lua
+2
-2
c14644902.lua
c14644902.lua
+4
-3
c15717011.lua
c15717011.lua
+3
-3
c16691074.lua
c16691074.lua
+2
-2
c1784686.lua
c1784686.lua
+3
-3
c18210764.lua
c18210764.lua
+2
-2
c18326736.lua
c18326736.lua
+2
-2
c19355597.lua
c19355597.lua
+4
-5
c20007374.lua
c20007374.lua
+2
-2
c20590784.lua
c20590784.lua
+5
-2
c2111707.lua
c2111707.lua
+22
-39
c21143940.lua
c21143940.lua
+3
-2
c22211622.lua
c22211622.lua
+6
-7
c23187256.lua
c23187256.lua
+2
-2
c23379054.lua
c23379054.lua
+8
-6
c23536866.lua
c23536866.lua
+2
-1
c23581825.lua
c23581825.lua
+2
-1
c23998625.lua
c23998625.lua
+2
-2
c24590232.lua
c24590232.lua
+1
-1
c25119460.lua
c25119460.lua
+22
-39
c25148255.lua
c25148255.lua
+3
-1
c26194151.lua
c26194151.lua
+2
-2
c27503418.lua
c27503418.lua
+1
-1
c27552504.lua
c27552504.lua
+2
-2
c28677304.lua
c28677304.lua
+20
-41
c29085954.lua
c29085954.lua
+3
-3
c29762407.lua
c29762407.lua
+10
-4
c3298689.lua
c3298689.lua
+4
-4
c33252803.lua
c33252803.lua
+3
-3
c33280639.lua
c33280639.lua
+10
-5
c34206604.lua
c34206604.lua
+2
-2
c35014241.lua
c35014241.lua
+3
-2
c35329581.lua
c35329581.lua
+2
-2
c35952884.lua
c35952884.lua
+1
-1
c36630403.lua
c36630403.lua
+2
-2
c36737092.lua
c36737092.lua
+3
-1
c39024589.lua
c39024589.lua
+11
-6
c41201386.lua
c41201386.lua
+3
-3
c43383478.lua
c43383478.lua
+2
-1
c43476205.lua
c43476205.lua
+5
-4
c440556.lua
c440556.lua
+3
-3
c458748.lua
c458748.lua
+3
-3
c45950291.lua
c45950291.lua
+3
-3
c46008667.lua
c46008667.lua
+3
-3
c46411259.lua
c46411259.lua
+3
-3
c4688231.lua
c4688231.lua
+10
-5
c47185546.lua
c47185546.lua
+3
-3
c47660516.lua
c47660516.lua
+4
-4
c47882565.lua
c47882565.lua
+3
-3
c48333324.lua
c48333324.lua
+4
-4
c48996569.lua
c48996569.lua
+20
-41
No files found.
c10424147.lua
View file @
31ba57b1
...
...
@@ -38,18 +38,17 @@ function c10424147.spfilter1(c,e,tp)
end
function
c10424147
.
spfilter2
(
c
,
e
,
tp
,
mc
,
att
)
return
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x20dc
)
and
c
:
IsAttribute
(
att
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
mc
,
c
)
>
0
end
function
c10424147
.
sptg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c10424147
.
spfilter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingTarget
(
c10424147
.
spfilter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c10424147
.
spfilter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c10424147
.
spfilter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c10424147
.
spop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
@@ -79,7 +78,7 @@ end
function
c10424147
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c10424147
.
spfilter3
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
,
e
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
and
Duel
.
IsExistingMatchingCard
(
c10424147
.
spfilter4
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
...
...
@@ -99,7 +98,7 @@ function c10424147.mtfilter(c,e)
return
c
:
IsRelateToEffect
(
e
)
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c10424147
.
spop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c10424147
.
spfilter4
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
sc
=
sg
:
GetFirst
()
...
...
c11047543.lua
View file @
31ba57b1
...
...
@@ -13,34 +13,34 @@ function c11047543.initial_effect(c)
end
function
c11047543
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_PSYCHO
)
and
c
:
IsType
(
TYPE_TUNER
)
and
Duel
.
IsExistingTarget
(
c11047543
.
filter2
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
,
e
,
tp
,
c
:
GetLevel
())
and
Duel
.
IsExistingTarget
(
c11047543
.
filter2
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
c
,
e
,
tp
,
c
,
c
:
GetLevel
())
end
function
c11047543
.
filter2
(
c
,
e
,
tp
,
lv
)
function
c11047543
.
filter2
(
c
,
e
,
tp
,
mc
,
lv
)
local
clv
=
c
:
GetLevel
()
return
clv
>
0
and
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_PSYCHO
)
and
not
c
:
IsType
(
TYPE_TUNER
)
and
Duel
.
IsExistingMatchingCard
(
c11047543
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
lv
+
clv
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
Group
.
FromCards
(
c
,
mc
))
>
0
end
function
c11047543
.
spfilter
(
c
,
e
,
tp
,
lv
)
return
c
:
IsRace
(
RACE_PSYCHO
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
GetLevel
()
==
lv
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
function
c11047543
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
false
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c11047543
.
filter1
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c11047543
.
filter1
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g1
=
Duel
.
SelectTarget
(
tp
,
c11047543
.
filter1
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g1
:
GetFirst
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g2
=
Duel
.
SelectTarget
(
tp
,
c11047543
.
filter2
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
1
,
nil
,
e
,
tp
,
g1
:
GetFirst
()
:
GetLevel
())
local
g2
=
Duel
.
SelectTarget
(
tp
,
c11047543
.
filter2
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetLevel
())
g1
:
Merge
(
g2
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g1
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c11047543
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
)
local
tc1
=
g
:
GetFirst
()
local
tc2
=
g
:
GetNext
()
if
not
tc1
:
IsRelateToEffect
(
e
)
or
not
tc2
:
IsRelateToEffect
(
e
)
then
return
end
if
not
(
tc1
and
tc2
and
tc1
:
IsRelateToEffect
(
e
)
and
tc2
:
IsRelateToEffect
(
e
)
)
then
return
end
local
sg
=
Duel
.
GetMatchingGroup
(
c11047543
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
tc1
:
GetLevel
()
+
tc2
:
GetLevel
())
if
sg
:
GetCount
()
==
0
then
return
end
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
+
REASON_RETURN
)
...
...
c11109820.lua
View file @
31ba57b1
...
...
@@ -11,15 +11,14 @@ function c11109820.initial_effect(c)
e1
:
SetOperation
(
c11109820
.
operation
)
c
:
RegisterEffect
(
e1
)
end
function
c11109820
.
filter1
(
c
,
e
,
tp
,
ft
)
if
c
:
IsControler
(
tp
)
then
ft
=
ft
+
1
end
function
c11109820
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
Duel
.
IsExistingTarget
(
c11109820
.
filter2
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
c
,
e
,
tp
,
c
:
GetRank
(),
ft
)
and
Duel
.
IsExistingTarget
(
c11109820
.
filter2
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
c
,
e
,
tp
,
c
,
c
:
GetRank
()
)
end
function
c11109820
.
filter2
(
c
,
e
,
tp
,
rk
,
ft
)
if
c
:
IsControler
(
tp
)
then
ft
=
ft
+
1
end
function
c11109820
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
ft
>
0
and
Duel
.
IsExistingMatchingCard
(
c11109820
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
rk
+
c
:
GetRank
())
and
Duel
.
IsExistingMatchingCard
(
c11109820
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
rk
+
c
:
GetRank
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
Group
.
FromCards
(
c
,
mc
))
>
0
end
function
c11109820
.
spfilter
(
c
,
e
,
tp
,
rk
)
local
crk
=
c
:
GetRank
()
...
...
@@ -27,15 +26,13 @@ function c11109820.spfilter(c,e,tp,rk)
end
function
c11109820
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
false
end
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
chk
==
0
then
return
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
Duel
.
IsExistingTarget
(
c11109820
.
filter1
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
,
e
,
tp
,
ft
)
end
and
Duel
.
IsExistingTarget
(
c11109820
.
filter1
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g1
=
Duel
.
SelectTarget
(
tp
,
c11109820
.
filter1
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
,
e
,
tp
,
ft
)
local
g1
=
Duel
.
SelectTarget
(
tp
,
c11109820
.
filter1
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g1
:
GetFirst
()
if
tc
:
IsControler
(
tp
)
then
ft
=
ft
+
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g2
=
Duel
.
SelectTarget
(
tp
,
c11109820
.
filter2
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
tc
,
e
,
tp
,
tc
:
GetRank
(),
ft
)
local
g2
=
Duel
.
SelectTarget
(
tp
,
c11109820
.
filter2
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
tc
,
e
,
tp
,
tc
,
tc
:
GetRank
()
)
g1
:
Merge
(
g2
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g1
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
...
@@ -59,10 +56,10 @@ function c11109820.operation(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
)
local
tc1
=
g
:
GetFirst
()
local
tc2
=
g
:
GetNext
()
if
not
tc1
:
IsRelateToEffect
(
e
)
or
not
tc2
:
IsRelateToEffect
(
e
)
then
return
end
if
not
(
tc1
and
tc2
and
tc1
:
IsRelateToEffect
(
e
)
and
tc2
:
IsRelateToEffect
(
e
)
)
then
return
end
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
local
og
=
Duel
.
GetOperatedGroup
()
if
og
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_GRAVE
)
<
2
or
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
og
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_GRAVE
)
<
2
then
return
end
local
sg
=
Duel
.
GetMatchingGroup
(
c11109820
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
tc1
:
GetRank
()
+
tc2
:
GetRank
())
if
sg
:
GetCount
()
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c11502550.lua
View file @
31ba57b1
...
...
@@ -49,57 +49,36 @@ c11502550.material_setcode=0x8
function
c11502550
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
end
function
c11502550
.
spfilter
(
c
,
code
)
return
c
:
IsAbleToDeckOrExtraAsCost
()
and
c
:
IsFusionCode
(
code
)
function
c11502550
.
matfilter
(
c
)
return
c
:
IsFusionCode
(
89943723
,
54959865
)
and
c
:
IsAbleToDeckOrExtraAsCost
()
end
function
c11502550
.
spfilter1
(
c
,
tp
,
g
)
return
g
:
IsExists
(
c11502550
.
spfilter2
,
1
,
c
,
tp
,
c
)
end
function
c11502550
.
spfilter2
(
c
,
tp
,
mc
)
return
(
c
:
IsFusionCode
(
89943723
)
and
mc
:
IsFusionCode
(
54959865
)
or
c
:
IsFusionCode
(
54959865
)
and
mc
:
IsFusionCode
(
89943723
))
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
Group
.
FromCards
(
c
,
mc
))
>
0
end
function
c11502550
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<-
1
then
return
false
end
local
g1
=
Duel
.
GetMatchingGroup
(
c11502550
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
)
local
g2
=
Duel
.
GetMatchingGroup
(
c11502550
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
54959865
)
if
g1
:
GetCount
()
==
0
or
g2
:
GetCount
()
==
0
then
return
false
end
if
g1
:
GetCount
()
==
1
and
g2
:
GetCount
()
==
1
and
g1
:
GetFirst
()
==
g2
:
GetFirst
()
then
return
false
end
if
ft
>
0
then
return
true
end
local
f1
=
g1
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
local
f2
=
g2
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
if
ft
==-
1
then
return
f1
>
0
and
f2
>
0
else
return
f1
>
0
or
f2
>
0
end
local
g
=
Duel
.
GetMatchingGroup
(
c11502550
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
return
g
:
IsExists
(
c11502550
.
spfilter1
,
1
,
nil
,
tp
,
g
)
end
function
c11502550
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g1
=
Duel
.
GetMatchingGroup
(
c11502550
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
)
local
g2
=
Duel
.
GetMatchingGroup
(
c11502550
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
54959865
)
local
g
=
Duel
.
GetMatchingGroup
(
c11502550
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g1
=
g
:
FilterSelect
(
tp
,
c11502550
.
spfilter1
,
1
,
1
,
nil
,
tp
,
g
)
local
mc
=
g1
:
GetFirst
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g2
=
g
:
FilterSelect
(
tp
,
c11502550
.
spfilter2
,
1
,
1
,
mc
,
tp
,
mc
)
g1
:
Merge
(
g2
)
local
g
=
Group
.
CreateGroup
()
local
tc
=
nil
for
i
=
1
,
2
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
if
ft
<=
0
then
tc
=
g1
:
FilterSelect
(
tp
,
Card
.
IsLocation
,
1
,
1
,
nil
,
LOCATION_MZONE
):
GetFirst
()
ft
=
ft
+
1
else
tc
=
g1
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
end
g
:
AddCard
(
tc
)
if
i
==
1
then
g1
:
Clear
()
if
tc
:
IsFusionCode
(
89943723
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c11502550
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
tc
,
54959865
)
g1
:
Merge
(
sg
)
end
if
tc
:
IsFusionCode
(
54959865
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c11502550
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
tc
,
89943723
)
g1
:
Merge
(
sg
)
end
end
end
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
local
cg
=
g1
:
Filter
(
Card
.
IsFacedown
,
nil
)
if
cg
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_COST
)
Duel
.
SendtoDeck
(
g
1
,
nil
,
2
,
REASON_COST
)
end
function
c11502550
.
retcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
e
:
GetHandler
():
IsHasEffect
(
42015635
)
...
...
c12289247.lua
View file @
31ba57b1
...
...
@@ -90,66 +90,51 @@ end
function
c12289247
.
cfilter
(
c
)
return
(
c
:
IsSetCard
(
0x10f2
)
or
c
:
IsSetCard
(
0x2073
)
or
c
:
IsSetCard
(
0x2017
)
or
c
:
IsSetCard
(
0x1046
))
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToRemoveAsCost
()
and
(
not
c
:
IsLocation
(
LOCATION_MZONE
)
or
c
:
IsFaceup
())
end
function
c12289247
.
fcheck
(
c
,
sg
,
g
,
code
,
...
)
if
not
c
:
IsSetCard
(
code
)
then
return
false
end
if
...
then
g
:
AddCard
(
c
)
local
res
=
sg
:
IsExists
(
c12289247
.
fcheck
,
1
,
g
,
sg
,
g
,
...
)
g
:
RemoveCard
(
c
)
return
res
else
return
true
end
end
function
c12289247
.
fselect
(
c
,
tp
,
mg
,
sg
,
mc
,
...
)
sg
:
AddCard
(
c
)
local
res
=
false
if
sg
:
GetCount
()
<
5
then
res
=
mg
:
IsExists
(
c12289247
.
fselect
,
1
,
sg
,
tp
,
mg
,
sg
,
mc
,
...
)
elseif
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
)
>
0
then
local
g
=
Group
.
FromCards
(
mc
)
res
=
sg
:
IsExists
(
c12289247
.
fcheck
,
1
,
g
,
sg
,
g
,
...
)
end
sg
:
RemoveCard
(
c
)
return
res
end
function
c12289247
.
cfilter1
(
c
,
g
,
ft
)
local
mg
=
g
:
Clone
()
mg
:
RemoveCard
(
c
)
if
c
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
return
c
:
IsSetCard
(
0x10f2
)
and
mg
:
IsExists
(
c12289247
.
cfilter2
,
1
,
nil
,
mg
,
ft
)
end
function
c12289247
.
cfilter2
(
c
,
g
,
ft
)
local
mg
=
g
:
Clone
()
mg
:
RemoveCard
(
c
)
if
c
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
return
c
:
IsSetCard
(
0x2073
)
and
mg
:
IsExists
(
c12289247
.
cfilter3
,
1
,
nil
,
mg
,
ft
)
end
function
c12289247
.
cfilter3
(
c
,
g
,
ft
)
local
mg
=
g
:
Clone
()
mg
:
RemoveCard
(
c
)
if
c
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
return
c
:
IsSetCard
(
0x2017
)
and
mg
:
IsExists
(
c12289247
.
cfilter4
,
1
,
nil
,
ft
)
end
function
c12289247
.
cfilter4
(
c
,
ft
)
if
c
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
return
c
:
IsSetCard
(
0x1046
)
and
ft
>
0
function
c12289247
.
hnfilter
(
c
,
e
,
tp
)
return
c
:
IsCode
(
13331639
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
end
function
c12289247
.
hncost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
mg
=
Duel
.
GetMatchingGroup
(
c12289247
.
cfilter
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
sg
=
Group
.
FromCards
(
c
)
if
chk
==
0
then
return
c
:
IsAbleToRemoveAsCost
()
and
mg
:
IsExists
(
c12289247
.
cfilter1
,
1
,
nil
,
mg
,
ft
+
1
)
end
local
g
=
Group
.
FromCards
(
c
)
ft
=
ft
+
1
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
rc1
=
mg
:
FilterSelect
(
tp
,
c12289247
.
cfilter1
,
1
,
1
,
nil
,
mg
,
ft
):
GetFirst
()
g
:
AddCard
(
rc1
)
mg
:
RemoveCard
(
rc1
)
if
rc1
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
rc2
=
mg
:
FilterSelect
(
tp
,
c12289247
.
cfilter2
,
1
,
1
,
nil
,
mg
,
ft
):
GetFirst
()
g
:
AddCard
(
rc2
)
mg
:
RemoveCard
(
rc2
)
if
rc2
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
rc3
=
mg
:
FilterSelect
(
tp
,
c12289247
.
cfilter3
,
1
,
1
,
nil
,
mg
,
ft
):
GetFirst
()
g
:
AddCard
(
rc3
)
mg
:
RemoveCard
(
rc3
)
if
rc3
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
rc4
=
mg
:
FilterSelect
(
tp
,
c12289247
.
cfilter4
,
1
,
1
,
nil
,
ft
):
GetFirst
()
g
:
AddCard
(
rc4
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
function
c12289247
.
hnfilter
(
c
,
e
,
tp
)
return
c
:
IsCode
(
13331639
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
mg
:
IsExists
(
c12289247
.
fselect
,
1
,
sg
,
tp
,
mg
,
sg
,
c
,
0x10f2
,
0x2073
,
0x2017
,
0x1046
)
end
while
sg
:
GetCount
()
<
5
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
mg
:
FilterSelect
(
tp
,
c12289247
.
fselect
,
1
,
1
,
sg
,
tp
,
mg
,
sg
,
c
,
0x10f2
,
0x2073
,
0x2017
,
0x1046
)
sg
:
Merge
(
g
)
end
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_COST
)
end
function
c12289247
.
hntg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c12289247
.
hnfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c12289247
.
hnop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c12289247
.
hnfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
...
...
c1412158.lua
View file @
31ba57b1
...
...
@@ -38,7 +38,7 @@ function c1412158.spfilter(c,e,tp)
return
c
:
IsCode
(
75923050
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c1412158
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
,
tp
,
e
:
GetHandler
())
>
0
and
e
:
GetHandler
():
IsAbleToExtra
()
and
Duel
.
IsExistingMatchingCard
(
c1412158
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
e
:
GetHandler
(),
1
,
0
,
0
)
...
...
@@ -46,7 +46,7 @@ function c1412158.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c1412158
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
,
tp
,
c
)
<=
0
then
return
end
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
and
Duel
.
SendtoDeck
(
c
,
nil
,
2
,
REASON_EFFECT
)
~=
0
then
local
tc
=
Duel
.
GetFirstMatchingCard
(
c1412158
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
)
if
tc
then
...
...
c14644902.lua
View file @
31ba57b1
...
...
@@ -13,16 +13,17 @@ function c14644902.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c14644902
.
rfilter
(
c
,
e
)
function
c14644902
.
rfilter
(
c
,
e
,
tp
)
return
c
:
IsReleasableByEffect
()
and
not
c
:
IsImmuneToEffect
(
e
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c14644902
.
filter
(
c
,
e
,
tp
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c14644902
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
rg
=
Duel
.
SelectReleaseGroup
(
tp
,
c14644902
.
rfilter
,
1
,
1
,
e
:
GetHandler
(),
e
)
if
Duel
.
Release
(
rg
,
REASON_EFFECT
)
>
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
local
rg
=
Duel
.
SelectReleaseGroup
(
tp
,
c14644902
.
rfilter
,
1
,
1
,
c
,
e
,
tp
)
if
Duel
.
Release
(
rg
,
REASON_EFFECT
)
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c14644902
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
sg
:
GetCount
()
>
0
then
...
...
c15717011.lua
View file @
31ba57b1
...
...
@@ -34,11 +34,11 @@ function c15717011.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
if
e
:
GetLabel
()
==
0
then
return
false
end
e
:
SetLabel
(
0
)
local
mg
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
mg
=
Duel
.
Get
FieldGroup
(
tp
,
LOCATION_MZONE
,
0
)
return
Duel
.
IsExistingMatchingCard
(
c15717011
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
c
)
end
e
:
SetLabel
(
0
)
local
mg
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
mg
=
Duel
.
Get
FieldGroup
(
tp
,
LOCATION_MZONE
,
0
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c15717011
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
mg
,
c
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
g
:
GetFirst
(),
mg
,
c
,
PLAYER_NONE
+
0x100
)
...
...
@@ -50,7 +50,7 @@ function c15717011.filter2(c,e,tp,code)
return
c
:
IsCode
(
code
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c15717011
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
local
code
=
e
:
GetLabelObject
():
GetCode
()
local
tc
=
Duel
.
GetFirstMatchingCard
(
c15717011
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
code
)
if
tc
then
...
...
c16691074.lua
View file @
31ba57b1
...
...
@@ -54,12 +54,12 @@ function c16691074.spfilter2(c,e,tp)
return
c
:
IsSetCard
(
0x99
)
and
not
c
:
IsCode
(
16691074
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c16691074
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c16691074
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c16691074
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c16691074
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
...
...
c1784686.lua
View file @
31ba57b1
...
...
@@ -21,21 +21,21 @@ end
function
c1784686
.
tgfilter
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x10a2
)
and
c
:
IsCanBeFusionMaterial
()
and
Duel
.
IsExistingMatchingCard
(
c1784686
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c1784686
.
spfilter
(
c
,
e
,
tp
,
code
)
return
aux
.
IsMaterialListCode
(
c
,
code
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
end
function
c1784686
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
==
0
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c1784686
.
tgfilter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingTarget
(
c1784686
.
tgfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c1784686
.
tgfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c1784686
.
tgfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c1784686
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
tc
:
IsCanBeFusionMaterial
()
and
not
tc
:
IsImmuneToEffect
(
e
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c1784686
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
:
GetCode
())
...
...
c18210764.lua
View file @
31ba57b1
...
...
@@ -67,12 +67,12 @@ function c18210764.spfilter(c,e,tp)
and
not
c
:
IsCode
(
18210764
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c18210764
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c18210764
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c18210764
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c18210764
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
and
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
...
...
c18326736.lua
View file @
31ba57b1
...
...
@@ -46,13 +46,13 @@ function c18326736.filter(c,e,tp,rk)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
end
function
c18326736
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
,
tp
,
e
:
GetHandler
())
>
0
and
Duel
.
IsExistingMatchingCard
(
c18326736
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
e
:
GetHandler
():
GetRank
())
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c18326736
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
local
c
=
e
:
GetHandler
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
<=
0
then
return
end
if
c
:
IsFacedown
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsControler
(
1
-
tp
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c18326736
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
c
:
GetRank
())
...
...
c19355597.lua
View file @
31ba57b1
...
...
@@ -24,21 +24,20 @@ end
function
c19355597
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
or
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
end
function
c19355597
.
tgfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x1047
)
function
c19355597
.
tgfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x1047
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c19355597
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x1047
)
and
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
end
function
c19355597
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingMatchingCard
(
c19355597
.
tgfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c19355597
.
tgfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
)
and
Duel
.
IsExistingMatchingCard
(
c19355597
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c19355597
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
c19355597
.
tgfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
c19355597
.
tgfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
tp
)
local
tc
=
tg
:
GetFirst
()
if
tc
and
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
~=
0
and
tc
:
IsLocation
(
LOCATION_GRAVE
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c20007374.lua
View file @
31ba57b1
...
...
@@ -38,13 +38,13 @@ function c20007374.filter(c,e,tp)
return
c
:
IsCode
(
44508094
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_SYNCHRO
,
tp
,
false
,
false
)
end
function
c20007374
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c20007374
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c20007374
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c20007374
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
...
...
c20590784.lua
View file @
31ba57b1
...
...
@@ -26,8 +26,11 @@ function c20590784.filter(c,e,tp)
end
function
c20590784
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
NegateAttack
()
and
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
~=
0
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c20590784
.
filter
),
tp
,
LOCATION_EXTRA
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
local
loc
=
0
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
loc
=
loc
+
LOCATION_GRAVE
end
if
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
then
loc
=
loc
+
LOCATION_EXTRA
end
if
loc
==
0
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c20590784
.
filter
),
tp
,
loc
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
20590784
,
0
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c2111707.lua
View file @
31ba57b1
...
...
@@ -34,53 +34,36 @@ end
function
c2111707
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
+
LOCATION_GRAVE
)
end
function
c2111707
.
spfilter
(
c
,
code
)
return
c
:
IsFusionCode
(
code
)
and
c
:
IsAbleToRemoveAsCost
()
function
c2111707
.
matfilter
(
c
)
return
c
:
IsFusionCode
(
62651957
,
65622692
)
and
c
:
IsAbleToRemoveAsCost
()
end
function
c2111707
.
spfilter1
(
c
,
tp
,
g
)
return
g
:
IsExists
(
c2111707
.
spfilter2
,
1
,
c
,
tp
,
c
)
end
function
c2111707
.
spfilter2
(
c
,
tp
,
mc
)
return
(
c
:
IsFusionCode
(
62651957
)
and
mc
:
IsFusionCode
(
65622692
)
or
c
:
IsFusionCode
(
65622692
)
and
mc
:
IsFusionCode
(
62651957
))
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
Group
.
FromCards
(
c
,
mc
))
>
0
end
function
c2111707
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<-
1
then
return
false
end
local
g1
=
Duel
.
GetMatchingGroup
(
c2111707
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
62651957
)
local
g2
=
Duel
.
GetMatchingGroup
(
c2111707
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
65622692
)
if
g1
:
GetCount
()
==
0
or
g2
:
GetCount
()
==
0
then
return
false
end
if
g1
:
GetCount
()
==
1
and
g2
:
GetCount
()
==
1
and
g1
:
GetFirst
()
==
g2
:
GetFirst
()
then
return
false
end
if
ft
>
0
then
return
true
end
local
f1
=
g1
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
local
f2
=
g2
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
if
ft
==-
1
then
return
f1
>
0
and
f2
>
0
else
return
f1
>
0
or
f2
>
0
end
local
g
=
Duel
.
GetMatchingGroup
(
c2111707
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
return
g
:
IsExists
(
c2111707
.
spfilter1
,
1
,
nil
,
tp
,
g
)
end
function
c2111707
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g1
=
Duel
.
GetMatchingGroup
(
c2111707
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
62651957
)
local
g2
=
Duel
.
GetMatchingGroup
(
c2111707
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
65622692
)
local
g
=
Duel
.
GetMatchingGroup
(
c2111707
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g1
=
g
:
FilterSelect
(
tp
,
c2111707
.
spfilter1
,
1
,
1
,
nil
,
tp
,
g
)
local
mc
=
g1
:
GetFirst
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g2
=
g
:
FilterSelect
(
tp
,
c2111707
.
spfilter2
,
1
,
1
,
mc
,
tp
,
mc
)
g1
:
Merge
(
g2
)
local
g
=
Group
.
CreateGroup
()
local
tc
=
nil
for
i
=
1
,
2
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
if
ft
<=
0
then
tc
=
g1
:
FilterSelect
(
tp
,
Card
.
IsLocation
,
1
,
1
,
nil
,
LOCATION_MZONE
):
GetFirst
()
ft
=
ft
+
1
else
tc
=
g1
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
end
g
:
AddCard
(
tc
)
if
i
==
1
then
g1
:
Clear
()
if
tc
:
IsFusionCode
(
65622692
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c2111707
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
tc
,
62651957
)
g1
:
Merge
(
sg
)
end
if
tc
:
IsFusionCode
(
62651957
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c2111707
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
tc
,
65622692
)
g1
:
Merge
(
sg
)
end
end
local
cg
=
g1
:
Filter
(
Card
.
IsFacedown
,
nil
)
if
cg
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
Duel
.
Remove
(
g
1
,
POS_FACEUP
,
REASON_COST
)
end
function
c2111707
.
descost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
...
...
c21143940.lua
View file @
31ba57b1
...
...
@@ -17,14 +17,14 @@ end
function
c21143940
.
filter
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x8
)
and
Duel
.
IsExistingMatchingCard
(
c21143940
.
tfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
c
:
GetAttribute
(),
e
,
tp
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c21143940
.
chkfilter
(
c
,
att
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x8
)
and
c
:
IsAttribute
(
att
)
end
function
c21143940
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c21143940
.
chkfilter
(
chkc
,
e
:
GetLabel
())
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingTarget
(
c21143940
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c21143940
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c21143940
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
...
@@ -35,6 +35,7 @@ function c21143940.activate(e,tp,eg,ep,ev,re,r,rp)
if
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
local
att
=
tc
:
GetAttribute
()
if
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
==
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c21143940
.
tfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
att
,
e
,
tp
)
if
sg
:
GetCount
()
>
0
then
...
...
c22211622.lua
View file @
31ba57b1
...
...
@@ -73,21 +73,19 @@ function c22211622.rcop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Recover
(
tp
,
tc
:
GetAttack
(),
REASON_EFFECT
)
end
end
function
c22211622
.
desfilter
(
c
,
ft
)
if
ft
<-
1
then
return
false
end
return
c
:
IsFaceup
()
and
(
ft
>=
0
or
c
:
IsLocation
(
LOCATION_MZONE
))
function
c22211622
.
desfilter
(
c
,
tp
,
mc
)
return
c
:
IsFaceup
()
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
Group
.
FromCards
(
c
,
mc
))
>
0
end
function
c22211622
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsType
(
TYPE_XYZ
+
TYPE_PENDULUM
)
and
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c22211622
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
c
=
e
:
GetHandler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_ONFIELD
)
and
chkc
:
IsControler
(
tp
)
and
c22211622
.
desfilter
(
chkc
,
ft
)
and
chkc
~=
c
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c22211622
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
c
,
ft
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_ONFIELD
)
and
chkc
:
IsControler
(
tp
)
and
c22211622
.
desfilter
(
chkc
,
tp
,
c
)
and
chkc
~=
c
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c22211622
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
c
,
tp
,
c
)
and
Duel
.
IsExistingMatchingCard
(
c22211622
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c22211622
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
c
,
ft
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c22211622
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
c
,
tp
,
c
)
g
:
AddCard
(
c
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
...
@@ -98,6 +96,7 @@ function c22211622.spop(e,tp,eg,ep,ev,re,r,rp)
if
not
c
:
IsRelateToEffect
(
e
)
or
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
local
dg
=
Group
.
FromCards
(
c
,
tc
)
if
Duel
.
Destroy
(
dg
,
REASON_EFFECT
)
==
2
then
if
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c22211622
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
==
0
then
return
end
...
...
c23187256.lua
View file @
31ba57b1
...
...
@@ -103,7 +103,7 @@ function c23187256.filter(c,e,tp)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c23187256
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c23187256
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
...
...
@@ -111,7 +111,7 @@ function c23187256.gfilter(c,rank)
return
c
:
GetRank
()
==
rank
end
function
c23187256
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
FromEx
(
tp
)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
ect
=
c29724053
and
Duel
.
IsPlayerAffectedByEffect
(
tp
,
29724053
)
and
c29724053
[
tp
]
if
ect
~=
nil
then
ft
=
math.min
(
ft
,
ect
)
end
...
...
c23379054.lua
View file @
31ba57b1
...
...
@@ -35,19 +35,21 @@ end
function
c23379054
.
splimit
(
e
,
c
,
sump
,
sumtype
,
sumpos
,
targetp
,
se
)
return
c
:
GetRace
()
~=
RACE_DRAGON
end
function
c23379054
.
filter1
(
c
,
e
,
tp
,
lv
)
function
c23379054
.
filter1
(
c
,
e
,
tp
,
mc
,
lv
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsAbleToRemove
()
and
Duel
.
IsExistingMatchingCard
(
c23379054
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
lv
+
c
:
GetLevel
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
Group
.
FromCards
(
c
,
mc
))
>
0
end
function
c23379054
.
filter2
(
c
,
e
,
tp
,
lv
)
return
c
:
GetLevel
()
==
lv
and
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c23379054
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c23379054
.
filter1
(
chkc
,
e
,
tp
,
e
:
GetHandler
():
GetLevel
())
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
e
:
GetHandler
():
IsAbleToRemove
()
and
Duel
.
IsExistingTarget
(
c23379054
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
,
e
:
GetHandler
():
GetLevel
())
end
local
c
=
e
:
GetHandler
()
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c23379054
.
filter1
(
chkc
,
e
,
tp
,
c
,
c
:
GetLevel
())
end
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToRemove
()
and
Duel
.
IsExistingTarget
(
c23379054
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
,
c
,
c
:
GetLevel
())
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c23379054
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
,
e
:
GetHandler
()
:
GetLevel
())
local
g
=
Duel
.
SelectTarget
(
tp
,
c23379054
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
,
c
,
c
:
GetLevel
())
g
:
AddCard
(
e
:
GetHandler
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
...
@@ -59,7 +61,7 @@ function c23379054.operation(e,tp,eg,ep,ev,re,r,rp)
local
lv
=
c
:
GetLevel
()
+
tc
:
GetLevel
()
local
g
=
Group
.
FromCards
(
c
,
tc
)
if
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
==
2
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c23379054
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
lv
)
if
sg
:
GetCount
()
>
0
then
...
...
c23536866.lua
View file @
31ba57b1
...
...
@@ -37,6 +37,7 @@ function c23536866.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonCount
(
tp
,
2
)
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
1
and
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
exg
:
GetCount
()
>
0
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg1
=
mg
:
FilterSelect
(
tp
,
c23536866
.
mfilter1
,
1
,
1
,
nil
,
mg
,
exg
)
...
...
@@ -52,7 +53,7 @@ function c23536866.filter2(c,e,tp)
end
function
c23536866
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
or
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
):
Filter
(
c23536866
.
filter2
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
<
2
then
return
end
local
tc1
=
g
:
GetFirst
()
...
...
c23581825.lua
View file @
31ba57b1
...
...
@@ -28,13 +28,14 @@ function c23581825.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c23581825
.
filter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonCount
(
tp
,
2
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
Duel
.
IsExistingTarget
(
c23581825
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c23581825
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
2
,
tp
,
LOCATION_EXTRA
)
end
function
c23581825
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
or
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
if
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
==
0
then
return
end
...
...
c23998625.lua
View file @
31ba57b1
...
...
@@ -66,13 +66,13 @@ function c23998625.spfilter(c,e,tp)
return
c
:
IsCode
(
97403510
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
end
function
c23998625
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c23998625
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c23998625
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
not
c
:
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
local
tc
=
Duel
.
GetFirstMatchingCard
(
c23998625
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
)
if
tc
then
local
cg
=
Group
.
FromCards
(
c
)
...
...
c24590232.lua
View file @
31ba57b1
...
...
@@ -27,7 +27,7 @@ function c24590232.filter3(c)
return
c
:
GetLevel
()
>
0
and
not
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsAbleToRemove
()
end
function
c24590232
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
NegateAttack
()
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
Duel
.
NegateAttack
()
and
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c24590232
.
filter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
24590232
,
0
))
then
Duel
.
BreakEffect
()
...
...
c25119460.lua
View file @
31ba57b1
...
...
@@ -34,53 +34,36 @@ end
function
c25119460
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
+
LOCATION_GRAVE
)
end
function
c25119460
.
spfilter
(
c
,
code
)
return
c
:
IsFusionCode
(
code
)
and
c
:
IsAbleToRemoveAsCost
()
function
c25119460
.
matfilter
(
c
)
return
c
:
IsFusionCode
(
65622692
,
64500000
)
and
c
:
IsAbleToRemoveAsCost
()
end
function
c25119460
.
spfilter1
(
c
,
tp
,
g
)
return
g
:
IsExists
(
c25119460
.
spfilter2
,
1
,
c
,
tp
,
c
)
end
function
c25119460
.
spfilter2
(
c
,
tp
,
mc
)
return
(
c
:
IsFusionCode
(
65622692
)
and
mc
:
IsFusionCode
(
64500000
)
or
c
:
IsFusionCode
(
64500000
)
and
mc
:
IsFusionCode
(
65622692
))
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
Group
.
FromCards
(
c
,
mc
))
>
0
end
function
c25119460
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<-
1
then
return
false
end
local
g1
=
Duel
.
GetMatchingGroup
(
c25119460
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
65622692
)
local
g2
=
Duel
.
GetMatchingGroup
(
c25119460
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
64500000
)
if
g1
:
GetCount
()
==
0
or
g2
:
GetCount
()
==
0
then
return
false
end
if
g1
:
GetCount
()
==
1
and
g2
:
GetCount
()
==
1
and
g1
:
GetFirst
()
==
g2
:
GetFirst
()
then
return
false
end
if
ft
>
0
then
return
true
end
local
f1
=
g1
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
local
f2
=
g2
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
if
ft
==-
1
then
return
f1
>
0
and
f2
>
0
else
return
f1
>
0
or
f2
>
0
end
local
g
=
Duel
.
GetMatchingGroup
(
c25119460
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
return
g
:
IsExists
(
c25119460
.
spfilter1
,
1
,
nil
,
tp
,
g
)
end
function
c25119460
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g1
=
Duel
.
GetMatchingGroup
(
c25119460
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
65622692
)
local
g2
=
Duel
.
GetMatchingGroup
(
c25119460
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
64500000
)
local
g
=
Duel
.
GetMatchingGroup
(
c25119460
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g1
=
g
:
FilterSelect
(
tp
,
c25119460
.
spfilter1
,
1
,
1
,
nil
,
tp
,
g
)
local
mc
=
g1
:
GetFirst
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g2
=
g
:
FilterSelect
(
tp
,
c25119460
.
spfilter2
,
1
,
1
,
mc
,
tp
,
mc
)
g1
:
Merge
(
g2
)
local
g
=
Group
.
CreateGroup
()
local
tc
=
nil
for
i
=
1
,
2
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
if
ft
<=
0
then
tc
=
g1
:
FilterSelect
(
tp
,
Card
.
IsLocation
,
1
,
1
,
nil
,
LOCATION_MZONE
):
GetFirst
()
ft
=
ft
+
1
else
tc
=
g1
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
end
g
:
AddCard
(
tc
)
if
i
==
1
then
g1
:
Clear
()
if
tc
:
IsFusionCode
(
64500000
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c25119460
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
tc
,
65622692
)
g1
:
Merge
(
sg
)
end
if
tc
:
IsFusionCode
(
65622692
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c25119460
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
tc
,
64500000
)
g1
:
Merge
(
sg
)
end
end
local
cg
=
g1
:
Filter
(
Card
.
IsFacedown
,
nil
)
if
cg
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
Duel
.
Remove
(
g
1
,
POS_FACEUP
,
REASON_COST
)
end
function
c25119460
.
descost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
...
...
c25148255.lua
View file @
31ba57b1
...
...
@@ -27,6 +27,7 @@ function c25148255.mfilter(c,e,tp,mc)
local
mg
=
Group
.
FromCards
(
c
,
mc
)
return
c
:
IsSetCard
(
0x43
)
and
not
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
Duel
.
IsExistingMatchingCard
(
c25148255
.
scfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
mg
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
mg
)
>
0
end
function
c25148255
.
scfilter
(
c
,
mg
)
return
aux
.
IsMaterialListSetCard
(
c
,
0x1017
)
and
c
:
IsSynchroSummonable
(
nil
,
mg
)
...
...
@@ -41,12 +42,13 @@ function c25148255.sctg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c25148255
.
scop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
1
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
=
0
then
return
end
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
:
IsRelateToEffect
(
e
)
or
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
==
0
then
return
end
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
local
mg
=
Group
.
FromCards
(
c
,
tc
)
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
mg
)
<=
0
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
c25148255
.
scfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
mg
)
if
g
:
GetCount
()
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c26194151.lua
View file @
31ba57b1
...
...
@@ -24,12 +24,12 @@ function c26194151.filter3(c)
return
c
:
GetLevel
()
>
0
and
not
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsAbleToRemove
()
end
function
c26194151
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c26194151
.
filter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c26194151
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
c26194151
.
filter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g1
:
GetFirst
()
...
...
c27503418.lua
View file @
31ba57b1
...
...
@@ -24,7 +24,7 @@ function c27503418.filter2(c,tp,lv)
end
function
c27503418
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetAttackTarget
()
if
Duel
.
NegateAttack
()
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
if
Duel
.
NegateAttack
()
and
Duel
.
GetLocationCount
FromEx
(
tp
,
tp
,
tc
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c27503418
.
filter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
tc
:
GetLevel
())
and
tc
:
IsAbleToRemove
()
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
27503418
,
0
))
then
Duel
.
BreakEffect
()
...
...
c27552504.lua
View file @
31ba57b1
...
...
@@ -61,12 +61,12 @@ function c27552504.spfilter(c,e,tp)
return
c
:
IsSetCard
(
0xb1
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
end
function
c27552504
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c27552504
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c27552504
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c27552504
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
...
...
c28677304.lua
View file @
31ba57b1
...
...
@@ -52,57 +52,36 @@ c28677304.material_setcode=0x8
function
c28677304
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
end
function
c28677304
.
spfilter
(
c
,
code
)
return
c
:
IsAbleToDeckOrExtraAsCost
()
and
c
:
IsFusionCode
(
code
)
function
c28677304
.
matfilter
(
c
)
return
c
:
IsFusionCode
(
89943723
,
43237273
)
and
c
:
IsAbleToDeckOrExtraAsCost
()
end
function
c28677304
.
spfilter1
(
c
,
tp
,
g
)
return
g
:
IsExists
(
c28677304
.
spfilter2
,
1
,
c
,
tp
,
c
)
end
function
c28677304
.
spfilter2
(
c
,
tp
,
mc
)
return
(
c
:
IsFusionCode
(
89943723
)
and
mc
:
IsFusionCode
(
43237273
)
or
c
:
IsFusionCode
(
43237273
)
and
mc
:
IsFusionCode
(
89943723
))
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
Group
.
FromCards
(
c
,
mc
))
>
0
end
function
c28677304
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<-
1
then
return
false
end
local
g1
=
Duel
.
GetMatchingGroup
(
c28677304
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
)
local
g2
=
Duel
.
GetMatchingGroup
(
c28677304
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
43237273
)
if
g1
:
GetCount
()
==
0
or
g2
:
GetCount
()
==
0
then
return
false
end
if
g1
:
GetCount
()
==
1
and
g2
:
GetCount
()
==
1
and
g1
:
GetFirst
()
==
g2
:
GetFirst
()
then
return
false
end
if
ft
>
0
then
return
true
end
local
f1
=
g1
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
local
f2
=
g2
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
if
ft
==-
1
then
return
f1
>
0
and
f2
>
0
else
return
f1
>
0
or
f2
>
0
end
local
g
=
Duel
.
GetMatchingGroup
(
c28677304
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
return
g
:
IsExists
(
c28677304
.
spfilter1
,
1
,
nil
,
tp
,
g
)
end
function
c28677304
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g1
=
Duel
.
GetMatchingGroup
(
c28677304
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
)
local
g2
=
Duel
.
GetMatchingGroup
(
c28677304
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
43237273
)
local
g
=
Duel
.
GetMatchingGroup
(
c28677304
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g1
=
g
:
FilterSelect
(
tp
,
c28677304
.
spfilter1
,
1
,
1
,
nil
,
tp
,
g
)
local
mc
=
g1
:
GetFirst
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g2
=
g
:
FilterSelect
(
tp
,
c28677304
.
spfilter2
,
1
,
1
,
mc
,
tp
,
mc
)
g1
:
Merge
(
g2
)
local
g
=
Group
.
CreateGroup
()
local
tc
=
nil
for
i
=
1
,
2
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
if
ft
<=
0
then
tc
=
g1
:
FilterSelect
(
tp
,
Card
.
IsLocation
,
1
,
1
,
nil
,
LOCATION_MZONE
):
GetFirst
()
ft
=
ft
+
1
else
tc
=
g1
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
end
g
:
AddCard
(
tc
)
if
i
==
1
then
g1
:
Clear
()
if
tc
:
IsFusionCode
(
89943723
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c28677304
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
tc
,
43237273
)
g1
:
Merge
(
sg
)
end
if
tc
:
IsFusionCode
(
43237273
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c28677304
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
tc
,
89943723
)
g1
:
Merge
(
sg
)
end
end
end
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
local
cg
=
g1
:
Filter
(
Card
.
IsFacedown
,
nil
)
if
cg
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_COST
)
Duel
.
SendtoDeck
(
g
1
,
nil
,
2
,
REASON_COST
)
end
function
c28677304
.
retcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
e
:
GetHandler
():
IsHasEffect
(
42015635
)
...
...
c29085954.lua
View file @
31ba57b1
...
...
@@ -30,14 +30,14 @@ function c29085954.filter(c,e,tp,mc)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
end
function
c29085954
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
,
tp
,
e
:
GetHandler
())
>
0
and
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_EXTRA
,
0
)
>
0
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c29085954
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
Get
MatchingGroup
(
nil
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
local
g
=
Duel
.
Get
FieldGroup
(
tp
,
LOCATION_EXTRA
,
0
)
if
g
:
GetCount
()
>
0
and
Duel
.
GetLocationCount
FromEx
(
tp
,
tp
,
c
)
>
0
and
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
and
c
:
IsControler
(
tp
)
and
not
c
:
IsImmuneToEffect
(
e
)
then
local
tg
=
g
:
RandomSelect
(
1
-
tp
,
1
)
Duel
.
ConfirmCards
(
1
-
tp
,
tg
)
...
...
c29762407.lua
View file @
31ba57b1
...
...
@@ -42,13 +42,19 @@ function c29762407.filter(c,e,tp)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c29762407
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c29762407
.
filter
,
tp
,
0x43
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
0x43
)
local
loc
=
0
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
loc
=
loc
+
LOCATION_HAND
+
LOCATION_DECK
end
if
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
then
loc
=
loc
+
LOCATION_EXTRA
end
if
chk
==
0
then
return
loc
~=
0
and
Duel
.
IsExistingMatchingCard
(
c29762407
.
filter
,
tp
,
loc
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
loc
)
end
function
c29762407
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
loc
=
0
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
loc
=
loc
+
LOCATION_HAND
+
LOCATION_DECK
end
if
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
then
loc
=
loc
+
LOCATION_EXTRA
end
if
loc
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c29762407
.
filter
,
tp
,
0x43
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c29762407
.
filter
,
tp
,
loc
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
...
...
c3298689.lua
View file @
31ba57b1
--RUM-幻影騎士団ラウンチ
--RUM-幻影騎士団ラウンチ
function
c3298689
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -28,6 +28,7 @@ function c3298689.filter1(c,e,tp)
local
rk
=
c
:
GetRank
()
return
rk
>
0
and
c
:
IsFaceup
()
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
c
:
GetOverlayCount
()
==
0
and
Duel
.
IsExistingMatchingCard
(
c3298689
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
c
:
GetRank
()
+
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c3298689
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
if
c
:
GetOriginalCode
()
==
6165656
and
mc
:
GetCode
()
~=
48995978
then
return
false
end
...
...
@@ -36,16 +37,15 @@ function c3298689.filter2(c,e,tp,mc,rk)
end
function
c3298689
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c3298689
.
filter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingTarget
(
c3298689
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c3298689
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c3298689
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c3298689
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c3298689
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
)
...
...
c33252803.lua
View file @
31ba57b1
...
...
@@ -18,18 +18,18 @@ end
function
c33252803
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
no
)
return
c
:
GetRank
()
==
rk
and
c
:
IsSetCard
(
0x1048
)
and
c
.
xyz_number
==
no
and
mc
:
IsCanBeXyzMaterial
(
c
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c33252803
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c33252803
.
filter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingTarget
(
c33252803
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c33252803
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c33252803
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c33252803
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
local
m
=
_G
[
"c"
..
tc
:
GetCode
()]
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
or
not
m
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c33280639.lua
View file @
31ba57b1
...
...
@@ -40,13 +40,18 @@ function c33280639.filter(c,e,tp)
return
c
:
IsCode
(
11790356
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c33280639
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c33280639
.
filter
,
tp
,
LOCATION_EXTRA
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
+
LOCATION_GRAVE
)
local
loc
=
0
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
loc
=
loc
+
LOCATION_GRAVE
end
if
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
then
loc
=
loc
+
LOCATION_EXTRA
end
if
chk
==
0
then
return
loc
~=
0
and
Duel
.
IsExistingMatchingCard
(
c33280639
.
filter
,
tp
,
loc
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
loc
)
end
function
c33280639
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
1
then
return
end
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33280639
.
filter
),
tp
,
LOCATION_EXTRA
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
loc
=
0
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
loc
=
loc
+
LOCATION_GRAVE
end
if
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
then
loc
=
loc
+
LOCATION_EXTRA
end
if
loc
==
0
then
return
end
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33280639
.
filter
),
tp
,
loc
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
if
tc
and
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
tc
:
RegisterFlagEffect
(
33280639
,
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
,
0
,
2
)
...
...
c34206604.lua
View file @
31ba57b1
...
...
@@ -19,12 +19,12 @@ function c34206604.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
PayLPCost
(
tp
,
1000
)
end
function
c34206604
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c34206604
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c34206604
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c34206604
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
...
...
c35014241.lua
View file @
31ba57b1
...
...
@@ -18,6 +18,7 @@ end
function
c35014241
.
cfilter2
(
c
,
e
,
tp
,
tc
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
not
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsAbleToExtraAsCost
()
and
Duel
.
IsExistingMatchingCard
(
c35014241
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
:
GetLevel
()
+
tc
:
GetLevel
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
Group
.
FromCards
(
c
,
tc
))
>
0
end
function
c35014241
.
spfilter
(
c
,
e
,
tp
,
lv
)
return
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
GetLevel
()
==
lv
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
...
...
@@ -37,12 +38,12 @@ function c35014241.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
if
e
:
GetLabel
()
~=
1
then
return
false
end
e
:
SetLabel
(
0
)
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
2
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c35014241
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
local
lv
=
e
:
GetLabel
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c35014241
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
lv
)
...
...
c35329581.lua
View file @
31ba57b1
...
...
@@ -23,7 +23,7 @@ function c35329581.spfilter(c,e,tp,tc)
end
function
c35329581
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
eg
:
IsContains
(
chkc
)
and
c35329581
.
filter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
and
eg
:
IsExists
(
c35329581
.
filter
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
eg
:
FilterSelect
(
tp
,
c35329581
.
filter
,
1
,
1
,
nil
,
e
,
tp
)
...
...
@@ -31,7 +31,7 @@ function c35329581.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c35329581
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsFacedown
()
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c35952884.lua
View file @
31ba57b1
...
...
@@ -97,7 +97,7 @@ function c35952884.filter(c,e,tp)
return
c
:
IsCode
(
24696097
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
true
)
end
function
c35952884
.
sumtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c35952884
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
...
...
c36630403.lua
View file @
31ba57b1
...
...
@@ -22,7 +22,7 @@ function c36630403.filter2(c,e,tp,lv)
end
function
c36630403
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c36630403
.
filter1
(
chkc
,
e
,
tp
,
e
:
GetHandler
():
GetLevel
())
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
e
:
GetHandler
():
IsAbleToRemove
()
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
and
e
:
GetHandler
():
IsAbleToRemove
()
and
Duel
.
IsExistingTarget
(
c36630403
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
,
e
:
GetHandler
():
GetLevel
())
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c36630403
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
,
e
:
GetHandler
():
GetLevel
())
...
...
@@ -37,7 +37,7 @@ function c36630403.operation(e,tp,eg,ep,ev,re,r,rp)
local
lv
=
c
:
GetLevel
()
+
tc
:
GetLevel
()
local
g
=
Group
.
FromCards
(
c
,
tc
)
if
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
==
2
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c36630403
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
lv
)
if
sg
:
GetCount
()
>
0
then
...
...
c36737092.lua
View file @
31ba57b1
...
...
@@ -17,6 +17,7 @@ end
function
c36737092
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsAbleToRemoveAsCost
()
and
Duel
.
IsExistingMatchingCard
(
c36737092
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
c
:
GetLevel
(),
e
,
tp
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c36737092
.
filter2
(
c
,
lv
,
e
,
tp
)
return
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
GetLevel
()
==
lv
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
...
...
@@ -34,7 +35,8 @@ function c36737092.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c36737092
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
local
lv
=
e
:
GetLabel
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c36737092
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
lv
,
e
,
tp
)
...
...
c39024589.lua
View file @
31ba57b1
...
...
@@ -58,18 +58,23 @@ function c39024589.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c39024589
.
filter
(
c
,
e
,
tp
)
local
lv
=
c
:
GetLevel
()
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
(
c
:
IsFaceup
()
and
c
:
IsLocation
(
LOCATION_EXTRA
)
))
and
c
:
IsSetCard
(
0x10ec
)
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
c
:
IsFaceup
(
))
and
c
:
IsSetCard
(
0x10ec
)
and
(
lv
==
1
or
lv
==
8
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c39024589
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingMatchingCard
(
c39024589
.
filter
,
tp
,
LOCATION_EXTRA
+
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
+
LOCATION_HAND
)
local
loc
=
0
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
loc
=
loc
+
LOCATION_HAND
end
if
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
then
loc
=
loc
+
LOCATION_EXTRA
end
if
chk
==
0
then
return
loc
~=
0
and
Duel
.
IsExistingMatchingCard
(
c39024589
.
filter
,
tp
,
loc
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
loc
)
end
function
c39024589
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
loc
=
0
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
loc
=
loc
+
LOCATION_GRAVE
end
if
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
then
loc
=
loc
+
LOCATION_EXTRA
end
if
loc
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c39024589
.
filter
,
tp
,
LOCATION_EXTRA
+
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c39024589
.
filter
,
tp
,
loc
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
...
...
c41201386.lua
View file @
31ba57b1
...
...
@@ -26,6 +26,7 @@ function c41201386.filter1(c,e,tp)
local
rk
=
c
:
GetRank
()
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
Duel
.
IsExistingMatchingCard
(
c41201386
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c41201386
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
return
c
:
GetRank
()
==
rk
and
c
:
IsSetCard
(
0xba
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
...
@@ -33,15 +34,14 @@ function c41201386.filter2(c,e,tp,mc,rk)
end
function
c41201386
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c41201386
.
filter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingTarget
(
c41201386
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c41201386
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c41201386
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c41201386
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c41201386
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
)
...
...
c43383478.lua
View file @
31ba57b1
...
...
@@ -48,13 +48,14 @@ function c43383478.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c43383478
.
filter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonCount
(
tp
,
2
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
Duel
.
IsExistingTarget
(
c43383478
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c43383478
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
2
,
tp
,
LOCATION_EXTRA
)
end
function
c43383478
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
or
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
if
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
==
0
then
return
end
...
...
c43476205.lua
View file @
31ba57b1
...
...
@@ -15,6 +15,7 @@ function c43476205.filter1(c,e,tp)
local
rk
=
c
:
GetRank
()
return
rk
>
0
and
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xba
)
and
Duel
.
IsExistingMatchingCard
(
c43476205
.
filter3
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c43476205
.
filter2
(
c
,
e
,
tp
)
local
rk
=
c
:
GetRank
()
...
...
@@ -28,14 +29,14 @@ end
function
c43476205
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
Duel
.
GetTurnPlayer
()
==
tp
then
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c43476205
.
filter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingTarget
(
c43476205
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c43476205
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
e
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c43476205
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
else
if
chkc
then
return
chkc
:
IsControler
(
1
-
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c43476205
.
filter2
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c43476205
.
filter2
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
Duel
.
IsExistingTarget
(
c43476205
.
filter2
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
,
e
,
tp
)
end
e
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_CONTROL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c43476205
.
filter2
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
,
e
,
tp
)
...
...
@@ -50,7 +51,7 @@ function c43476205.activate(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
GetControl
(
tc
,
tp
)
==
0
then
return
end
Duel
.
BreakEffect
()
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c43476205
.
filter3
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
)
...
...
c440556.lua
View file @
31ba57b1
...
...
@@ -20,16 +20,16 @@ function c440556.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
end
function
c440556
.
filter
(
c
,
e
,
tp
)
return
c
:
IsRankBelow
(
3
)
and
c
:
IsAttribute
(
ATTRIBUTE_WATER
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
,
tp
)
return
c
:
IsRankBelow
(
3
)
and
c
:
IsAttribute
(
ATTRIBUTE_WATER
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c440556
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c440556
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c440556
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
if
Duel
.
GetLocationCount
FromEx
(
tp
)
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c440556
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
...
...
c458748.lua
View file @
31ba57b1
...
...
@@ -18,6 +18,7 @@ function c458748.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c458748
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0xf4
)
and
Duel
.
IsExistingMatchingCard
(
c458748
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
:
GetOriginalAttribute
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c458748
.
filter2
(
c
,
e
,
tp
,
att
)
return
c
:
IsSetCard
(
0xf4
)
and
c
:
GetOriginalAttribute
()
~=
att
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
()
...
...
@@ -26,8 +27,7 @@ function c458748.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
if
e
:
GetLabel
()
~=
100
then
return
false
end
e
:
SetLabel
(
0
)
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
CheckReleaseGroup
(
tp
,
c458748
.
filter1
,
1
,
nil
,
e
,
tp
)
return
Duel
.
CheckReleaseGroup
(
tp
,
c458748
.
filter1
,
1
,
nil
,
e
,
tp
)
end
local
rg
=
Duel
.
SelectReleaseGroup
(
tp
,
c458748
.
filter1
,
1
,
1
,
nil
,
e
,
tp
)
e
:
SetLabel
(
rg
:
GetFirst
():
GetOriginalAttribute
())
...
...
@@ -35,7 +35,7 @@ function c458748.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c458748
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
local
att
=
e
:
GetLabel
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c458748
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
att
)
...
...
c45950291.lua
View file @
31ba57b1
...
...
@@ -30,6 +30,7 @@ function c45950291.filter1(c,e,tp)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
not
Duel
.
IsExistingMatchingCard
(
c45950291
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
rk
)
and
Duel
.
IsExistingMatchingCard
(
c45950291
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
2
,
c
:
GetRace
(),
c
:
GetAttribute
(),
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c45950291
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
rc
,
att
,
code
)
if
c
:
GetOriginalCode
()
==
6165656
and
code
~=
48995978
then
return
false
end
...
...
@@ -38,15 +39,14 @@ function c45950291.filter2(c,e,tp,mc,rk,rc,att,code)
end
function
c45950291
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c45950291
.
filter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingTarget
(
c45950291
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c45950291
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c45950291
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c45950291
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c45950291
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
2
,
tc
:
GetRace
(),
tc
:
GetAttribute
(),
tc
:
GetCode
())
...
...
c46008667.lua
View file @
31ba57b1
...
...
@@ -64,6 +64,7 @@ end
function
c46008667
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x107a
)
and
Duel
.
IsExistingMatchingCard
(
c46008667
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c46008667
.
filter2
(
c
,
e
,
tp
,
mc
,
code
)
return
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x107a
)
and
not
c
:
IsCode
(
code
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
...
@@ -71,15 +72,14 @@ function c46008667.filter2(c,e,tp,mc,code)
end
function
c46008667
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c46008667
.
filter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingTarget
(
c46008667
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c46008667
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c46008667
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c46008667
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c46008667
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetCode
())
...
...
c46411259.lua
View file @
31ba57b1
...
...
@@ -18,6 +18,7 @@ end
function
c46411259
.
filter1
(
c
,
e
,
tp
)
local
lv
=
c
:
GetLevel
()
return
lv
>
0
and
Duel
.
IsExistingMatchingCard
(
c46411259
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
lv
,
e
,
tp
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c46411259
.
filter2
(
c
,
lv
,
e
,
tp
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
GetLevel
()
==
lv
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
...
...
@@ -26,8 +27,7 @@ function c46411259.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
if
e
:
GetLabel
()
~=
100
then
return
false
end
e
:
SetLabel
(
0
)
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
CheckReleaseGroup
(
tp
,
c46411259
.
filter1
,
1
,
nil
,
e
,
tp
)
return
Duel
.
CheckReleaseGroup
(
tp
,
c46411259
.
filter1
,
1
,
nil
,
e
,
tp
)
end
local
rg
=
Duel
.
SelectReleaseGroup
(
tp
,
c46411259
.
filter1
,
1
,
1
,
nil
,
e
,
tp
)
e
:
SetLabel
(
rg
:
GetFirst
():
GetLevel
())
...
...
@@ -35,7 +35,7 @@ function c46411259.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c46411259
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
local
lv
=
e
:
GetLabel
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c46411259
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
lv
,
e
,
tp
)
...
...
c4688231.lua
View file @
31ba57b1
...
...
@@ -59,14 +59,19 @@ function c4688231.spfilter(c,e,tp)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c4688231
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c4688231
.
spfilter
,
tp
,
LOCATION_GRAVE
+
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_GRAVE
+
LOCATION_EXTRA
)
local
loc
=
0
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
loc
=
loc
+
LOCATION_GRAVE
end
if
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
then
loc
=
loc
+
LOCATION_GRAVE
end
if
chk
==
0
then
return
loc
~=
0
and
Duel
.
IsExistingMatchingCard
(
c4688231
.
spfilter
,
tp
,
loc
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
loc
)
end
function
c4688231
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
loc
=
0
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
loc
=
loc
+
LOCATION_GRAVE
end
if
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
then
loc
=
loc
+
LOCATION_GRAVE
end
if
loc
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c4688231
.
spfilter
),
tp
,
LOCATION_GRAVE
+
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c4688231
.
spfilter
),
tp
,
loc
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
...
...
c47185546.lua
View file @
31ba57b1
...
...
@@ -14,6 +14,7 @@ function c47185546.filter1(c,e,tp)
local
rk
=
c
:
GetRank
()
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_INSECT
)
and
c
:
IsType
(
TYPE_XYZ
)
and
Duel
.
IsExistingMatchingCard
(
c47185546
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c47185546
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
return
(
c
:
GetRank
()
==
rk
+
2
or
c
:
GetRank
()
==
rk
-
2
)
and
c
:
IsRace
(
RACE_INSECT
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
...
@@ -21,15 +22,14 @@ function c47185546.filter2(c,e,tp,mc,rk)
end
function
c47185546
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c47185546
.
filter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingTarget
(
c47185546
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c47185546
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c47185546
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c47185546
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c47185546
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
())
...
...
c47660516.lua
View file @
31ba57b1
...
...
@@ -14,6 +14,7 @@ function c47660516.filter1(c,e,tp)
local
rk
=
c
:
GetRank
()
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
Duel
.
IsExistingMatchingCard
(
c47660516
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
,
c
:
GetRace
(),
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c47660516
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
rc
,
code
)
if
c
:
GetOriginalCode
()
==
6165656
and
code
~=
48995978
then
return
false
end
...
...
@@ -22,15 +23,14 @@ function c47660516.filter2(c,e,tp,mc,rk,rc,code)
end
function
c47660516
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c47660516
.
filter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingTarget
(
c47660516
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c47660516
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c47660516
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SelectTarget
(
tp
,
c47660516
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c47660516
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c47660516
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
,
tc
:
GetRace
(),
tc
:
GetCode
())
...
...
c47882565.lua
View file @
31ba57b1
...
...
@@ -18,6 +18,7 @@ function c47882565.filter1(c,e,tp)
local
rk
=
c
:
GetRank
()
return
rk
>
0
and
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xe5
)
and
Duel
.
IsExistingMatchingCard
(
c47882565
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c47882565
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
return
c
:
GetRank
()
==
rk
and
c
:
IsSetCard
(
0xe5
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
...
@@ -25,8 +26,7 @@ function c47882565.filter2(c,e,tp,mc,rk)
end
function
c47882565
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c47882565
.
filter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingTarget
(
c47882565
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c47882565
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c47882565
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
...
@@ -34,7 +34,7 @@ end
function
c47882565
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
if
Duel
.
GetLocationCount
FromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c47882565
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
)
...
...
c48333324.lua
View file @
31ba57b1
...
...
@@ -14,6 +14,7 @@ function c48333324.filter1(c,e,tp)
local
rk
=
c
:
GetRank
()
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
Duel
.
IsExistingMatchingCard
(
c48333324
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
,
c
:
GetRace
(),
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c48333324
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
rc
,
code
)
if
c
:
GetOriginalCode
()
==
6165656
and
code
~=
48995978
then
return
false
end
...
...
@@ -25,16 +26,15 @@ function c48333324.disfilter(c)
end
function
c48333324
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c48333324
.
filter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingTarget
(
c48333324
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c48333324
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c48333324
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SelectTarget
(
tp
,
c48333324
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c48333324
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c48333324
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
,
tc
:
GetRace
(),
tc
:
GetCode
())
...
...
c48996569.lua
View file @
31ba57b1
...
...
@@ -52,57 +52,36 @@ c48996569.material_setcode=0x8
function
c48996569
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
end
function
c48996569
.
spfilter
(
c
,
code
)
return
c
:
IsAbleToDeckOrExtraAsCost
()
and
c
:
IsFusionCode
(
code
)
function
c48996569
.
matfilter
(
c
)
return
c
:
IsFusionCode
(
89943723
,
80344569
)
and
c
:
IsAbleToDeckOrExtraAsCost
()
end
function
c48996569
.
spfilter1
(
c
,
tp
,
g
)
return
g
:
IsExists
(
c48996569
.
spfilter2
,
1
,
c
,
tp
,
c
)
end
function
c48996569
.
spfilter2
(
c
,
tp
,
mc
)
return
(
c
:
IsFusionCode
(
89943723
)
and
mc
:
IsFusionCode
(
80344569
)
or
c
:
IsFusionCode
(
80344569
)
and
mc
:
IsFusionCode
(
89943723
))
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
Group
.
FromCards
(
c
,
mc
))
>
0
end
function
c48996569
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<-
1
then
return
false
end
local
g1
=
Duel
.
GetMatchingGroup
(
c48996569
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
)
local
g2
=
Duel
.
GetMatchingGroup
(
c48996569
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
80344569
)
if
g1
:
GetCount
()
==
0
or
g2
:
GetCount
()
==
0
then
return
false
end
if
g1
:
GetCount
()
==
1
and
g2
:
GetCount
()
==
1
and
g1
:
GetFirst
()
==
g2
:
GetFirst
()
then
return
false
end
if
ft
>
0
then
return
true
end
local
f1
=
g1
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
local
f2
=
g2
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
if
ft
==-
1
then
return
f1
>
0
and
f2
>
0
else
return
f1
>
0
or
f2
>
0
end
local
g
=
Duel
.
GetMatchingGroup
(
c48996569
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
return
g
:
IsExists
(
c48996569
.
spfilter1
,
1
,
nil
,
tp
,
g
)
end
function
c48996569
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g1
=
Duel
.
GetMatchingGroup
(
c48996569
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
)
local
g2
=
Duel
.
GetMatchingGroup
(
c48996569
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
80344569
)
local
g
=
Duel
.
GetMatchingGroup
(
c48996569
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g1
=
g
:
FilterSelect
(
tp
,
c48996569
.
spfilter1
,
1
,
1
,
nil
,
tp
,
g
)
local
mc
=
g1
:
GetFirst
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g2
=
g
:
FilterSelect
(
tp
,
c48996569
.
spfilter2
,
1
,
1
,
mc
,
tp
,
mc
)
g1
:
Merge
(
g2
)
local
g
=
Group
.
CreateGroup
()
local
tc
=
nil
for
i
=
1
,
2
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
if
ft
<=
0
then
tc
=
g1
:
FilterSelect
(
tp
,
Card
.
IsLocation
,
1
,
1
,
nil
,
LOCATION_MZONE
):
GetFirst
()
ft
=
ft
+
1
else
tc
=
g1
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
end
g
:
AddCard
(
tc
)
if
i
==
1
then
g1
:
Clear
()
if
tc
:
IsFusionCode
(
89943723
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c48996569
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
tc
,
80344569
)
g1
:
Merge
(
sg
)
end
if
tc
:
IsFusionCode
(
80344569
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c48996569
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
tc
,
89943723
)
g1
:
Merge
(
sg
)
end
end
end
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
local
cg
=
g1
:
Filter
(
Card
.
IsFacedown
,
nil
)
if
cg
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_COST
)
Duel
.
SendtoDeck
(
g
1
,
nil
,
2
,
REASON_COST
)
end
function
c48996569
.
retcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
e
:
GetHandler
():
IsHasEffect
(
42015635
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment