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)
...
@@ -38,18 +38,17 @@ function c10424147.spfilter1(c,e,tp)
end
end
function
c10424147
.
spfilter2
(
c
,
e
,
tp
,
mc
,
att
)
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
)
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
end
function
c10424147
.
sptg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
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
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c10424147
.
spfilter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c10424147
.
spfilter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c10424147
.
spfilter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c10424147
.
spop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
@@ -79,7 +78,7 @@ end
...
@@ -79,7 +78,7 @@ end
function
c10424147
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c10424147
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
false
end
if
chkc
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c10424147
.
spfilter3
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
,
e
)
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
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
and
Duel
.
IsExistingMatchingCard
(
c10424147
.
spfilter4
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingMatchingCard
(
c10424147
.
spfilter4
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
...
@@ -99,7 +98,7 @@ function c10424147.mtfilter(c,e)
...
@@ -99,7 +98,7 @@ function c10424147.mtfilter(c,e)
return
c
:
IsRelateToEffect
(
e
)
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
IsRelateToEffect
(
e
)
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c10424147
.
spop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c10424147
.
spfilter4
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c10424147
.
spfilter4
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
sc
=
sg
:
GetFirst
()
local
sc
=
sg
:
GetFirst
()
...
...
c11047543.lua
View file @
31ba57b1
...
@@ -13,34 +13,34 @@ function c11047543.initial_effect(c)
...
@@ -13,34 +13,34 @@ function c11047543.initial_effect(c)
end
end
function
c11047543
.
filter1
(
c
,
e
,
tp
)
function
c11047543
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_PSYCHO
)
and
c
:
IsType
(
TYPE_TUNER
)
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
end
function
c11047543
.
filter2
(
c
,
e
,
tp
,
lv
)
function
c11047543
.
filter2
(
c
,
e
,
tp
,
mc
,
lv
)
local
clv
=
c
:
GetLevel
()
local
clv
=
c
:
GetLevel
()
return
clv
>
0
and
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_PSYCHO
)
and
not
c
:
IsType
(
TYPE_TUNER
)
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
.
IsExistingMatchingCard
(
c11047543
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
lv
+
clv
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
Group
.
FromCards
(
c
,
mc
))
>
0
end
end
function
c11047543
.
spfilter
(
c
,
e
,
tp
,
lv
)
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
)
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
end
function
c11047543
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c11047543
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
false
end
if
chkc
then
return
false
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c11047543
.
filter1
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c11047543
.
filter1
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g1
=
Duel
.
SelectTarget
(
tp
,
c11047543
.
filter1
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
)
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
)
g1
:
Merge
(
g2
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g1
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g1
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c11047543
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
)
local
tc1
=
g
:
GetFirst
()
local
tc1
=
g
:
GetFirst
()
local
tc2
=
g
:
GetNext
()
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
())
local
sg
=
Duel
.
GetMatchingGroup
(
c11047543
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
tc1
:
GetLevel
()
+
tc2
:
GetLevel
())
if
sg
:
GetCount
()
==
0
then
return
end
if
sg
:
GetCount
()
==
0
then
return
end
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
+
REASON_RETURN
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
+
REASON_RETURN
)
...
...
c11109820.lua
View file @
31ba57b1
...
@@ -11,15 +11,14 @@ function c11109820.initial_effect(c)
...
@@ -11,15 +11,14 @@ function c11109820.initial_effect(c)
e1
:
SetOperation
(
c11109820
.
operation
)
e1
:
SetOperation
(
c11109820
.
operation
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c11109820
.
filter1
(
c
,
e
,
tp
,
ft
)
function
c11109820
.
filter1
(
c
,
e
,
tp
)
if
c
:
IsControler
(
tp
)
then
ft
=
ft
+
1
end
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
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
end
function
c11109820
.
filter2
(
c
,
e
,
tp
,
rk
,
ft
)
function
c11109820
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
if
c
:
IsControler
(
tp
)
then
ft
=
ft
+
1
end
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
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
end
function
c11109820
.
spfilter
(
c
,
e
,
tp
,
rk
)
function
c11109820
.
spfilter
(
c
,
e
,
tp
,
rk
)
local
crk
=
c
:
GetRank
()
local
crk
=
c
:
GetRank
()
...
@@ -27,15 +26,13 @@ function c11109820.spfilter(c,e,tp,rk)
...
@@ -27,15 +26,13 @@ function c11109820.spfilter(c,e,tp,rk)
end
end
function
c11109820
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c11109820
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
false
end
if
chkc
then
return
false
end
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
chk
==
0
then
return
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
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
)
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
()
local
tc
=
g1
:
GetFirst
()
if
tc
:
IsControler
(
tp
)
then
ft
=
ft
+
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
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
)
g1
:
Merge
(
g2
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g1
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g1
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
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)
...
@@ -59,10 +56,10 @@ function c11109820.operation(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
)
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
)
local
tc1
=
g
:
GetFirst
()
local
tc1
=
g
:
GetFirst
()
local
tc2
=
g
:
GetNext
()
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
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
local
og
=
Duel
.
GetOperatedGroup
()
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
())
local
sg
=
Duel
.
GetMatchingGroup
(
c11109820
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
tc1
:
GetRank
()
+
tc2
:
GetRank
())
if
sg
:
GetCount
()
==
0
then
return
end
if
sg
:
GetCount
()
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c11502550.lua
View file @
31ba57b1
...
@@ -49,57 +49,36 @@ c11502550.material_setcode=0x8
...
@@ -49,57 +49,36 @@ c11502550.material_setcode=0x8
function
c11502550
.
splimit
(
e
,
se
,
sp
,
st
)
function
c11502550
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
end
end
function
c11502550
.
spfilter
(
c
,
code
)
function
c11502550
.
matfilter
(
c
)
return
c
:
IsAbleToDeckOrExtraAsCost
()
and
c
:
IsFusionCode
(
code
)
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
end
function
c11502550
.
spcon
(
e
,
c
)
function
c11502550
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
tp
=
c
:
GetControler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c11502550
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
if
ft
<-
1
then
return
false
end
return
g
:
IsExists
(
c11502550
.
spfilter1
,
1
,
nil
,
tp
,
g
)
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
end
end
function
c11502550
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
function
c11502550
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c11502550
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
g1
=
Duel
.
GetMatchingGroup
(
c11502550
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g2
=
Duel
.
GetMatchingGroup
(
c11502550
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
54959865
)
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
)
g1
:
Merge
(
g2
)
local
g
=
Group
.
CreateGroup
()
local
cg
=
g1
:
Filter
(
Card
.
IsFacedown
,
nil
)
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
)
if
cg
:
GetCount
()
>
0
then
if
cg
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
end
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_COST
)
Duel
.
SendtoDeck
(
g
1
,
nil
,
2
,
REASON_COST
)
end
end
function
c11502550
.
retcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c11502550
.
retcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
e
:
GetHandler
():
IsHasEffect
(
42015635
)
return
not
e
:
GetHandler
():
IsHasEffect
(
42015635
)
...
...
c12289247.lua
View file @
31ba57b1
...
@@ -90,66 +90,51 @@ end
...
@@ -90,66 +90,51 @@ end
function
c12289247
.
cfilter
(
c
)
function
c12289247
.
cfilter
(
c
)
return
(
c
:
IsSetCard
(
0x10f2
)
or
c
:
IsSetCard
(
0x2073
)
or
c
:
IsSetCard
(
0x2017
)
or
c
:
IsSetCard
(
0x1046
))
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
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
end
function
c12289247
.
cfilter1
(
c
,
g
,
ft
)
function
c12289247
.
hnfilter
(
c
,
e
,
tp
)
local
mg
=
g
:
Clone
()
return
c
:
IsCode
(
13331639
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
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
end
end
function
c12289247
.
hncost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c12289247
.
hncost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
mg
=
Duel
.
GetMatchingGroup
(
c12289247
.
cfilter
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
)
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
()
if
chk
==
0
then
return
c
:
IsAbleToRemoveAsCost
()
and
mg
:
IsExists
(
c12289247
.
cfilter1
,
1
,
nil
,
mg
,
ft
+
1
)
end
and
mg
:
IsExists
(
c12289247
.
fselect
,
1
,
sg
,
tp
,
mg
,
sg
,
c
,
0x10f2
,
0x2073
,
0x2017
,
0x1046
)
end
local
g
=
Group
.
FromCards
(
c
)
while
sg
:
GetCount
()
<
5
do
ft
=
ft
+
1
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
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
)
local
rc1
=
mg
:
FilterSelect
(
tp
,
c12289247
.
cfilter1
,
1
,
1
,
nil
,
mg
,
ft
):
GetFirst
()
sg
:
Merge
(
g
)
g
:
AddCard
(
rc1
)
end
mg
:
RemoveCard
(
rc1
)
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_COST
)
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
)
end
end
function
c12289247
.
hntg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c12289247
.
hnop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c12289247
.
hnfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c12289247
.
hnfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
...
...
c1412158.lua
View file @
31ba57b1
...
@@ -38,7 +38,7 @@ function c1412158.spfilter(c,e,tp)
...
@@ -38,7 +38,7 @@ function c1412158.spfilter(c,e,tp)
return
c
:
IsCode
(
75923050
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsCode
(
75923050
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c1412158
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
e
:
GetHandler
():
IsAbleToExtra
()
and
Duel
.
IsExistingMatchingCard
(
c1412158
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingMatchingCard
(
c1412158
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
e
:
GetHandler
(),
1
,
0
,
0
)
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)
...
@@ -46,7 +46,7 @@ function c1412158.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c1412158
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c1412158
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
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
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
)
local
tc
=
Duel
.
GetFirstMatchingCard
(
c1412158
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
)
if
tc
then
if
tc
then
...
...
c14644902.lua
View file @
31ba57b1
...
@@ -13,16 +13,17 @@ function c14644902.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -13,16 +13,17 @@ function c14644902.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
return
true
end
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c14644902
.
rfilter
(
c
,
e
)
function
c14644902
.
rfilter
(
c
,
e
,
tp
)
return
c
:
IsReleasableByEffect
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
IsReleasableByEffect
()
and
not
c
:
IsImmuneToEffect
(
e
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
end
function
c14644902
.
filter
(
c
,
e
,
tp
)
function
c14644902
.
filter
(
c
,
e
,
tp
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c14644902
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c14644902
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
rg
=
Duel
.
SelectReleaseGroup
(
tp
,
c14644902
.
rfilter
,
1
,
1
,
e
:
GetHandler
(),
e
)
local
rg
=
Duel
.
SelectReleaseGroup
(
tp
,
c14644902
.
rfilter
,
1
,
1
,
c
,
e
,
tp
)
if
Duel
.
Release
(
rg
,
REASON_EFFECT
)
>
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
if
Duel
.
Release
(
rg
,
REASON_EFFECT
)
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c14644902
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c14644902
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
sg
:
GetCount
()
>
0
then
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)
...
@@ -34,11 +34,11 @@ function c15717011.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
if
chk
==
0
then
if
e
:
GetLabel
()
==
0
then
return
false
end
if
e
:
GetLabel
()
==
0
then
return
false
end
e
:
SetLabel
(
0
)
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
)
return
Duel
.
IsExistingMatchingCard
(
c15717011
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
c
)
end
end
e
:
SetLabel
(
0
)
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
)
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
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
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
g
:
GetFirst
(),
mg
,
c
,
PLAYER_NONE
+
0x100
)
...
@@ -50,7 +50,7 @@ function c15717011.filter2(c,e,tp,code)
...
@@ -50,7 +50,7 @@ function c15717011.filter2(c,e,tp,code)
return
c
:
IsCode
(
code
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsCode
(
code
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c15717011
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
code
=
e
:
GetLabelObject
():
GetCode
()
local
tc
=
Duel
.
GetFirstMatchingCard
(
c15717011
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
code
)
local
tc
=
Duel
.
GetFirstMatchingCard
(
c15717011
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
code
)
if
tc
then
if
tc
then
...
...
c16691074.lua
View file @
31ba57b1
...
@@ -54,12 +54,12 @@ function c16691074.spfilter2(c,e,tp)
...
@@ -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
)
return
c
:
IsSetCard
(
0x99
)
and
not
c
:
IsCode
(
16691074
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c16691074
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c16691074
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c16691074
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c16691074
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
...
...
c1784686.lua
View file @
31ba57b1
...
@@ -21,21 +21,21 @@ end
...
@@ -21,21 +21,21 @@ end
function
c1784686
.
tgfilter
(
c
,
e
,
tp
)
function
c1784686
.
tgfilter
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x10a2
)
and
c
:
IsCanBeFusionMaterial
()
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
.
IsExistingMatchingCard
(
c1784686
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
end
function
c1784686
.
spfilter
(
c
,
e
,
tp
,
code
)
function
c1784686
.
spfilter
(
c
,
e
,
tp
,
code
)
return
aux
.
IsMaterialListCode
(
c
,
code
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
return
aux
.
IsMaterialListCode
(
c
,
code
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
end
end
function
c1784686
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
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
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c1784686
.
tgfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c1784686
.
tgfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c1784686
.
tgfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c1784686
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
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
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
tc
:
IsCanBeFusionMaterial
()
and
not
tc
:
IsImmuneToEffect
(
e
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
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
())
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)
...
@@ -67,12 +67,12 @@ function c18210764.spfilter(c,e,tp)
and
not
c
:
IsCode
(
18210764
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
not
c
:
IsCode
(
18210764
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c18210764
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c18210764
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c18210764
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
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)
...
@@ -46,13 +46,13 @@ function c18326736.filter(c,e,tp,rk)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
end
end
function
c18326736
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c18326736
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
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
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
)
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
())
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
...
@@ -24,21 +24,20 @@ end
function
c19355597
.
splimit
(
e
,
se
,
sp
,
st
)
function
c19355597
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
or
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
or
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
end
end
function
c19355597
.
tgfilter
(
c
)
function
c19355597
.
tgfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x1047
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x1047
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
end
function
c19355597
.
spfilter
(
c
,
e
,
tp
)
function
c19355597
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x1047
)
and
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
return
c
:
IsSetCard
(
0x1047
)
and
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
end
end
function
c19355597
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c19355597
.
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
.
IsExistingMatchingCard
(
c19355597
.
tgfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
)
and
Duel
.
IsExistingMatchingCard
(
c19355597
.
tgfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
Duel
.
IsExistingMatchingCard
(
c19355597
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c19355597
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c19355597
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
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
()
local
tc
=
tg
:
GetFirst
()
if
tc
and
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
~=
0
and
tc
:
IsLocation
(
LOCATION_GRAVE
)
then
if
tc
and
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
~=
0
and
tc
:
IsLocation
(
LOCATION_GRAVE
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c20007374.lua
View file @
31ba57b1
...
@@ -38,13 +38,13 @@ function c20007374.filter(c,e,tp)
...
@@ -38,13 +38,13 @@ function c20007374.filter(c,e,tp)
return
c
:
IsCode
(
44508094
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_SYNCHRO
,
tp
,
false
,
false
)
return
c
:
IsCode
(
44508094
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_SYNCHRO
,
tp
,
false
,
false
)
end
end
function
c20007374
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c20007374
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c20007374
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c20007374
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c20007374
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
...
...
c20590784.lua
View file @
31ba57b1
...
@@ -26,8 +26,11 @@ function c20590784.filter(c,e,tp)
...
@@ -26,8 +26,11 @@ function c20590784.filter(c,e,tp)
end
end
function
c20590784
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
.
NegateAttack
()
and
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
~=
0
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
loc
=
0
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c20590784
.
filter
),
tp
,
LOCATION_EXTRA
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
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
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
20590784
,
0
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c2111707.lua
View file @
31ba57b1
...
@@ -34,53 +34,36 @@ end
...
@@ -34,53 +34,36 @@ end
function
c2111707
.
splimit
(
e
,
se
,
sp
,
st
)
function
c2111707
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
+
LOCATION_GRAVE
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
+
LOCATION_GRAVE
)
end
end
function
c2111707
.
spfilter
(
c
,
code
)
function
c2111707
.
matfilter
(
c
)
return
c
:
IsFusionCode
(
code
)
and
c
:
IsAbleToRemoveAsCost
()
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
end
function
c2111707
.
spcon
(
e
,
c
)
function
c2111707
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
tp
=
c
:
GetControler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c2111707
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
if
ft
<-
1
then
return
false
end
return
g
:
IsExists
(
c2111707
.
spfilter1
,
1
,
nil
,
tp
,
g
)
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
end
end
function
c2111707
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
function
c2111707
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c2111707
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
g1
=
Duel
.
GetMatchingGroup
(
c2111707
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
62651957
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g2
=
Duel
.
GetMatchingGroup
(
c2111707
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
65622692
)
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
)
g1
:
Merge
(
g2
)
local
g
=
Group
.
CreateGroup
()
local
cg
=
g1
:
Filter
(
Card
.
IsFacedown
,
nil
)
local
tc
=
nil
if
cg
:
GetCount
()
>
0
then
for
i
=
1
,
2
do
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
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
end
end
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
Duel
.
Remove
(
g
1
,
POS_FACEUP
,
REASON_COST
)
end
end
function
c2111707
.
descost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
...
@@ -17,14 +17,14 @@ end
function
c21143940
.
filter
(
c
,
e
,
tp
)
function
c21143940
.
filter
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x8
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x8
)
and
Duel
.
IsExistingMatchingCard
(
c21143940
.
tfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
c
:
GetAttribute
(),
e
,
tp
)
and
Duel
.
IsExistingMatchingCard
(
c21143940
.
tfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
c
:
GetAttribute
(),
e
,
tp
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
end
function
c21143940
.
chkfilter
(
c
,
att
)
function
c21143940
.
chkfilter
(
c
,
att
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x8
)
and
c
:
IsAttribute
(
att
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x8
)
and
c
:
IsAttribute
(
att
)
end
end
function
c21143940
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
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
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c21143940
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c21143940
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c21143940
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
)
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)
...
@@ -35,6 +35,7 @@ function c21143940.activate(e,tp,eg,ep,ev,re,r,rp)
if
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
if
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
local
att
=
tc
:
GetAttribute
()
local
att
=
tc
:
GetAttribute
()
if
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
==
0
then
return
end
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c21143940
.
tfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
att
,
e
,
tp
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c21143940
.
tfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
att
,
e
,
tp
)
if
sg
:
GetCount
()
>
0
then
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)
...
@@ -73,21 +73,19 @@ function c22211622.rcop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Recover
(
tp
,
tc
:
GetAttack
(),
REASON_EFFECT
)
Duel
.
Recover
(
tp
,
tc
:
GetAttack
(),
REASON_EFFECT
)
end
end
end
end
function
c22211622
.
desfilter
(
c
,
ft
)
function
c22211622
.
desfilter
(
c
,
tp
,
mc
)
if
ft
<-
1
then
return
false
end
return
c
:
IsFaceup
()
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
Group
.
FromCards
(
c
,
mc
))
>
0
return
c
:
IsFaceup
()
and
(
ft
>=
0
or
c
:
IsLocation
(
LOCATION_MZONE
))
end
end
function
c22211622
.
spfilter
(
c
,
e
,
tp
)
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
)
return
c
:
IsType
(
TYPE_XYZ
+
TYPE_PENDULUM
)
and
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c22211622
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c22211622
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
c
=
e
:
GetHandler
()
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
,
tp
,
c
)
and
chkc
~=
c
end
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
,
tp
,
c
)
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c22211622
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
c
,
ft
)
and
Duel
.
IsExistingMatchingCard
(
c22211622
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingMatchingCard
(
c22211622
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
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
)
g
:
AddCard
(
c
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
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)
...
@@ -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
if
not
c
:
IsRelateToEffect
(
e
)
or
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
local
dg
=
Group
.
FromCards
(
c
,
tc
)
local
dg
=
Group
.
FromCards
(
c
,
tc
)
if
Duel
.
Destroy
(
dg
,
REASON_EFFECT
)
==
2
then
if
Duel
.
Destroy
(
dg
,
REASON_EFFECT
)
==
2
then
if
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c22211622
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c22211622
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
==
0
then
return
end
if
g
:
GetCount
()
==
0
then
return
end
...
...
c23187256.lua
View file @
31ba57b1
...
@@ -103,7 +103,7 @@ function c23187256.filter(c,e,tp)
...
@@ -103,7 +103,7 @@ function c23187256.filter(c,e,tp)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c23187256
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
...
@@ -111,7 +111,7 @@ function c23187256.gfilter(c,rank)
...
@@ -111,7 +111,7 @@ function c23187256.gfilter(c,rank)
return
c
:
GetRank
()
==
rank
return
c
:
GetRank
()
==
rank
end
end
function
c23187256
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
ect
=
c29724053
and
Duel
.
IsPlayerAffectedByEffect
(
tp
,
29724053
)
and
c29724053
[
tp
]
local
ect
=
c29724053
and
Duel
.
IsPlayerAffectedByEffect
(
tp
,
29724053
)
and
c29724053
[
tp
]
if
ect
~=
nil
then
ft
=
math.min
(
ft
,
ect
)
end
if
ect
~=
nil
then
ft
=
math.min
(
ft
,
ect
)
end
...
...
c23379054.lua
View file @
31ba57b1
...
@@ -35,19 +35,21 @@ end
...
@@ -35,19 +35,21 @@ end
function
c23379054
.
splimit
(
e
,
c
,
sump
,
sumtype
,
sumpos
,
targetp
,
se
)
function
c23379054
.
splimit
(
e
,
c
,
sump
,
sumtype
,
sumpos
,
targetp
,
se
)
return
c
:
GetRace
()
~=
RACE_DRAGON
return
c
:
GetRace
()
~=
RACE_DRAGON
end
end
function
c23379054
.
filter1
(
c
,
e
,
tp
,
lv
)
function
c23379054
.
filter1
(
c
,
e
,
tp
,
mc
,
lv
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsAbleToRemove
()
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
.
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
end
function
c23379054
.
filter2
(
c
,
e
,
tp
,
lv
)
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
)
return
c
:
GetLevel
()
==
lv
and
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c23379054
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
e
:
GetHandler
():
IsAbleToRemove
()
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c23379054
.
filter1
(
chkc
,
e
,
tp
,
c
,
c
:
GetLevel
())
end
and
Duel
.
IsExistingTarget
(
c23379054
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
,
e
:
GetHandler
():
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
)
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
())
g
:
AddCard
(
e
:
GetHandler
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
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)
...
@@ -59,7 +61,7 @@ function c23379054.operation(e,tp,eg,ep,ev,re,r,rp)
local
lv
=
c
:
GetLevel
()
+
tc
:
GetLevel
()
local
lv
=
c
:
GetLevel
()
+
tc
:
GetLevel
()
local
g
=
Group
.
FromCards
(
c
,
tc
)
local
g
=
Group
.
FromCards
(
c
,
tc
)
if
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
==
2
then
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c23379054
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
lv
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c23379054
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
lv
)
if
sg
:
GetCount
()
>
0
then
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)
...
@@ -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
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonCount
(
tp
,
2
)
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
1
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
1
and
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
exg
:
GetCount
()
>
0
end
and
exg
:
GetCount
()
>
0
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg1
=
mg
:
FilterSelect
(
tp
,
c23536866
.
mfilter1
,
1
,
1
,
nil
,
mg
,
exg
)
local
sg1
=
mg
:
FilterSelect
(
tp
,
c23536866
.
mfilter1
,
1
,
1
,
nil
,
mg
,
exg
)
...
@@ -52,7 +53,7 @@ function c23536866.filter2(c,e,tp)
...
@@ -52,7 +53,7 @@ function c23536866.filter2(c,e,tp)
end
end
function
c23536866
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c23536866
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
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
)
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
):
Filter
(
c23536866
.
filter2
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
<
2
then
return
end
if
g
:
GetCount
()
<
2
then
return
end
local
tc1
=
g
:
GetFirst
()
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)
...
@@ -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
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
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonCount
(
tp
,
2
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
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
and
Duel
.
IsExistingTarget
(
c23581825
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c23581825
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
2
,
tp
,
LOCATION_EXTRA
)
end
end
function
c23581825
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
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
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)
...
@@ -66,13 +66,13 @@ function c23998625.spfilter(c,e,tp)
return
c
:
IsCode
(
97403510
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
return
c
:
IsCode
(
97403510
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
end
end
function
c23998625
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c23998625
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c23998625
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
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
)
local
tc
=
Duel
.
GetFirstMatchingCard
(
c23998625
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
)
if
tc
then
if
tc
then
local
cg
=
Group
.
FromCards
(
c
)
local
cg
=
Group
.
FromCards
(
c
)
...
...
c24590232.lua
View file @
31ba57b1
...
@@ -27,7 +27,7 @@ function c24590232.filter3(c)
...
@@ -27,7 +27,7 @@ function c24590232.filter3(c)
return
c
:
GetLevel
()
>
0
and
not
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsAbleToRemove
()
return
c
:
GetLevel
()
>
0
and
not
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsAbleToRemove
()
end
end
function
c24590232
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
.
IsExistingMatchingCard
(
c24590232
.
filter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
24590232
,
0
))
then
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
24590232
,
0
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
...
...
c25119460.lua
View file @
31ba57b1
...
@@ -34,53 +34,36 @@ end
...
@@ -34,53 +34,36 @@ end
function
c25119460
.
splimit
(
e
,
se
,
sp
,
st
)
function
c25119460
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
+
LOCATION_GRAVE
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
+
LOCATION_GRAVE
)
end
end
function
c25119460
.
spfilter
(
c
,
code
)
function
c25119460
.
matfilter
(
c
)
return
c
:
IsFusionCode
(
code
)
and
c
:
IsAbleToRemoveAsCost
()
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
end
function
c25119460
.
spcon
(
e
,
c
)
function
c25119460
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
tp
=
c
:
GetControler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c25119460
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
if
ft
<-
1
then
return
false
end
return
g
:
IsExists
(
c25119460
.
spfilter1
,
1
,
nil
,
tp
,
g
)
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
end
end
function
c25119460
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
function
c25119460
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c25119460
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
g1
=
Duel
.
GetMatchingGroup
(
c25119460
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
65622692
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g2
=
Duel
.
GetMatchingGroup
(
c25119460
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
64500000
)
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
)
g1
:
Merge
(
g2
)
local
g
=
Group
.
CreateGroup
()
local
cg
=
g1
:
Filter
(
Card
.
IsFacedown
,
nil
)
local
tc
=
nil
if
cg
:
GetCount
()
>
0
then
for
i
=
1
,
2
do
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
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
end
end
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
Duel
.
Remove
(
g
1
,
POS_FACEUP
,
REASON_COST
)
end
end
function
c25119460
.
descost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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)
...
@@ -27,6 +27,7 @@ function c25148255.mfilter(c,e,tp,mc)
local
mg
=
Group
.
FromCards
(
c
,
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
)
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
.
IsExistingMatchingCard
(
c25148255
.
scfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
mg
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
mg
)
>
0
end
end
function
c25148255
.
scfilter
(
c
,
mg
)
function
c25148255
.
scfilter
(
c
,
mg
)
return
aux
.
IsMaterialListSetCard
(
c
,
0x1017
)
and
c
:
IsSynchroSummonable
(
nil
,
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)
...
@@ -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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c25148255
.
scop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
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
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
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
local
mg
=
Group
.
FromCards
(
c
,
tc
)
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
)
local
g
=
Duel
.
GetMatchingGroup
(
c25148255
.
scfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
mg
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c26194151.lua
View file @
31ba57b1
...
@@ -24,12 +24,12 @@ function c26194151.filter3(c)
...
@@ -24,12 +24,12 @@ function c26194151.filter3(c)
return
c
:
GetLevel
()
>
0
and
not
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsAbleToRemove
()
return
c
:
GetLevel
()
>
0
and
not
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsAbleToRemove
()
end
end
function
c26194151
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c26194151
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
c26194151
.
filter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
c26194151
.
filter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g1
:
GetFirst
()
local
tc
=
g1
:
GetFirst
()
...
...
c27503418.lua
View file @
31ba57b1
...
@@ -24,7 +24,7 @@ function c27503418.filter2(c,tp,lv)
...
@@ -24,7 +24,7 @@ function c27503418.filter2(c,tp,lv)
end
end
function
c27503418
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c27503418
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetAttackTarget
()
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
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
and
tc
:
IsAbleToRemove
()
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
27503418
,
0
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
...
...
c27552504.lua
View file @
31ba57b1
...
@@ -61,12 +61,12 @@ function c27552504.spfilter(c,e,tp)
...
@@ -61,12 +61,12 @@ function c27552504.spfilter(c,e,tp)
return
c
:
IsSetCard
(
0xb1
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
return
c
:
IsSetCard
(
0xb1
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
end
end
function
c27552504
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c27552504
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c27552504
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c27552504
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
...
...
c28677304.lua
View file @
31ba57b1
...
@@ -52,57 +52,36 @@ c28677304.material_setcode=0x8
...
@@ -52,57 +52,36 @@ c28677304.material_setcode=0x8
function
c28677304
.
splimit
(
e
,
se
,
sp
,
st
)
function
c28677304
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
end
end
function
c28677304
.
spfilter
(
c
,
code
)
function
c28677304
.
matfilter
(
c
)
return
c
:
IsAbleToDeckOrExtraAsCost
()
and
c
:
IsFusionCode
(
code
)
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
end
function
c28677304
.
spcon
(
e
,
c
)
function
c28677304
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
tp
=
c
:
GetControler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c28677304
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
if
ft
<-
1
then
return
false
end
return
g
:
IsExists
(
c28677304
.
spfilter1
,
1
,
nil
,
tp
,
g
)
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
end
end
function
c28677304
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
function
c28677304
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c28677304
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
g1
=
Duel
.
GetMatchingGroup
(
c28677304
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g2
=
Duel
.
GetMatchingGroup
(
c28677304
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
43237273
)
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
)
g1
:
Merge
(
g2
)
local
g
=
Group
.
CreateGroup
()
local
cg
=
g1
:
Filter
(
Card
.
IsFacedown
,
nil
)
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
)
if
cg
:
GetCount
()
>
0
then
if
cg
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
end
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_COST
)
Duel
.
SendtoDeck
(
g
1
,
nil
,
2
,
REASON_COST
)
end
end
function
c28677304
.
retcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c28677304
.
retcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
e
:
GetHandler
():
IsHasEffect
(
42015635
)
return
not
e
:
GetHandler
():
IsHasEffect
(
42015635
)
...
...
c29085954.lua
View file @
31ba57b1
...
@@ -30,14 +30,14 @@ function c29085954.filter(c,e,tp,mc)
...
@@ -30,14 +30,14 @@ function c29085954.filter(c,e,tp,mc)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
end
end
function
c29085954
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
and
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_EXTRA
,
0
)
>
0
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c29085954
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c29085954
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
Get
MatchingGroup
(
nil
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
local
g
=
Duel
.
Get
FieldGroup
(
tp
,
LOCATION_EXTRA
,
0
)
if
g
:
GetCount
()
>
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
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
and
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
and
c
:
IsControler
(
tp
)
and
not
c
:
IsImmuneToEffect
(
e
)
then
local
tg
=
g
:
RandomSelect
(
1
-
tp
,
1
)
local
tg
=
g
:
RandomSelect
(
1
-
tp
,
1
)
Duel
.
ConfirmCards
(
1
-
tp
,
tg
)
Duel
.
ConfirmCards
(
1
-
tp
,
tg
)
...
...
c29762407.lua
View file @
31ba57b1
...
@@ -42,13 +42,19 @@ function c29762407.filter(c,e,tp)
...
@@ -42,13 +42,19 @@ function c29762407.filter(c,e,tp)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c29762407
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
local
loc
=
0
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
0x43
)
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
end
function
c29762407
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
)
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
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
...
...
c3298689.lua
View file @
31ba57b1
--RUM-幻影騎士団ラウンチ
--RUM-幻影騎士団ラウンチ
function
c3298689
.
initial_effect
(
c
)
function
c3298689
.
initial_effect
(
c
)
--Activate
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
...
@@ -28,6 +28,7 @@ function c3298689.filter1(c,e,tp)
...
@@ -28,6 +28,7 @@ function c3298689.filter1(c,e,tp)
local
rk
=
c
:
GetRank
()
local
rk
=
c
:
GetRank
()
return
rk
>
0
and
c
:
IsFaceup
()
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
c
:
GetOverlayCount
()
==
0
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
.
IsExistingMatchingCard
(
c3298689
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
c
:
GetRank
()
+
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
end
function
c3298689
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
function
c3298689
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
if
c
:
GetOriginalCode
()
==
6165656
and
mc
:
GetCode
()
~=
48995978
then
return
false
end
if
c
:
GetOriginalCode
()
==
6165656
and
mc
:
GetCode
()
~=
48995978
then
return
false
end
...
@@ -36,16 +37,15 @@ function c3298689.filter2(c,e,tp,mc,rk)
...
@@ -36,16 +37,15 @@ function c3298689.filter2(c,e,tp,mc,rk)
end
end
function
c3298689
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
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
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c3298689
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c3298689
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c3298689
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c3298689
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c3298689
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
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
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
)
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
)
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
...
@@ -18,18 +18,18 @@ end
function
c33252803
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
no
)
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
)
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
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
end
function
c33252803
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
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
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c33252803
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c33252803
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c33252803
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c33252803
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
local
m
=
_G
[
"c"
..
tc
:
GetCode
()]
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
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c33280639.lua
View file @
31ba57b1
...
@@ -40,13 +40,18 @@ function c33280639.filter(c,e,tp)
...
@@ -40,13 +40,18 @@ function c33280639.filter(c,e,tp)
return
c
:
IsCode
(
11790356
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsCode
(
11790356
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c33280639
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c33280639
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
local
loc
=
0
and
Duel
.
IsExistingMatchingCard
(
c33280639
.
filter
,
tp
,
LOCATION_EXTRA
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
loc
=
loc
+
LOCATION_GRAVE
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
+
LOCATION_GRAVE
)
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
end
function
c33280639
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c33280639
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
1
then
return
end
local
loc
=
0
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33280639
.
filter
),
tp
,
LOCATION_EXTRA
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
()
local
tc
=
g
:
GetFirst
()
if
tc
and
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
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
)
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)
...
@@ -19,12 +19,12 @@ function c34206604.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
PayLPCost
(
tp
,
1000
)
Duel
.
PayLPCost
(
tp
,
1000
)
end
end
function
c34206604
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c34206604
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c34206604
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c34206604
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
...
...
c35014241.lua
View file @
31ba57b1
...
@@ -18,6 +18,7 @@ end
...
@@ -18,6 +18,7 @@ end
function
c35014241
.
cfilter2
(
c
,
e
,
tp
,
tc
)
function
c35014241
.
cfilter2
(
c
,
e
,
tp
,
tc
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
not
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsAbleToExtraAsCost
()
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
.
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
end
function
c35014241
.
spfilter
(
c
,
e
,
tp
,
lv
)
function
c35014241
.
spfilter
(
c
,
e
,
tp
,
lv
)
return
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
GetLevel
()
==
lv
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
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)
...
@@ -37,12 +38,12 @@ function c35014241.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
if
chk
==
0
then
if
e
:
GetLabel
()
~=
1
then
return
false
end
if
e
:
GetLabel
()
~=
1
then
return
false
end
e
:
SetLabel
(
0
)
e
:
SetLabel
(
0
)
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
2
return
true
end
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c35014241
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
local
lv
=
e
:
GetLabel
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c35014241
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
lv
)
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)
...
@@ -23,7 +23,7 @@ function c35329581.spfilter(c,e,tp,tc)
end
end
function
c35329581
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
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
and
eg
:
IsExists
(
c35329581
.
filter
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
eg
:
FilterSelect
(
tp
,
c35329581
.
filter
,
1
,
1
,
nil
,
e
,
tp
)
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)
...
@@ -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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c35329581
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsFacedown
()
then
return
end
if
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsFacedown
()
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c35952884.lua
View file @
31ba57b1
...
@@ -97,7 +97,7 @@ function c35952884.filter(c,e,tp)
...
@@ -97,7 +97,7 @@ function c35952884.filter(c,e,tp)
return
c
:
IsCode
(
24696097
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
true
)
return
c
:
IsCode
(
24696097
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
true
)
end
end
function
c35952884
.
sumtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
...
...
c36630403.lua
View file @
31ba57b1
...
@@ -22,7 +22,7 @@ function c36630403.filter2(c,e,tp,lv)
...
@@ -22,7 +22,7 @@ function c36630403.filter2(c,e,tp,lv)
end
end
function
c36630403
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
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
and
Duel
.
IsExistingTarget
(
c36630403
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
,
e
:
GetHandler
():
GetLevel
())
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
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
())
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)
...
@@ -37,7 +37,7 @@ function c36630403.operation(e,tp,eg,ep,ev,re,r,rp)
local
lv
=
c
:
GetLevel
()
+
tc
:
GetLevel
()
local
lv
=
c
:
GetLevel
()
+
tc
:
GetLevel
()
local
g
=
Group
.
FromCards
(
c
,
tc
)
local
g
=
Group
.
FromCards
(
c
,
tc
)
if
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
==
2
then
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c36630403
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
lv
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c36630403
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
lv
)
if
sg
:
GetCount
()
>
0
then
if
sg
:
GetCount
()
>
0
then
...
...
c36737092.lua
View file @
31ba57b1
...
@@ -17,6 +17,7 @@ end
...
@@ -17,6 +17,7 @@ end
function
c36737092
.
filter1
(
c
,
e
,
tp
)
function
c36737092
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsAbleToRemoveAsCost
()
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
.
IsExistingMatchingCard
(
c36737092
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
c
:
GetLevel
(),
e
,
tp
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
end
function
c36737092
.
filter2
(
c
,
lv
,
e
,
tp
)
function
c36737092
.
filter2
(
c
,
lv
,
e
,
tp
)
return
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
GetLevel
()
==
lv
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
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)
...
@@ -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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c36737092
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
local
lv
=
e
:
GetLabel
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c36737092
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
lv
,
e
,
tp
)
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)
...
@@ -58,18 +58,23 @@ function c39024589.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c39024589
.
filter
(
c
,
e
,
tp
)
function
c39024589
.
filter
(
c
,
e
,
tp
)
local
lv
=
c
:
GetLevel
()
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
)
and
(
lv
==
1
or
lv
==
8
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c39024589
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c39024589
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
local
loc
=
0
and
Duel
.
IsExistingMatchingCard
(
c39024589
.
filter
,
tp
,
LOCATION_EXTRA
+
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
loc
=
loc
+
LOCATION_HAND
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
+
LOCATION_HAND
)
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
end
function
c39024589
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
)
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
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
...
...
c41201386.lua
View file @
31ba57b1
...
@@ -26,6 +26,7 @@ function c41201386.filter1(c,e,tp)
...
@@ -26,6 +26,7 @@ function c41201386.filter1(c,e,tp)
local
rk
=
c
:
GetRank
()
local
rk
=
c
:
GetRank
()
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
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
.
IsExistingMatchingCard
(
c41201386
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
end
function
c41201386
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
function
c41201386
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
return
c
:
GetRank
()
==
rk
and
c
:
IsSetCard
(
0xba
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
return
c
:
GetRank
()
==
rk
and
c
:
IsSetCard
(
0xba
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
@@ -33,15 +34,14 @@ function c41201386.filter2(c,e,tp,mc,rk)
...
@@ -33,15 +34,14 @@ function c41201386.filter2(c,e,tp,mc,rk)
end
end
function
c41201386
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
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
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c41201386
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c41201386
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c41201386
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c41201386
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
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
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
)
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
)
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)
...
@@ -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
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
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonCount
(
tp
,
2
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
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
and
Duel
.
IsExistingTarget
(
c43383478
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c43383478
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
2
,
tp
,
LOCATION_EXTRA
)
end
end
function
c43383478
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
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
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)
...
@@ -15,6 +15,7 @@ function c43476205.filter1(c,e,tp)
local
rk
=
c
:
GetRank
()
local
rk
=
c
:
GetRank
()
return
rk
>
0
and
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xba
)
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
.
IsExistingMatchingCard
(
c43476205
.
filter3
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
end
function
c43476205
.
filter2
(
c
,
e
,
tp
)
function
c43476205
.
filter2
(
c
,
e
,
tp
)
local
rk
=
c
:
GetRank
()
local
rk
=
c
:
GetRank
()
...
@@ -28,14 +29,14 @@ end
...
@@ -28,14 +29,14 @@ end
function
c43476205
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c43476205
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
Duel
.
GetTurnPlayer
()
==
tp
then
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
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
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c43476205
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c43476205
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
e
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c43476205
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SelectTarget
(
tp
,
c43476205
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
else
else
if
chkc
then
return
chkc
:
IsControler
(
1
-
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c43476205
.
filter2
(
chkc
,
e
,
tp
)
end
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
)
e
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_CONTROL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c43476205
.
filter2
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
,
e
,
tp
)
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)
...
@@ -50,7 +51,7 @@ function c43476205.activate(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
GetControl
(
tc
,
tp
)
==
0
then
return
end
if
Duel
.
GetControl
(
tc
,
tp
)
==
0
then
return
end
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
end
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
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
)
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
)
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)
...
@@ -20,16 +20,16 @@ function c440556.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
end
end
function
c440556
.
filter
(
c
,
e
,
tp
)
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
end
function
c440556
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c440556
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c440556
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c440556
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
)
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)
...
@@ -18,6 +18,7 @@ function c458748.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c458748
.
filter1
(
c
,
e
,
tp
)
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
())
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
end
function
c458748
.
filter2
(
c
,
e
,
tp
,
att
)
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
()
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)
...
@@ -26,8 +27,7 @@ function c458748.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
if
chk
==
0
then
if
e
:
GetLabel
()
~=
100
then
return
false
end
if
e
:
GetLabel
()
~=
100
then
return
false
end
e
:
SetLabel
(
0
)
e
:
SetLabel
(
0
)
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
return
Duel
.
CheckReleaseGroup
(
tp
,
c458748
.
filter1
,
1
,
nil
,
e
,
tp
)
and
Duel
.
CheckReleaseGroup
(
tp
,
c458748
.
filter1
,
1
,
nil
,
e
,
tp
)
end
end
local
rg
=
Duel
.
SelectReleaseGroup
(
tp
,
c458748
.
filter1
,
1
,
1
,
nil
,
e
,
tp
)
local
rg
=
Duel
.
SelectReleaseGroup
(
tp
,
c458748
.
filter1
,
1
,
1
,
nil
,
e
,
tp
)
e
:
SetLabel
(
rg
:
GetFirst
():
GetOriginalAttribute
())
e
:
SetLabel
(
rg
:
GetFirst
():
GetOriginalAttribute
())
...
@@ -35,7 +35,7 @@ function c458748.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c458748
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
local
att
=
e
:
GetLabel
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c458748
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
att
)
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)
...
@@ -30,6 +30,7 @@ function c45950291.filter1(c,e,tp)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
not
Duel
.
IsExistingMatchingCard
(
c45950291
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
rk
)
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
.
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
end
function
c45950291
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
rc
,
att
,
code
)
function
c45950291
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
rc
,
att
,
code
)
if
c
:
GetOriginalCode
()
==
6165656
and
code
~=
48995978
then
return
false
end
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)
...
@@ -38,15 +39,14 @@ function c45950291.filter2(c,e,tp,mc,rk,rc,att,code)
end
end
function
c45950291
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
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
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c45950291
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c45950291
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c45950291
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c45950291
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
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
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
)
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
())
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
...
@@ -64,6 +64,7 @@ end
function
c46008667
.
filter1
(
c
,
e
,
tp
)
function
c46008667
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x107a
)
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
.
IsExistingMatchingCard
(
c46008667
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
end
function
c46008667
.
filter2
(
c
,
e
,
tp
,
mc
,
code
)
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
)
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)
...
@@ -71,15 +72,14 @@ function c46008667.filter2(c,e,tp,mc,code)
end
end
function
c46008667
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
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
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c46008667
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c46008667
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c46008667
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c46008667
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
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
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
)
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
())
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
...
@@ -18,6 +18,7 @@ end
function
c46411259
.
filter1
(
c
,
e
,
tp
)
function
c46411259
.
filter1
(
c
,
e
,
tp
)
local
lv
=
c
:
GetLevel
()
local
lv
=
c
:
GetLevel
()
return
lv
>
0
and
Duel
.
IsExistingMatchingCard
(
c46411259
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
lv
,
e
,
tp
)
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
end
function
c46411259
.
filter2
(
c
,
lv
,
e
,
tp
)
function
c46411259
.
filter2
(
c
,
lv
,
e
,
tp
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
GetLevel
()
==
lv
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
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)
...
@@ -26,8 +27,7 @@ function c46411259.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
if
chk
==
0
then
if
e
:
GetLabel
()
~=
100
then
return
false
end
if
e
:
GetLabel
()
~=
100
then
return
false
end
e
:
SetLabel
(
0
)
e
:
SetLabel
(
0
)
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
return
Duel
.
CheckReleaseGroup
(
tp
,
c46411259
.
filter1
,
1
,
nil
,
e
,
tp
)
and
Duel
.
CheckReleaseGroup
(
tp
,
c46411259
.
filter1
,
1
,
nil
,
e
,
tp
)
end
end
local
rg
=
Duel
.
SelectReleaseGroup
(
tp
,
c46411259
.
filter1
,
1
,
1
,
nil
,
e
,
tp
)
local
rg
=
Duel
.
SelectReleaseGroup
(
tp
,
c46411259
.
filter1
,
1
,
1
,
nil
,
e
,
tp
)
e
:
SetLabel
(
rg
:
GetFirst
():
GetLevel
())
e
:
SetLabel
(
rg
:
GetFirst
():
GetLevel
())
...
@@ -35,7 +35,7 @@ function c46411259.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c46411259
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
local
lv
=
e
:
GetLabel
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c46411259
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
lv
,
e
,
tp
)
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)
...
@@ -59,14 +59,19 @@ function c4688231.spfilter(c,e,tp)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c4688231
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c4688231
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
local
loc
=
0
and
Duel
.
IsExistingMatchingCard
(
c4688231
.
spfilter
,
tp
,
LOCATION_GRAVE
+
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
loc
=
loc
+
LOCATION_GRAVE
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_GRAVE
+
LOCATION_EXTRA
)
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
end
function
c4688231
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
)
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
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
...
...
c47185546.lua
View file @
31ba57b1
...
@@ -14,6 +14,7 @@ function c47185546.filter1(c,e,tp)
...
@@ -14,6 +14,7 @@ function c47185546.filter1(c,e,tp)
local
rk
=
c
:
GetRank
()
local
rk
=
c
:
GetRank
()
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_INSECT
)
and
c
:
IsType
(
TYPE_XYZ
)
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
.
IsExistingMatchingCard
(
c47185546
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
end
function
c47185546
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
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
)
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)
...
@@ -21,15 +22,14 @@ function c47185546.filter2(c,e,tp,mc,rk)
end
end
function
c47185546
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
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
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c47185546
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c47185546
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c47185546
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c47185546
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
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
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
)
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
())
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)
...
@@ -14,6 +14,7 @@ function c47660516.filter1(c,e,tp)
local
rk
=
c
:
GetRank
()
local
rk
=
c
:
GetRank
()
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
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
.
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
end
function
c47660516
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
rc
,
code
)
function
c47660516
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
rc
,
code
)
if
c
:
GetOriginalCode
()
==
6165656
and
code
~=
48995978
then
return
false
end
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)
...
@@ -22,15 +23,14 @@ function c47660516.filter2(c,e,tp,mc,rk,rc,code)
end
end
function
c47660516
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
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
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c47660516
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c47660516
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c47660516
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
()
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
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
)
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
())
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)
...
@@ -18,6 +18,7 @@ function c47882565.filter1(c,e,tp)
local
rk
=
c
:
GetRank
()
local
rk
=
c
:
GetRank
()
return
rk
>
0
and
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xe5
)
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
.
IsExistingMatchingCard
(
c47882565
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
end
function
c47882565
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
function
c47882565
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
return
c
:
GetRank
()
==
rk
and
c
:
IsSetCard
(
0xe5
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
return
c
:
GetRank
()
==
rk
and
c
:
IsSetCard
(
0xe5
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
@@ -25,8 +26,7 @@ function c47882565.filter2(c,e,tp,mc,rk)
...
@@ -25,8 +26,7 @@ function c47882565.filter2(c,e,tp,mc,rk)
end
end
function
c47882565
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
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
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c47882565
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c47882565
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c47882565
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
@@ -34,7 +34,7 @@ end
...
@@ -34,7 +34,7 @@ end
function
c47882565
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c47882565
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
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
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
)
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
)
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)
...
@@ -14,6 +14,7 @@ function c48333324.filter1(c,e,tp)
local
rk
=
c
:
GetRank
()
local
rk
=
c
:
GetRank
()
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
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
.
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
end
function
c48333324
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
rc
,
code
)
function
c48333324
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
rc
,
code
)
if
c
:
GetOriginalCode
()
==
6165656
and
code
~=
48995978
then
return
false
end
if
c
:
GetOriginalCode
()
==
6165656
and
code
~=
48995978
then
return
false
end
...
@@ -25,16 +26,15 @@ function c48333324.disfilter(c)
...
@@ -25,16 +26,15 @@ function c48333324.disfilter(c)
end
end
function
c48333324
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
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
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c48333324
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c48333324
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c48333324
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
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
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
)
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
())
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
...
@@ -52,57 +52,36 @@ c48996569.material_setcode=0x8
function
c48996569
.
splimit
(
e
,
se
,
sp
,
st
)
function
c48996569
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
end
end
function
c48996569
.
spfilter
(
c
,
code
)
function
c48996569
.
matfilter
(
c
)
return
c
:
IsAbleToDeckOrExtraAsCost
()
and
c
:
IsFusionCode
(
code
)
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
end
function
c48996569
.
spcon
(
e
,
c
)
function
c48996569
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
tp
=
c
:
GetControler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c48996569
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
if
ft
<-
1
then
return
false
end
return
g
:
IsExists
(
c48996569
.
spfilter1
,
1
,
nil
,
tp
,
g
)
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
end
end
function
c48996569
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
function
c48996569
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c48996569
.
matfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
g1
=
Duel
.
GetMatchingGroup
(
c48996569
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g2
=
Duel
.
GetMatchingGroup
(
c48996569
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
80344569
)
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
)
g1
:
Merge
(
g2
)
local
g
=
Group
.
CreateGroup
()
local
cg
=
g1
:
Filter
(
Card
.
IsFacedown
,
nil
)
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
)
if
cg
:
GetCount
()
>
0
then
if
cg
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
end
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_COST
)
Duel
.
SendtoDeck
(
g
1
,
nil
,
2
,
REASON_COST
)
end
end
function
c48996569
.
retcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c48996569
.
retcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
e
:
GetHandler
():
IsHasEffect
(
42015635
)
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