Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-scripts
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
ygopro-scripts
Commits
7998b2b5
Commit
7998b2b5
authored
Dec 21, 2016
by
nekrozar
Committed by
VanillaSalt
Dec 21, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix&update (#714)
parent
d5cd4823
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
237 additions
and
150 deletions
+237
-150
c12071500.lua
c12071500.lua
+18
-8
c31444249.lua
c31444249.lua
+9
-6
c36484016.lua
c36484016.lua
+18
-11
c3659803.lua
c3659803.lua
+17
-10
c41940225.lua
c41940225.lua
+19
-12
c44394295.lua
c44394295.lua
+13
-13
c45206713.lua
c45206713.lua
+3
-3
c45906428.lua
c45906428.lua
+17
-10
c47705572.lua
c47705572.lua
+19
-9
c48130397.lua
c48130397.lua
+17
-10
c6077601.lua
c6077601.lua
+17
-10
c6172122.lua
c6172122.lua
+14
-7
c6205579.lua
c6205579.lua
+3
-3
c62895219.lua
c62895219.lua
+3
-3
c71422989.lua
c71422989.lua
+2
-2
c7241272.lua
c7241272.lua
+3
-3
c73360025.lua
c73360025.lua
+3
-3
c74063034.lua
c74063034.lua
+21
-14
c89181134.lua
c89181134.lua
+21
-13
No files found.
c12071500.lua
View file @
7998b2b5
...
@@ -9,25 +9,33 @@ function c12071500.initial_effect(c)
...
@@ -9,25 +9,33 @@ function c12071500.initial_effect(c)
e1
:
SetOperation
(
c12071500
.
activate
)
e1
:
SetOperation
(
c12071500
.
activate
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c12071500
.
filter0
(
c
)
return
c
:
IsLocation
(
LOCATION_HAND
)
and
c
:
IsAbleToRemove
()
end
function
c12071500
.
filter1
(
c
,
e
)
function
c12071500
.
filter1
(
c
,
e
)
return
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
Location
(
LOCATION_HAND
)
and
c
:
Is
AbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c12071500
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c12071500
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
.
dark_calling
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
c
.
dark_calling
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
+
0x10
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
+
0x10
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
end
end
function
c12071500
.
filter3
(
c
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
end
function
c12071500
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c12071500
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsAbleToRemove
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c12071500
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c12071500
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c12071500
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c12071500
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
local
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c12071500
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c12071500
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
end
end
return
res
return
res
...
@@ -37,15 +45,17 @@ end
...
@@ -37,15 +45,17 @@ end
function
c12071500
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c12071500
.
filter1
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c12071500
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c12071500
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c12071500
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c12071500
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg
2
=
nil
local
mg
3
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
mg
2
=
fgroup
(
ce
,
e
,
tp
)
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c12071500
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
sg2
=
Duel
.
GetMatchingGroup
(
c12071500
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
local
sg
=
sg1
:
Clone
()
...
@@ -60,7 +70,7 @@ function c12071500.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -60,7 +70,7 @@ function c12071500.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
+
0x10
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
+
0x10
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
,
SUMMON_TYPE_FUSION
+
0x10
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
,
SUMMON_TYPE_FUSION
+
0x10
)
end
end
...
...
c31444249.lua
View file @
7998b2b5
...
@@ -46,8 +46,11 @@ function c31444249.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -46,8 +46,11 @@ function c31444249.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
)
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
)
end
end
function
c31444249
.
filter0
(
c
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToGrave
()
end
function
c31444249
.
filter1
(
c
,
e
)
function
c31444249
.
filter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToGrave
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c31444249
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c31444249
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0xbb
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0xbb
)
and
(
not
f
or
f
(
c
))
...
@@ -60,9 +63,9 @@ end
...
@@ -60,9 +63,9 @@ end
function
c31444249
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c31444249
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
Get
MatchingGroup
(
c31444249
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
)
if
c31444249
.
dmcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
then
if
c31444249
.
dmcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c31444249
.
filter
1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
)
local
sg
=
Duel
.
GetMatchingGroup
(
c31444249
.
filter
0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
mg1
:
Merge
(
sg
)
mg1
:
Merge
(
sg
)
end
end
local
res
=
Duel
.
IsExistingMatchingCard
(
c31444249
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c31444249
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
...
@@ -81,9 +84,9 @@ function c31444249.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -81,9 +84,9 @@ function c31444249.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c31444249
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
Get
MatchingGroup
(
c31444249
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
c31444249
.
filter1
,
nil
,
e
)
if
c31444249
.
dmcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
then
if
c31444249
.
dmcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
then
local
dmg
=
Duel
.
GetMatchingGroup
(
c31444249
.
filter
1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
)
local
dmg
=
Duel
.
GetMatchingGroup
(
c31444249
.
filter
0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
mg1
:
Merge
(
dmg
)
mg1
:
Merge
(
dmg
)
end
end
local
sg1
=
Duel
.
GetMatchingGroup
(
c31444249
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c31444249
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
...
@@ -104,7 +107,7 @@ function c31444249.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -104,7 +107,7 @@ function c31444249.spop(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
c31444249
.
dmcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
then
if
c31444249
.
dmcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
then
local
mgd
=
Duel
.
GetMatchingGroup
(
c31444249
.
filter
1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
)
local
mgd
=
Duel
.
GetMatchingGroup
(
c31444249
.
filter
0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
mg1
:
Merge
(
mgd
)
mg1
:
Merge
(
mgd
)
tc
:
RegisterFlagEffect
(
31444249
,
RESET_CHAIN
,
0
,
1
)
tc
:
RegisterFlagEffect
(
31444249
,
RESET_CHAIN
,
0
,
1
)
end
end
...
...
c36484016.lua
View file @
7998b2b5
...
@@ -21,10 +21,10 @@ function c36484016.initial_effect(c)
...
@@ -21,10 +21,10 @@ function c36484016.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c36484016
.
filter0
(
c
)
function
c36484016
.
filter0
(
c
)
return
c
:
Is
CanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
return
c
:
Is
OnField
()
and
c
:
IsAbleToRemove
()
end
end
function
c36484016
.
filter1
(
c
,
e
)
function
c36484016
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
OnField
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c36484016
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c36484016
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
.
miracle_synchro_fusion
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
c
.
miracle_synchro_fusion
and
(
not
f
or
f
(
c
))
...
@@ -33,18 +33,23 @@ end
...
@@ -33,18 +33,23 @@ end
function
c36484016
.
filter3
(
c
,
fusc
,
m
,
chkf
)
function
c36484016
.
filter3
(
c
,
fusc
,
m
,
chkf
)
return
c
:
IsType
(
TYPE_SYNCHRO
)
and
fusc
:
CheckFusionMaterial
(
m
,
c
,
chkf
)
return
c
:
IsType
(
TYPE_SYNCHRO
)
and
fusc
:
CheckFusionMaterial
(
m
,
c
,
chkf
)
end
end
function
c36484016
.
filter4
(
c
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
end
function
c36484016
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c36484016
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c36484016
.
filter0
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c36484016
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c36484016
.
filter4
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c36484016
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c36484016
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
local
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c36484016
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c36484016
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
end
end
return
res
return
res
...
@@ -53,16 +58,18 @@ function c36484016.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -53,16 +58,18 @@ function c36484016.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c36484016
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c36484016
.
filter1
,
tp
,
LOCATION_GRAVE
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c36484016
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c36484016
.
filter4
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c36484016
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c36484016
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg
2
=
nil
local
mg
3
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
mg
2
=
fgroup
(
ce
,
e
,
tp
)
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c36484016
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
sg2
=
Duel
.
GetMatchingGroup
(
c36484016
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
local
sg
=
sg1
:
Clone
()
...
@@ -81,8 +88,8 @@ function c36484016.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -81,8 +88,8 @@ function c36484016.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
gc
=
mg
2
:
FilterSelect
(
tp
,
c36484016
.
filter3
,
1
,
1
,
nil
,
tc
,
mg2
,
chkf
):
GetFirst
()
local
gc
=
mg
3
:
FilterSelect
(
tp
,
c36484016
.
filter3
,
1
,
1
,
nil
,
tc
,
mg3
,
chkf
):
GetFirst
()
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
2
,
gc
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
3
,
gc
,
chkf
)
mat2
:
AddCard
(
gc
)
mat2
:
AddCard
(
gc
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c3659803.lua
View file @
7998b2b5
...
@@ -10,27 +10,32 @@ function c3659803.initial_effect(c)
...
@@ -10,27 +10,32 @@ function c3659803.initial_effect(c)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c3659803
.
filter0
(
c
)
function
c3659803
.
filter0
(
c
)
return
c
:
Is
CanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
return
c
:
Is
OnField
()
and
c
:
IsAbleToRemove
()
end
end
function
c3659803
.
filter1
(
c
,
e
)
function
c3659803
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
OnField
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c3659803
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c3659803
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
c
:
IsRace
(
RACE_MACHINE
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
c
:
IsRace
(
RACE_MACHINE
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
end
end
function
c3659803
.
filter3
(
c
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
end
function
c3659803
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c3659803
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c3659803
.
filter0
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c3659803
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c3659803
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c3659803
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c3659803
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
local
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c3659803
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c3659803
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
end
end
return
res
return
res
...
@@ -39,16 +44,18 @@ function c3659803.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -39,16 +44,18 @@ function c3659803.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c3659803
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c3659803
.
filter1
,
tp
,
LOCATION_GRAVE
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c3659803
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c3659803
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c3659803
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c3659803
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg
2
=
nil
local
mg
3
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
mg
2
=
fgroup
(
ce
,
e
,
tp
)
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c3659803
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
sg2
=
Duel
.
GetMatchingGroup
(
c3659803
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
local
sg
=
sg1
:
Clone
()
...
@@ -63,7 +70,7 @@ function c3659803.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -63,7 +70,7 @@ function c3659803.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
...
...
c41940225.lua
View file @
7998b2b5
...
@@ -22,31 +22,36 @@ function c41940225.initial_effect(c)
...
@@ -22,31 +22,36 @@ function c41940225.initial_effect(c)
e2
:
SetOperation
(
c41940225
.
thop
)
e2
:
SetOperation
(
c41940225
.
thop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c41940225
.
filter0
(
c
,
tp
)
function
c41940225
.
filter0
(
c
)
return
(
c
:
IsControler
(
tp
)
or
c
:
IsFaceup
()
)
and
c
:
IsCanBeFusionMaterial
()
return
c
:
IsFaceup
(
)
and
c
:
IsCanBeFusionMaterial
()
end
end
function
c41940225
.
filter1
(
c
,
e
,
tp
)
function
c41940225
.
filter1
(
c
,
e
)
return
(
c
:
IsControler
(
tp
)
or
c
:
IsFaceup
()
)
and
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
IsFaceup
(
)
and
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c41940225
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c41940225
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c41940225
.
spfilter
(
c
)
and
(
not
f
or
f
(
c
))
return
c41940225
.
spfilter
(
c
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
end
end
function
c41940225
.
filter3
(
c
,
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c41940225
.
spfilter
(
c
)
function
c41940225
.
spfilter
(
c
)
return
aux
.
IsMaterialListCode
(
c
,
78193831
)
return
aux
.
IsMaterialListCode
(
c
,
78193831
)
end
end
function
c41940225
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c41940225
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c41940225
.
filter0
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
,
LOCATION_MZONE
,
nil
,
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c41940225
.
filter0
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
mg1
:
Merge
(
mg2
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c41940225
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c41940225
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
local
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c41940225
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c41940225
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
end
end
return
res
return
res
...
@@ -55,16 +60,18 @@ function c41940225.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -55,16 +60,18 @@ function c41940225.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c41940225
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c41940225
.
filter1
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
,
LOCATION_MZONE
,
nil
,
e
,
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
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c41940225
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c41940225
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg
2
=
nil
local
mg
3
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
mg
2
=
fgroup
(
ce
,
e
,
tp
)
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c41940225
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
sg2
=
Duel
.
GetMatchingGroup
(
c41940225
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
local
sg
=
sg1
:
Clone
()
...
@@ -79,7 +86,7 @@ function c41940225.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -79,7 +86,7 @@ function c41940225.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
...
...
c44394295.lua
View file @
7998b2b5
...
@@ -14,7 +14,7 @@ function c44394295.filter0(c)
...
@@ -14,7 +14,7 @@ function c44394295.filter0(c)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToGrave
()
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToGrave
()
end
end
function
c44394295
.
filter1
(
c
,
e
)
function
c44394295
.
filter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToGrave
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c44394295
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c44394295
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x9d
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x9d
)
and
(
not
f
or
f
(
c
))
...
@@ -26,19 +26,19 @@ end
...
@@ -26,19 +26,19 @@ end
function
c44394295
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c44394295
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
loc
=
LOCATION_HAND
+
LOCATION_MZONE
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
if
Duel
.
IsExistingMatchingCard
(
c44394295
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
then
if
Duel
.
IsExistingMatchingCard
(
c44394295
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
then
loc
=
loc
+
LOCATION_DECK
local
mg2
=
Duel
.
GetMatchingGroup
(
c44394295
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
end
end
local
mg1
=
Duel
.
GetMatchingGroup
(
c44394295
.
filter0
,
tp
,
loc
,
0
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c44394295
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c44394295
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
local
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c44394295
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c44394295
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
end
end
return
res
return
res
...
@@ -47,20 +47,20 @@ function c44394295.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -47,20 +47,20 @@ function c44394295.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c44394295
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
loc
=
LOCATION_HAND
+
LOCATION_MZONE
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c44394295
.
filter1
,
nil
,
e
)
if
Duel
.
IsExistingMatchingCard
(
c44394295
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
then
if
Duel
.
IsExistingMatchingCard
(
c44394295
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
then
loc
=
loc
+
LOCATION_DECK
local
mg2
=
Duel
.
GetMatchingGroup
(
c44394295
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
end
end
local
mg1
=
Duel
.
GetMatchingGroup
(
c44394295
.
filter1
,
tp
,
loc
,
0
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c44394295
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c44394295
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg
2
=
nil
local
mg
3
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
mg
2
=
fgroup
(
ce
,
e
,
tp
)
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c44394295
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
sg2
=
Duel
.
GetMatchingGroup
(
c44394295
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
local
sg
=
sg1
:
Clone
()
...
@@ -75,7 +75,7 @@ function c44394295.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -75,7 +75,7 @@ function c44394295.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
...
...
c45206713.lua
View file @
7998b2b5
...
@@ -21,7 +21,7 @@ function c45206713.initial_effect(c)
...
@@ -21,7 +21,7 @@ function c45206713.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c45206713
.
filter1
(
c
,
e
)
function
c45206713
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
(
)
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
Location
(
LOCATION_HAND
)
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c45206713
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
function
c45206713
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x10af
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x10af
)
and
(
not
f
or
f
(
c
))
...
@@ -30,7 +30,7 @@ end
...
@@ -30,7 +30,7 @@ end
function
c45206713
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c45206713
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
if
chk
==
0
then
local
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
,
0
,
c
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
Card
.
IsLocation
,
c
,
LOCATION_HAND
)
local
res
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
local
res
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
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
)
if
not
res
then
if
not
res
then
...
@@ -49,7 +49,7 @@ end
...
@@ -49,7 +49,7 @@ end
function
c45206713
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c45206713
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
local
mg1
=
Duel
.
Get
MatchingGroup
(
c45206713
.
filter1
,
tp
,
LOCATION_HAND
,
0
,
c
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
c45206713
.
filter1
,
c
,
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
)
local
mg2
=
nil
local
mg2
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
...
c45906428.lua
View file @
7998b2b5
...
@@ -10,27 +10,32 @@ function c45906428.initial_effect(c)
...
@@ -10,27 +10,32 @@ function c45906428.initial_effect(c)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c45906428
.
filter0
(
c
)
function
c45906428
.
filter0
(
c
)
return
c
:
Is
CanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
return
c
:
Is
OnField
()
and
c
:
IsAbleToRemove
()
end
end
function
c45906428
.
filter1
(
c
,
e
)
function
c45906428
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
OnField
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c45906428
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c45906428
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x3008
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x3008
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
end
end
function
c45906428
.
filter3
(
c
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
end
function
c45906428
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c45906428
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c45906428
.
filter0
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c45906428
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c45906428
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c45906428
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c45906428
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
local
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c45906428
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c45906428
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
end
end
return
res
return
res
...
@@ -39,16 +44,18 @@ function c45906428.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -39,16 +44,18 @@ function c45906428.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c45906428
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c45906428
.
filter1
,
tp
,
LOCATION_GRAVE
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c45906428
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c45906428
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c45906428
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c45906428
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg
2
=
nil
local
mg
3
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
mg
2
=
fgroup
(
ce
,
e
,
tp
)
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c45906428
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
sg2
=
Duel
.
GetMatchingGroup
(
c45906428
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
local
sg
=
sg1
:
Clone
()
...
@@ -63,7 +70,7 @@ function c45906428.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -63,7 +70,7 @@ function c45906428.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
...
...
c47705572.lua
View file @
7998b2b5
...
@@ -32,25 +32,33 @@ end
...
@@ -32,25 +32,33 @@ end
function
c47705572
.
splimit
(
e
,
c
,
sump
,
sumtype
,
sumpos
,
targetp
)
function
c47705572
.
splimit
(
e
,
c
,
sump
,
sumtype
,
sumpos
,
targetp
)
return
not
(
c
:
IsSetCard
(
0xdf
)
and
c
:
IsType
(
TYPE_MONSTER
))
and
bit
.
band
(
sumtype
,
SUMMON_TYPE_PENDULUM
)
==
SUMMON_TYPE_PENDULUM
return
not
(
c
:
IsSetCard
(
0xdf
)
and
c
:
IsType
(
TYPE_MONSTER
))
and
bit
.
band
(
sumtype
,
SUMMON_TYPE_PENDULUM
)
==
SUMMON_TYPE_PENDULUM
end
end
function
c47705572
.
filter0
(
c
)
return
c
:
IsOnField
()
and
c
:
IsAbleToRemove
()
end
function
c47705572
.
filter1
(
c
,
e
)
function
c47705572
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
and
c
:
IsAbleToRemove
()
return
c
:
Is
OnField
()
and
not
c
:
IsImmuneToEffect
(
e
)
and
c
:
IsAbleToRemove
()
end
end
function
c47705572
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c47705572
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0xdf
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0xdf
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
end
end
function
c47705572
.
filter3
(
c
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
end
function
c47705572
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c47705572
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c47705572
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c47705572
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c47705572
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c47705572
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
local
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c47705572
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c47705572
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
end
end
return
res
return
res
...
@@ -60,16 +68,18 @@ end
...
@@ -60,16 +68,18 @@ end
function
c47705572
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c47705572
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c47705572
.
filter1
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c47705572
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c47705572
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c47705572
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c47705572
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg
2
=
nil
local
mg
3
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
mg
2
=
fgroup
(
ce
,
e
,
tp
)
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c47705572
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
sg2
=
Duel
.
GetMatchingGroup
(
c47705572
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
local
sg
=
sg1
:
Clone
()
...
@@ -84,7 +94,7 @@ function c47705572.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -84,7 +94,7 @@ function c47705572.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
...
...
c48130397.lua
View file @
7998b2b5
...
@@ -12,15 +12,18 @@ function c48130397.initial_effect(c)
...
@@ -12,15 +12,18 @@ function c48130397.initial_effect(c)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c48130397
.
filter0
(
c
,
tp
)
function
c48130397
.
filter0
(
c
,
tp
)
return
(
c
:
IsControler
(
tp
)
or
c
:
IsFaceup
()
)
and
c
:
IsCanBeFusionMaterial
()
return
c
:
IsFaceup
(
)
and
c
:
IsCanBeFusionMaterial
()
end
end
function
c48130397
.
filter1
(
c
,
e
,
tp
)
function
c48130397
.
filter1
(
c
,
e
,
tp
)
return
(
c
:
IsControler
(
tp
)
or
c
:
IsFaceup
()
)
and
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
IsFaceup
(
)
and
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c48130397
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c48130397
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
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
,
nil
,
chkf
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
end
end
function
c48130397
.
filter3
(
c
,
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c48130397
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c48130397
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
1
,
e
:
GetHandler
())
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
1
,
e
:
GetHandler
())
end
Duel
.
DiscardHand
(
tp
,
Card
.
IsDiscardable
,
1
,
1
,
REASON_COST
+
REASON_DISCARD
)
Duel
.
DiscardHand
(
tp
,
Card
.
IsDiscardable
,
1
,
1
,
REASON_COST
+
REASON_DISCARD
)
...
@@ -28,15 +31,17 @@ end
...
@@ -28,15 +31,17 @@ end
function
c48130397
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c48130397
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c48130397
.
filter0
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
,
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c48130397
.
filter0
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
mg1
:
Merge
(
mg2
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c48130397
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c48130397
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
local
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c48130397
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c48130397
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
end
end
return
res
return
res
...
@@ -48,16 +53,18 @@ function c48130397.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -48,16 +53,18 @@ 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
)
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
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c48130397
.
filter1
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
,
e
,
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
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c48130397
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c48130397
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg
2
=
nil
local
mg
3
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
mg
2
=
fgroup
(
ce
,
e
,
tp
)
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c48130397
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
sg2
=
Duel
.
GetMatchingGroup
(
c48130397
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
local
sg
=
sg1
:
Clone
()
...
@@ -72,7 +79,7 @@ function c48130397.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -72,7 +79,7 @@ function c48130397.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
...
...
c6077601.lua
View file @
7998b2b5
...
@@ -11,27 +11,32 @@ function c6077601.initial_effect(c)
...
@@ -11,27 +11,32 @@ function c6077601.initial_effect(c)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c6077601
.
filter0
(
c
)
function
c6077601
.
filter0
(
c
)
return
c
:
Is
CanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
return
c
:
Is
OnField
()
and
c
:
IsAbleToRemove
()
end
end
function
c6077601
.
filter1
(
c
,
e
)
function
c6077601
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
OnField
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c6077601
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c6077601
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0xad
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0xad
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
end
end
function
c6077601
.
filter3
(
c
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
end
function
c6077601
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c6077601
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c6077601
.
filter0
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c6077601
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c6077601
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c6077601
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c6077601
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
local
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c6077601
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c6077601
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
end
end
return
res
return
res
...
@@ -40,16 +45,18 @@ function c6077601.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -40,16 +45,18 @@ function c6077601.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c6077601
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c6077601
.
filter1
,
tp
,
LOCATION_GRAVE
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c6077601
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c6077601
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c6077601
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c6077601
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg
2
=
nil
local
mg
3
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
mg
2
=
fgroup
(
ce
,
e
,
tp
)
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c6077601
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
sg2
=
Duel
.
GetMatchingGroup
(
c6077601
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
local
sg
=
sg1
:
Clone
()
...
@@ -64,7 +71,7 @@ function c6077601.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -64,7 +71,7 @@ function c6077601.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
...
...
c6172122.lua
View file @
7998b2b5
...
@@ -29,8 +29,11 @@ end
...
@@ -29,8 +29,11 @@ end
function
c6172122
.
splimit
(
e
,
c
,
sump
,
sumtype
,
sumpos
,
targetp
,
se
)
function
c6172122
.
splimit
(
e
,
c
,
sump
,
sumtype
,
sumpos
,
targetp
,
se
)
return
se
~=
e
:
GetLabelObject
()
return
se
~=
e
:
GetLabelObject
()
end
end
function
c6172122
.
filter0
(
c
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToGrave
()
end
function
c6172122
.
filter1
(
c
,
e
)
function
c6172122
.
filter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToGrave
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c6172122
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c6172122
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListSetCard
(
c
,
0x3b
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListSetCard
(
c
,
0x3b
)
and
(
not
f
or
f
(
c
))
...
@@ -39,7 +42,9 @@ end
...
@@ -39,7 +42,9 @@ end
function
c6172122
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c6172122
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c6172122
.
filter1
,
tp
,
0x07
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c6172122
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c6172122
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c6172122
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
@@ -56,16 +61,18 @@ function c6172122.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -56,16 +61,18 @@ function c6172122.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c6172122
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
GetMatchingGroup
(
c6172122
.
filter1
,
tp
,
0x07
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c6172122
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c6172122
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c6172122
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c6172122
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg
2
=
nil
local
mg
3
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
mg
2
=
fgroup
(
ce
,
e
,
tp
)
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c6172122
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
sg2
=
Duel
.
GetMatchingGroup
(
c6172122
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
local
sg
=
sg1
:
Clone
()
...
@@ -80,7 +87,7 @@ function c6172122.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -80,7 +87,7 @@ function c6172122.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
...
...
c6205579.lua
View file @
7998b2b5
...
@@ -31,7 +31,7 @@ function c6205579.spcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -31,7 +31,7 @@ function c6205579.spcon(e,tp,eg,ep,ev,re,r,rp)
return
ph
~=
PHASE_DAMAGE
and
ph
~=
PHASE_DAMAGE_CAL
return
ph
~=
PHASE_DAMAGE
and
ph
~=
PHASE_DAMAGE_CAL
end
end
function
c6205579
.
spfilter1
(
c
,
e
)
function
c6205579
.
spfilter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
OnField
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c6205579
.
spfilter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
function
c6205579
.
spfilter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
...
@@ -40,7 +40,7 @@ end
...
@@ -40,7 +40,7 @@ end
function
c6205579
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c6205579
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
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
(
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
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
@@ -58,7 +58,7 @@ end
...
@@ -58,7 +58,7 @@ end
function
c6205579
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c6205579
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsFacedown
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
if
c
:
IsFacedown
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
local
mg1
=
Duel
.
Get
MatchingGroup
(
c6205579
.
spfilter1
,
tp
,
LOCATION_MZONE
,
0
,
c
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
c6205579
.
spfilter1
,
c
,
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
)
local
mg2
=
nil
local
mg2
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
...
c62895219.lua
View file @
7998b2b5
...
@@ -37,7 +37,7 @@ function c62895219.thop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -37,7 +37,7 @@ function c62895219.thop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
c62895219
.
filter1
(
c
,
e
)
function
c62895219
.
filter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
OnField
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c62895219
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
function
c62895219
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x9b
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x9b
)
and
(
not
f
or
f
(
c
))
...
@@ -46,7 +46,7 @@ end
...
@@ -46,7 +46,7 @@ end
function
c62895219
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c62895219
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
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
(
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
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
@@ -64,7 +64,7 @@ end
...
@@ -64,7 +64,7 @@ end
function
c62895219
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c62895219
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsFacedown
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
if
c
:
IsFacedown
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
local
mg1
=
Duel
.
Get
MatchingGroup
(
c62895219
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
c
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
c7241272
.
filter1
,
c
,
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
)
local
mg2
=
nil
local
mg2
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
...
c71422989.lua
View file @
7998b2b5
...
@@ -37,7 +37,7 @@ function c71422989.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -37,7 +37,7 @@ function c71422989.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
end
function
c71422989
.
filter1
(
c
,
e
)
function
c71422989
.
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
end
function
c71422989
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c71422989
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x1047
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x1047
)
and
(
not
f
or
f
(
c
))
...
@@ -50,7 +50,7 @@ function c71422989.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -50,7 +50,7 @@ function c71422989.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
Get
MatchingGroup
(
c71422989
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
c71422989
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c71422989
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c71422989
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
local
mg2
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
...
c7241272.lua
View file @
7998b2b5
...
@@ -41,7 +41,7 @@ function c7241272.desop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -41,7 +41,7 @@ function c7241272.desop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
c7241272
.
spfilter1
(
c
,
e
)
function
c7241272
.
spfilter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
OnField
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c7241272
.
spfilter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
function
c7241272
.
spfilter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
...
@@ -50,7 +50,7 @@ end
...
@@ -50,7 +50,7 @@ end
function
c7241272
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c7241272
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
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
(
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
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
@@ -68,7 +68,7 @@ end
...
@@ -68,7 +68,7 @@ end
function
c7241272
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c7241272
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsFacedown
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
if
c
:
IsFacedown
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
local
mg1
=
Duel
.
Get
MatchingGroup
(
c7241272
.
spfilter1
,
tp
,
LOCATION_MZONE
,
0
,
c
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
c7241272
.
spfilter1
,
c
,
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
)
local
mg2
=
nil
local
mg2
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
...
c73360025.lua
View file @
7998b2b5
...
@@ -31,7 +31,7 @@ function c73360025.mfilter0(c)
...
@@ -31,7 +31,7 @@ function c73360025.mfilter0(c)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
end
end
function
c73360025
.
mfilter1
(
c
,
e
)
function
c73360025
.
mfilter1
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c73360025
.
mfilter2
(
c
,
e
)
function
c73360025
.
mfilter2
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
...
@@ -47,7 +47,7 @@ end
...
@@ -47,7 +47,7 @@ end
function
c73360025
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c73360025
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
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
(
c73360025
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c73360025
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
res
then
return
true
end
if
res
then
return
true
end
local
mg2
=
Duel
.
GetMatchingGroup
(
c73360025
.
mfilter0
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c73360025
.
mfilter0
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
...
@@ -69,7 +69,7 @@ end
...
@@ -69,7 +69,7 @@ end
function
c73360025
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c73360025
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
Get
MatchingGroup
(
c73360025
.
mfilter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
c73360025
.
filter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c73360025
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
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
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c73360025
.
mfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
mg2
:
Merge
(
mg1
)
mg2
:
Merge
(
mg1
)
...
...
c74063034.lua
View file @
7998b2b5
...
@@ -22,13 +22,16 @@ function c74063034.initial_effect(c)
...
@@ -22,13 +22,16 @@ function c74063034.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c74063034
.
mfilter0
(
c
)
function
c74063034
.
mfilter0
(
c
)
return
c
:
Is
CanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
return
c
:
Is
OnField
()
and
c
:
IsAbleToRemove
()
end
end
function
c74063034
.
mfilter1
(
c
,
e
)
function
c74063034
.
mfilter1
(
c
,
e
)
return
c
:
Is
CanBeFusionMaterial
(
)
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
Is
Location
(
LOCATION_HAND
)
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c74063034
.
mfilter2
(
c
,
e
)
function
c74063034
.
mfilter2
(
c
,
e
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
IsOnField
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c74063034
.
mfilter3
(
c
)
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
end
end
function
c74063034
.
spfilter1
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c74063034
.
spfilter1
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
...
@@ -41,19 +44,21 @@ end
...
@@ -41,19 +44,21 @@ end
function
c74063034
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c74063034
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
chkf
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
Get
MatchingGroup
(
Card
.
IsCanBeFusionMaterial
,
tp
,
LOCATION_HAND
,
0
,
nil
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_HAND
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c74063034
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c74063034
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
res
then
return
true
end
if
res
then
return
true
end
local
mg2
=
Duel
.
GetMatchingGroup
(
c74063034
.
mfilter0
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
LOCATION_GRAVE
,
nil
)
local
mg2
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c74063034
.
mfilter0
,
nil
)
local
mg3
=
Duel
.
GetMatchingGroup
(
c74063034
.
mfilter3
,
tp
,
LOCATION_GRAVE
,
LOCATION_GRAVE
,
nil
)
mg2
:
Merge
(
mg1
)
mg2
:
Merge
(
mg1
)
mg2
:
Merge
(
mg3
)
res
=
Duel
.
IsExistingMatchingCard
(
c74063034
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
nil
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c74063034
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
nil
,
chkf
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
local
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mg
4
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c74063034
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c74063034
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
4
,
mf
,
chkf
)
end
end
end
end
return
res
return
res
...
@@ -62,20 +67,22 @@ function c74063034.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -62,20 +67,22 @@ function c74063034.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c74063034
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
PLAYER_NONE
or
tp
local
mg1
=
Duel
.
Get
MatchingGroup
(
c74063034
.
mfilter1
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
)
local
mg1
=
Duel
.
Get
FusionMaterial
(
tp
):
Filter
(
c74063034
.
mfilter1
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c74063034
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c74063034
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c74063034
.
mfilter2
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
LOCATION_GRAVE
,
nil
,
e
)
local
mg2
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c74063034
.
mfilter2
,
nil
,
e
)
local
mg3
=
Duel
.
GetMatchingGroup
(
c74063034
.
mfilter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg2
:
Merge
(
mg1
)
mg2
:
Merge
(
mg1
)
mg2
:
Merge
(
mg3
)
local
sg2
=
Duel
.
GetMatchingGroup
(
c74063034
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
nil
,
chkf
)
local
sg2
=
Duel
.
GetMatchingGroup
(
c74063034
.
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
nil
,
chkf
)
sg1
:
Merge
(
sg2
)
sg1
:
Merge
(
sg2
)
local
mg
3
=
nil
local
mg
4
=
nil
local
sg3
=
nil
local
sg3
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
mg
3
=
fgroup
(
ce
,
e
,
tp
)
mg
4
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
sg3
=
Duel
.
GetMatchingGroup
(
c74063034
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
sg3
=
Duel
.
GetMatchingGroup
(
c74063034
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
4
,
mf
,
chkf
)
end
end
if
sg1
:
GetCount
()
>
0
or
(
sg3
~=
nil
and
sg3
:
GetCount
()
>
0
)
then
if
sg1
:
GetCount
()
>
0
or
(
sg3
~=
nil
and
sg3
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
local
sg
=
sg1
:
Clone
()
...
@@ -87,7 +94,7 @@ function c74063034.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -87,7 +94,7 @@ function c74063034.spop(e,tp,eg,ep,ev,re,r,rp)
if
tc
:
IsSetCard
(
0xf4
)
then
if
tc
:
IsSetCard
(
0xf4
)
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
local
mat2
=
mat1
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_
MZONE
+
LOCATION_GRAVE
)
local
mat2
=
mat1
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_
ONFIELD
+
LOCATION_GRAVE
)
mat1
:
Sub
(
mat2
)
mat1
:
Sub
(
mat2
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
Remove
(
mat2
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
Remove
(
mat2
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
...
@@ -99,7 +106,7 @@ function c74063034.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -99,7 +106,7 @@ function c74063034.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
3
,
nil
,
chkf
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
4
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat
)
fop
(
ce
,
e
,
tp
,
tc
,
mat
)
end
end
...
...
c89181134.lua
View file @
7998b2b5
...
@@ -28,28 +28,34 @@ function c89181134.attrval(e,c,rp)
...
@@ -28,28 +28,34 @@ function c89181134.attrval(e,c,rp)
return
ATTRIBUTE_DARK
return
ATTRIBUTE_DARK
else
return
c
:
GetAttribute
()
end
else
return
c
:
GetAttribute
()
end
end
end
function
c89181134
.
filter0
(
c
,
tp
)
function
c89181134
.
filter0
(
c
)
return
c
:
IsCanBeFusionMaterial
()
and
(
c
:
IsControler
(
tp
)
or
(
c
:
IsFaceup
()
and
c
:
GetCounter
(
0x1041
)
>
0
))
return
c
:
IsCanBeFusionMaterial
()
and
c
:
IsFaceup
()
and
c
:
GetCounter
(
0x1041
)
>
0
end
end
function
c89181134
.
filter1
(
c
,
e
,
tp
)
function
c89181134
.
filter1
(
c
,
e
)
return
c89181134
.
filter0
(
c
,
tp
)
and
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c89181134
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
function
c89181134
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
(
not
f
or
f
(
c
))
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
)
end
end
function
c89181134
.
filter3
(
c
,
e
)
return
c89181134
.
filter0
(
c
)
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c89181134
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c89181134
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
if
chk
==
0
then
local
mg1
=
Duel
.
GetMatchingGroup
(
c89181134
.
filter0
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
,
LOCATION_MZONE
,
c
,
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
mg1
:
RemoveCard
(
c
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c89181134
.
filter0
,
tp
,
0
,
LOCATION_MZONE
,
c
)
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
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
local
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c89181134
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
2
,
mf
,
c
)
res
=
Duel
.
IsExistingMatchingCard
(
c89181134
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
3
,
mf
,
c
)
end
end
end
end
return
res
return
res
...
@@ -58,17 +64,19 @@ function c89181134.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -58,17 +64,19 @@ function c89181134.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c89181134
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c89181134
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
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
.
GetMatchingGroup
(
c89181134
.
filter1
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
,
LOCATION_MZONE
,
c
,
e
,
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c89181134
.
filter1
,
c
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c89181134
.
filter3
,
tp
,
0
,
LOCATION_MZONE
,
c
,
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
)
local
mg
2
=
nil
local
mg
3
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
mg
2
=
fgroup
(
ce
,
e
,
tp
)
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c89181134
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
2
,
mf
,
c
)
sg2
=
Duel
.
GetMatchingGroup
(
c89181134
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
3
,
mf
,
c
)
end
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
local
sg
=
sg1
:
Clone
()
...
@@ -83,7 +91,7 @@ function c89181134.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -83,7 +91,7 @@ function c89181134.operation(e,tp,eg,ep,ev,re,r,rp)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
2
,
c
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
3
,
c
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
...
...
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