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
1d3a34c2
Commit
1d3a34c2
authored
Apr 09, 2018
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add aux.MustMaterialCheck
parent
46bb1217
Changes
27
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
102 additions
and
80 deletions
+102
-80
c10424147.lua
c10424147.lua
+3
-1
c18326736.lua
c18326736.lua
+2
-1
c23581825.lua
c23581825.lua
+2
-1
c23998625.lua
c23998625.lua
+2
-1
c29085954.lua
c29085954.lua
+2
-1
c3298689.lua
c3298689.lua
+2
-1
c41201386.lua
c41201386.lua
+2
-1
c43383478.lua
c43383478.lua
+2
-1
c43476205.lua
c43476205.lua
+3
-2
c45950291.lua
c45950291.lua
+2
-1
c46008667.lua
c46008667.lua
+2
-1
c47185546.lua
c47185546.lua
+2
-1
c47660516.lua
c47660516.lua
+2
-1
c47882565.lua
c47882565.lua
+2
-1
c48333324.lua
c48333324.lua
+2
-1
c57734012.lua
c57734012.lua
+2
-0
c58988903.lua
c58988903.lua
+2
-1
c61818176.lua
c61818176.lua
+2
-1
c64414267.lua
c64414267.lua
+2
-1
c70026064.lua
c70026064.lua
+2
-1
c71345905.lua
c71345905.lua
+2
-1
c83319610.lua
c83319610.lua
+2
-1
c86196216.lua
c86196216.lua
+2
-1
c92365601.lua
c92365601.lua
+2
-1
c93238626.lua
c93238626.lua
+1
-1
c94220427.lua
c94220427.lua
+2
-1
utility.lua
utility.lua
+49
-54
No files found.
c10424147.lua
View file @
1d3a34c2
...
...
@@ -35,6 +35,7 @@ end
function
c10424147
.
spfilter1
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x10dc
)
and
Duel
.
IsExistingMatchingCard
(
c10424147
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
c
:
GetAttribute
())
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c10424147
.
spfilter2
(
c
,
e
,
tp
,
mc
,
att
)
return
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x20dc
)
and
c
:
IsAttribute
(
att
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
...
@@ -79,6 +80,7 @@ function c10424147.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chkc
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c10424147
.
spfilter3
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
,
e
)
if
chk
==
0
then
return
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
and
Duel
.
IsExistingMatchingCard
(
c10424147
.
spfilter4
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
...
...
@@ -98,7 +100,7 @@ function c10424147.mtfilter(c,e)
return
c
:
IsRelateToEffect
(
e
)
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c10424147
.
spop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
or
not
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c10424147
.
spfilter4
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
sc
=
sg
:
GetFirst
()
...
...
c18326736.lua
View file @
1d3a34c2
...
...
@@ -47,12 +47,13 @@ function c18326736.filter(c,e,tp,rk)
end
function
c18326736
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
e
:
GetHandler
())
>
0
and
aux
.
MustMaterialCheck
(
e
:
GetHandler
(),
tp
,
EFFECT_MUST_BE_XMATERIAL
)
and
Duel
.
IsExistingMatchingCard
(
c18326736
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
e
:
GetHandler
():
GetRank
())
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c18326736
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
<=
0
or
not
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
c
:
IsFacedown
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsControler
(
1
-
tp
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c18326736
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
c
:
GetRank
())
...
...
c23581825.lua
View file @
1d3a34c2
...
...
@@ -29,6 +29,7 @@ function c23581825.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonCount
(
tp
,
2
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
and
Duel
.
IsExistingTarget
(
c23581825
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c23581825
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
...
...
@@ -39,7 +40,7 @@ function c23581825.activate(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
if
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
==
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c23581825
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
2
)
local
sc
=
g
:
GetFirst
()
...
...
c23998625.lua
View file @
1d3a34c2
...
...
@@ -67,12 +67,13 @@ function c23998625.spfilter(c,e,tp)
end
function
c23998625
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
and
Duel
.
IsExistingMatchingCard
(
c23998625
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c23998625
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
if
not
c
:
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
or
not
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
local
tc
=
Duel
.
GetFirstMatchingCard
(
c23998625
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
)
if
tc
then
local
cg
=
Group
.
FromCards
(
c
)
...
...
c29085954.lua
View file @
1d3a34c2
...
...
@@ -31,13 +31,14 @@ function c29085954.filter(c,e,tp,mc)
end
function
c29085954
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
e
:
GetHandler
())
>
0
and
aux
.
MustMaterialCheck
(
e
:
GetHandler
(),
tp
,
EFFECT_MUST_BE_XMATERIAL
)
and
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_EXTRA
,
0
)
>
0
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c29085954
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_EXTRA
,
0
)
if
g
:
GetCount
()
>
0
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
if
g
:
GetCount
()
>
0
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
and
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
and
c
:
IsControler
(
tp
)
and
not
c
:
IsImmuneToEffect
(
e
)
then
local
tg
=
g
:
RandomSelect
(
1
-
tp
,
1
)
Duel
.
ConfirmCards
(
1
-
tp
,
tg
)
...
...
c3298689.lua
View file @
1d3a34c2
...
...
@@ -29,6 +29,7 @@ function c3298689.filter1(c,e,tp)
return
rk
>
0
and
c
:
IsFaceup
()
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
c
:
GetOverlayCount
()
==
0
and
Duel
.
IsExistingMatchingCard
(
c3298689
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
c
:
GetRank
()
+
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c3298689
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
if
c
:
GetOriginalCode
()
==
6165656
and
mc
:
GetCode
()
~=
48995978
then
return
false
end
...
...
@@ -45,7 +46,7 @@ end
function
c3298689
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c3298689
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
)
...
...
c41201386.lua
View file @
1d3a34c2
...
...
@@ -27,6 +27,7 @@ function c41201386.filter1(c,e,tp)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
Duel
.
IsExistingMatchingCard
(
c41201386
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c41201386
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
return
c
:
GetRank
()
==
rk
and
c
:
IsSetCard
(
0xba
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
...
@@ -41,7 +42,7 @@ function c41201386.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function
c41201386
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c41201386
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
)
...
...
c43383478.lua
View file @
1d3a34c2
...
...
@@ -49,6 +49,7 @@ function c43383478.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonCount
(
tp
,
2
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
and
Duel
.
IsExistingTarget
(
c43383478
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c43383478
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
...
...
@@ -59,7 +60,7 @@ function c43383478.activate(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
if
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
==
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c43383478
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
)
local
sc
=
g
:
GetFirst
()
...
...
c43476205.lua
View file @
1d3a34c2
...
...
@@ -16,10 +16,11 @@ function c43476205.filter1(c,e,tp)
return
rk
>
0
and
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xba
)
and
Duel
.
IsExistingMatchingCard
(
c43476205
.
filter3
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c43476205
.
filter2
(
c
,
e
,
tp
)
local
rk
=
c
:
GetRank
()
return
rk
>
0
and
c
:
IsFaceup
()
and
c
:
GetOverlayCount
()
==
0
and
c
:
IsControlerCanBeChanged
()
return
rk
>
0
and
c
:
IsFaceup
()
and
c
:
GetOverlayCount
()
==
0
and
c
:
IsControlerCanBeChanged
()
and
aux
.
MustMaterialCheck
(
c
,
1
-
tp
,
EFFECT_MUST_BE_XMATERIAL
)
and
Duel
.
IsExistingMatchingCard
(
c43476205
.
filter3
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
)
end
function
c43476205
.
filter3
(
c
,
e
,
tp
,
mc
,
rk
)
...
...
@@ -51,7 +52,7 @@ function c43476205.activate(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
GetControl
(
tc
,
tp
)
==
0
then
return
end
Duel
.
BreakEffect
()
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c43476205
.
filter3
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
)
...
...
c45950291.lua
View file @
1d3a34c2
...
...
@@ -31,6 +31,7 @@ function c45950291.filter1(c,e,tp)
and
not
Duel
.
IsExistingMatchingCard
(
c45950291
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
rk
)
and
Duel
.
IsExistingMatchingCard
(
c45950291
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
2
,
c
:
GetRace
(),
c
:
GetAttribute
(),
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c45950291
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
rc
,
att
,
code
)
if
c
:
GetOriginalCode
()
==
6165656
and
code
~=
48995978
then
return
false
end
...
...
@@ -46,7 +47,7 @@ function c45950291.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function
c45950291
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c45950291
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
2
,
tc
:
GetRace
(),
tc
:
GetAttribute
(),
tc
:
GetCode
())
...
...
c46008667.lua
View file @
1d3a34c2
...
...
@@ -61,6 +61,7 @@ function c46008667.filter1(c,e,tp)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x107a
)
and
Duel
.
IsExistingMatchingCard
(
c46008667
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c46008667
.
filter2
(
c
,
e
,
tp
,
mc
,
code
)
return
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x107a
)
and
not
c
:
IsCode
(
code
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
...
@@ -75,7 +76,7 @@ function c46008667.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function
c46008667
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c46008667
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetCode
())
...
...
c47185546.lua
View file @
1d3a34c2
...
...
@@ -16,6 +16,7 @@ function c47185546.filter1(c,e,tp)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_INSECT
)
and
c
:
IsType
(
TYPE_XYZ
)
and
Duel
.
IsExistingMatchingCard
(
c47185546
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c47185546
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
return
(
c
:
GetRank
()
==
rk
+
2
or
c
:
GetRank
()
==
rk
-
2
)
and
c
:
IsRace
(
RACE_INSECT
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
...
@@ -30,7 +31,7 @@ function c47185546.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function
c47185546
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c47185546
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
())
...
...
c47660516.lua
View file @
1d3a34c2
...
...
@@ -15,6 +15,7 @@ function c47660516.filter1(c,e,tp)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
Duel
.
IsExistingMatchingCard
(
c47660516
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
,
c
:
GetRace
(),
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c47660516
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
rc
,
code
)
if
c
:
GetOriginalCode
()
==
6165656
and
code
~=
48995978
then
return
false
end
...
...
@@ -30,7 +31,7 @@ function c47660516.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function
c47660516
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c47660516
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
,
tc
:
GetRace
(),
tc
:
GetCode
())
...
...
c47882565.lua
View file @
1d3a34c2
...
...
@@ -19,6 +19,7 @@ function c47882565.filter1(c,e,tp)
return
rk
>
0
and
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xe5
)
and
Duel
.
IsExistingMatchingCard
(
c47882565
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c47882565
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
return
c
:
GetRank
()
==
rk
and
c
:
IsSetCard
(
0xe5
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
...
@@ -34,7 +35,7 @@ end
function
c47882565
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c47882565
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
)
...
...
c48333324.lua
View file @
1d3a34c2
...
...
@@ -15,6 +15,7 @@ function c48333324.filter1(c,e,tp)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
Duel
.
IsExistingMatchingCard
(
c48333324
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
,
c
:
GetRace
(),
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c48333324
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
rc
,
code
)
if
c
:
GetOriginalCode
()
==
6165656
and
code
~=
48995978
then
return
false
end
...
...
@@ -34,7 +35,7 @@ end
function
c48333324
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c48333324
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
,
tc
:
GetRace
(),
tc
:
GetCode
())
...
...
c57734012.lua
View file @
1d3a34c2
...
...
@@ -58,6 +58,7 @@ function c57734012.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
then
loc
=
loc
+
LOCATION_EXTRA
end
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonCount
(
tp
,
2
)
and
Duel
.
GetFlagEffect
(
tp
,
57734012
)
==
0
and
loc
~=
0
and
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
and
Duel
.
IsExistingMatchingCard
(
c57734012
.
filter1
,
tp
,
loc
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
loc
)
end
...
...
@@ -73,6 +74,7 @@ function c57734012.activate(e,tp,eg,ep,ev,re,r,rp)
local
tc1
=
g1
:
GetFirst
()
if
tc1
and
Duel
.
SpecialSummon
(
tc1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc1
)
<=
0
then
return
end
if
not
aux
.
MustMaterialCheck
(
tc1
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
local
m
=
_G
[
"c"
..
tc1
:
GetCode
()]
if
not
m
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c58988903.lua
View file @
1d3a34c2
...
...
@@ -28,6 +28,7 @@ function c58988903.filter1(c,e,tp)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xba
)
and
c
:
IsType
(
TYPE_XYZ
)
and
Duel
.
IsExistingMatchingCard
(
c58988903
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
2
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c58988903
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
return
c
:
GetRank
()
==
rk
and
c
:
IsSetCard
(
0xba
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
...
@@ -42,7 +43,7 @@ function c58988903.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function
c58988903
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c58988903
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
2
)
...
...
c61818176.lua
View file @
1d3a34c2
...
...
@@ -55,6 +55,7 @@ function c61818176.filter1(c,e,tp)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x8d
)
and
Duel
.
IsExistingMatchingCard
(
c61818176
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c61818176
.
filter2
(
c
,
e
,
tp
,
mc
,
code
)
return
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x8d
)
and
not
c
:
IsCode
(
code
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
...
@@ -69,7 +70,7 @@ function c61818176.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function
c61818176
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c61818176
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetCode
())
...
...
c64414267.lua
View file @
1d3a34c2
...
...
@@ -54,12 +54,13 @@ function c64414267.spfilter(c,e,tp,mc)
end
function
c64414267
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
e
:
GetHandler
())
>
0
and
aux
.
MustMaterialCheck
(
e
:
GetHandler
(),
tp
,
EFFECT_MUST_BE_XMATERIAL
)
and
Duel
.
IsExistingMatchingCard
(
c64414267
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
e
:
GetHandler
())
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c64414267
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
then
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
if
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
and
c
:
IsControler
(
tp
)
and
not
c
:
IsImmuneToEffect
(
e
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c64414267
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
c
)
...
...
c70026064.lua
View file @
1d3a34c2
...
...
@@ -21,6 +21,7 @@ function c70026064.filter1(c,e,tp)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x88
)
and
Duel
.
IsExistingMatchingCard
(
c70026064
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c70026064
.
filter2
(
c
,
e
,
tp
,
mc
,
code
)
return
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x88
)
and
not
c
:
IsCode
(
code
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
...
@@ -35,7 +36,7 @@ function c70026064.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function
c70026064
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c70026064
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetCode
())
...
...
c71345905.lua
View file @
1d3a34c2
...
...
@@ -15,6 +15,7 @@ function c71345905.filter1(c,e,tp)
return
rk
>
1
and
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x107f
)
and
Duel
.
IsExistingMatchingCard
(
c71345905
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c71345905
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
return
c
:
IsRankBelow
(
rk
-
1
)
and
c
:
IsSetCard
(
0x107f
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
...
@@ -29,7 +30,7 @@ function c71345905.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function
c71345905
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c71345905
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
())
...
...
c83319610.lua
View file @
1d3a34c2
...
...
@@ -56,6 +56,7 @@ function c83319610.spfilter1(c,e,tp)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x58
)
and
c
:
IsType
(
TYPE_XYZ
)
and
Duel
.
IsExistingMatchingCard
(
c83319610
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
c
:
GetRank
()
+
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c83319610
.
spfilter2
(
c
,
e
,
tp
,
mc
,
rk
)
return
c
:
GetRank
()
==
rk
and
c
:
IsSetCard
(
0x58
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
...
...
@@ -75,7 +76,7 @@ function c83319610.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function
c83319610
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c83319610
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
)
...
...
c86196216.lua
View file @
1d3a34c2
...
...
@@ -41,6 +41,7 @@ function c86196216.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonCount
(
tp
,
2
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
and
Duel
.
IsExistingTarget
(
c86196216
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c86196216
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
...
...
@@ -51,7 +52,7 @@ function c86196216.activate(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
if
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
==
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c86196216
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
*
2
)
local
sc
=
g
:
GetFirst
()
...
...
c92365601.lua
View file @
1d3a34c2
...
...
@@ -15,6 +15,7 @@ function c92365601.filter1(c,e,tp)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
rk
==
4
and
Duel
.
IsExistingMatchingCard
(
c92365601
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c92365601
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
)
if
c
:
GetOriginalCode
()
==
6165656
and
not
mc
:
IsCode
(
48995978
)
then
return
false
end
...
...
@@ -30,7 +31,7 @@ function c92365601.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function
c92365601
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c92365601
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
)
...
...
c93238626.lua
View file @
1d3a34c2
...
...
@@ -79,8 +79,8 @@ function c93238626.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c93238626
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
Duel
.
NegateAttack
()
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
0
then
return
end
local
tc
=
Duel
.
GetAttackTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
local
m
=
_G
[
"c"
..
tc
:
GetCode
()]
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToBattle
()
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
or
not
m
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c94220427.lua
View file @
1d3a34c2
...
...
@@ -27,6 +27,7 @@ function c94220427.filter1(c,e,tp)
return
rk
>
4
and
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
Duel
.
IsExistingMatchingCard
(
c94220427
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
rk
+
1
,
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
and
aux
.
MustMaterialCheck
(
c
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
end
function
c94220427
.
filter2
(
c
,
e
,
tp
,
mc
,
rk
,
code
)
if
c
:
GetOriginalCode
()
==
6165656
and
code
~=
48995978
then
return
false
end
...
...
@@ -42,7 +43,7 @@ function c94220427.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function
c94220427
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
or
not
and
aux
.
MustMaterialCheck
(
tc
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c94220427
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetRank
()
+
1
,
tc
:
GetCode
())
...
...
utility.lua
View file @
1d3a34c2
...
...
@@ -227,6 +227,37 @@ function Auxiliary.NonTuner(f,a,b,c)
return
target
:
IsNotTuner
()
and
(
not
f
or
f
(
target
,
a
,
b
,
c
))
end
end
function
Auxiliary
.
GetValueType
(
v
)
local
t
=
type
(
v
)
if
t
==
"userdata"
then
local
mt
=
getmetatable
(
v
)
if
mt
==
Group
then
return
"Group"
elseif
mt
==
Effect
then
return
"Effect"
else
return
"Card"
end
else
return
t
end
end
function
Auxiliary
.
GetMustMaterialGroup
(
tp
,
code
)
local
g
=
Group
.
CreateGroup
()
local
ce
=
{
Duel
.
IsPlayerAffectedByEffect
(
tp
,
code
)}
for
_
,
te
in
ipairs
(
ce
)
do
local
tc
=
te
:
GetHandler
()
if
tc
then
g
:
AddCard
(
tc
)
end
end
return
g
end
function
Auxiliary
.
MustMaterialCheck
(
v
,
tp
,
code
)
local
g
=
Auxiliary
.
GetMustMaterialGroup
(
tp
,
code
)
if
not
v
then
return
#
g
==
0
end
local
t
=
Auxiliary
.
GetValueType
(
v
)
for
tc
in
Auxiliary
.
Next
(
g
)
do
if
(
t
==
"Card"
and
v
~=
tc
)
or
(
t
==
"Group"
and
not
v
:
IsExists
(
tc
))
then
return
false
end
end
return
true
end
function
Auxiliary
.
MustMaterialCounterFilter
(
c
,
g
)
return
not
sg
:
IsContains
(
c
)
end
--Synchro monster, 1 tuner + min to max monsters
function
Auxiliary
.
AddSynchroProcedure
(
c
,
f1
,
f2
,
minc
,
maxc
)
if
maxc
==
nil
then
maxc
=
99
end
...
...
@@ -436,9 +467,7 @@ function Auxiliary.SynMixCheckGoal(tp,sg,minc,ct,syncard,sg1,smat)
g
:
Merge
(
sg1
)
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
g
,
syncard
)
<=
0
then
return
false
end
if
smat
and
not
g
:
IsContains
(
smat
)
then
return
false
end
for
i
,
pe
in
ipairs
({
Duel
.
IsPlayerAffectedByEffect
(
tp
,
EFFECT_MUST_BE_SMATERIAL
)})
do
if
not
g
:
IsContains
(
pe
:
GetHandler
())
then
return
false
end
end
if
not
Auxiliary
.
MustMaterialCheck
(
g
,
tp
,
EFFECT_MUST_BE_SMATERIAL
)
then
return
false
end
if
not
g
:
IsExists
(
Card
.
IsType
,
1
,
nil
,
TYPE_TUNER
)
and
not
syncard
:
IsHasEffect
(
80896940
)
then
return
false
end
if
not
g
:
CheckWithSumEqual
(
Card
.
GetSynchroLevel
,
syncard
:
GetLevel
(),
g
:
GetCount
(),
g
:
GetCount
(),
syncard
)
and
(
not
g
:
IsExists
(
Card
.
IsHasEffect
,
1
,
nil
,
89818984
)
...
...
@@ -714,12 +743,8 @@ function Auxiliary.XyzLevelFreeCondition(f,gf,minct,maxct)
else
mg
=
Duel
.
GetMatchingGroup
(
Auxiliary
.
XyzLevelFreeFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
c
,
f
)
end
local
sg
=
Group
.
CreateGroup
()
for
i
,
pe
in
ipairs
({
Duel
.
IsPlayerAffectedByEffect
(
tp
,
EFFECT_MUST_BE_XMATERIAL
)})
do
local
pc
=
pe
:
GetHandler
()
if
not
mg
:
IsContains
(
pc
)
then
return
false
end
sg
:
AddCard
(
pc
)
end
local
sg
=
Auxiliary
.
GetMustMaterialGroup
(
tp
,
EFFECT_MUST_BE_XMATERIAL
)
if
sg
:
IsExists
(
Auxiliary
.
MustMaterialCounterFilter
,
1
,
nil
,
mg
)
then
return
false
end
local
ct
=
sg
:
GetCount
()
if
ct
>
maxc
then
return
false
end
return
(
ct
>=
minc
and
Auxiliary
.
XyzLevelFreeGoal
(
sg
,
tp
,
c
,
gf
))
...
...
@@ -743,10 +768,7 @@ function Auxiliary.XyzLevelFreeTarget(f,gf,minct,maxct)
else
mg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_MZONE
,
0
)
end
local
g
=
Group
.
CreateGroup
()
for
i
,
pe
in
ipairs
({
Duel
.
IsPlayerAffectedByEffect
(
tp
,
EFFECT_MUST_BE_XMATERIAL
)})
do
sg
:
AddCard
(
pe
:
GetHandler
())
end
local
g
=
Auxiliary
.
GetMustMaterialGroup
(
tp
,
EFFECT_MUST_BE_XMATERIAL
)
local
ct
=
g
:
GetCount
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
g
:
Select
(
tp
,
ct
,
ct
,
nil
)
...
...
@@ -819,16 +841,9 @@ function Auxiliary.XyzLevelFreeCondition2(f,gf,minct,maxct,alterf,desc,op)
else
mg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_MZONE
,
0
)
end
local
altg
=
mg
:
Filter
(
Auxiliary
.
XyzAlterFilter
,
nil
,
alterf
,
c
,
e
,
tp
,
op
)
local
altg
=
mg
:
Filter
(
Auxiliary
.
XyzAlterFilter
,
nil
,
alterf
,
c
,
e
,
tp
,
op
)
:
Filter
(
Auxiliary
.
MustMaterialCheck
,
nil
,
tp
,
EFFECT_MUST_BE_XMATERIAL
)
if
(
not
min
or
min
<=
1
)
and
altg
:
GetCount
()
>
0
then
local
ct
=
0
local
res
=
false
for
i
,
pe
in
ipairs
({
Duel
.
IsPlayerAffectedByEffect
(
tp
,
EFFECT_MUST_BE_XMATERIAL
)})
do
ct
=
ct
+
1
if
ct
>
1
then
return
false
end
if
altg
:
IsContains
(
pe
:
GetHandler
())
then
res
=
true
end
end
return
ct
==
0
or
res
return
true
end
local
minc
=
minct
local
maxc
=
maxct
...
...
@@ -838,12 +853,8 @@ function Auxiliary.XyzLevelFreeCondition2(f,gf,minct,maxct,alterf,desc,op)
if
minc
>
maxc
then
return
false
end
end
mg
=
mg
:
Filter
(
Auxiliary
.
XyzLevelFreeFilter
,
nil
,
c
,
f
)
local
sg
=
Group
.
CreateGroup
()
for
i
,
pe
in
ipairs
({
Duel
.
IsPlayerAffectedByEffect
(
tp
,
EFFECT_MUST_BE_XMATERIAL
)})
do
local
pc
=
pe
:
GetHandler
()
if
not
mg
:
IsContains
(
pc
)
then
return
false
end
sg
:
AddCard
(
pc
)
end
local
sg
=
Auxiliary
.
GetMustMaterialGroup
(
tp
,
EFFECT_MUST_BE_XMATERIAL
)
if
sg
:
IsExists
(
Auxiliary
.
MustMaterialCounterFilter
,
1
,
nil
,
mg
)
then
return
false
end
local
ct
=
sg
:
GetCount
()
if
ct
>
maxc
then
return
false
end
return
(
ct
>=
minc
and
Auxiliary
.
XyzLevelFreeGoal
(
sg
,
tp
,
c
,
gf
))
...
...
@@ -867,10 +878,7 @@ function Auxiliary.XyzLevelFreeTarget2(f,gf,minct,maxct,alterf,desc,op)
else
mg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_MZONE
,
0
)
end
local
g
=
Group
.
CreateGroup
()
for
i
,
pe
in
ipairs
({
Duel
.
IsPlayerAffectedByEffect
(
tp
,
EFFECT_MUST_BE_XMATERIAL
)})
do
g
:
AddCard
(
pe
:
GetHandler
())
end
local
g
=
Auxiliary
.
GetMustMaterialGroup
(
tp
,
EFFECT_MUST_BE_XMATERIAL
)
local
ct
=
g
:
GetCount
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
g
:
Select
(
tp
,
ct
,
ct
,
nil
)
...
...
@@ -990,7 +998,7 @@ function Auxiliary.FConditionMix(insf,sub,...)
--chkf: check field, default:PLAYER_NONE
local
funs
=
{
...
}
return
function
(
e
,
g
,
gc
,
chkfnf
)
if
g
==
nil
then
return
insf
end
if
g
==
nil
then
return
insf
and
Auxiliary
.
MustMaterialCheck
(
nil
,
e
:
GetHandlerPlayer
(),
EFFECT_MUST_BE_FMATERIAL
)
end
local
chkf
=
chkfnf
&
0xff
local
c
=
e
:
GetHandler
()
local
tp
=
c
:
GetControler
()
...
...
@@ -1054,9 +1062,7 @@ end
Auxiliary
.
FCheckAdditional
=
nil
function
Auxiliary
.
FCheckMixGoal
(
tp
,
sg
,
fc
,
sub
,
chkf
,
...
)
if
sg
:
IsExists
(
Auxiliary
.
FCheckTuneMagicianX
,
1
,
nil
,
sg
)
then
return
false
end
for
i
,
pe
in
ipairs
({
Duel
.
IsPlayerAffectedByEffect
(
tp
,
EFFECT_MUST_BE_FMATERIAL
)})
do
if
not
sg
:
IsContains
(
pe
:
GetHandler
())
then
return
false
end
end
if
not
Auxiliary
.
MustMaterialCheck
(
sg
,
tp
,
EFFECT_MUST_BE_FMATERIAL
)
then
return
false
end
local
g
=
Group
.
CreateGroup
()
return
sg
:
IsExists
(
Auxiliary
.
FCheckMix
,
1
,
nil
,
sg
,
g
,
fc
,
sub
,
...
)
and
(
chkf
==
PLAYER_NONE
or
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
,
fc
)
>
0
)
and
(
not
Auxiliary
.
FCheckAdditional
or
Auxiliary
.
FCheckAdditional
(
tp
,
sg
,
fc
))
...
...
@@ -1103,7 +1109,7 @@ end
function
Auxiliary
.
FConditionMixRep
(
insf
,
sub
,
fun1
,
minc
,
maxc
,
...
)
local
funs
=
{
...
}
return
function
(
e
,
g
,
gc
,
chkfnf
)
if
g
==
nil
then
return
insf
end
if
g
==
nil
then
return
insf
and
Auxiliary
.
MustMaterialCheck
(
nil
,
e
:
GetHandlerPlayer
(),
EFFECT_MUST_BE_FMATERIAL
)
end
local
chkf
=
chkfnf
&
0xff
local
c
=
e
:
GetHandler
()
local
tp
=
c
:
GetControler
()
...
...
@@ -1166,9 +1172,7 @@ function Auxiliary.FCheckMixRepFilter(c,sg,g,fc,sub,chkf,fun1,minc,maxc,fun2,...
end
function
Auxiliary
.
FCheckMixRepGoal
(
tp
,
sg
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
...
)
if
sg
:
IsExists
(
Auxiliary
.
FCheckTuneMagicianX
,
1
,
nil
,
sg
)
then
return
false
end
for
i
,
pe
in
ipairs
({
Duel
.
IsPlayerAffectedByEffect
(
tp
,
EFFECT_MUST_BE_FMATERIAL
)})
do
if
not
sg
:
IsContains
(
pe
:
GetHandler
())
then
return
false
end
end
if
not
Auxiliary
.
MustMaterialCheck
(
sg
,
tp
,
EFFECT_MUST_BE_FMATERIAL
)
then
return
false
end
if
sg
:
GetCount
()
<
minc
+#
{
...
}
or
sg
:
GetCount
()
>
maxc
+#
{
...
}
then
return
false
end
local
g
=
Group
.
CreateGroup
()
return
Auxiliary
.
FCheckMixRep
(
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
...
)
and
(
chkf
==
PLAYER_NONE
or
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
,
fc
)
>
0
)
...
...
@@ -1355,16 +1359,14 @@ end
function
Auxiliary
.
FShaddollSpFilter2
(
c
,
tp
,
mc
,
attr
)
local
sg
=
Group
.
FromCards
(
c
,
mc
)
if
sg
:
IsExists
(
Auxiliary
.
FCheckTuneMagicianX
,
1
,
nil
,
sg
)
then
return
false
end
for
i
,
pe
in
ipairs
({
Duel
.
IsPlayerAffectedByEffect
(
tp
,
EFFECT_MUST_BE_FMATERIAL
)})
do
if
not
sg
:
IsContains
(
pe
:
GetHandler
())
then
return
false
end
end
if
not
Auxiliary
.
MustMaterialCheck
(
sg
,
tp
,
EFFECT_MUST_BE_FMATERIAL
)
then
return
false
end
return
((
Auxiliary
.
FShaddollFilter1
(
c
)
and
Auxiliary
.
FShaddollFilter2
(
mc
,
attr
))
or
(
Auxiliary
.
FShaddollFilter2
(
c
,
attr
)
and
Auxiliary
.
FShaddollFilter1
(
mc
)))
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
)
>
0
end
function
Auxiliary
.
FShaddollCondition
(
attr
)
return
function
(
e
,
g
,
gc
,
chkf
)
if
g
==
nil
then
return
true
end
if
g
==
nil
then
return
Auxiliary
.
MustMaterialCheck
(
nil
,
e
:
GetHandlerPlayer
(),
EFFECT_MUST_BE_FMATERIAL
)
end
local
c
=
e
:
GetHandler
()
local
mg
=
g
:
Filter
(
Auxiliary
.
FShaddollFilter
,
nil
,
c
,
attr
)
local
tp
=
e
:
GetHandlerPlayer
()
...
...
@@ -1796,12 +1798,8 @@ function Auxiliary.LinkCondition(f,minc,maxc,gf)
if
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsFaceup
()
then
return
false
end
local
tp
=
c
:
GetControler
()
local
mg
=
Duel
.
GetMatchingGroup
(
Auxiliary
.
LConditionFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
f
,
c
)
local
sg
=
Group
.
CreateGroup
()
for
i
,
pe
in
ipairs
({
Duel
.
IsPlayerAffectedByEffect
(
tp
,
EFFECT_MUST_BE_LMATERIAL
)})
do
local
pc
=
pe
:
GetHandler
()
if
not
mg
:
IsContains
(
pc
)
then
return
false
end
sg
:
AddCard
(
pc
)
end
local
sg
=
Auxiliary
.
GetMustMaterialGroup
(
tp
,
EFFECT_MUST_BE_LMATERIAL
)
if
sg
:
IsExists
(
Auxiliary
.
MustMaterialCounterFilter
,
1
,
nil
,
mg
)
then
return
false
end
local
ct
=
sg
:
GetCount
()
if
ct
>
maxc
then
return
false
end
return
Auxiliary
.
LCheckGoal
(
tp
,
sg
,
c
,
minc
,
ct
,
gf
)
...
...
@@ -1811,10 +1809,7 @@ end
function
Auxiliary
.
LinkTarget
(
f
,
minc
,
maxc
,
gf
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
c
)
local
mg
=
Duel
.
GetMatchingGroup
(
Auxiliary
.
LConditionFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
f
,
c
)
local
bg
=
Group
.
CreateGroup
()
for
i
,
pe
in
ipairs
({
Duel
.
IsPlayerAffectedByEffect
(
tp
,
EFFECT_MUST_BE_LMATERIAL
)})
do
bg
:
AddCard
(
pe
:
GetHandler
())
end
local
bg
=
Auxiliary
.
GetMustMaterialGroup
(
tp
,
EFFECT_MUST_BE_LMATERIAL
)
if
#
bg
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_LMATERIAL
)
bg
:
Select
(
tp
,
#
bg
,
#
bg
,
nil
)
...
...
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