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
List
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
八宫一月
ygopro-scripts
Commits
a83fcb1a
Commit
a83fcb1a
authored
Jun 01, 2017
by
VanillaSalt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
103305b8
Changes
64
Hide whitespace changes
Inline
Side-by-side
Showing
64 changed files
with
242 additions
and
223 deletions
+242
-223
c10833828.lua
c10833828.lua
+2
-2
c11493868.lua
c11493868.lua
+2
-2
c12071500.lua
c12071500.lua
+2
-2
c1264319.lua
c1264319.lua
+2
-2
c15717011.lua
c15717011.lua
+9
-9
c17236839.lua
c17236839.lua
+2
-2
c23299957.lua
c23299957.lua
+2
-2
c24094653.lua
c24094653.lua
+2
-2
c26841274.lua
c26841274.lua
+2
-2
c31444249.lua
c31444249.lua
+2
-2
c32104431.lua
c32104431.lua
+2
-2
c33550694.lua
c33550694.lua
+2
-2
c34325937.lua
c34325937.lua
+2
-2
c35255456.lua
c35255456.lua
+2
-2
c36484016.lua
c36484016.lua
+2
-2
c3659803.lua
c3659803.lua
+2
-2
c37630732.lua
c37630732.lua
+2
-2
c39261576.lua
c39261576.lua
+2
-2
c39564736.lua
c39564736.lua
+2
-2
c41940225.lua
c41940225.lua
+2
-2
c42002073.lua
c42002073.lua
+10
-9
c42878636.lua
c42878636.lua
+2
-2
c43698897.lua
c43698897.lua
+2
-2
c44394295.lua
c44394295.lua
+2
-2
c44771289.lua
c44771289.lua
+2
-2
c45206713.lua
c45206713.lua
+10
-8
c45906428.lua
c45906428.lua
+2
-2
c46232525.lua
c46232525.lua
+2
-2
c47705572.lua
c47705572.lua
+2
-2
c48130397.lua
c48130397.lua
+2
-2
c48144509.lua
c48144509.lua
+2
-2
c51858200.lua
c51858200.lua
+2
-2
c52101615.lua
c52101615.lua
+6
-5
c52963531.lua
c52963531.lua
+2
-2
c54283059.lua
c54283059.lua
+2
-2
c55824220.lua
c55824220.lua
+2
-2
c59123937.lua
c59123937.lua
+10
-8
c60226558.lua
c60226558.lua
+2
-2
c6077601.lua
c6077601.lua
+2
-2
c6172122.lua
c6172122.lua
+2
-2
c6205579.lua
c6205579.lua
+10
-8
c62895219.lua
c62895219.lua
+10
-8
c6417578.lua
c6417578.lua
+2
-2
c65331686.lua
c65331686.lua
+2
-2
c65646587.lua
c65646587.lua
+2
-2
c69270537.lua
c69270537.lua
+2
-2
c71422989.lua
c71422989.lua
+1
-1
c71490127.lua
c71490127.lua
+2
-2
c72029628.lua
c72029628.lua
+2
-2
c72291412.lua
c72291412.lua
+10
-8
c7241272.lua
c7241272.lua
+10
-8
c73360025.lua
c73360025.lua
+2
-2
c73511233.lua
c73511233.lua
+10
-8
c73594093.lua
c73594093.lua
+2
-2
c7394770.lua
c7394770.lua
+2
-2
c74063034.lua
c74063034.lua
+2
-2
c74335036.lua
c74335036.lua
+2
-2
c77565204.lua
c77565204.lua
+1
-1
c88696724.lua
c88696724.lua
+6
-5
c89181134.lua
c89181134.lua
+10
-8
c9113513.lua
c9113513.lua
+2
-2
c91584698.lua
c91584698.lua
+2
-2
c94820406.lua
c94820406.lua
+2
-2
utility.lua
utility.lua
+31
-31
No files found.
c10833828.lua
View file @
a83fcb1a
...
...
@@ -83,7 +83,7 @@ function c10833828.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
local
g
=
e
:
GetHandler
():
GetCardTarget
():
Filter
(
Card
.
IsControler
,
nil
,
tp
)
if
g
:
GetCount
()
==
0
then
return
false
end
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c10833828
.
spfilter3
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
g
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -106,7 +106,7 @@ function c10833828.spop2(e,tp,eg,ep,ev,re,r,rp)
local
g
=
c
:
GetCardTarget
():
Filter
(
Card
.
IsControler
,
nil
,
tp
)
g
:
Remove
(
Card
.
IsImmuneToEffect
,
nil
,
e
)
if
g
:
GetCount
()
==
0
then
return
false
end
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c10833828
.
spfilter2
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c10833828
.
spfilter3
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
g
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c11493868.lua
View file @
a83fcb1a
...
...
@@ -63,7 +63,7 @@ function c11493868.filter2(c,e,tp,m,f,chkf)
end
function
c11493868
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c11493868
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -80,7 +80,7 @@ function c11493868.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c11493868
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c11493868
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c11493868
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c12071500.lua
View file @
a83fcb1a
...
...
@@ -24,7 +24,7 @@ function c12071500.filter3(c)
end
function
c12071500
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c12071500
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c12071500
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
@@ -43,7 +43,7 @@ function c12071500.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c12071500
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c12071500
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c12071500
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
c1264319.lua
View file @
a83fcb1a
...
...
@@ -29,7 +29,7 @@ function c1264319.filter2(c,e,tp,m,f,chkf)
end
function
c1264319
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c1264319
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -46,7 +46,7 @@ function c1264319.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c1264319
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c1264319
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c1264319
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c15717011.lua
View file @
a83fcb1a
...
...
@@ -21,9 +21,9 @@ end
function
c15717011
.
subcon
(
e
)
return
e
:
GetHandler
():
IsLocation
(
0x1e
)
end
function
c15717011
.
filter
(
c
,
e
,
tp
,
m
,
gc
)
function
c15717011
.
filter
(
c
,
e
,
tp
,
m
,
gc
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsAttribute
(
ATTRIBUTE_LIGHT
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
PLAYER_NONE
+
0x100
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
chkf
)
end
function
c15717011
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
e
:
SetLabel
(
1
)
...
...
@@ -31,19 +31,19 @@ function c15717011.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c15717011
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
chkf
=
tp
+
0x100
if
chk
==
0
then
if
e
:
GetLabel
()
==
0
then
return
false
end
if
e
:
GetLabel
()
~=
1
then
return
false
end
e
:
SetLabel
(
0
)
local
mg
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
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
,
chkf
)
end
e
:
SetLabel
(
0
)
local
mg
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c15717011
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
mg
,
c
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
g
:
GetFirst
(),
mg
,
c
,
PLAYER_NONE
+
0x100
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c15717011
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
g
:
GetFirst
(),
mg
,
c
,
chkf
)
Duel
.
Release
(
mat
,
REASON_COST
)
e
:
SetLabel
Object
(
g
:
GetFirst
())
e
:
SetLabel
(
g
:
GetFirst
():
GetCode
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c15717011
.
filter2
(
c
,
e
,
tp
,
code
)
...
...
@@ -51,7 +51,7 @@ function c15717011.filter2(c,e,tp,code)
end
function
c15717011
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
local
code
=
e
:
GetLabel
Object
():
GetCode
()
local
code
=
e
:
GetLabel
()
local
tc
=
Duel
.
GetFirstMatchingCard
(
c15717011
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
code
)
if
tc
then
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
...
...
c17236839.lua
View file @
a83fcb1a
...
...
@@ -19,7 +19,7 @@ function c17236839.filter2(c,e,tp,m,f,chkf)
end
function
c17236839
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c17236839
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -36,7 +36,7 @@ function c17236839.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c17236839
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c17236839
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c17236839
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c23299957.lua
View file @
a83fcb1a
...
...
@@ -18,7 +18,7 @@ function c23299957.filter2(c,e,tp,m,f,chkf)
end
function
c23299957
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c23299957
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -35,7 +35,7 @@ function c23299957.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c23299957
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c23299957
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c23299957
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c24094653.lua
View file @
a83fcb1a
...
...
@@ -18,7 +18,7 @@ function c24094653.filter2(c,e,tp,m,f,chkf)
end
function
c24094653
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c24094653
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -35,7 +35,7 @@ function c24094653.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c24094653
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c24094653
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c24094653
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c26841274.lua
View file @
a83fcb1a
...
...
@@ -21,7 +21,7 @@ function c26841274.filter3(c)
end
function
c26841274
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c26841274
.
filter1
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c26841274
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -38,7 +38,7 @@ function c26841274.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c26841274
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c26841274
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c26841274
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c31444249.lua
View file @
a83fcb1a
...
...
@@ -65,7 +65,7 @@ function c31444249.dmcon(tp)
end
function
c31444249
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
if
c31444249
.
dmcon
(
tp
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c31444249
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
...
...
@@ -90,7 +90,7 @@ function c31444249.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c31444249
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c31444249
.
filter1
,
nil
,
e
)
local
exmat
=
false
if
c31444249
.
dmcon
(
tp
)
then
...
...
c32104431.lua
View file @
a83fcb1a
...
...
@@ -60,7 +60,7 @@ function c32104431.filter2(c,e,tp,m,f,chkf)
end
function
c32104431
.
fusiontg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c32104431
.
filter0
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c32104431
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -77,7 +77,7 @@ function c32104431.fusiontg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c32104431
.
fusionop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c32104431
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c32104431
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c33550694.lua
View file @
a83fcb1a
...
...
@@ -25,7 +25,7 @@ function c33550694.filter2(c,e,tp,m,f,chkf)
end
function
c33550694
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsAbleToRemove
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c33550694
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -42,7 +42,7 @@ function c33550694.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c33550694
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c33550694
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c33550694
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
...
...
c34325937.lua
View file @
a83fcb1a
...
...
@@ -32,7 +32,7 @@ function c34325937.filter2(c,e,tp,m,f,chkf)
end
function
c34325937
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c34325937
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -49,7 +49,7 @@ function c34325937.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c34325937
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c34325937
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c34325937
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c35255456.lua
View file @
a83fcb1a
...
...
@@ -18,7 +18,7 @@ function c35255456.filter2(c,e,tp,m,chkf)
end
function
c35255456
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg
=
Duel
.
GetMatchingGroup
(
c35255456
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
+
LOCATION_MZONE
,
0
,
nil
,
e
)
return
Duel
.
IsExistingMatchingCard
(
c35255456
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
chkf
)
end
...
...
@@ -28,7 +28,7 @@ function c35255456.cffilter(c)
return
c
:
IsLocation
(
LOCATION_HAND
)
or
(
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsFacedown
())
end
function
c35255456
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c35255456
.
filter1
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
sg
=
Duel
.
GetMatchingGroup
(
c35255456
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
,
chkf
)
if
sg
:
GetCount
()
>
0
then
...
...
c36484016.lua
View file @
a83fcb1a
...
...
@@ -38,7 +38,7 @@ function c36484016.filter4(c)
end
function
c36484016
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c36484016
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c36484016
.
filter4
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
@@ -57,7 +57,7 @@ function c36484016.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c36484016
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c36484016
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c36484016
.
filter4
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
c3659803.lua
View file @
a83fcb1a
...
...
@@ -24,7 +24,7 @@ function c3659803.filter3(c)
end
function
c3659803
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c3659803
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c3659803
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
@@ -43,7 +43,7 @@ function c3659803.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c3659803
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c3659803
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c3659803
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
c37630732.lua
View file @
a83fcb1a
...
...
@@ -18,7 +18,7 @@ function c37630732.filter2(c,e,tp,m,f,chkf)
end
function
c37630732
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c37630732
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -35,7 +35,7 @@ function c37630732.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c37630732
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c37630732
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c37630732
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c39261576.lua
View file @
a83fcb1a
...
...
@@ -30,7 +30,7 @@ function c39261576.filter2(c,e,tp,m,f,chkf)
end
function
c39261576
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c39261576
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -47,7 +47,7 @@ function c39261576.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c39261576
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c39261576
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c39261576
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c39564736.lua
View file @
a83fcb1a
...
...
@@ -19,7 +19,7 @@ function c39564736.filter2(c,e,tp,m,f,chkf)
end
function
c39564736
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c39564736
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -36,7 +36,7 @@ function c39564736.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c39564736
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c39564736
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c39564736
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c41940225.lua
View file @
a83fcb1a
...
...
@@ -40,7 +40,7 @@ function c41940225.spfilter(c)
end
function
c41940225
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c41940225
.
filter0
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
@@ -59,7 +59,7 @@ function c41940225.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c41940225
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c41940225
.
filter3
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c41940225
.
filter1
,
tp
,
0
,
LOCATION_MZONE
,
nil
,
e
)
mg1
:
Merge
(
mg2
)
...
...
c42002073.lua
View file @
a83fcb1a
...
...
@@ -25,22 +25,23 @@ end
function
c42002073
.
filter1
(
c
,
e
)
return
c
:
IsOnField
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c42002073
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
function
c42002073
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
chkf
)
end
function
c42002073
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c42002073
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c42002073
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c42002073
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
res
=
Duel
.
IsExistingMatchingCard
(
c42002073
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
end
return
res
...
...
@@ -49,9 +50,10 @@ function c42002073.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c42002073
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
chkf
=
tp
if
c
:
IsFacedown
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c42002073
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c42002073
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c42002073
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
local
mg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -59,7 +61,7 @@ function c42002073.operation(e,tp,eg,ep,ev,re,r,rp)
local
fgroup
=
ce
:
GetTarget
()
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c42002073
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
sg2
=
Duel
.
GetMatchingGroup
(
c42002073
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
...
...
@@ -68,20 +70,19 @@ function c42002073.operation(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
,
chkf
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
,
chkf
)
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
tc
:
CompleteProcedure
()
end
end
function
c42002073
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsPreviousLocation
(
LOCATION_PZONE
)
...
...
c42878636.lua
View file @
a83fcb1a
...
...
@@ -56,7 +56,7 @@ function c42878636.spfilter2(c,e,tp,m,f,chkf)
end
function
c42878636
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c42878636
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -73,7 +73,7 @@ function c42878636.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c42878636
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c42878636
.
spfilter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c42878636
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c43698897.lua
View file @
a83fcb1a
...
...
@@ -44,7 +44,7 @@ function c43698897.filter2(c,e,tp,m,f,chkf)
end
function
c43698897
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c43698897
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -62,7 +62,7 @@ function c43698897.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c43698897
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c43698897
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c43698897
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c44394295.lua
View file @
a83fcb1a
...
...
@@ -25,7 +25,7 @@ function c44394295.cfilter(c)
end
function
c44394295
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
if
Duel
.
IsExistingMatchingCard
(
c44394295
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
then
local
mg2
=
Duel
.
GetMatchingGroup
(
c44394295
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
...
...
@@ -46,7 +46,7 @@ function c44394295.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c44394295
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c44394295
.
filter1
,
nil
,
e
)
if
Duel
.
IsExistingMatchingCard
(
c44394295
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
then
local
mg2
=
Duel
.
GetMatchingGroup
(
c44394295
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
...
...
c44771289.lua
View file @
a83fcb1a
...
...
@@ -31,7 +31,7 @@ function c44771289.filter2(c,e,tp,m,f,chkf)
end
function
c44771289
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c44771289
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -48,7 +48,7 @@ function c44771289.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c44771289
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c44771289
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c44771289
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c45206713.lua
View file @
a83fcb1a
...
...
@@ -23,23 +23,24 @@ end
function
c45206713
.
filter1
(
c
,
e
)
return
c
:
IsLocation
(
LOCATION_HAND
)
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c45206713
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
function
c45206713
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x10af
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
chkf
)
end
function
c45206713
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_HAND
)
local
res
=
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c45206713
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
and
Duel
.
IsExistingMatchingCard
(
c45206713
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c45206713
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
res
=
Duel
.
IsExistingMatchingCard
(
c45206713
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
end
return
res
...
...
@@ -48,9 +49,10 @@ function c45206713.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c45206713
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
chkf
=
tp
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c45206713
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c45206713
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c45206713
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
local
mg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -58,7 +60,7 @@ function c45206713.operation(e,tp,eg,ep,ev,re,r,rp)
local
fgroup
=
ce
:
GetTarget
()
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c45206713
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
sg2
=
Duel
.
GetMatchingGroup
(
c45206713
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
if
(
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
sg1
:
GetCount
()
>
0
)
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
...
...
@@ -67,13 +69,13 @@ function c45206713.operation(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
,
chkf
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
,
chkf
)
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
...
...
c45906428.lua
View file @
a83fcb1a
...
...
@@ -24,7 +24,7 @@ function c45906428.filter3(c)
end
function
c45906428
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c45906428
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c45906428
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
@@ -43,7 +43,7 @@ function c45906428.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c45906428
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c45906428
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c45906428
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
c46232525.lua
View file @
a83fcb1a
...
...
@@ -26,12 +26,12 @@ function c46232525.spfilter(c,e,tp,race)
end
function
c46232525
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
return
Duel
.
IsExistingMatchingCard
(
c46232525
.
tgfilter
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
,
chkf
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c46232525
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c46232525
.
tgfilter
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
,
chkf
)
local
tc
=
g
:
GetFirst
()
...
...
c47705572.lua
View file @
a83fcb1a
...
...
@@ -47,7 +47,7 @@ function c47705572.filter3(c)
end
function
c47705572
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c47705572
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c47705572
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
@@ -67,7 +67,7 @@ function c47705572.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c47705572
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c47705572
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c47705572
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
c48130397.lua
View file @
a83fcb1a
...
...
@@ -30,7 +30,7 @@ function c48130397.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c48130397
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c48130397
.
filter0
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
@@ -52,7 +52,7 @@ function c48130397.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c48130397
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c48130397
.
filter3
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c48130397
.
filter1
,
tp
,
0
,
LOCATION_MZONE
,
nil
,
e
)
mg1
:
Merge
(
mg2
)
...
...
c48144509.lua
View file @
a83fcb1a
...
...
@@ -28,7 +28,7 @@ function c48144509.fcheck(tp,sg,fc)
end
function
c48144509
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsAbleToGrave
,
nil
)
if
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_MZONE
,
0
)
==
0
and
Duel
.
GetFieldGroupCount
(
tp
,
0
,
LOCATION_MZONE
)
>
1
then
local
sg
=
Duel
.
GetMatchingGroup
(
c48144509
.
exfilter0
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
...
...
@@ -53,7 +53,7 @@ function c48144509.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c48144509
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c48144509
.
filter1
,
nil
,
e
)
local
exmat
=
false
if
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_MZONE
,
0
)
==
0
and
Duel
.
GetFieldGroupCount
(
tp
,
0
,
LOCATION_MZONE
)
>
1
then
...
...
c51858200.lua
View file @
a83fcb1a
...
...
@@ -68,7 +68,7 @@ function c51858200.spfilter3(c)
end
function
c51858200
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsSetCard
,
nil
,
0x10f3
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c51858200
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -85,7 +85,7 @@ function c51858200.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c51858200
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c51858200
.
spfilter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c51858200
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c52101615.lua
View file @
a83fcb1a
...
...
@@ -21,9 +21,9 @@ end
function
c52101615
.
subcon
(
e
)
return
e
:
GetHandler
():
IsLocation
(
0x1e
)
end
function
c52101615
.
filter
(
c
,
e
,
tp
,
m
,
gc
)
function
c52101615
.
filter
(
c
,
e
,
tp
,
m
,
gc
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
PLAYER_NONE
+
0x100
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
chkf
)
end
function
c52101615
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
e
:
SetLabel
(
1
)
...
...
@@ -31,16 +31,17 @@ function c52101615.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c52101615
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
chkf
=
tp
+
0x100
if
chk
==
0
then
if
e
:
GetLabel
()
~=
1
then
return
false
end
e
:
SetLabel
(
0
)
local
mg
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
return
Duel
.
IsExistingMatchingCard
(
c52101615
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
c
)
return
Duel
.
IsExistingMatchingCard
(
c52101615
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
end
local
mg
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c52101615
.
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
g
=
Duel
.
SelectMatchingCard
(
tp
,
c52101615
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
g
:
GetFirst
(),
mg
,
c
,
chkf
)
Duel
.
Release
(
mat
,
REASON_COST
)
e
:
SetLabel
(
g
:
GetFirst
():
GetCode
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
...
c52963531.lua
View file @
a83fcb1a
...
...
@@ -55,7 +55,7 @@ function c52963531.filter2(c,e,tp,m,f,chkf)
end
function
c52963531
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c52963531
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -72,7 +72,7 @@ function c52963531.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c52963531
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c52963531
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c52963531
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c54283059.lua
View file @
a83fcb1a
...
...
@@ -40,7 +40,7 @@ function c54283059.filter3(c)
end
function
c54283059
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg
=
Duel
.
GetMatchingGroup
(
c54283059
.
filter0
,
tp
,
LOCATION_REMOVED
,
0
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c54283059
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -57,7 +57,7 @@ function c54283059.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c54283059
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg
=
Duel
.
GetMatchingGroup
(
c54283059
.
filter1
,
tp
,
LOCATION_REMOVED
,
0
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c54283059
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
,
nil
,
chkf
)
local
mg3
=
nil
...
...
c55824220.lua
View file @
a83fcb1a
...
...
@@ -18,7 +18,7 @@ function c55824220.filter2(c,e,tp,m,f,chkf)
end
function
c55824220
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c55824220
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -35,7 +35,7 @@ function c55824220.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c55824220
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c55824220
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c55824220
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c59123937.lua
View file @
a83fcb1a
...
...
@@ -59,24 +59,25 @@ end
function
c59123937
.
filter1
(
c
,
e
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c59123937
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
function
c59123937
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x10af
)
and
c
:
IsLevelAbove
(
7
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
chkf
)
end
function
c59123937
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
chkf
=
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c59123937
.
filter0
,
tp
,
LOCATION_GRAVE
,
0
,
c
)
local
res
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c59123937
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
and
Duel
.
IsExistingMatchingCard
(
c59123937
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c59123937
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
res
=
Duel
.
IsExistingMatchingCard
(
c59123937
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
end
return
res
...
...
@@ -85,9 +86,10 @@ function c59123937.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c59123937
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
chkf
=
tp
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
local
mg1
=
Duel
.
GetMatchingGroup
(
c59123937
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
c
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c59123937
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c59123937
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
local
mg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -95,7 +97,7 @@ function c59123937.operation(e,tp,eg,ep,ev,re,r,rp)
local
fgroup
=
ce
:
GetTarget
()
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c59123937
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
sg2
=
Duel
.
GetMatchingGroup
(
c59123937
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
if
(
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
sg1
:
GetCount
()
>
0
)
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
...
...
@@ -104,13 +106,13 @@ function c59123937.operation(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
,
chkf
)
tc
:
SetMaterial
(
mat1
)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
,
chkf
)
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
...
...
c60226558.lua
View file @
a83fcb1a
...
...
@@ -68,7 +68,7 @@ function c60226558.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
local
ec
=
e
:
GetHandler
():
GetEquipTarget
()
if
ec
:
IsControler
(
1
-
tp
)
then
return
false
end
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c60226558
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
ec
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -89,7 +89,7 @@ function c60226558.spop(e,tp,eg,ep,ev,re,r,rp)
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
local
ec
=
c
:
GetEquipTarget
()
if
ec
:
IsControler
(
1
-
tp
)
or
ec
:
IsImmuneToEffect
(
e
)
then
return
end
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c60226558
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c60226558
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
ec
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c6077601.lua
View file @
a83fcb1a
...
...
@@ -25,7 +25,7 @@ function c6077601.filter3(c)
end
function
c6077601
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c6077601
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c6077601
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
@@ -44,7 +44,7 @@ function c6077601.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c6077601
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c6077601
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c6077601
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
c6172122.lua
View file @
a83fcb1a
...
...
@@ -41,7 +41,7 @@ function c6172122.filter2(c,e,tp,m,f,chkf)
end
function
c6172122
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c6172122
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
@@ -60,7 +60,7 @@ function c6172122.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c6172122
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c6172122
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c6172122
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
c6205579.lua
View file @
a83fcb1a
...
...
@@ -33,22 +33,23 @@ end
function
c6205579
.
spfilter1
(
c
,
e
)
return
c
:
IsOnField
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c6205579
.
spfilter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
function
c6205579
.
spfilter2
(
c
,
e
,
tp
,
m
,
f
,
gc
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
chkf
)
end
function
c6205579
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c6205579
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c6205579
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c6205579
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
res
=
Duel
.
IsExistingMatchingCard
(
c6205579
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
end
return
res
...
...
@@ -57,9 +58,10 @@ function c6205579.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c6205579
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
chkf
=
tp
if
c
:
IsFacedown
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c6205579
.
spfilter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c6205579
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c6205579
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
local
mg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -67,7 +69,7 @@ function c6205579.spop(e,tp,eg,ep,ev,re,r,rp)
local
fgroup
=
ce
:
GetTarget
()
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c6205579
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
sg2
=
Duel
.
GetMatchingGroup
(
c6205579
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
...
...
@@ -76,13 +78,13 @@ function c6205579.spop(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
,
chkf
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
,
chkf
)
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
...
...
c62895219.lua
View file @
a83fcb1a
...
...
@@ -39,22 +39,23 @@ end
function
c62895219
.
filter1
(
c
,
e
)
return
c
:
IsOnField
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c62895219
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
function
c62895219
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x9b
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
chkf
)
end
function
c62895219
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c62895219
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c62895219
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c62895219
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
res
=
Duel
.
IsExistingMatchingCard
(
c62895219
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
end
return
res
...
...
@@ -63,9 +64,10 @@ function c62895219.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c62895219
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
chkf
=
tp
if
c
:
IsFacedown
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c62895219
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c62895219
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c62895219
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
local
mg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -73,7 +75,7 @@ function c62895219.operation(e,tp,eg,ep,ev,re,r,rp)
local
fgroup
=
ce
:
GetTarget
()
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c62895219
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
sg2
=
Duel
.
GetMatchingGroup
(
c62895219
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
...
...
@@ -82,13 +84,13 @@ function c62895219.operation(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
,
chkf
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
,
chkf
)
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
...
...
c6417578.lua
View file @
a83fcb1a
...
...
@@ -20,7 +20,7 @@ function c6417578.filter2(c,e,tp,m,f,chkf)
end
function
c6417578
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c6417578
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -37,7 +37,7 @@ function c6417578.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c6417578
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c6417578
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c6417578
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c65331686.lua
View file @
a83fcb1a
...
...
@@ -58,7 +58,7 @@ function c65331686.filter2(c,e,tp,m,f,chkf)
end
function
c65331686
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c65331686
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -75,7 +75,7 @@ function c65331686.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c65331686
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c65331686
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c65331686
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c65646587.lua
View file @
a83fcb1a
...
...
@@ -22,7 +22,7 @@ function c65646587.filter2(c,e,tp,m,f,chkf)
end
function
c65646587
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
if
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_PZONE
,
0
)
>=
2
then
mg1
:
Merge
(
Duel
.
GetMatchingGroup
(
c65646587
.
filter0
,
tp
,
LOCATION_PZONE
,
0
,
nil
,
e
))
...
...
@@ -42,7 +42,7 @@ function c65646587.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c65646587
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c65646587
.
filter1
,
nil
,
e
)
if
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_PZONE
,
0
)
>=
2
then
mg1
:
Merge
(
Duel
.
GetMatchingGroup
(
c65646587
.
filter0
,
tp
,
LOCATION_PZONE
,
0
,
nil
,
e
))
...
...
c69270537.lua
View file @
a83fcb1a
...
...
@@ -28,9 +28,9 @@ function c69270537.activate(e,tp,eg,ep,ev,re,r,rp)
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
Duel
.
SendtoDeck
(
tc
,
nil
,
2
,
REASON_EFFECT
)
~=
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
1
and
tc
:
IsLocation
(
LOCATION_EXTRA
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c69270537
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
,
tc
)
if
tc
:
CheckFusionMaterial
(
sg
,
nil
,
PLAYER_NONE
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
69270537
,
0
))
then
if
tc
:
CheckFusionMaterial
(
sg
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
69270537
,
0
))
then
Duel
.
BreakEffect
()
local
mats
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
sg
,
nil
,
PLAYER_NONE
)
local
mats
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
sg
)
Duel
.
SpecialSummon
(
mats
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
...
...
c71422989.lua
View file @
a83fcb1a
...
...
@@ -49,7 +49,7 @@ function c71422989.activate(e,tp,eg,ep,ev,re,r,rp)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c71422989
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c71422989
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c71490127.lua
View file @
a83fcb1a
...
...
@@ -24,7 +24,7 @@ function c71490127.filter3(c)
end
function
c71490127
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c71490127
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c71490127
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
@@ -43,7 +43,7 @@ function c71490127.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c71490127
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c71490127
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c71490127
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
...
...
c72029628.lua
View file @
a83fcb1a
...
...
@@ -21,7 +21,7 @@ function c72029628.filter2(c,e,tp,m,f,chkf)
end
function
c72029628
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c72029628
.
filter0
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c72029628
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -38,7 +38,7 @@ function c72029628.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c72029628
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c72029628
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c72029628
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c72291412.lua
View file @
a83fcb1a
...
...
@@ -16,23 +16,24 @@ end
function
c72291412
.
filter1
(
c
,
e
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c72291412
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
function
c72291412
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x10af
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
chkf
)
end
function
c72291412
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
chkf
=
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c72291412
.
filter0
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
res
=
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c72291412
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
and
Duel
.
IsExistingMatchingCard
(
c72291412
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c72291412
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
res
=
Duel
.
IsExistingMatchingCard
(
c72291412
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
end
return
res
...
...
@@ -41,9 +42,10 @@ function c72291412.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c72291412
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
chkf
=
tp
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
local
mg1
=
Duel
.
GetMatchingGroup
(
c72291412
.
filter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c72291412
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c72291412
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
local
mg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -51,7 +53,7 @@ function c72291412.operation(e,tp,eg,ep,ev,re,r,rp)
local
fgroup
=
ce
:
GetTarget
()
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c72291412
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
sg2
=
Duel
.
GetMatchingGroup
(
c72291412
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
if
(
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
sg1
:
GetCount
()
>
0
)
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
...
...
@@ -60,13 +62,13 @@ function c72291412.operation(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
,
chkf
)
tc
:
SetMaterial
(
mat1
)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
,
chkf
)
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
...
...
c7241272.lua
View file @
a83fcb1a
...
...
@@ -40,22 +40,23 @@ end
function
c7241272
.
spfilter1
(
c
,
e
)
return
c
:
IsOnField
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c7241272
.
spfilter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
function
c7241272
.
spfilter2
(
c
,
e
,
tp
,
m
,
f
,
gc
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
chkf
)
end
function
c7241272
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c7241272
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c7241272
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c7241272
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
res
=
Duel
.
IsExistingMatchingCard
(
c7241272
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
end
return
res
...
...
@@ -64,9 +65,10 @@ function c7241272.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c7241272
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
chkf
=
tp
if
c
:
IsFacedown
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c7241272
.
spfilter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c7241272
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c7241272
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
local
mg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -74,7 +76,7 @@ function c7241272.spop(e,tp,eg,ep,ev,re,r,rp)
local
fgroup
=
ce
:
GetTarget
()
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c7241272
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
sg2
=
Duel
.
GetMatchingGroup
(
c7241272
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
...
...
@@ -83,13 +85,13 @@ function c7241272.spop(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
,
chkf
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
,
chkf
)
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
...
...
c73360025.lua
View file @
a83fcb1a
...
...
@@ -46,7 +46,7 @@ function c73360025.spfilter2(c,e,tp,m,f,chkf)
end
function
c73360025
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c73360025
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
res
then
return
true
end
...
...
@@ -68,7 +68,7 @@ function c73360025.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c73360025
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c73360025
.
mfilter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c73360025
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c73360025
.
mfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
...
...
c73511233.lua
View file @
a83fcb1a
...
...
@@ -70,9 +70,9 @@ end
function
c73511233
.
spfilter1
(
c
,
e
)
return
c73511233
.
spfilter0
(
c
)
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c73511233
.
spfilter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
function
c73511233
.
spfilter2
(
c
,
e
,
tp
,
m
,
f
,
gc
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
chkf
)
end
function
c73511233
.
spfilter3
(
c
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsRace
(
RACE_DRAGON
)
...
...
@@ -80,9 +80,10 @@ end
function
c73511233
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c73511233
.
spfilter0
,
nil
)
mg1
:
AddCard
(
c
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c73511233
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c73511233
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
...
...
@@ -90,7 +91,7 @@ function c73511233.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local
mg2
=
fgroup
(
ce
,
e
,
tp
):
Filter
(
c73511233
.
spfilter3
,
nil
)
mg2
:
AddCard
(
c
)
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c73511233
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
res
=
Duel
.
IsExistingMatchingCard
(
c73511233
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
end
return
res
...
...
@@ -99,10 +100,11 @@ function c73511233.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c73511233
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
chkf
=
tp
if
c
:
IsFacedown
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
or
c
:
IsControler
(
1
-
tp
)
then
return
end
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c73511233
.
spfilter1
,
nil
,
e
)
mg1
:
AddCard
(
c
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c73511233
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c73511233
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
local
mg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -111,7 +113,7 @@ function c73511233.spop(e,tp,eg,ep,ev,re,r,rp)
mg2
=
fgroup
(
ce
,
e
,
tp
):
Filter
(
c73511233
.
spfilter3
,
nil
)
mg2
:
AddCard
(
c
)
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c73511233
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
)
sg2
=
Duel
.
GetMatchingGroup
(
c73511233
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
c
,
chkf
)
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
...
...
@@ -120,13 +122,13 @@ function c73511233.spop(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
,
chkf
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
c
,
chkf
)
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
...
...
c73594093.lua
View file @
a83fcb1a
...
...
@@ -29,7 +29,7 @@ function c73594093.filter2(c,e,tp,m,f,chkf)
end
function
c73594093
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c73594093
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -46,7 +46,7 @@ function c73594093.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c73594093
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c73594093
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c73594093
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c7394770.lua
View file @
a83fcb1a
...
...
@@ -40,7 +40,7 @@ function c7394770.filter2(c,e,tp,m,f,chkf)
end
function
c7394770
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c7394770
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c7394770
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -58,7 +58,7 @@ function c7394770.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c7394770
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c7394770
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c7394770
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c74063034.lua
View file @
a83fcb1a
...
...
@@ -43,7 +43,7 @@ function c74063034.spfilter2(c,e,tp,m,f,chkf)
end
function
c74063034
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
mg
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_HAND
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c74063034
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
...
...
@@ -67,7 +67,7 @@ function c74063034.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c74063034
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
mg
:
Filter
(
c74063034
.
mfilter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c74063034
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
...
...
c74335036.lua
View file @
a83fcb1a
...
...
@@ -30,7 +30,7 @@ function c74335036.filter2(c,e,tp,m,f,chkf)
end
function
c74335036
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c74335036
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -47,7 +47,7 @@ function c74335036.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c74335036
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c74335036
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c74335036
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c77565204.lua
View file @
a83fcb1a
...
...
@@ -99,7 +99,7 @@ function c77565204.procfilter(c,code,e,tp)
end
function
c77565204
.
procop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
not
c
:
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCount
FromEx
(
tp
)
<=
0
then
return
end
local
code
=
e
:
GetLabelObject
():
GetLabel
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c77565204
.
procfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
code
,
e
,
tp
)
...
...
c88696724.lua
View file @
a83fcb1a
...
...
@@ -21,9 +21,9 @@ end
function
c88696724
.
subcon
(
e
)
return
e
:
GetHandler
():
IsLocation
(
0x1e
)
end
function
c88696724
.
filter
(
c
,
e
,
tp
,
m
,
gc
)
function
c88696724
.
filter
(
c
,
e
,
tp
,
m
,
gc
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsAttribute
(
ATTRIBUTE_EARTH
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
PLAYER_NONE
+
0x100
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
chkf
)
end
function
c88696724
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
e
:
SetLabel
(
1
)
...
...
@@ -31,16 +31,17 @@ function c88696724.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c88696724
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
chkf
=
tp
+
0x100
if
chk
==
0
then
if
e
:
GetLabel
()
~=
1
then
return
false
end
e
:
SetLabel
(
0
)
local
mg
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
return
Duel
.
IsExistingMatchingCard
(
c88696724
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
c
)
return
Duel
.
IsExistingMatchingCard
(
c88696724
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
end
local
mg
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c88696724
.
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
g
=
Duel
.
SelectMatchingCard
(
tp
,
c88696724
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
g
:
GetFirst
(),
mg
,
c
,
chkf
)
Duel
.
Release
(
mat
,
REASON_COST
)
e
:
SetLabel
(
g
:
GetFirst
():
GetCode
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
...
c89181134.lua
View file @
a83fcb1a
...
...
@@ -34,9 +34,9 @@ end
function
c89181134
.
filter1
(
c
,
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c89181134
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
function
c89181134
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
chkf
)
end
function
c89181134
.
filter3
(
c
,
e
)
return
c89181134
.
filter0
(
c
)
and
not
c
:
IsImmuneToEffect
(
e
)
...
...
@@ -44,17 +44,18 @@ end
function
c89181134
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c89181134
.
filter0
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
mg1
:
Merge
(
mg2
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c89181134
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c89181134
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
mg3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c89181134
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
c
)
res
=
Duel
.
IsExistingMatchingCard
(
c89181134
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
c
,
chkf
)
end
end
return
res
...
...
@@ -63,11 +64,12 @@ function c89181134.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c89181134
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
chkf
=
tp
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
or
(
c
:
IsControler
(
1
-
tp
)
and
c
:
GetCounter
(
0x1041
)
<=
0
)
then
return
end
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c89181134
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c89181134
.
filter3
,
tp
,
0
,
LOCATION_MZONE
,
nil
,
e
)
mg1
:
Merge
(
mg2
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c89181134
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c89181134
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
local
mg3
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -75,7 +77,7 @@ function c89181134.operation(e,tp,eg,ep,ev,re,r,rp)
local
fgroup
=
ce
:
GetTarget
()
mg3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c89181134
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg3
,
mf
,
c
)
sg2
=
Duel
.
GetMatchingGroup
(
c89181134
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg3
,
mf
,
c
,
chkf
)
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
...
...
@@ -84,13 +86,13 @@ function c89181134.operation(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
,
chkf
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
c
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
c
,
chkf
)
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
...
...
c9113513.lua
View file @
a83fcb1a
...
...
@@ -28,7 +28,7 @@ function c9113513.ffilter(c,e,tp,m,f,chkf)
end
function
c9113513
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
nil
)
local
res
=
mg1
:
IsExists
(
c9113513
.
filter1
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -48,7 +48,7 @@ function c9113513.filter0(c,e)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c9113513
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c9113513
.
filter0
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
nil
,
e
)
local
g1
=
mg1
:
Filter
(
c9113513
.
filter1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c91584698.lua
View file @
a83fcb1a
...
...
@@ -30,7 +30,7 @@ function c91584698.filter2(c,e,tp,m,f,chkf)
end
function
c91584698
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c91584698
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -48,7 +48,7 @@ function c91584698.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c91584698
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c91584698
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c91584698
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
c94820406.lua
View file @
a83fcb1a
...
...
@@ -18,7 +18,7 @@ function c94820406.filter2(c,e,tp,m,f,chkf)
end
function
c94820406
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c94820406
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
...
...
@@ -35,7 +35,7 @@ function c94820406.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c94820406
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c94820406
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c94820406
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
...
...
utility.lua
View file @
a83fcb1a
...
...
@@ -495,10 +495,10 @@ function Auxiliary.FConditionMix(insf,sub,...)
if
gc
then
if
not
mg
:
IsContains
(
gc
)
then
return
false
end
local
sg
=
Group
.
CreateGroup
()
return
Auxiliary
.
FSelectMix
(
gc
,
tp
,
mg
,
sg
,
c
,
sub
,
table.unpack
(
funs
))
return
Auxiliary
.
FSelectMix
(
gc
,
tp
,
mg
,
sg
,
c
,
sub
,
chkf
,
table.unpack
(
funs
))
end
local
sg
=
Group
.
CreateGroup
()
return
mg
:
IsExists
(
Auxiliary
.
FSelectMix
,
1
,
nil
,
tp
,
mg
,
sg
,
c
,
sub
,
table.unpack
(
funs
))
return
mg
:
IsExists
(
Auxiliary
.
FSelectMix
,
1
,
nil
,
tp
,
mg
,
sg
,
c
,
sub
,
chkf
,
table.unpack
(
funs
))
end
end
function
Auxiliary
.
FOperationMix
(
insf
,
sub
,
...
)
...
...
@@ -514,7 +514,7 @@ function Auxiliary.FOperationMix(insf,sub,...)
if
gc
then
sg
:
AddCard
(
gc
)
end
while
sg
:
GetCount
()
<#
funs
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
g
=
mg
:
FilterSelect
(
tp
,
Auxiliary
.
FSelectMix
,
1
,
1
,
sg
,
tp
,
mg
,
sg
,
c
,
sub
,
table.unpack
(
funs
))
local
g
=
mg
:
FilterSelect
(
tp
,
Auxiliary
.
FSelectMix
,
1
,
1
,
sg
,
tp
,
mg
,
sg
,
c
,
sub
,
chkf
,
table.unpack
(
funs
))
sg
:
Merge
(
g
)
end
Duel
.
SetFusionMaterial
(
sg
)
...
...
@@ -544,18 +544,18 @@ function Auxiliary.FCheckMix(c,mg,sg,fc,sub,fun1,fun2,...)
end
--if sg1 is subset of sg2 then not Auxiliary.FCheckAdditional(tp,sg1,fc) -> not Auxiliary.FCheckAdditional(tp,sg2,fc)
Auxiliary
.
FCheckAdditional
=
nil
function
Auxiliary
.
FCheckMixGoal
(
tp
,
sg
,
fc
,
sub
,
...
)
function
Auxiliary
.
FCheckMixGoal
(
tp
,
sg
,
fc
,
sub
,
chkf
,
...
)
local
g
=
Group
.
CreateGroup
()
return
sg
:
IsExists
(
Auxiliary
.
FCheckMix
,
1
,
nil
,
sg
,
g
,
fc
,
sub
,
...
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
,
fc
)
>
0
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
))
end
function
Auxiliary
.
FSelectMix
(
c
,
tp
,
mg
,
sg
,
fc
,
sub
,
...
)
function
Auxiliary
.
FSelectMix
(
c
,
tp
,
mg
,
sg
,
fc
,
sub
,
chkf
,
...
)
sg
:
AddCard
(
c
)
local
res
if
sg
:
GetCount
()
<#
{
...
}
then
res
=
mg
:
IsExists
(
Auxiliary
.
FSelectMix
,
1
,
sg
,
tp
,
mg
,
sg
,
fc
,
sub
,
...
)
res
=
mg
:
IsExists
(
Auxiliary
.
FSelectMix
,
1
,
sg
,
tp
,
mg
,
sg
,
fc
,
sub
,
chkf
,
...
)
else
res
=
Auxiliary
.
FCheckMixGoal
(
tp
,
sg
,
fc
,
sub
,
...
)
res
=
Auxiliary
.
FCheckMixGoal
(
tp
,
sg
,
fc
,
sub
,
chkf
,
...
)
end
sg
:
RemoveCard
(
c
)
return
res
...
...
@@ -605,10 +605,10 @@ function Auxiliary.FConditionMixRep(insf,sub,fun1,minc,maxc,...)
if
gc
then
if
not
mg
:
IsContains
(
gc
)
then
return
false
end
local
sg
=
Group
.
CreateGroup
()
return
Auxiliary
.
FSelectMixRep
(
gc
,
tp
,
mg
,
sg
,
c
,
sub
,
fun1
,
minc
,
maxc
,
table.unpack
(
funs
))
return
Auxiliary
.
FSelectMixRep
(
gc
,
tp
,
mg
,
sg
,
c
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
table.unpack
(
funs
))
end
local
sg
=
Group
.
CreateGroup
()
return
mg
:
IsExists
(
Auxiliary
.
FSelectMixRep
,
1
,
nil
,
tp
,
mg
,
sg
,
c
,
sub
,
fun1
,
minc
,
maxc
,
table.unpack
(
funs
))
return
mg
:
IsExists
(
Auxiliary
.
FSelectMixRep
,
1
,
nil
,
tp
,
mg
,
sg
,
c
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
table.unpack
(
funs
))
end
end
function
Auxiliary
.
FOperationMixRep
(
insf
,
sub
,
fun1
,
minc
,
maxc
,
...
)
...
...
@@ -623,9 +623,9 @@ function Auxiliary.FOperationMixRep(insf,sub,fun1,minc,maxc,...)
local
sg
=
Group
.
CreateGroup
()
if
gc
then
sg
:
AddCard
(
gc
)
end
while
sg
:
GetCount
()
<
maxc
+#
funs
do
local
cg
=
mg
:
Filter
(
Auxiliary
.
FSelectMixRep
,
sg
,
tp
,
mg
,
sg
,
c
,
sub
,
fun1
,
minc
,
maxc
,
table.unpack
(
funs
))
local
cg
=
mg
:
Filter
(
Auxiliary
.
FSelectMixRep
,
sg
,
tp
,
mg
,
sg
,
c
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
table.unpack
(
funs
))
if
cg
:
GetCount
()
==
0
or
(
Auxiliary
.
FCheckMixRepGoal
(
tp
,
sg
,
c
,
sub
,
fun1
,
minc
,
maxc
,
table.unpack
(
funs
))
or
(
Auxiliary
.
FCheckMixRepGoal
(
tp
,
sg
,
c
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
table.unpack
(
funs
))
and
not
Duel
.
SelectYesNo
(
tp
,
210
))
then
break
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
g
=
cg
:
Select
(
tp
,
1
,
1
,
nil
)
...
...
@@ -634,39 +634,39 @@ function Auxiliary.FOperationMixRep(insf,sub,fun1,minc,maxc,...)
Duel
.
SetFusionMaterial
(
sg
)
end
end
function
Auxiliary
.
FCheckMixRep
(
sg
,
g
,
fc
,
sub
,
fun1
,
minc
,
maxc
,
fun2
,
...
)
function
Auxiliary
.
FCheckMixRep
(
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
fun2
,
...
)
if
fun2
then
return
sg
:
IsExists
(
Auxiliary
.
FCheckMixRepFilter
,
1
,
g
,
sg
,
g
,
fc
,
sub
,
fun1
,
minc
,
maxc
,
fun2
,
...
)
return
sg
:
IsExists
(
Auxiliary
.
FCheckMixRepFilter
,
1
,
g
,
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
fun2
,
...
)
else
local
ct1
=
sg
:
FilterCount
(
fun1
,
g
,
fc
,
sub
)
local
ct2
=
sg
:
FilterCount
(
fun1
,
g
,
fc
,
false
)
return
ct1
==
sg
:
GetCount
()
-
g
:
GetCount
()
and
ct1
-
ct2
<=
1
end
end
function
Auxiliary
.
FCheckMixRepFilter
(
c
,
sg
,
g
,
fc
,
sub
,
fun1
,
minc
,
maxc
,
fun2
,
...
)
function
Auxiliary
.
FCheckMixRepFilter
(
c
,
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
fun2
,
...
)
if
fun2
(
c
,
fc
,
sub
)
then
g
:
AddCard
(
c
)
local
sub
=
sub
and
fun2
(
c
,
fc
,
false
)
local
res
=
Auxiliary
.
FCheckMixRep
(
sg
,
g
,
fc
,
sub
,
fun1
,
minc
,
maxc
,
...
)
local
res
=
Auxiliary
.
FCheckMixRep
(
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
...
)
g
:
RemoveCard
(
c
)
return
res
end
return
false
end
function
Auxiliary
.
FCheckMixRepGoal
(
tp
,
sg
,
fc
,
sub
,
fun1
,
minc
,
maxc
,
...
)
function
Auxiliary
.
FCheckMixRepGoal
(
tp
,
sg
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
...
)
if
sg
:
GetCount
()
<
minc
+#
{
...
}
or
sg
:
GetCount
()
>
maxc
+#
{
...
}
then
return
false
end
local
g
=
Group
.
CreateGroup
()
return
Auxiliary
.
FCheckMixRep
(
sg
,
g
,
fc
,
sub
,
fun1
,
minc
,
maxc
,
...
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
,
fc
)
>
0
return
Auxiliary
.
FCheckMixRep
(
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
...
)
and
(
chkf
==
PLAYER_NONE
or
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
,
fc
)
>
0
)
and
(
not
Auxiliary
.
FCheckAdditional
or
Auxiliary
.
FCheckAdditional
(
tp
,
sg
,
fc
))
end
function
Auxiliary
.
FCheckMixRepTemplate
(
c
,
cond
,
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
fun1
,
minc
,
maxc
,
...
)
function
Auxiliary
.
FCheckMixRepTemplate
(
c
,
cond
,
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
...
)
for
i
,
f
in
ipairs
({
...
})
do
if
f
(
c
,
fc
,
sub
)
then
g
:
AddCard
(
c
)
local
sub
=
sub
and
f
(
c
,
fc
,
false
)
local
t
=
{
...
}
table.remove
(
t
,
i
)
local
res
=
cond
(
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
fun1
,
minc
,
maxc
,
table.unpack
(
t
))
local
res
=
cond
(
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
table.unpack
(
t
))
g
:
RemoveCard
(
c
)
if
res
then
return
true
end
end
...
...
@@ -675,7 +675,7 @@ function Auxiliary.FCheckMixRepTemplate(c,cond,tp,mg,sg,g,fc,sub,fun1,minc,maxc,
if
fun1
(
c
,
fc
,
sub
)
then
g
:
AddCard
(
c
)
local
sub
=
sub
and
fun1
(
c
,
fc
,
false
)
local
res
=
cond
(
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
fun1
,
minc
-
1
,
maxc
-
1
,
...
)
local
res
=
cond
(
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
-
1
,
maxc
-
1
,
...
)
g
:
RemoveCard
(
c
)
if
res
then
return
true
end
end
...
...
@@ -692,28 +692,28 @@ end
function
Auxiliary
.
FCheckMixRepSelected
(
c
,
...
)
return
Auxiliary
.
FCheckMixRepTemplate
(
c
,
Auxiliary
.
FCheckMixRepSelectedCond
,
...
)
end
function
Auxiliary
.
FCheckSelectMixRep
(
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
fun1
,
minc
,
maxc
,
...
)
function
Auxiliary
.
FCheckSelectMixRep
(
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
...
)
if
Auxiliary
.
FCheckAdditional
and
not
Auxiliary
.
FCheckAdditional
(
tp
,
g
,
fc
)
then
return
false
end
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
g
,
fc
)
>
0
then
if
chkf
==
PLAYER_NONE
or
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
g
,
fc
)
>
0
then
if
minc
<=
0
and
#
{
...
}
==
0
then
return
true
end
return
mg
:
IsExists
(
Auxiliary
.
FCheckSelectMixRepAll
,
1
,
g
,
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
fun1
,
minc
,
maxc
,
...
)
return
mg
:
IsExists
(
Auxiliary
.
FCheckSelectMixRepAll
,
1
,
g
,
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
...
)
else
return
mg
:
IsExists
(
Auxiliary
.
FCheckSelectMixRepM
,
1
,
g
,
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
fun1
,
minc
,
maxc
,
...
)
return
mg
:
IsExists
(
Auxiliary
.
FCheckSelectMixRepM
,
1
,
g
,
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
...
)
end
end
function
Auxiliary
.
FCheckSelectMixRepAll
(
c
,
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
fun1
,
minc
,
maxc
,
fun2
,
...
)
function
Auxiliary
.
FCheckSelectMixRepAll
(
c
,
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
fun2
,
...
)
if
fun2
then
if
fun2
(
c
,
fc
,
sub
)
then
g
:
AddCard
(
c
)
local
sub
=
sub
and
fun2
(
c
,
fc
,
false
)
local
res
=
Auxiliary
.
FCheckSelectMixRep
(
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
fun1
,
minc
,
maxc
,
...
)
local
res
=
Auxiliary
.
FCheckSelectMixRep
(
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
,
maxc
,
...
)
g
:
RemoveCard
(
c
)
return
res
end
elseif
maxc
>
0
and
fun1
(
c
,
fc
,
sub
)
then
g
:
AddCard
(
c
)
local
sub
=
sub
and
fun1
(
c
,
fc
,
false
)
local
res
=
Auxiliary
.
FCheckSelectMixRep
(
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
fun1
,
minc
-
1
,
maxc
-
1
)
local
res
=
Auxiliary
.
FCheckSelectMixRep
(
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
chkf
,
fun1
,
minc
-
1
,
maxc
-
1
)
g
:
RemoveCard
(
c
)
return
res
end
...
...
@@ -723,16 +723,16 @@ function Auxiliary.FCheckSelectMixRepM(c,tp,...)
return
c
:
IsControler
(
tp
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
Auxiliary
.
FCheckMixRepTemplate
(
c
,
Auxiliary
.
FCheckSelectMixRep
,
tp
,
...
)
end
function
Auxiliary
.
FSelectMixRep
(
c
,
tp
,
mg
,
sg
,
fc
,
sub
,
...
)
function
Auxiliary
.
FSelectMixRep
(
c
,
tp
,
mg
,
sg
,
fc
,
sub
,
chkf
,
...
)
sg
:
AddCard
(
c
)
local
res
=
false
if
Auxiliary
.
FCheckAdditional
and
not
Auxiliary
.
FCheckAdditional
(
tp
,
sg
,
fc
)
then
res
=
false
elseif
Auxiliary
.
FCheckMixRepGoal
(
tp
,
sg
,
fc
,
sub
,
...
)
then
elseif
Auxiliary
.
FCheckMixRepGoal
(
tp
,
sg
,
fc
,
sub
,
chkf
,
...
)
then
res
=
true
else
local
g
=
Group
.
CreateGroup
()
res
=
sg
:
IsExists
(
Auxiliary
.
FCheckMixRepSelected
,
1
,
nil
,
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
...
)
res
=
sg
:
IsExists
(
Auxiliary
.
FCheckMixRepSelected
,
1
,
nil
,
tp
,
mg
,
sg
,
g
,
fc
,
sub
,
chkf
,
...
)
end
sg
:
RemoveCard
(
c
)
return
res
...
...
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