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
d11e82a4
Commit
d11e82a4
authored
Dec 20, 2016
by
VanillaSalt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
356fb070
Changes
30
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
101 additions
and
536 deletions
+101
-536
c10833828.lua
c10833828.lua
+3
-3
c11493868.lua
c11493868.lua
+3
-3
c12071500.lua
c12071500.lua
+3
-6
c1264319.lua
c1264319.lua
+3
-3
c17236839.lua
c17236839.lua
+3
-3
c23299957.lua
c23299957.lua
+3
-3
c24094653.lua
c24094653.lua
+3
-3
c26841274.lua
c26841274.lua
+3
-3
c28016193.lua
c28016193.lua
+1
-64
c33550694.lua
c33550694.lua
+3
-6
c34325937.lua
c34325937.lua
+3
-3
c37630732.lua
c37630732.lua
+3
-3
c39261576.lua
c39261576.lua
+3
-3
c39564736.lua
c39564736.lua
+3
-3
c42002073.lua
c42002073.lua
+3
-3
c42878636.lua
c42878636.lua
+3
-3
c43698897.lua
c43698897.lua
+3
-3
c44771289.lua
c44771289.lua
+3
-3
c4688231.lua
c4688231.lua
+1
-78
c48144509.lua
c48144509.lua
+3
-6
c48424886.lua
c48424886.lua
+14
-9
c51858200.lua
c51858200.lua
+3
-3
c52963531.lua
c52963531.lua
+3
-3
c54401832.lua
c54401832.lua
+1
-148
c55824220.lua
c55824220.lua
+3
-3
c60226558.lua
c60226558.lua
+4
-3
c73594093.lua
c73594093.lua
+3
-3
c77693536.lua
c77693536.lua
+12
-81
c81612598.lua
c81612598.lua
+1
-78
constant.lua
constant.lua
+1
-0
No files found.
c10833828.lua
View file @
d11e82a4
...
...
@@ -70,7 +70,7 @@ function c10833828.spop1(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SpecialSummonComplete
()
end
function
c10833828
.
spfilter2
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c10833828
.
spfilter3
(
c
,
e
,
tp
,
m
,
g
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsRace
(
RACE_FIEND
)
and
(
not
f
or
f
(
c
))
...
...
@@ -84,7 +84,7 @@ function c10833828.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c10833828
.
spfilter3
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
g
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -107,7 +107,7 @@ function c10833828.spop2(e,tp,eg,ep,ev,re,r,rp)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c10833828
.
spfilter2
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c11493868.lua
View file @
d11e82a4
...
...
@@ -55,7 +55,7 @@ function c11493868.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
)
end
function
c11493868
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
OnField
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c11493868
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x9b
)
and
(
not
f
or
f
(
c
))
...
...
@@ -64,7 +64,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -81,7 +81,7 @@ function c11493868.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c11493868
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c12071500.lua
View file @
d11e82a4
...
...
@@ -9,11 +9,8 @@ function c12071500.initial_effect(c)
e1
:
SetOperation
(
c12071500
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c12071500
.
filter0
(
c
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
end
function
c12071500
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
c
:
Is
AbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c12071500
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
.
dark_calling
and
(
not
f
or
f
(
c
))
...
...
@@ -22,7 +19,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
c12071500
.
filter0
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
Card
.
IsAbleToRemove
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c12071500
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -39,7 +36,7 @@ function c12071500.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c12071500
.
filter1
,
tp
,
LOCATION_GRAVE
+
LOCATION_HAND
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
c12071500
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c12071500
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
local
sg2
=
nil
...
...
c1264319.lua
View file @
d11e82a4
...
...
@@ -21,7 +21,7 @@ function c1264319.initial_effect(c)
c
:
RegisterEffect
(
e2
)
end
function
c1264319
.
filter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c1264319
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x1047
)
and
(
not
f
or
f
(
c
))
...
...
@@ -30,7 +30,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c1264319
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -47,7 +47,7 @@ function c1264319.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c1264319
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c17236839.lua
View file @
d11e82a4
...
...
@@ -11,7 +11,7 @@ function c17236839.initial_effect(c)
c
:
RegisterEffect
(
e1
)
end
function
c17236839
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
OnField
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c17236839
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
...
...
@@ -20,7 +20,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -37,7 +37,7 @@ function c17236839.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c17236839
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c23299957.lua
View file @
d11e82a4
...
...
@@ -10,7 +10,7 @@ function c23299957.initial_effect(c)
c
:
RegisterEffect
(
e1
)
end
function
c23299957
.
filter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c23299957
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x1016
)
and
(
not
f
or
f
(
c
))
...
...
@@ -19,7 +19,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c23299957
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -36,7 +36,7 @@ function c23299957.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c23299957
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c24094653.lua
View file @
d11e82a4
...
...
@@ -10,7 +10,7 @@ function c24094653.initial_effect(c)
c
:
RegisterEffect
(
e1
)
end
function
c24094653
.
filter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c24094653
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
...
...
@@ -19,7 +19,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c24094653
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -36,7 +36,7 @@ function c24094653.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c24094653
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c26841274.lua
View file @
d11e82a4
...
...
@@ -10,7 +10,7 @@ function c26841274.initial_effect(c)
c
:
RegisterEffect
(
e1
)
end
function
c26841274
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
c
:
IsSetCard
(
0xc008
)
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
OnField
()
and
c
:
IsSetCard
(
0xc008
)
and
(
not
e
or
not
c
:
IsImmuneToEffect
(
e
)
)
end
function
c26841274
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
...
...
@@ -22,7 +22,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
c26841274
.
filter3
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -39,7 +39,7 @@ function c26841274.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c26841274
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c28016193.lua
View file @
d11e82a4
...
...
@@ -2,13 +2,7 @@
function
c28016193
.
initial_effect
(
c
)
--fusion material
c
:
EnableReviveLimit
()
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_FUSION_MATERIAL
)
e0
:
SetCondition
(
c28016193
.
fscon
)
e0
:
SetOperation
(
c28016193
.
fsop
)
c
:
RegisterEffect
(
e0
)
aux
.
AddFusionProcFunRep
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsFusionSetCard
,
0xe1
),
2
,
false
)
--pierce
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
...
...
@@ -35,63 +29,6 @@ function c28016193.initial_effect(c)
e3
:
SetOperation
(
c28016193
.
desop
)
c
:
RegisterEffect
(
e3
)
end
function
c28016193
.
filter
(
c
)
return
c
:
IsFusionSetCard
(
0xe1
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c28016193
.
fscon
(
e
,
g
,
gc
,
chkfnf
)
if
g
==
nil
then
return
true
end
local
f
=
c28016193
.
filter
local
cc
=
2
local
chkf
=
bit
.
band
(
chkfnf
,
0xff
)
local
tp
=
e
:
GetHandlerPlayer
()
local
fg
=
Duel
.
GetMatchingGroup
(
Card
.
IsHasEffect
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
77693536
)
local
fc
=
fg
:
GetFirst
()
while
fc
do
g
:
Merge
(
fc
:
GetEquipGroup
():
Filter
(
Card
.
IsControler
,
nil
,
tp
))
fc
=
fg
:
GetNext
()
end
local
mg
=
g
:
Filter
(
Card
.
IsCanBeFusionMaterial
,
nil
,
e
:
GetHandler
())
if
gc
then
if
not
gc
:
IsCanBeFusionMaterial
(
e
:
GetHandler
())
then
return
false
end
return
f
(
gc
)
and
mg
:
IsExists
(
f
,
cc
-
1
,
gc
)
end
local
g1
=
mg
:
Filter
(
f
,
nil
)
if
chkf
~=
PLAYER_NONE
then
return
g1
:
FilterCount
(
Card
.
IsOnField
,
nil
)
~=
0
and
g1
:
GetCount
()
>=
cc
else
return
g1
:
GetCount
()
>=
cc
end
end
function
c28016193
.
fsop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkfnf
)
local
f
=
c28016193
.
filter
local
cc
=
2
local
chkf
=
bit
.
band
(
chkfnf
,
0xff
)
local
fg
=
Duel
.
GetMatchingGroup
(
Card
.
IsHasEffect
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
77693536
)
local
fc
=
fg
:
GetFirst
()
while
fc
do
eg
:
Merge
(
fc
:
GetEquipGroup
():
Filter
(
Card
.
IsControler
,
nil
,
tp
))
fc
=
fg
:
GetNext
()
end
local
g
=
eg
:
Filter
(
Card
.
IsCanBeFusionMaterial
,
nil
,
e
:
GetHandler
())
if
gc
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
g1
=
g
:
FilterSelect
(
tp
,
f
,
cc
-
1
,
cc
-
1
,
gc
)
Duel
.
SetFusionMaterial
(
g1
)
return
end
local
sg
=
g
:
Filter
(
f
,
nil
)
if
chkf
==
PLAYER_NONE
or
sg
:
GetCount
()
==
cc
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
g1
=
sg
:
Select
(
tp
,
cc
,
cc
,
nil
)
Duel
.
SetFusionMaterial
(
g1
)
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
g1
=
sg
:
FilterSelect
(
tp
,
Auxiliary
.
FConditionCheckF
,
1
,
1
,
nil
,
chkf
)
if
cc
>
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
g2
=
sg
:
Select
(
tp
,
cc
-
1
,
cc
-
1
,
g1
:
GetFirst
())
g1
:
Merge
(
g2
)
end
Duel
.
SetFusionMaterial
(
g1
)
end
function
c28016193
.
damcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
eg
:
GetFirst
()
return
ep
~=
tp
and
tc
:
IsSetCard
(
0xe1
)
and
tc
:
GetBattleTarget
()
~=
nil
and
tc
:
GetBattleTarget
():
IsDefensePos
()
...
...
c33550694.lua
View file @
d11e82a4
...
...
@@ -16,11 +16,8 @@ function c33550694.initial_effect(c)
e2
:
SetOperation
(
c33550694
.
operation
)
c
:
RegisterEffect
(
e2
)
end
function
c33550694
.
filter0
(
c
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
end
function
c33550694
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
c
:
Is
AbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c33550694
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
...
...
@@ -29,7 +26,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
c33550694
.
filter0
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -47,7 +44,7 @@ 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
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
mg1
=
Duel
.
Get
MatchingGroup
(
c33550694
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
c33550694
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c33550694
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
local
sg2
=
nil
...
...
c34325937.lua
View file @
d11e82a4
...
...
@@ -24,7 +24,7 @@ function c34325937.initial_effect(c)
c
:
RegisterEffect
(
e2
)
end
function
c34325937
.
filter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c34325937
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0xe3
)
and
(
not
f
or
f
(
c
))
...
...
@@ -33,7 +33,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c34325937
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -50,7 +50,7 @@ function c34325937.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c34325937
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c37630732.lua
View file @
d11e82a4
...
...
@@ -10,7 +10,7 @@ function c37630732.initial_effect(c)
c
:
RegisterEffect
(
e1
)
end
function
c37630732
.
filter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c37630732
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsRace
(
RACE_MACHINE
)
and
(
not
f
or
f
(
c
))
...
...
@@ -19,7 +19,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c37630732
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -36,7 +36,7 @@ function c37630732.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c37630732
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c39261576.lua
View file @
d11e82a4
...
...
@@ -22,7 +22,7 @@ function c39261576.initial_effect(c)
c
:
RegisterEffect
(
e2
)
end
function
c39261576
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
OnField
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c39261576
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x1047
)
and
(
not
f
or
f
(
c
))
...
...
@@ -31,7 +31,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -48,7 +48,7 @@ function c39261576.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c39261576
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c39564736.lua
View file @
d11e82a4
...
...
@@ -11,7 +11,7 @@ function c39564736.initial_effect(c)
c
:
RegisterEffect
(
e1
)
end
function
c39564736
.
filter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c39564736
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0xe1
)
and
(
not
f
or
f
(
c
))
...
...
@@ -20,7 +20,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c39564736
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -37,7 +37,7 @@ function c39564736.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c39564736
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c42002073.lua
View file @
d11e82a4
...
...
@@ -23,7 +23,7 @@ function c42002073.initial_effect(c)
c
:
RegisterEffect
(
e6
)
end
function
c42002073
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
OnField
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c42002073
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
...
...
@@ -32,7 +32,7 @@ end
function
c42002073
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_MZONE
,
0
,
c
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
c
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c42002073
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -50,7 +50,7 @@ end
function
c42002073
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsFacedown
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
local
mg1
=
Duel
.
Get
MatchingGroup
(
c42002073
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
c
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
c42002073
.
filter1
,
c
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c42002073
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
)
local
mg2
=
nil
local
sg2
=
nil
...
...
c42878636.lua
View file @
d11e82a4
...
...
@@ -48,7 +48,7 @@ function c42878636.actcon(e)
return
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
function
c42878636
.
spfilter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c42878636
.
spfilter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x7
)
and
(
not
f
or
f
(
c
))
...
...
@@ -57,7 +57,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c42878636
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -74,7 +74,7 @@ function c42878636.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c42878636
.
spfilter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c43698897.lua
View file @
d11e82a4
...
...
@@ -36,7 +36,7 @@ function c43698897.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
function
c43698897
.
filter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c43698897
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0xad
)
and
(
not
f
or
f
(
c
))
...
...
@@ -45,7 +45,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c43698897
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -63,7 +63,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
c43698897
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c44771289.lua
View file @
d11e82a4
...
...
@@ -23,7 +23,7 @@ function c44771289.initial_effect(c)
c
:
RegisterEffect
(
e2
)
end
function
c44771289
.
filter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c44771289
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0xb1
)
and
(
not
f
or
f
(
c
))
...
...
@@ -32,7 +32,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c44771289
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -49,7 +49,7 @@ function c44771289.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c44771289
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c4688231.lua
View file @
d11e82a4
...
...
@@ -2,13 +2,7 @@
function
c4688231
.
initial_effect
(
c
)
--fusion material
c
:
EnableReviveLimit
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_FUSION_MATERIAL
)
e1
:
SetCondition
(
c4688231
.
fscon
)
e1
:
SetOperation
(
c4688231
.
fsop
)
c
:
RegisterEffect
(
e1
)
aux
.
AddFusionProcFun2
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsFusionSetCard
,
0xe1
),
aux
.
FilterBoolFunction
(
Card
.
IsFusionType
,
TYPE_PENDULUM
),
true
)
--return
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetCategory
(
CATEGORY_TODECK
+
CATEGORY_TOHAND
)
...
...
@@ -30,77 +24,6 @@ function c4688231.initial_effect(c)
e3
:
SetOperation
(
c4688231
.
spop
)
c
:
RegisterEffect
(
e3
)
end
function
c4688231
.
filter1
(
c
)
return
c
:
IsFusionSetCard
(
0xe1
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c4688231
.
filter2
(
c
)
return
c
:
IsFusionType
(
TYPE_PENDULUM
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c4688231
.
fscon
(
e
,
g
,
gc
,
chkfnf
)
if
g
==
nil
then
return
true
end
local
f1
=
c4688231
.
filter1
local
f2
=
c4688231
.
filter2
local
chkf
=
bit
.
band
(
chkfnf
,
0xff
)
local
tp
=
e
:
GetHandlerPlayer
()
local
fg
=
Duel
.
GetMatchingGroup
(
Card
.
IsHasEffect
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
77693536
)
local
fc
=
fg
:
GetFirst
()
while
fc
do
g
:
Merge
(
fc
:
GetEquipGroup
():
Filter
(
Card
.
IsControler
,
nil
,
tp
))
fc
=
fg
:
GetNext
()
end
local
mg
=
g
:
Filter
(
Card
.
IsCanBeFusionMaterial
,
nil
,
e
:
GetHandler
())
if
gc
then
if
not
gc
:
IsCanBeFusionMaterial
(
e
:
GetHandler
())
then
return
false
end
return
(
f1
(
gc
)
and
mg
:
IsExists
(
f2
,
1
,
gc
))
or
(
f2
(
gc
)
and
mg
:
IsExists
(
f1
,
1
,
gc
))
end
local
g1
=
Group
.
CreateGroup
()
local
g2
=
Group
.
CreateGroup
()
local
fs
=
false
local
tc
=
mg
:
GetFirst
()
while
tc
do
if
f1
(
tc
)
then
g1
:
AddCard
(
tc
)
if
aux
.
FConditionCheckF
(
tc
,
chkf
)
then
fs
=
true
end
end
if
f2
(
tc
)
then
g2
:
AddCard
(
tc
)
if
aux
.
FConditionCheckF
(
tc
,
chkf
)
then
fs
=
true
end
end
tc
=
mg
:
GetNext
()
end
if
chkf
~=
PLAYER_NONE
then
return
fs
and
g1
:
IsExists
(
aux
.
FConditionFilterF2
,
1
,
nil
,
g2
)
else
return
g1
:
IsExists
(
aux
.
FConditionFilterF2
,
1
,
nil
,
g2
)
end
end
function
c4688231
.
fsop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkfnf
)
local
f1
=
c4688231
.
filter1
local
f2
=
c4688231
.
filter2
local
chkf
=
bit
.
band
(
chkfnf
,
0xff
)
local
fg
=
Duel
.
GetMatchingGroup
(
Card
.
IsHasEffect
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
77693536
)
local
fc
=
fg
:
GetFirst
()
while
fc
do
eg
:
Merge
(
fc
:
GetEquipGroup
():
Filter
(
Card
.
IsControler
,
nil
,
tp
))
fc
=
fg
:
GetNext
()
end
local
g
=
eg
:
Filter
(
Card
.
IsCanBeFusionMaterial
,
nil
,
e
:
GetHandler
())
if
gc
then
local
sg
=
Group
.
CreateGroup
()
if
f1
(
gc
)
then
sg
:
Merge
(
g
:
Filter
(
f2
,
gc
))
end
if
f2
(
gc
)
then
sg
:
Merge
(
g
:
Filter
(
f1
,
gc
))
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
g1
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SetFusionMaterial
(
g1
)
return
end
local
sg
=
g
:
Filter
(
aux
.
FConditionFilterF2c
,
nil
,
f1
,
f2
)
local
g1
=
nil
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
if
chkf
~=
PLAYER_NONE
then
g1
=
sg
:
FilterSelect
(
tp
,
aux
.
FConditionCheckF
,
1
,
1
,
nil
,
chkf
)
else
g1
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
end
local
tc1
=
g1
:
GetFirst
()
sg
:
RemoveCard
(
tc1
)
local
b1
=
f1
(
tc1
)
local
b2
=
f2
(
tc1
)
if
b1
and
not
b2
then
sg
:
Remove
(
aux
.
FConditionFilterF2r
,
nil
,
f1
,
f2
)
end
if
b2
and
not
b1
then
sg
:
Remove
(
aux
.
FConditionFilterF2r
,
nil
,
f2
,
f1
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
g2
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
Duel
.
SetFusionMaterial
(
g1
)
end
function
c4688231
.
retfilter1
(
c
)
return
c
:
IsSetCard
(
0xe1
)
and
c
:
IsAbleToDeck
()
end
...
...
c48144509.lua
View file @
d11e82a4
...
...
@@ -10,11 +10,8 @@ function c48144509.initial_effect(c)
e1
:
SetOperation
(
c48144509
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c48144509
.
filter0
(
c
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToGrave
()
end
function
c48144509
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
c
:
Is
AbleToGrave
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
IsAbleToGrave
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c48144509
.
exfilter0
(
c
)
return
c
:
IsSetCard
(
0x99
)
and
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToGrave
()
...
...
@@ -40,7 +37,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
c48144509
.
filter0
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
)
mg1
:
Merge
(
sg
)
...
...
@@ -61,7 +58,7 @@ function c48144509.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c48144509
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
c48144509
.
filter1
,
nil
,
e
)
if
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_MZONE
,
0
)
==
0
and
Duel
.
GetFieldGroupCount
(
tp
,
0
,
LOCATION_MZONE
)
>
1
then
local
sg
=
Duel
.
GetMatchingGroup
(
c48144509
.
exfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
)
mg1
:
Merge
(
sg
)
...
...
c48424886.lua
View file @
d11e82a4
...
...
@@ -51,20 +51,24 @@ function c48424886.exfilter(c,g)
end
function
c48424886
.
fuscon
(
e
,
g
,
gc
,
chkf
)
if
g
==
nil
then
return
true
end
local
mg
=
g
:
Filter
(
Card
.
IsCanBeFusionMaterial
,
nil
,
e
:
GetHandler
())
local
tp
=
e
:
GetHandlerPlayer
()
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
Group
.
CreateGroup
()
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c48424886
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
,
g
)
local
sg
=
Duel
.
GetMatchingGroup
(
c48424886
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
,
m
g
)
exg
:
Merge
(
sg
)
end
if
gc
then
return
(
c48424886
.
ffilter1
(
gc
)
and
(
g
:
IsExists
(
c48424886
.
ffilter2
,
1
,
gc
)
or
exg
:
IsExists
(
c48424886
.
ffilter2
,
1
,
gc
)))
or
(
c48424886
.
ffilter2
(
gc
)
and
(
g
:
IsExists
(
c48424886
.
ffilter1
,
1
,
gc
)
or
exg
:
IsExists
(
c48424886
.
ffilter1
,
1
,
gc
)))
end
if
gc
then
if
not
gc
:
IsCanBeFusionMaterial
(
e
:
GetHandler
())
then
return
false
end
return
(
c48424886
.
ffilter1
(
gc
)
and
(
mg
:
IsExists
(
c48424886
.
ffilter2
,
1
,
gc
)
or
exg
:
IsExists
(
c48424886
.
ffilter2
,
1
,
gc
)))
or
(
c48424886
.
ffilter2
(
gc
)
and
(
mg
:
IsExists
(
c48424886
.
ffilter1
,
1
,
gc
)
or
exg
:
IsExists
(
c48424886
.
ffilter1
,
1
,
gc
)))
end
local
g1
=
Group
.
CreateGroup
()
local
g2
=
Group
.
CreateGroup
()
local
g3
=
Group
.
CreateGroup
()
local
g4
=
Group
.
CreateGroup
()
local
tc
=
g
:
GetFirst
()
local
tc
=
m
g
:
GetFirst
()
while
tc
do
if
c48424886
.
ffilter1
(
tc
)
then
g1
:
AddCard
(
tc
)
...
...
@@ -74,7 +78,7 @@ function c48424886.fuscon(e,g,gc,chkf)
g2
:
AddCard
(
tc
)
if
aux
.
FConditionCheckF
(
tc
,
chkf
)
then
g4
:
AddCard
(
tc
)
end
end
tc
=
g
:
GetNext
()
tc
=
m
g
:
GetNext
()
end
local
exg1
=
exg
:
Filter
(
c48424886
.
ffilter1
,
nil
)
local
exg2
=
exg
:
Filter
(
c48424886
.
ffilter2
,
nil
)
...
...
@@ -90,21 +94,22 @@ function c48424886.fuscon(e,g,gc,chkf)
end
end
function
c48424886
.
fusop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkf
)
local
g
=
eg
:
Filter
(
Card
.
IsCanBeFusionMaterial
,
nil
,
e
:
GetHandler
())
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
Group
.
CreateGroup
()
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c48424886
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
,
e
g
)
local
sg
=
Duel
.
GetMatchingGroup
(
c48424886
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
,
g
)
exg
:
Merge
(
sg
)
end
if
gc
then
local
sg1
=
Group
.
CreateGroup
()
local
sg2
=
Group
.
CreateGroup
()
if
c48424886
.
ffilter1
(
gc
)
then
sg1
:
Merge
(
e
g
:
Filter
(
c48424886
.
ffilter2
,
gc
))
sg1
:
Merge
(
g
:
Filter
(
c48424886
.
ffilter2
,
gc
))
sg2
:
Merge
(
exg
:
Filter
(
c48424886
.
ffilter2
,
gc
))
end
if
c48424886
.
ffilter2
(
gc
)
then
sg1
:
Merge
(
e
g
:
Filter
(
c48424886
.
ffilter1
,
gc
))
sg1
:
Merge
(
g
:
Filter
(
c48424886
.
ffilter1
,
gc
))
sg2
:
Merge
(
exg
:
Filter
(
c48424886
.
ffilter1
,
gc
))
end
local
g1
=
nil
...
...
@@ -119,7 +124,7 @@ function c48424886.fusop(e,tp,eg,ep,ev,re,r,rp,gc,chkf)
Duel
.
SetFusionMaterial
(
g1
)
return
end
local
sg
=
e
g
:
Filter
(
aux
.
FConditionFilterF2c
,
nil
,
c48424886
.
ffilter1
,
c48424886
.
ffilter2
)
local
sg
=
g
:
Filter
(
aux
.
FConditionFilterF2c
,
nil
,
c48424886
.
ffilter1
,
c48424886
.
ffilter2
)
local
g1
=
nil
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
if
chkf
~=
PLAYER_NONE
then
...
...
c51858200.lua
View file @
d11e82a4
...
...
@@ -57,7 +57,7 @@ function c51858200.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
Remove
(
e
:
GetHandler
(),
POS_FACEUP
,
REASON_COST
)
end
function
c51858200
.
spfilter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
c
:
Is
SetCard
(
0x10f3
)
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
IsSetCard
(
0x10f3
)
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c51858200
.
spfilter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
...
...
@@ -69,7 +69,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
c51858200
.
spfilter3
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -86,7 +86,7 @@ function c51858200.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c51858200
.
spfilter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c52963531.lua
View file @
d11e82a4
...
...
@@ -47,7 +47,7 @@ function c52963531.spop(e,tp,eg,ep,ev,re,r,rp)
end
end
function
c52963531
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
OnField
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c52963531
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsRace
(
RACE_DRAGON
)
and
(
not
f
or
f
(
c
))
...
...
@@ -56,7 +56,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -73,7 +73,7 @@ function c52963531.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c52963531
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c54401832.lua
View file @
d11e82a4
...
...
@@ -2,152 +2,5 @@
function
c54401832
.
initial_effect
(
c
)
--fusion material
c
:
EnableReviveLimit
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_FUSION_MATERIAL
)
e1
:
SetCondition
(
c54401832
.
fscon
)
e1
:
SetOperation
(
c54401832
.
fsop
)
c
:
RegisterEffect
(
e1
)
end
function
c54401832
.
filter1
(
c
)
return
c
:
IsFusionSetCard
(
0xe1
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c54401832
.
filter2
(
c
)
return
c
:
IsAttackBelow
(
3000
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c54401832
.
fscon
(
e
,
g
,
gc
,
chkfnf
)
if
g
==
nil
then
return
true
end
local
f1
=
c54401832
.
filter1
local
f2
=
c54401832
.
filter2
local
minc
=
2
local
chkf
=
bit
.
band
(
chkfnf
,
0xff
)
local
tp
=
e
:
GetHandlerPlayer
()
local
fg
=
Duel
.
GetMatchingGroup
(
Card
.
IsHasEffect
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
77693536
)
local
fc
=
fg
:
GetFirst
()
while
fc
do
g
:
Merge
(
fc
:
GetEquipGroup
():
Filter
(
Card
.
IsControler
,
nil
,
tp
))
fc
=
fg
:
GetNext
()
end
local
mg
=
g
:
Filter
(
Card
.
IsCanBeFusionMaterial
,
nil
,
e
:
GetHandler
())
if
gc
then
if
not
gc
:
IsCanBeFusionMaterial
(
e
:
GetHandler
())
then
return
false
end
if
aux
.
FConditionFilterFFR
(
gc
,
f1
,
f2
,
mg
,
minc
,
chkf
)
then
return
true
elseif
f2
(
gc
)
then
mg
:
RemoveCard
(
gc
)
if
aux
.
FConditionCheckF
(
gc
,
chkf
)
then
chkf
=
PLAYER_NONE
end
return
mg
:
IsExists
(
aux
.
FConditionFilterFFR
,
1
,
nil
,
f1
,
f2
,
mg
,
minc
-
1
,
chkf
)
else
return
false
end
end
return
mg
:
IsExists
(
aux
.
FConditionFilterFFR
,
1
,
nil
,
f1
,
f2
,
mg
,
minc
,
chkf
)
end
function
c54401832
.
fsop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkfnf
)
local
f1
=
c54401832
.
filter1
local
f2
=
c54401832
.
filter2
local
chkf
=
bit
.
band
(
chkfnf
,
0xff
)
local
fg
=
Duel
.
GetMatchingGroup
(
Card
.
IsHasEffect
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
77693536
)
local
fc
=
fg
:
GetFirst
()
while
fc
do
eg
:
Merge
(
fc
:
GetEquipGroup
():
Filter
(
Card
.
IsControler
,
nil
,
tp
))
fc
=
fg
:
GetNext
()
end
local
g
=
eg
:
Filter
(
Card
.
IsCanBeFusionMaterial
,
nil
,
e
:
GetHandler
())
local
minct
=
2
local
maxct
=
2
if
gc
then
g
:
RemoveCard
(
gc
)
if
aux
.
FConditionFilterFFR
(
gc
,
f1
,
f2
,
g
,
minct
,
chkf
)
then
if
aux
.
FConditionCheckF
(
gc
,
chkf
)
then
chkf
=
PLAYER_NONE
end
local
g1
=
Group
.
CreateGroup
()
if
f2
(
gc
)
then
local
mg1
=
g
:
Filter
(
aux
.
FConditionFilterFFR
,
nil
,
f1
,
f2
,
g
,
minct
-
1
,
chkf
)
if
mg1
:
GetCount
()
>
0
then
--if gc fits both, should allow an extra material that fits f1 but doesn't fit f2
local
mg2
=
g
:
Filter
(
f2
,
nil
)
mg1
:
Merge
(
mg2
)
if
chkf
~=
PLAYER_NONE
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg1
:
FilterSelect
(
tp
,
aux
.
FConditionCheckF
,
1
,
1
,
nil
,
chkf
)
g1
:
Merge
(
sg
)
mg1
:
Sub
(
sg
)
minct
=
minct
-
1
maxct
=
maxct
-
1
if
not
f2
(
sg
:
GetFirst
())
then
if
mg1
:
GetCount
()
>
0
and
maxct
>
0
and
(
minct
>
0
or
Duel
.
SelectYesNo
(
tp
,
93
))
then
if
minct
<=
0
then
minct
=
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg1
:
FilterSelect
(
tp
,
f2
,
minct
,
maxct
,
nil
)
g1
:
Merge
(
sg
)
end
Duel
.
SetFusionMaterial
(
g1
)
return
end
end
if
maxct
>
1
and
(
minct
>
1
or
Duel
.
SelectYesNo
(
tp
,
93
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg1
:
FilterSelect
(
tp
,
f2
,
minct
-
1
,
maxct
-
1
,
nil
)
g1
:
Merge
(
sg
)
mg1
:
Sub
(
sg
)
local
ct
=
sg
:
GetCount
()
minct
=
minct
-
ct
maxct
=
maxct
-
ct
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg1
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
sg
)
mg1
:
Sub
(
sg
)
minct
=
minct
-
1
maxct
=
maxct
-
1
if
mg1
:
GetCount
()
>
0
and
maxct
>
0
and
(
minct
>
0
or
Duel
.
SelectYesNo
(
tp
,
93
))
then
if
minct
<=
0
then
minct
=
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg1
:
FilterSelect
(
tp
,
f2
,
minct
,
maxct
,
nil
)
g1
:
Merge
(
sg
)
end
Duel
.
SetFusionMaterial
(
g1
)
return
end
end
local
mg
=
g
:
Filter
(
f2
,
nil
)
if
chkf
~=
PLAYER_NONE
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg
:
FilterSelect
(
tp
,
aux
.
FConditionCheckF
,
1
,
1
,
nil
,
chkf
)
g1
:
Merge
(
sg
)
mg
:
Sub
(
sg
)
minct
=
minct
-
1
maxct
=
maxct
-
1
end
if
mg
:
GetCount
()
>
0
and
maxct
>
0
and
(
minct
>
0
or
Duel
.
SelectYesNo
(
tp
,
93
))
then
if
minct
<=
0
then
minct
=
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg
:
Select
(
tp
,
minct
,
maxct
,
nil
)
g1
:
Merge
(
sg
)
end
Duel
.
SetFusionMaterial
(
g1
)
return
else
if
aux
.
FConditionCheckF
(
gc
,
chkf
)
then
chkf
=
PLAYER_NONE
end
minct
=
minct
-
1
maxct
=
maxct
-
1
end
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
g1
=
g
:
FilterSelect
(
tp
,
aux
.
FConditionFilterFFR
,
1
,
1
,
nil
,
f1
,
f2
,
g
,
minct
,
chkf
)
local
mg
=
g
:
Filter
(
f2
,
g1
:
GetFirst
())
if
chkf
~=
PLAYER_NONE
and
not
aux
.
FConditionCheckF
(
g1
:
GetFirst
(),
chkf
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg
:
FilterSelect
(
tp
,
aux
.
FConditionCheckF
,
1
,
1
,
nil
,
chkf
)
g1
:
Merge
(
sg
)
mg
:
Sub
(
sg
)
minct
=
minct
-
1
maxct
=
maxct
-
1
end
if
mg
:
GetCount
()
>
0
and
maxct
>
0
and
(
minct
>
0
or
Duel
.
SelectYesNo
(
tp
,
93
))
then
if
minct
<=
0
then
minct
=
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg
:
Select
(
tp
,
minct
,
maxct
,
nil
)
g1
:
Merge
(
sg
)
end
Duel
.
SetFusionMaterial
(
g1
)
aux
.
AddFusionProcFunFunRep
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsFusionSetCard
,
0xe1
),
aux
.
FilterBoolFunction
(
Card
.
IsAttackBelow
,
3000
),
2
,
2
,
true
)
end
c55824220.lua
View file @
d11e82a4
...
...
@@ -10,7 +10,7 @@ function c55824220.initial_effect(c)
c
:
RegisterEffect
(
e1
)
end
function
c55824220
.
filter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c55824220
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x1047
)
and
(
not
f
or
f
(
c
))
...
...
@@ -19,7 +19,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c55824220
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -36,7 +36,7 @@ function c55824220.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c55824220
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c60226558.lua
View file @
d11e82a4
...
...
@@ -58,7 +58,7 @@ function c60226558.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function
c60226558
.
filter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c60226558
.
filter2
(
c
,
e
,
tp
,
m
,
ec
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x9d
)
and
(
not
f
or
f
(
c
))
...
...
@@ -69,7 +69,8 @@ function c60226558.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
ec
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
mg1
:
RemoveCard
(
ec
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c60226558
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
ec
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -90,7 +91,7 @@ function c60226558.spop(e,tp,eg,ep,ev,re,r,rp)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c60226558
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
ec
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
c60226558
.
filter1
,
ec
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c60226558
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
ec
,
nil
,
chkf
)
local
mg2
=
nil
local
sg2
=
nil
...
...
c73594093.lua
View file @
d11e82a4
...
...
@@ -21,7 +21,7 @@ function c73594093.initial_effect(c)
c
:
RegisterEffect
(
e2
)
end
function
c73594093
.
filter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c73594093
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0xe1
)
and
(
not
f
or
f
(
c
))
...
...
@@ -30,7 +30,7 @@ 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
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c73594093
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
...
@@ -47,7 +47,7 @@ function c73594093.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
mg1
=
Duel
.
Get
MatchingGroup
(
c73594093
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
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
local
sg2
=
nil
...
...
c77693536.lua
View file @
d11e82a4
...
...
@@ -2,13 +2,7 @@
function
c77693536
.
initial_effect
(
c
)
--fusion material
c
:
EnableReviveLimit
()
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_FUSION_MATERIAL
)
e0
:
SetCondition
(
c77693536
.
fscon
)
e0
:
SetOperation
(
c77693536
.
fsop
)
c
:
RegisterEffect
(
e0
)
aux
.
AddFusionProcFun2
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsFusionSetCard
,
0xe1
),
aux
.
FilterBoolFunction
(
Card
.
IsFusionType
,
TYPE_NORMAL
),
true
)
--spsummon condition
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
...
@@ -32,83 +26,14 @@ function c77693536.initial_effect(c)
c
:
RegisterEffect
(
e2
)
--equip fusion material
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
77693536
)
e3
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EFFECT_EXTRA_FUSION_MATERIAL
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetTargetRange
(
LOCATION_SZONE
,
0
)
e3
:
SetTarget
(
c77693536
.
mttg
)
e3
:
SetValue
(
c77693536
.
mtval
)
c
:
RegisterEffect
(
e3
)
end
function
c77693536
.
filter1
(
c
)
return
c
:
IsFusionSetCard
(
0xe1
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c77693536
.
filter2
(
c
)
return
c
:
IsFusionType
(
TYPE_NORMAL
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c77693536
.
fscon
(
e
,
g
,
gc
,
chkfnf
)
if
g
==
nil
then
return
true
end
local
f1
=
c77693536
.
filter1
local
f2
=
c77693536
.
filter2
local
chkf
=
bit
.
band
(
chkfnf
,
0xff
)
local
tp
=
e
:
GetHandlerPlayer
()
local
fg
=
Duel
.
GetMatchingGroup
(
Card
.
IsHasEffect
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
77693536
)
local
fc
=
fg
:
GetFirst
()
while
fc
do
g
:
Merge
(
fc
:
GetEquipGroup
():
Filter
(
Card
.
IsControler
,
nil
,
tp
))
fc
=
fg
:
GetNext
()
end
local
mg
=
g
:
Filter
(
Card
.
IsCanBeFusionMaterial
,
nil
,
e
:
GetHandler
())
if
gc
then
if
not
gc
:
IsCanBeFusionMaterial
(
e
:
GetHandler
())
then
return
false
end
return
(
f1
(
gc
)
and
mg
:
IsExists
(
f2
,
1
,
gc
))
or
(
f2
(
gc
)
and
mg
:
IsExists
(
f1
,
1
,
gc
))
end
local
g1
=
Group
.
CreateGroup
()
local
g2
=
Group
.
CreateGroup
()
local
fs
=
false
local
tc
=
mg
:
GetFirst
()
while
tc
do
if
f1
(
tc
)
then
g1
:
AddCard
(
tc
)
if
aux
.
FConditionCheckF
(
tc
,
chkf
)
then
fs
=
true
end
end
if
f2
(
tc
)
then
g2
:
AddCard
(
tc
)
if
aux
.
FConditionCheckF
(
tc
,
chkf
)
then
fs
=
true
end
end
tc
=
mg
:
GetNext
()
end
if
chkf
~=
PLAYER_NONE
then
return
fs
and
g1
:
IsExists
(
aux
.
FConditionFilterF2
,
1
,
nil
,
g2
)
else
return
g1
:
IsExists
(
aux
.
FConditionFilterF2
,
1
,
nil
,
g2
)
end
end
function
c77693536
.
fsop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkfnf
)
local
f1
=
c77693536
.
filter1
local
f2
=
c77693536
.
filter2
local
chkf
=
bit
.
band
(
chkfnf
,
0xff
)
local
fg
=
Duel
.
GetMatchingGroup
(
Card
.
IsHasEffect
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
77693536
)
local
fc
=
fg
:
GetFirst
()
while
fc
do
eg
:
Merge
(
fc
:
GetEquipGroup
():
Filter
(
Card
.
IsControler
,
nil
,
tp
))
fc
=
fg
:
GetNext
()
end
local
g
=
eg
:
Filter
(
Card
.
IsCanBeFusionMaterial
,
nil
,
e
:
GetHandler
())
if
gc
then
local
sg
=
Group
.
CreateGroup
()
if
f1
(
gc
)
then
sg
:
Merge
(
g
:
Filter
(
f2
,
gc
))
end
if
f2
(
gc
)
then
sg
:
Merge
(
g
:
Filter
(
f1
,
gc
))
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
g1
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SetFusionMaterial
(
g1
)
return
end
local
sg
=
g
:
Filter
(
aux
.
FConditionFilterF2c
,
nil
,
f1
,
f2
)
local
g1
=
nil
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
if
chkf
~=
PLAYER_NONE
then
g1
=
sg
:
FilterSelect
(
tp
,
aux
.
FConditionCheckF
,
1
,
1
,
nil
,
chkf
)
else
g1
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
end
local
tc1
=
g1
:
GetFirst
()
sg
:
RemoveCard
(
tc1
)
local
b1
=
f1
(
tc1
)
local
b2
=
f2
(
tc1
)
if
b1
and
not
b2
then
sg
:
Remove
(
aux
.
FConditionFilterF2r
,
nil
,
f1
,
f2
)
end
if
b2
and
not
b1
then
sg
:
Remove
(
aux
.
FConditionFilterF2r
,
nil
,
f2
,
f1
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
g2
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
Duel
.
SetFusionMaterial
(
g1
)
end
function
c77693536
.
eqcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
~=
tp
end
...
...
@@ -152,3 +77,9 @@ end
function
c77693536
.
eqlimit
(
e
,
c
)
return
e
:
GetOwner
()
==
c
end
function
c77693536
.
mttg
(
e
,
c
)
return
c
:
GetEquipTarget
()
==
e
:
GetHandler
()
end
function
c77693536
.
mtval
(
e
,
c
)
return
c
:
IsSetCard
(
0xe1
)
end
c81612598.lua
View file @
d11e82a4
...
...
@@ -2,82 +2,5 @@
function
c81612598
.
initial_effect
(
c
)
--fusion material
c
:
EnableReviveLimit
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_FUSION_MATERIAL
)
e1
:
SetCondition
(
c81612598
.
fscon
)
e1
:
SetOperation
(
c81612598
.
fsop
)
c
:
RegisterEffect
(
e1
)
end
function
c81612598
.
filter1
(
c
)
return
c
:
IsFusionSetCard
(
0xe1
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c81612598
.
filter2
(
c
)
return
c
:
IsAttackBelow
(
2500
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c81612598
.
fscon
(
e
,
g
,
gc
,
chkfnf
)
if
g
==
nil
then
return
true
end
local
f1
=
c81612598
.
filter1
local
f2
=
c81612598
.
filter2
local
chkf
=
bit
.
band
(
chkfnf
,
0xff
)
local
tp
=
e
:
GetHandlerPlayer
()
local
fg
=
Duel
.
GetMatchingGroup
(
Card
.
IsHasEffect
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
77693536
)
local
fc
=
fg
:
GetFirst
()
while
fc
do
g
:
Merge
(
fc
:
GetEquipGroup
():
Filter
(
Card
.
IsControler
,
nil
,
tp
))
fc
=
fg
:
GetNext
()
end
local
mg
=
g
:
Filter
(
Card
.
IsCanBeFusionMaterial
,
nil
,
e
:
GetHandler
())
if
gc
then
if
not
gc
:
IsCanBeFusionMaterial
(
e
:
GetHandler
())
then
return
false
end
return
(
f1
(
gc
)
and
mg
:
IsExists
(
f2
,
1
,
gc
))
or
(
f2
(
gc
)
and
mg
:
IsExists
(
f1
,
1
,
gc
))
end
local
g1
=
Group
.
CreateGroup
()
local
g2
=
Group
.
CreateGroup
()
local
fs
=
false
local
tc
=
mg
:
GetFirst
()
while
tc
do
if
f1
(
tc
)
then
g1
:
AddCard
(
tc
)
if
aux
.
FConditionCheckF
(
tc
,
chkf
)
then
fs
=
true
end
end
if
f2
(
tc
)
then
g2
:
AddCard
(
tc
)
if
aux
.
FConditionCheckF
(
tc
,
chkf
)
then
fs
=
true
end
end
tc
=
mg
:
GetNext
()
end
if
chkf
~=
PLAYER_NONE
then
return
fs
and
g1
:
IsExists
(
aux
.
FConditionFilterF2
,
1
,
nil
,
g2
)
else
return
g1
:
IsExists
(
aux
.
FConditionFilterF2
,
1
,
nil
,
g2
)
end
end
function
c81612598
.
fsop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkfnf
)
local
f1
=
c81612598
.
filter1
local
f2
=
c81612598
.
filter2
local
chkf
=
bit
.
band
(
chkfnf
,
0xff
)
local
fg
=
Duel
.
GetMatchingGroup
(
Card
.
IsHasEffect
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
77693536
)
local
fc
=
fg
:
GetFirst
()
while
fc
do
eg
:
Merge
(
fc
:
GetEquipGroup
():
Filter
(
Card
.
IsControler
,
nil
,
tp
))
fc
=
fg
:
GetNext
()
end
local
g
=
eg
:
Filter
(
Card
.
IsCanBeFusionMaterial
,
nil
,
e
:
GetHandler
())
if
gc
then
local
sg
=
Group
.
CreateGroup
()
if
f1
(
gc
)
then
sg
:
Merge
(
g
:
Filter
(
f2
,
gc
))
end
if
f2
(
gc
)
then
sg
:
Merge
(
g
:
Filter
(
f1
,
gc
))
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
g1
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SetFusionMaterial
(
g1
)
return
end
local
sg
=
g
:
Filter
(
aux
.
FConditionFilterF2c
,
nil
,
f1
,
f2
)
local
g1
=
nil
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
if
chkf
~=
PLAYER_NONE
then
g1
=
sg
:
FilterSelect
(
tp
,
aux
.
FConditionCheckF
,
1
,
1
,
nil
,
chkf
)
else
g1
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
end
local
tc1
=
g1
:
GetFirst
()
sg
:
RemoveCard
(
tc1
)
local
b1
=
f1
(
tc1
)
local
b2
=
f2
(
tc1
)
if
b1
and
not
b2
then
sg
:
Remove
(
aux
.
FConditionFilterF2r
,
nil
,
f1
,
f2
)
end
if
b2
and
not
b1
then
sg
:
Remove
(
aux
.
FConditionFilterF2r
,
nil
,
f2
,
f1
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
g2
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
Duel
.
SetFusionMaterial
(
g1
)
aux
.
AddFusionProcFun2
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsFusionSetCard
,
0xe1
),
aux
.
FilterBoolFunction
(
Card
.
IsAttackBelow
,
2500
),
true
)
end
constant.lua
View file @
d11e82a4
...
...
@@ -497,6 +497,7 @@ EFFECT_OLDUNION_STATUS =348 --旧同盟状态
EFFECT_ADD_FUSION_ATTRIBUTE
=
349
--reserve
EFFECT_REMOVE_FUSION_ATTRIBUTE
=
350
--reserve
EFFECT_CHANGE_FUSION_ATTRIBUTE
=
351
--用作融合素材时的属性
EFFECT_EXTRA_FUSION_MATERIAL
=
352
--
--下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发)
EVENT_STARTUP
=
1000
--游戏开始时
...
...
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