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
nanahira
ygopro-scripts
Commits
d2f45aa4
Commit
d2f45aa4
authored
Mar 17, 2025
by
nanahira
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of github.com:mycard/ygopro-scripts into develop
parents
4dfd94e0
5d61b658
Changes
92
Hide whitespace changes
Inline
Side-by-side
Showing
92 changed files
with
479 additions
and
414 deletions
+479
-414
c10833828.lua
c10833828.lua
+7
-7
c11646785.lua
c11646785.lua
+1
-1
c13166648.lua
c13166648.lua
+1
-1
c15717011.lua
c15717011.lua
+4
-4
c16197610.lua
c16197610.lua
+3
-3
c1683982.lua
c1683982.lua
+13
-23
c17725109.lua
c17725109.lua
+7
-7
c21924381.lua
c21924381.lua
+4
-2
c23446369.lua
c23446369.lua
+2
-1
c2434862.lua
c2434862.lua
+1
-1
c24643913.lua
c24643913.lua
+1
-1
c25259669.lua
c25259669.lua
+4
-6
c25861589.lua
c25861589.lua
+3
-28
c2732323.lua
c2732323.lua
+1
-1
c27781371.lua
c27781371.lua
+0
-1
c28279365.lua
c28279365.lua
+11
-8
c29062925.lua
c29062925.lua
+3
-3
c3078380.lua
c3078380.lua
+7
-7
c3103067.lua
c3103067.lua
+2
-3
c31386180.lua
c31386180.lua
+4
-0
c31444249.lua
c31444249.lua
+3
-3
c34267821.lua
c34267821.lua
+5
-0
c34475451.lua
c34475451.lua
+1
-1
c34813443.lua
c34813443.lua
+7
-7
c34813545.lua
c34813545.lua
+9
-9
c34933456.lua
c34933456.lua
+7
-7
c34995106.lua
c34995106.lua
+6
-6
c35098357.lua
c35098357.lua
+8
-8
c35705817.lua
c35705817.lua
+2
-2
c36484016.lua
c36484016.lua
+7
-10
c36708764.lua
c36708764.lua
+2
-2
c41940225.lua
c41940225.lua
+8
-11
c42199039.lua
c42199039.lua
+1
-1
c42577802.lua
c42577802.lua
+2
-2
c43452193.lua
c43452193.lua
+1
-1
c44362883.lua
c44362883.lua
+11
-7
c44874522.lua
c44874522.lua
+2
-2
c48144509.lua
c48144509.lua
+3
-3
c51993760.lua
c51993760.lua
+1
-1
c52101615.lua
c52101615.lua
+4
-4
c52947044.lua
c52947044.lua
+7
-7
c53541822.lua
c53541822.lua
+7
-10
c54912977.lua
c54912977.lua
+2
-2
c55704856.lua
c55704856.lua
+7
-10
c57031794.lua
c57031794.lua
+1
-1
c57425061.lua
c57425061.lua
+3
-3
c57450198.lua
c57450198.lua
+1
-1
c58549532.lua
c58549532.lua
+3
-3
c59332125.lua
c59332125.lua
+3
-3
c59514116.lua
c59514116.lua
+7
-7
c60398723.lua
c60398723.lua
+2
-2
c6172122.lua
c6172122.lua
+9
-9
c63136489.lua
c63136489.lua
+7
-7
c63767246.lua
c63767246.lua
+2
-2
c64061284.lua
c64061284.lua
+9
-9
c64664373.lua
c64664373.lua
+1
-1
c64966519.lua
c64966519.lua
+2
-2
c65037172.lua
c65037172.lua
+6
-6
c65801012.lua
c65801012.lua
+3
-3
c65898344.lua
c65898344.lua
+10
-3
c66518509.lua
c66518509.lua
+6
-6
c66532962.lua
c66532962.lua
+2
-2
c67385964.lua
c67385964.lua
+1
-1
c67630339.lua
c67630339.lua
+3
-2
c68468459.lua
c68468459.lua
+8
-8
c69181753.lua
c69181753.lua
+1
-1
c69811710.lua
c69811710.lua
+2
-0
c71143015.lua
c71143015.lua
+6
-6
c75047173.lua
c75047173.lua
+4
-4
c76647978.lua
c76647978.lua
+3
-3
c7864030.lua
c7864030.lua
+4
-4
c81096431.lua
c81096431.lua
+119
-39
c81269231.lua
c81269231.lua
+2
-2
c8170654.lua
c8170654.lua
+3
-2
c85123771.lua
c85123771.lua
+1
-1
c85252081.lua
c85252081.lua
+1
-1
c85888377.lua
c85888377.lua
+1
-1
c86049351.lua
c86049351.lua
+1
-1
c8687195.lua
c8687195.lua
+1
-1
c86999951.lua
c86999951.lua
+1
-2
c87532344.lua
c87532344.lua
+7
-7
c87931906.lua
c87931906.lua
+3
-3
c88696724.lua
c88696724.lua
+4
-4
c91499077.lua
c91499077.lua
+1
-1
c91800273.lua
c91800273.lua
+5
-0
c93504463.lua
c93504463.lua
+1
-1
c93860227.lua
c93860227.lua
+1
-1
c9396662.lua
c9396662.lua
+1
-1
c96008713.lua
c96008713.lua
+1
-1
c97223101.lua
c97223101.lua
+10
-8
c99426088.lua
c99426088.lua
+3
-3
procedure.lua
procedure.lua
+11
-11
No files found.
c10833828.lua
View file @
d2f45aa4
...
@@ -90,8 +90,8 @@ end
...
@@ -90,8 +90,8 @@ end
function
c10833828
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c10833828
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
c10833828
.
spfilter2
,
nil
,
e
)
aux
.
FCheckAdditional
=
c10833828
.
fcheck1
(
e
:
GetHandler
():
GetFieldID
())
aux
.
F
Goal
CheckAdditional
=
c10833828
.
fcheck1
(
e
:
GetHandler
():
GetFieldID
())
local
res
=
Duel
.
IsExistingMatchingCard
(
c10833828
.
spfilter3
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c10833828
.
spfilter3
,
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
)
...
@@ -102,7 +102,7 @@ function c10833828.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -102,7 +102,7 @@ function c10833828.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
res
=
Duel
.
IsExistingMatchingCard
(
c10833828
.
spfilter3
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c10833828
.
spfilter3
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
end
end
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
return
res
end
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
@@ -112,7 +112,7 @@ function c10833828.spop2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -112,7 +112,7 @@ function c10833828.spop2(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c10833828
.
spfilter2
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c10833828
.
spfilter2
,
nil
,
e
)
aux
.
FCheckAdditional
=
c10833828
.
fcheck1
(
c
:
GetFieldID
())
aux
.
F
Goal
CheckAdditional
=
c10833828
.
fcheck1
(
c
:
GetFieldID
())
local
sg1
=
Duel
.
GetMatchingGroup
(
c10833828
.
spfilter3
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c10833828
.
spfilter3
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
local
mg2
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
@@ -129,20 +129,20 @@ function c10833828.spop2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -129,20 +129,20 @@ function c10833828.spop2(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
end
end
function
c10833828
.
damcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c10833828
.
damcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
tp
return
Duel
.
GetTurnPlayer
()
==
tp
...
...
c11646785.lua
View file @
d2f45aa4
...
@@ -69,7 +69,7 @@ function c11646785.setop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -69,7 +69,7 @@ function c11646785.setop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
c11646785
.
mtfilter
(
c
,
e
)
function
c11646785
.
mtfilter
(
c
,
e
)
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
c
:
IsFaceup
()
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
return
c
:
IsFaceupEx
()
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
end
end
function
c11646785
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c11646785
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
...
...
c13166648.lua
View file @
d2f45aa4
...
@@ -51,7 +51,7 @@ function c13166648.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -51,7 +51,7 @@ function c13166648.activate(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
Duel
.
SpecialSummonComplete
()
Duel
.
SpecialSummonComplete
()
if
ss
then
if
ss
and
a
:
IsRelateToBattle
()
then
Duel
.
CalculateDamage
(
a
,
tc
)
Duel
.
CalculateDamage
(
a
,
tc
)
end
end
end
end
c15717011.lua
View file @
d2f45aa4
...
@@ -42,20 +42,20 @@ function c15717011.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -42,20 +42,20 @@ function c15717011.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
e
:
GetLabel
()
~=
1
then
return
false
end
if
e
:
GetLabel
()
~=
1
then
return
false
end
e
:
SetLabel
(
0
)
e
:
SetLabel
(
0
)
local
mg
=
Duel
.
GetReleaseGroup
(
tp
):
Filter
(
c15717011
.
mfilter
,
nil
,
tp
)
local
mg
=
Duel
.
GetReleaseGroup
(
tp
):
Filter
(
c15717011
.
mfilter
,
nil
,
tp
)
aux
.
FCheckAdditional
=
c15717011
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c15717011
.
fcheck
if
c59160188
then
c59160188
.
re_activated
=
true
end
if
c59160188
then
c59160188
.
re_activated
=
true
end
local
res
=
Duel
.
IsExistingMatchingCard
(
c15717011
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c15717011
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
if
c59160188
then
c59160188
.
re_activated
=
false
end
if
c59160188
then
c59160188
.
re_activated
=
false
end
return
res
return
res
end
end
local
mg
=
Duel
.
GetReleaseGroup
(
tp
):
Filter
(
c15717011
.
mfilter
,
nil
,
tp
)
local
mg
=
Duel
.
GetReleaseGroup
(
tp
):
Filter
(
c15717011
.
mfilter
,
nil
,
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
aux
.
FCheckAdditional
=
c15717011
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c15717011
.
fcheck
if
c59160188
then
c59160188
.
re_activated
=
true
end
if
c59160188
then
c59160188
.
re_activated
=
true
end
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c15717011
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c15717011
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
g
:
GetFirst
(),
mg
,
c
,
chkf
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
g
:
GetFirst
(),
mg
,
c
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
if
c59160188
then
c59160188
.
re_activated
=
false
end
if
c59160188
then
c59160188
.
re_activated
=
false
end
aux
.
UseExtraReleaseCount
(
mat
,
tp
)
aux
.
UseExtraReleaseCount
(
mat
,
tp
)
Duel
.
Release
(
mat
,
REASON_COST
)
Duel
.
Release
(
mat
,
REASON_COST
)
...
...
c16197610.lua
View file @
d2f45aa4
...
@@ -22,7 +22,7 @@ function c16197610.initial_effect(c)
...
@@ -22,7 +22,7 @@ function c16197610.initial_effect(c)
e3
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e3
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e3
:
SetOperation
(
c16197610
.
addc
)
e3
:
SetOperation
(
c16197610
.
addc
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
--
destroy
--
special summon
local
e4
=
Effect
.
CreateEffect
(
c
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
16197610
,
1
))
e4
:
SetDescription
(
aux
.
Stringid
(
16197610
,
1
))
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
@@ -54,13 +54,13 @@ function c16197610.spfilter(c,e,tp)
...
@@ -54,13 +54,13 @@ function c16197610.spfilter(c,e,tp)
end
end
function
c16197610
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c16197610
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c16197610
.
spfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingMatchingCard
(
c16197610
.
spfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
LOCATION_GRAVE
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
end
function
c16197610
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c16197610
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c16197610
.
spfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c16197610
.
spfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
LOCATION_GRAVE
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
...
...
c1683982.lua
View file @
d2f45aa4
...
@@ -18,28 +18,21 @@ function c1683982.initial_effect(c)
...
@@ -18,28 +18,21 @@ function c1683982.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--SpecialSummon
--SpecialSummon
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetDescription
(
aux
.
Stringid
(
1683982
,
1
))
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_DESTROYED
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetCode
(
EVENT_BATTLE_DESTROYED
)
e3
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
+
EFFECT_FLAG_DELAY
)
e3
:
SetCondition
(
c1683982
.
regcon
)
e3
:
SetCountLimit
(
1
,
1683982
)
e3
:
SetOperation
(
c1683982
.
regop
)
e3
:
SetCondition
(
c1683982
.
spcon
)
e3
:
SetTarget
(
c1683982
.
sptg
)
e3
:
SetOperation
(
c1683982
.
spop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
local
e4
=
e3
:
Clone
()
local
e4
=
e3
:
Clone
()
e4
:
SetCode
(
EVENT_TO_GRAVE
)
e4
:
SetCode
(
EVENT_TO_GRAVE
)
e4
:
SetCondition
(
c1683982
.
reg
con2
)
e4
:
SetCondition
(
c1683982
.
sp
con2
)
c
:
RegisterEffect
(
e4
)
c
:
RegisterEffect
(
e4
)
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
1683982
,
1
))
e5
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
+
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e5
:
SetCode
(
EVENT_CUSTOM
+
1683982
)
e5
:
SetRange
(
LOCATION_SZONE
)
e5
:
SetCountLimit
(
1
,
1683982
)
e5
:
SetTarget
(
c1683982
.
sptg
)
e5
:
SetOperation
(
c1683982
.
spop
)
c
:
RegisterEffect
(
e5
)
--return to grave
--return to grave
local
e6
=
Effect
.
CreateEffect
(
c
)
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetDescription
(
aux
.
Stringid
(
1683982
,
2
))
e6
:
SetDescription
(
aux
.
Stringid
(
1683982
,
2
))
...
@@ -57,21 +50,18 @@ function c1683982.atktg(e,c)
...
@@ -57,21 +50,18 @@ function c1683982.atktg(e,c)
return
not
c
:
IsRace
(
RACE_REPTILE
)
return
not
c
:
IsRace
(
RACE_REPTILE
)
end
end
function
c1683982
.
cfilter
(
c
,
tp
)
function
c1683982
.
cfilter
(
c
,
tp
)
return
c
:
IsPreviousControler
(
tp
)
and
c
:
Is
PreviousLocation
(
LOCATION_MZON
E
)
and
c
:
GetPreviousRaceOnField
()
&
RACE_REPTILE
~=
0
return
c
:
IsPreviousControler
(
tp
)
and
c
:
Is
Reason
(
REASON_BATTL
E
)
and
c
:
GetPreviousRaceOnField
()
&
RACE_REPTILE
~=
0
end
end
function
c1683982
.
reg
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c1683982
.
sp
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c1683982
.
cfilter
,
1
,
nil
,
tp
)
return
eg
:
IsExists
(
c1683982
.
cfilter
,
1
,
nil
,
tp
)
end
end
function
c1683982
.
cfilter2
(
c
,
tp
)
function
c1683982
.
cfilter2
(
c
,
tp
)
return
not
c
:
IsReason
(
REASON_BATTLE
)
and
c
:
IsPreviousControler
(
tp
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
return
not
c
:
IsReason
(
REASON_BATTLE
)
and
c
:
IsPreviousControler
(
tp
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
GetPreviousRaceOnField
()
&
RACE_REPTILE
~=
0
and
c
:
IsRace
(
RACE_REPTILE
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
GetPreviousRaceOnField
()
&
RACE_REPTILE
~=
0
and
c
:
IsRace
(
RACE_REPTILE
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
end
end
function
c1683982
.
reg
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c1683982
.
sp
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c1683982
.
cfilter2
,
1
,
nil
,
tp
)
return
eg
:
IsExists
(
c1683982
.
cfilter2
,
1
,
nil
,
tp
)
end
end
function
c1683982
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RaiseSingleEvent
(
e
:
GetHandler
(),
EVENT_CUSTOM
+
1683982
,
e
,
0
,
tp
,
0
,
0
)
end
function
c1683982
.
spfilter
(
c
,
e
,
tp
)
function
c1683982
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsRace
(
RACE_REPTILE
)
and
c
:
IsLevelBelow
(
4
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsRace
(
RACE_REPTILE
)
and
c
:
IsLevelBelow
(
4
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
...
...
c17725109.lua
View file @
d2f45aa4
...
@@ -67,10 +67,10 @@ end
...
@@ -67,10 +67,10 @@ end
function
s
.
fsptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
fsptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
s
.
filter1
,
nil
,
e
)
aux
.
FCheckAdditional
=
s
.
fcheck
aux
.
F
Goal
CheckAdditional
=
s
.
fcheck
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
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
...
@@ -87,9 +87,9 @@ end
...
@@ -87,9 +87,9 @@ end
function
s
.
fspop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
fspop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
s
.
filter1
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
s
.
filter1
,
nil
,
e
)
aux
.
FCheckAdditional
=
s
.
fcheck
aux
.
F
Goal
CheckAdditional
=
s
.
fcheck
local
sg1
=
Duel
.
GetMatchingGroup
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
local
mg2
=
nil
local
mg2
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
@@ -106,9 +106,9 @@ function s.fspop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -106,9 +106,9 @@ function s.fspop(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
aux
.
FCheckAdditional
=
s
.
fcheck
aux
.
F
Goal
CheckAdditional
=
s
.
fcheck
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
...
...
c21924381.lua
View file @
d2f45aa4
...
@@ -28,7 +28,7 @@ function c21924381.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -28,7 +28,7 @@ function c21924381.activate(e,tp,eg,ep,ev,re,r,rp)
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsFaceup
()
and
tc
:
IsRelateToEffect
(
e
)
and
not
tc
:
IsImmuneToEffect
(
e
)
if
tc
:
IsFaceup
()
and
tc
:
IsRelateToEffect
(
e
)
and
not
tc
:
IsImmuneToEffect
(
e
)
and
a
:
Is
Attackable
()
and
a
:
IsRelateToEffect
(
e
)
and
not
a
:
IsImmuneToEffect
(
e
)
then
and
a
:
Is
RelateToBattle
()
and
a
:
IsAttackable
()
and
a
:
IsRelateToEffect
(
e
)
and
not
a
:
IsImmuneToEffect
(
e
)
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SET_ATTACK_FINAL
)
e1
:
SetCode
(
EFFECT_SET_ATTACK_FINAL
)
...
@@ -43,6 +43,8 @@ function c21924381.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -43,6 +43,8 @@ function c21924381.activate(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e2
)
tc
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
local
e3
=
e2
:
Clone
()
a
:
RegisterEffect
(
e3
)
a
:
RegisterEffect
(
e3
)
Duel
.
CalculateDamage
(
a
,
tc
)
if
tc
:
IsControler
(
tp
)
then
Duel
.
CalculateDamage
(
a
,
tc
)
end
end
end
end
end
c23446369.lua
View file @
d2f45aa4
...
@@ -70,7 +70,8 @@ end
...
@@ -70,7 +70,8 @@ end
function
s
.
tattack
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
tattack
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
and
tc
:
IsRelateToEffect
(
e
)
and
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
if
tc
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsControler
(
1
-
tp
)
and
a
:
IsRelateToBattle
()
and
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
a
,
tc
)
Duel
.
CalculateDamage
(
a
,
tc
)
end
end
end
end
c2434862.lua
View file @
d2f45aa4
...
@@ -43,7 +43,7 @@ function c2434862.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -43,7 +43,7 @@ function c2434862.activate(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
tc
and
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
if
tc
and
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
local
at
=
Duel
.
GetAttacker
()
local
at
=
Duel
.
GetAttacker
()
if
at
:
IsAttackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
then
if
at
:
Is
RelateToBattle
()
and
at
:
Is
Attackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
at
,
tc
)
Duel
.
CalculateDamage
(
at
,
tc
)
end
end
end
end
...
...
c24643913.lua
View file @
d2f45aa4
...
@@ -51,7 +51,7 @@ function s.initial_effect(c)
...
@@ -51,7 +51,7 @@ function s.initial_effect(c)
c
:
RegisterEffect
(
e8
)
c
:
RegisterEffect
(
e8
)
end
end
function
s
.
quick_filter
(
e
)
function
s
.
quick_filter
(
e
)
return
e
:
GetCode
()
==
EVENT_CHAINING
and
e
:
IsHasType
(
EFFECT_TYPE_QUICK_O
+
EFFECT_TYPE_QUICK_F
)
and
e
:
IsHasRange
(
LOCATION_HAND
+
LOCATION_MZONE
)
return
(
e
:
GetCode
()
==
EVENT_CHAINING
or
e
:
GetCode
()
==
EVENT_BECOME_TARGET
)
and
e
:
IsHasType
(
EFFECT_TYPE_QUICK_O
+
EFFECT_TYPE_QUICK_F
)
and
e
:
IsHasRange
(
LOCATION_HAND
+
LOCATION_MZONE
)
end
end
function
s
.
cfilter
(
c
)
function
s
.
cfilter
(
c
)
return
c
:
IsOriginalEffectProperty
(
s
.
quick_filter
)
and
c
:
GetOriginalType
()
&
TYPE_MONSTER
==
TYPE_MONSTER
and
c
:
IsFaceupEx
()
return
c
:
IsOriginalEffectProperty
(
s
.
quick_filter
)
and
c
:
GetOriginalType
()
&
TYPE_MONSTER
==
TYPE_MONSTER
and
c
:
IsFaceupEx
()
...
...
c25259669.lua
View file @
d2f45aa4
...
@@ -23,12 +23,10 @@ function c25259669.sumop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -23,12 +23,10 @@ function c25259669.sumop(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c25259669
.
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c25259669
.
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
and
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
>
0
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
and
c
:
IsRelateToEffect
(
e
)
and
c
:
IsPosition
(
POS_FACEUP_ATTACK
)
then
Duel
.
BreakEffect
()
Duel
.
ChangePosition
(
c
,
POS_FACEUP_DEFENSE
)
end
end
end
end
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsPosition
(
POS_FACEUP_ATTACK
)
then
Duel
.
BreakEffect
()
Duel
.
ChangePosition
(
c
,
POS_FACEUP_DEFENSE
)
end
end
end
c25861589.lua
View file @
d2f45aa4
...
@@ -25,7 +25,6 @@ function c25861589.initial_effect(c)
...
@@ -25,7 +25,6 @@ function c25861589.initial_effect(c)
e2
:
SetOperation
(
s
.
operation
)
e2
:
SetOperation
(
s
.
operation
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
s
.
fusion_effect
=
true
function
s
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
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
)
...
@@ -63,27 +62,17 @@ function s.filter2(c,e,tp,m,f,chkf)
...
@@ -63,27 +62,17 @@ function s.filter2(c,e,tp,m,f,chkf)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsRace
(
RACE_PLANT
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsRace
(
RACE_PLANT
)
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
s
.
fcheck
(
tp
,
sg
,
fc
)
return
sg
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_GRAVE
)
<=
10
end
function
s
.
gcheck
(
sg
)
return
sg
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_GRAVE
)
<=
10
end
function
s
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsAbleToRemove
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
s
.
filter1
,
nil
,
e
)
if
Duel
.
GetLP
(
tp
)
>
Duel
.
GetLP
(
1
-
tp
)
then
if
Duel
.
GetLP
(
tp
)
>
Duel
.
GetLP
(
1
-
tp
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
s
.
exfilter0
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
sg
=
Duel
.
GetMatchingGroup
(
s
.
exfilter0
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
if
sg
:
GetCount
()
>
0
then
if
sg
:
GetCount
()
>
0
then
mg1
:
Merge
(
sg
)
mg1
:
Merge
(
sg
)
aux
.
FCheckAdditional
=
s
.
fcheck
aux
.
GCheckAdditional
=
s
.
gcheck
end
end
end
end
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
GCheckAdditional
=
nil
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
...
@@ -100,21 +89,13 @@ end
...
@@ -100,21 +89,13 @@ end
function
s
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
s
.
filter1
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
s
.
filter1
,
nil
,
e
)
local
exmat
=
false
if
Duel
.
GetLP
(
tp
)
>
Duel
.
GetLP
(
1
-
tp
)
then
if
Duel
.
GetLP
(
tp
)
>
Duel
.
GetLP
(
1
-
tp
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
s
.
exfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
local
sg
=
Duel
.
GetMatchingGroup
(
s
.
exfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
if
sg
:
GetCount
()
>
0
then
if
sg
:
GetCount
()
>
0
then
mg1
:
Merge
(
sg
)
mg1
:
Merge
(
sg
)
exmat
=
true
end
end
end
end
if
exmat
then
aux
.
FCheckAdditional
=
s
.
fcheck
aux
.
GCheckAdditional
=
s
.
gcheck
end
local
sg1
=
Duel
.
GetMatchingGroup
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
GCheckAdditional
=
nil
local
mg2
=
nil
local
mg2
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
@@ -131,21 +112,15 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -131,21 +112,15 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
mg1
:
RemoveCard
(
tc
)
mg1
:
RemoveCard
(
tc
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
exmat
then
aux
.
FCheckAdditional
=
s
.
fcheck
aux
.
GCheckAdditional
=
s
.
gcheck
end
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
GCheckAdditional
=
nil
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
local
rg
=
mat1
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_GRAVE
)
local
rg
=
mat1
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_GRAVE
)
mat1
:
Sub
(
rg
)
mat1
:
Sub
(
rg
)
Duel
.
Remove
(
mat1
+
rg
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
Remove
(
mat1
+
rg
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c2732323.lua
View file @
d2f45aa4
...
@@ -28,7 +28,7 @@ function c2732323.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -28,7 +28,7 @@ function c2732323.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
DisableSelfDestroyCheck
()
Duel
.
DisableSelfDestroyCheck
()
if
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
>
0
then
if
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
>
0
then
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
if
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
if
a
:
Is
RelateToBattle
()
and
a
:
Is
Attackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
a
,
tc
)
Duel
.
CalculateDamage
(
a
,
tc
)
end
end
end
end
...
...
c27781371.lua
View file @
d2f45aa4
...
@@ -119,6 +119,5 @@ function s.tgop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -119,6 +119,5 @@ function s.tgop(e,tp,eg,ep,ev,re,r,rp)
local
fid
=
e
:
GetLabel
()
local
fid
=
e
:
GetLabel
()
local
g
=
e
:
GetLabelObject
()
local
g
=
e
:
GetLabelObject
()
local
sg
=
g
:
Filter
(
s
.
tcfilter
,
nil
,
fid
)
local
sg
=
g
:
Filter
(
s
.
tcfilter
,
nil
,
fid
)
g
:
DeleteGroup
()
Duel
.
SendtoGrave
(
sg
,
REASON_EFFECT
)
Duel
.
SendtoGrave
(
sg
,
REASON_EFFECT
)
end
end
c28279365.lua
View file @
d2f45aa4
...
@@ -29,14 +29,17 @@ end
...
@@ -29,14 +29,17 @@ end
function
s
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
local
mg
=
tc
:
GetMaterial
()
:
Filter
(
aux
.
NecroValleyFilter
(
s
.
mgfilter
),
nil
,
e
,
tp
,
tc
)
local
mg
=
tc
:
GetMaterial
()
local
sumtype
=
tc
:
GetSummonType
()
local
sumtype
=
tc
:
GetSummonType
()
if
Duel
.
SendtoDeck
(
tc
,
nil
,
SEQ_DECKTOP
,
REASON_EFFECT
)
~=
0
and
sumtype
==
SUMMON_TYPE_LINK
if
Duel
.
SendtoDeck
(
tc
,
nil
,
SEQ_DECKTOP
,
REASON_EFFECT
)
~=
0
then
and
tc
:
IsLocation
(
LOCATION_EXTRA
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
mg
:
GetCount
()
>
0
mg
=
mg
:
Filter
(
aux
.
NecroValleyFilter
(
s
.
mgfilter
),
nil
,
e
,
tp
,
tc
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
0
))
then
if
sumtype
==
SUMMON_TYPE_LINK
and
tc
:
IsLocation
(
LOCATION_EXTRA
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
mg
:
GetCount
()
>
0
local
sg
=
mg
:
Select
(
tp
,
1
,
1
,
nil
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
0
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
local
sg
=
mg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
end
end
c29062925.lua
View file @
d2f45aa4
...
@@ -36,7 +36,7 @@ end
...
@@ -36,7 +36,7 @@ end
function
c29062925
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c29062925
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
c29062925
.
filter1
,
nil
,
e
)
if
c29062925
.
excon
(
tp
)
then
if
c29062925
.
excon
(
tp
)
then
local
mg2
=
Duel
.
GetMatchingGroup
(
c29062925
.
fexfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c29062925
.
fexfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
mg2
:
GetCount
()
>
0
then
if
mg2
:
GetCount
()
>
0
then
...
@@ -94,7 +94,7 @@ function c29062925.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -94,7 +94,7 @@ function c29062925.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
exmat
then
if
exmat
then
aux
.
FCheckAdditional
=
c29062925
.
frcheck
aux
.
FCheckAdditional
=
c29062925
.
frcheck
aux
.
GCheckAdditional
=
c29062925
.
gcheck
aux
.
GCheckAdditional
=
c29062925
.
gcheck
...
@@ -106,7 +106,7 @@ function c29062925.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -106,7 +106,7 @@ function c29062925.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c3078380.lua
View file @
d2f45aa4
...
@@ -55,8 +55,8 @@ end
...
@@ -55,8 +55,8 @@ end
function
c3078380
.
fsptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c3078380
.
fsptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
c3078380
.
filter1
,
nil
,
e
)
aux
.
FCheckAdditional
=
c3078380
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c3078380
.
fcheck
local
res
=
Duel
.
IsExistingMatchingCard
(
c3078380
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c3078380
.
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
)
...
@@ -67,7 +67,7 @@ function c3078380.fsptg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -67,7 +67,7 @@ function c3078380.fsptg(e,tp,eg,ep,ev,re,r,rp,chk)
res
=
Duel
.
IsExistingMatchingCard
(
c3078380
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c3078380
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
end
end
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
return
res
end
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
@@ -75,7 +75,7 @@ end
...
@@ -75,7 +75,7 @@ end
function
c3078380
.
fspop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c3078380
.
fspop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c3078380
.
filter1
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c3078380
.
filter1
,
nil
,
e
)
aux
.
FCheckAdditional
=
c3078380
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c3078380
.
fcheck
local
sg1
=
Duel
.
GetMatchingGroup
(
c3078380
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c3078380
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
local
mg2
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
@@ -92,18 +92,18 @@ function c3078380.fspop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -92,18 +92,18 @@ function c3078380.fspop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
end
end
c3103067.lua
View file @
d2f45aa4
...
@@ -29,10 +29,9 @@ function c3103067.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -29,10 +29,9 @@ function c3103067.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c3103067
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c3103067
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
if
not
a
or
not
a
:
IsRelateToBattle
()
then
return
end
if
e
:
GetLabel
()
==
0
then
if
e
:
GetLabel
()
==
0
then
if
a
and
a
:
IsRelateToBattle
()
then
Duel
.
Destroy
(
a
,
REASON_EFFECT
)
Duel
.
Destroy
(
a
,
REASON_EFFECT
)
end
end
end
if
e
:
GetLabel
()
==
1
then
if
e
:
GetLabel
()
==
1
then
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
...
...
c31386180.lua
View file @
d2f45aa4
...
@@ -21,6 +21,7 @@ function c31386180.initial_effect(c)
...
@@ -21,6 +21,7 @@ function c31386180.initial_effect(c)
e2
:
SetCode
(
EVENT_PHASE
+
PHASE_BATTLE
)
e2
:
SetCode
(
EVENT_PHASE
+
PHASE_BATTLE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetCountLimit
(
1
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCondition
(
c31386180
.
decon
)
e2
:
SetTarget
(
c31386180
.
destg
)
e2
:
SetTarget
(
c31386180
.
destg
)
e2
:
SetOperation
(
c31386180
.
desop
)
e2
:
SetOperation
(
c31386180
.
desop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
...
@@ -38,6 +39,9 @@ end
...
@@ -38,6 +39,9 @@ end
function
c31386180
.
condition
(
e
)
function
c31386180
.
condition
(
e
)
return
e
:
GetHandler
():
GetOverlayCount
()
>
0
return
e
:
GetHandler
():
GetOverlayCount
()
>
0
end
end
function
c31386180
.
decon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetBattledGroupCount
()
>
0
end
function
c31386180
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c31386180
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
1
-
tp
)
and
chkc
:
IsOnField
()
end
if
chkc
then
return
chkc
:
IsControler
(
1
-
tp
)
and
chkc
:
IsOnField
()
end
if
chk
==
0
then
return
true
end
if
chk
==
0
then
return
true
end
...
...
c31444249.lua
View file @
d2f45aa4
...
@@ -66,7 +66,7 @@ end
...
@@ -66,7 +66,7 @@ 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
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
c31444249
.
filter1
,
nil
,
e
)
if
c31444249
.
dmcon
(
tp
)
then
if
c31444249
.
dmcon
(
tp
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c31444249
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
sg
=
Duel
.
GetMatchingGroup
(
c31444249
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
sg
:
GetCount
()
>
0
then
if
sg
:
GetCount
()
>
0
then
...
@@ -124,7 +124,7 @@ function c31444249.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -124,7 +124,7 @@ function c31444249.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
exmat
then
if
exmat
then
aux
.
FCheckAdditional
=
c31444249
.
fcheck
aux
.
FCheckAdditional
=
c31444249
.
fcheck
aux
.
GCheckAdditional
=
c31444249
.
gcheck
aux
.
GCheckAdditional
=
c31444249
.
gcheck
...
@@ -136,7 +136,7 @@ function c31444249.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -136,7 +136,7 @@ function c31444249.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c34267821.lua
View file @
d2f45aa4
...
@@ -24,6 +24,7 @@ function c34267821.initial_effect(c)
...
@@ -24,6 +24,7 @@ function c34267821.initial_effect(c)
e3
:
SetRange
(
LOCATION_HAND
+
LOCATION_MZONE
)
e3
:
SetRange
(
LOCATION_HAND
+
LOCATION_MZONE
)
e3
:
SetCondition
(
c34267821
.
rmcon
)
e3
:
SetCondition
(
c34267821
.
rmcon
)
e3
:
SetCost
(
c34267821
.
rmcost
)
e3
:
SetCost
(
c34267821
.
rmcost
)
e3
:
SetTarget
(
c34267821
.
rmtg
)
e3
:
SetOperation
(
c34267821
.
rmop
)
e3
:
SetOperation
(
c34267821
.
rmop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
...
@@ -48,6 +49,9 @@ function c34267821.rmcost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -48,6 +49,9 @@ function c34267821.rmcost(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
return
e
:
GetHandler
():
IsReleasable
()
end
if
chk
==
0
then
return
e
:
GetHandler
():
IsReleasable
()
end
Duel
.
Release
(
e
:
GetHandler
(),
REASON_COST
)
Duel
.
Release
(
e
:
GetHandler
(),
REASON_COST
)
end
end
function
c34267821
.
rmtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetFlagEffect
(
tp
,
34267821
)
==
0
end
end
function
c34267821
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c34267821
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
...
@@ -57,4 +61,5 @@ function c34267821.rmop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -57,4 +61,5 @@ function c34267821.rmop(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterFlagEffect
(
tp
,
34267821
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
end
c34475451.lua
View file @
d2f45aa4
...
@@ -25,7 +25,7 @@ function c34475451.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -25,7 +25,7 @@ function c34475451.operation(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
if
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
if
a
:
Is
RelateToBattle
()
and
a
:
Is
Attackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
...
...
c34813443.lua
View file @
d2f45aa4
...
@@ -55,10 +55,10 @@ end
...
@@ -55,10 +55,10 @@ end
function
s
.
fstg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
fstg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
s
.
filter3
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
s
.
filter0
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
s
.
filter0
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
aux
.
FCheckAdditional
=
s
.
fcheck
aux
.
F
Goal
CheckAdditional
=
s
.
fcheck
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
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
)
...
@@ -69,7 +69,7 @@ function s.fstg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -69,7 +69,7 @@ function s.fstg(e,tp,eg,ep,ev,re,r,rp,chk)
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
end
end
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
Duel
.
GetFlagEffect
(
tp
,
id
+
o
)
==
0
and
res
return
Duel
.
GetFlagEffect
(
tp
,
id
+
o
)
==
0
and
res
end
end
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
...
@@ -81,7 +81,7 @@ function s.fsop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -81,7 +81,7 @@ function s.fsop(e,tp,eg,ep,ev,re,r,rp)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
s
.
filter3
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
s
.
filter3
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
s
.
filter1
,
tp
,
0
,
LOCATION_MZONE
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
s
.
filter1
,
tp
,
0
,
LOCATION_MZONE
,
nil
,
e
)
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
aux
.
FCheckAdditional
=
s
.
fcheck
aux
.
F
Goal
CheckAdditional
=
s
.
fcheck
local
sg1
=
Duel
.
GetMatchingGroup
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg3
=
nil
local
mg3
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
@@ -98,13 +98,13 @@ function s.fsop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -98,13 +98,13 @@ function s.fsop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
@@ -117,7 +117,7 @@ function s.fsop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -117,7 +117,7 @@ function s.fsop(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
end
end
function
s
.
costfilter
(
c
)
function
s
.
costfilter
(
c
)
return
c
:
IsRace
(
RACE_PYRO
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
c
:
IsAbleToRemoveAsCost
()
return
c
:
IsRace
(
RACE_PYRO
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
c
:
IsAbleToRemoveAsCost
()
...
...
c34813545.lua
View file @
d2f45aa4
...
@@ -95,10 +95,10 @@ end
...
@@ -95,10 +95,10 @@ end
function
c34813545
.
fstg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c34813545
.
fstg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_ONFIELD
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_ONFIELD
)
:
Filter
(
c34813545
.
filter1
,
nil
,
e
)
aux
.
FCheckAdditional
=
c34813545
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c34813545
.
fcheck
local
res
=
Duel
.
IsExistingMatchingCard
(
c34813545
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c34813545
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
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
...
@@ -116,9 +116,9 @@ end
...
@@ -116,9 +116,9 @@ end
function
c34813545
.
fsop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c34813545
.
fsop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_ONFIELD
):
Filter
(
c34813545
.
filter1
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_ONFIELD
):
Filter
(
c34813545
.
filter1
,
nil
,
e
)
aux
.
FCheckAdditional
=
c34813545
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c34813545
.
fcheck
local
sg1
=
Duel
.
GetMatchingGroup
(
c34813545
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c34813545
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
local
mg2
=
nil
local
mg2
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
@@ -134,15 +134,15 @@ function c34813545.fsop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -134,15 +134,15 @@ function c34813545.fsop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
aux
.
FCheckAdditional
=
c34813545
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c34813545
.
fcheck
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c34933456.lua
View file @
d2f45aa4
...
@@ -38,8 +38,8 @@ function c34933456.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -38,8 +38,8 @@ function c34933456.target(e,tp,eg,ep,ev,re,r,rp,chk)
me
:
SetValue
(
c34933456
.
mtval
)
me
:
SetValue
(
c34933456
.
mtval
)
Duel
.
RegisterEffect
(
me
,
tp
)
Duel
.
RegisterEffect
(
me
,
tp
)
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
c34933456
.
filter2
,
nil
,
e
)
aux
.
FCheckAdditional
=
c34933456
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c34933456
.
fcheck
local
res
=
Duel
.
IsExistingMatchingCard
(
c34933456
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c34933456
.
filter
,
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
)
...
@@ -50,7 +50,7 @@ function c34933456.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -50,7 +50,7 @@ function c34933456.target(e,tp,eg,ep,ev,re,r,rp,chk)
res
=
Duel
.
IsExistingMatchingCard
(
c34933456
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c34933456
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
end
end
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
me
:
Reset
()
me
:
Reset
()
return
res
return
res
end
end
...
@@ -66,7 +66,7 @@ function c34933456.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -66,7 +66,7 @@ function c34933456.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
RegisterEffect
(
me
,
tp
)
Duel
.
RegisterEffect
(
me
,
tp
)
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c34933456
.
filter2
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c34933456
.
filter2
,
nil
,
e
)
aux
.
FCheckAdditional
=
c34933456
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c34933456
.
fcheck
local
sg1
=
Duel
.
GetMatchingGroup
(
c34933456
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c34933456
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg3
=
nil
local
mg3
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
@@ -83,19 +83,19 @@ function c34933456.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -83,19 +83,19 @@ function c34933456.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
me
:
Reset
()
me
:
Reset
()
end
end
c34995106.lua
View file @
d2f45aa4
...
@@ -62,7 +62,7 @@ function c34995106.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -62,7 +62,7 @@ function c34995106.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
mg1
:
IsExists
(
c34995106
.
chkfilter
,
1
,
nil
,
tp
)
and
mg2
:
GetCount
()
>
0
or
mg2
:
IsExists
(
c34995106
.
chkfilter
,
1
,
nil
,
tp
)
then
if
mg1
:
IsExists
(
c34995106
.
chkfilter
,
1
,
nil
,
tp
)
and
mg2
:
GetCount
()
>
0
or
mg2
:
IsExists
(
c34995106
.
chkfilter
,
1
,
nil
,
tp
)
then
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
end
end
aux
.
FCheckAdditional
=
c34995106
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c34995106
.
fcheck
local
res
=
Duel
.
IsExistingMatchingCard
(
c34995106
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c34995106
.
spfilter
,
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
)
...
@@ -73,7 +73,7 @@ function c34995106.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -73,7 +73,7 @@ function c34995106.target(e,tp,eg,ep,ev,re,r,rp,chk)
res
=
Duel
.
IsExistingMatchingCard
(
c34995106
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c34995106
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
end
end
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
return
res
end
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
@@ -86,7 +86,7 @@ function c34995106.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -86,7 +86,7 @@ function c34995106.activate(e,tp,eg,ep,ev,re,r,rp)
if
mg1
:
IsExists
(
c34995106
.
chkfilter
,
1
,
nil
,
tp
)
and
mg2
:
GetCount
()
>
0
or
mg2
:
IsExists
(
c34995106
.
chkfilter
,
1
,
nil
,
tp
)
then
if
mg1
:
IsExists
(
c34995106
.
chkfilter
,
1
,
nil
,
tp
)
and
mg2
:
GetCount
()
>
0
or
mg2
:
IsExists
(
c34995106
.
chkfilter
,
1
,
nil
,
tp
)
then
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
end
end
aux
.
FCheckAdditional
=
c34995106
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c34995106
.
fcheck
local
sg1
=
Duel
.
GetMatchingGroup
(
c34995106
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c34995106
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg3
=
nil
local
mg3
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
@@ -103,7 +103,7 @@ function c34995106.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -103,7 +103,7 @@ function c34995106.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
local
mat2
=
mat1
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_GRAVE
)
local
mat2
=
mat1
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_GRAVE
)
...
@@ -112,14 +112,14 @@ function c34995106.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -112,14 +112,14 @@ function c34995106.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Remove
(
mat2
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
Remove
(
mat2
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
end
end
function
c34995106
.
regcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c34995106
.
regcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
code1
,
code2
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_CODE
,
CHAININFO_TRIGGERING_CODE2
)
local
code1
,
code2
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_CODE
,
CHAININFO_TRIGGERING_CODE2
)
...
...
c35098357.lua
View file @
d2f45aa4
...
@@ -35,9 +35,9 @@ function c35098357.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -35,9 +35,9 @@ function c35098357.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
aux
.
FCheckAdditional
=
c35098357
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c35098357
.
fcheck
local
res
=
Duel
.
IsExistingMatchingCard
(
c35098357
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c35098357
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
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
...
@@ -54,9 +54,9 @@ end
...
@@ -54,9 +54,9 @@ end
function
c35098357
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c35098357
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c35098357
.
filter1
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c35098357
.
filter1
,
nil
,
e
)
aux
.
FCheckAdditional
=
c35098357
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c35098357
.
fcheck
local
sg1
=
Duel
.
GetMatchingGroup
(
c35098357
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c35098357
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
local
mg2
=
nil
local
mg2
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
@@ -72,15 +72,15 @@ function c35098357.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -72,15 +72,15 @@ function c35098357.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
aux
.
FCheckAdditional
=
c35098357
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c35098357
.
fcheck
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c35705817.lua
View file @
d2f45aa4
...
@@ -93,7 +93,7 @@ function c35705817.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -93,7 +93,7 @@ function c35705817.activate(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
mg1
:
RemoveCard
(
tc
)
mg1
:
RemoveCard
(
tc
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
exmat
then
if
exmat
then
aux
.
FCheckAdditional
=
c35705817
.
fcheck
aux
.
FCheckAdditional
=
c35705817
.
fcheck
aux
.
GCheckAdditional
=
c35705817
.
gcheck
aux
.
GCheckAdditional
=
c35705817
.
gcheck
...
@@ -108,7 +108,7 @@ function c35705817.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -108,7 +108,7 @@ function c35705817.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c36484016.lua
View file @
d2f45aa4
...
@@ -20,18 +20,15 @@ function c36484016.initial_effect(c)
...
@@ -20,18 +20,15 @@ function c36484016.initial_effect(c)
e2
:
SetOperation
(
c36484016
.
drop
)
e2
:
SetOperation
(
c36484016
.
drop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c36484016
.
filter0
(
c
)
return
c
:
IsOnField
()
and
c
:
IsAbleToRemove
()
end
function
c36484016
.
filter1
(
c
,
e
)
function
c36484016
.
filter1
(
c
,
e
)
return
c
:
IsOnField
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
IsOnField
()
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
)
if
not
(
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListType
(
c
,
TYPE_SYNCHRO
)
and
(
not
f
or
f
(
c
))
if
not
(
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListType
(
c
,
TYPE_SYNCHRO
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
))
then
return
false
end
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
))
then
return
false
end
aux
.
FCheckAdditional
=
c
.
synchro_fusion_check
or
c36484016
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c
.
synchro_fusion_check
or
c36484016
.
fcheck
local
res
=
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
local
res
=
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
return
res
end
end
function
c36484016
.
filter4
(
c
)
function
c36484016
.
filter4
(
c
)
...
@@ -43,7 +40,7 @@ end
...
@@ -43,7 +40,7 @@ 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
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c36484016
.
filter
0
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c36484016
.
filter
1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c36484016
.
filter4
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c36484016
.
filter4
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
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
)
...
@@ -82,21 +79,21 @@ function c36484016.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -82,21 +79,21 @@ function c36484016.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
aux
.
FCheckAdditional
=
tc
.
synchro_fusion_check
or
c36484016
.
fcheck
aux
.
F
Goal
CheckAdditional
=
tc
.
synchro_fusion_check
or
c36484016
.
fcheck
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
end
end
function
c36484016
.
drcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c36484016
.
drcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c36708764.lua
View file @
d2f45aa4
...
@@ -35,7 +35,7 @@ function c36708764.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -35,7 +35,7 @@ function c36708764.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
36708764
,
0
))
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
36708764
,
0
))
local
tc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
local
tc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
local
at
=
Duel
.
GetAttacker
()
local
at
=
Duel
.
GetAttacker
()
if
at
:
IsAttackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
and
not
tc
:
IsImmuneToEffect
(
e
)
then
if
at
:
Is
RelateToBattle
()
and
at
:
Is
Attackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
and
not
tc
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
at
,
tc
)
Duel
.
CalculateDamage
(
at
,
tc
)
end
end
end
end
...
@@ -47,7 +47,7 @@ function c36708764.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -47,7 +47,7 @@ function c36708764.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
36708764
,
0
))
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
36708764
,
0
))
local
tc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
local
tc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
local
at
=
Duel
.
GetAttacker
()
local
at
=
Duel
.
GetAttacker
()
if
at
:
IsAttackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
and
not
tc
:
IsImmuneToEffect
(
e
)
then
if
at
:
Is
RelateToBattle
()
and
at
:
Is
Attackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
and
not
tc
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
at
,
tc
)
Duel
.
CalculateDamage
(
at
,
tc
)
end
end
end
end
...
...
c41940225.lua
View file @
d2f45aa4
...
@@ -22,18 +22,15 @@ function c41940225.initial_effect(c)
...
@@ -22,18 +22,15 @@ 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
)
return
c
:
IsFaceup
()
and
c
:
IsCanBeFusionMaterial
()
end
function
c41940225
.
filter1
(
c
,
e
)
function
c41940225
.
filter1
(
c
,
e
)
return
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
)
if
not
(
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListCode
(
c
,
78193831
)
and
(
not
f
or
f
(
c
))
if
not
(
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListCode
(
c
,
78193831
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
))
then
return
false
end
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
))
then
return
false
end
aux
.
FCheckAdditional
=
c
.
destruction_swordsman_fusion_check
or
c41940225
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c
.
destruction_swordsman_fusion_check
or
c41940225
.
fcheck
local
res
=
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
local
res
=
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
return
res
end
end
function
c41940225
.
filter3
(
c
,
e
)
function
c41940225
.
filter3
(
c
,
e
)
...
@@ -45,8 +42,8 @@ end
...
@@ -45,8 +42,8 @@ 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
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
c41940225
.
filter3
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c41940225
.
filter
0
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c41940225
.
filter
1
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
mg1
:
Merge
(
mg2
)
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
...
@@ -83,21 +80,21 @@ function c41940225.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -83,21 +80,21 @@ function c41940225.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
aux
.
FCheckAdditional
=
tc
.
destruction_swordsman_fusion_check
or
c41940225
.
fcheck
aux
.
F
Goal
CheckAdditional
=
tc
.
destruction_swordsman_fusion_check
or
c41940225
.
fcheck
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
end
end
function
c41940225
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c41940225
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToGraveAsCost
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToGraveAsCost
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
...
...
c42199039.lua
View file @
d2f45aa4
...
@@ -57,7 +57,7 @@ end
...
@@ -57,7 +57,7 @@ end
function
c42199039
.
dttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c42199039
.
dttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
c42199039
.
filter
(
chkc
)
and
chkc
~=
e
:
GetHandler
()
end
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
c42199039
.
filter
(
chkc
)
and
chkc
~=
e
:
GetHandler
()
end
local
eq
=
e
:
GetHandler
():
GetEquipTarget
()
local
eq
=
e
:
GetHandler
():
GetEquipTarget
()
if
chk
==
0
then
return
eq
and
not
eq
:
IsHasEffect
(
EFFECT_DIRECT_ATTACK
)
and
Duel
.
Is
AbleToEnterBP
()
and
Duel
.
Is
ExistingTarget
(
c42199039
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
e
:
GetHandler
())
end
if
chk
==
0
then
return
eq
and
not
eq
:
IsHasEffect
(
EFFECT_DIRECT_ATTACK
)
and
Duel
.
IsExistingTarget
(
c42199039
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
e
:
GetHandler
())
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RTOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RTOHAND
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c42199039
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
e
:
GetHandler
())
local
g
=
Duel
.
SelectTarget
(
tp
,
c42199039
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
e
:
GetHandler
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
1
,
0
,
0
)
...
...
c42577802.lua
View file @
d2f45aa4
...
@@ -89,7 +89,7 @@ function c42577802.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -89,7 +89,7 @@ function c42577802.activate(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
mg1
:
RemoveCard
(
tc
)
mg1
:
RemoveCard
(
tc
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
exmat
then
if
exmat
then
aux
.
FCheckAdditional
=
c42577802
.
fcheck
aux
.
FCheckAdditional
=
c42577802
.
fcheck
aux
.
GCheckAdditional
=
c42577802
.
gcheck
aux
.
GCheckAdditional
=
c42577802
.
gcheck
...
@@ -101,7 +101,7 @@ function c42577802.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -101,7 +101,7 @@ function c42577802.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c43452193.lua
View file @
d2f45aa4
...
@@ -26,7 +26,7 @@ end
...
@@ -26,7 +26,7 @@ end
function
c43452193
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c43452193
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
local
at
=
Duel
.
GetAttackTarget
()
local
at
=
Duel
.
GetAttackTarget
()
if
a
:
IsRelateToEffect
(
e
)
and
a
:
IsAttackable
()
and
at
:
IsRelateToEffect
(
e
)
then
if
a
:
IsRelateTo
Battle
()
and
a
:
IsRelateTo
Effect
(
e
)
and
a
:
IsAttackable
()
and
at
:
IsRelateToEffect
(
e
)
then
if
Duel
.
SwapControl
(
a
,
at
,
RESET_PHASE
+
PHASE_END
,
1
)
then
if
Duel
.
SwapControl
(
a
,
at
,
RESET_PHASE
+
PHASE_END
,
1
)
then
Duel
.
CalculateDamage
(
a
,
at
)
Duel
.
CalculateDamage
(
a
,
at
)
end
end
...
...
c44362883.lua
View file @
d2f45aa4
...
@@ -39,9 +39,11 @@ end
...
@@ -39,9 +39,11 @@ end
function
c44362883
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c44362883
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
if
not
(
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListCode
(
c
,
68468459
)
and
(
not
f
or
f
(
c
))
if
not
(
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListCode
(
c
,
68468459
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
))
then
return
false
end
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
))
then
return
false
end
aux
.
FCheckAdditional
=
c
.
branded_fusion_check
or
c44362883
.
fcheck
aux
.
FCheckAdditional
=
c44362883
.
fcheck
aux
.
FGoalCheckAdditional
=
c
.
branded_fusion_check
or
c44362883
.
fcheck
local
res
=
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
local
res
=
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
FCheckAdditional
=
nil
aux
.
FGoalCheckAdditional
=
nil
return
res
return
res
end
end
function
c44362883
.
fcheck
(
tp
,
sg
,
fc
)
function
c44362883
.
fcheck
(
tp
,
sg
,
fc
)
...
@@ -50,7 +52,7 @@ end
...
@@ -50,7 +52,7 @@ end
function
c44362883
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c44362883
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
c44362883
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c44362883
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c44362883
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c44362883
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c44362883
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
...
@@ -58,9 +60,9 @@ function c44362883.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -58,9 +60,9 @@ function c44362883.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
(
c44362883
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c44362883
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
end
end
return
res
return
res
...
@@ -88,15 +90,17 @@ function c44362883.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -88,15 +90,17 @@ function c44362883.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
aux
.
FCheckAdditional
=
tc
.
branded_fusion_check
or
c44362883
.
fcheck
aux
.
FCheckAdditional
=
c44362883
.
fcheck
aux
.
FGoalCheckAdditional
=
tc
.
branded_fusion_check
or
c44362883
.
fcheck
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
FCheckAdditional
=
nil
aux
.
FGoalCheckAdditional
=
nil
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c44874522.lua
View file @
d2f45aa4
...
@@ -41,8 +41,8 @@ function c44874522.valcheck(e,c)
...
@@ -41,8 +41,8 @@ function c44874522.valcheck(e,c)
local
flag
=
0
local
flag
=
0
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
while
tc
do
while
tc
do
if
tc
:
IsSetCard
(
0x7
)
then
flag
=
bit
.
bor
(
flag
,
0x1
)
end
if
tc
:
IsSetCard
(
0x7
)
and
tc
:
IsType
(
TYPE_MONSTER
)
then
flag
=
bit
.
bor
(
flag
,
0x1
)
end
if
tc
:
IsSetCard
(
0x51
)
then
flag
=
bit
.
bor
(
flag
,
0x2
)
end
if
tc
:
IsSetCard
(
0x51
)
and
tc
:
IsType
(
TYPE_MONSTER
)
then
flag
=
bit
.
bor
(
flag
,
0x2
)
end
tc
=
g
:
GetNext
()
tc
=
g
:
GetNext
()
end
end
e
:
SetLabel
(
flag
)
e
:
SetLabel
(
flag
)
...
...
c48144509.lua
View file @
d2f45aa4
...
@@ -32,7 +32,7 @@ end
...
@@ -32,7 +32,7 @@ end
function
c48144509
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c48144509
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsAbleToGrave
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c48144509
.
filter1
,
nil
,
e
)
if
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_MZONE
,
0
)
==
0
and
Duel
.
GetFieldGroupCount
(
tp
,
0
,
LOCATION_MZONE
)
>
1
then
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
)
local
sg
=
Duel
.
GetMatchingGroup
(
c48144509
.
exfilter0
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
if
sg
:
GetCount
()
>
0
then
if
sg
:
GetCount
()
>
0
then
...
@@ -91,7 +91,7 @@ function c48144509.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -91,7 +91,7 @@ function c48144509.activate(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
mg1
:
RemoveCard
(
tc
)
mg1
:
RemoveCard
(
tc
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
exmat
then
if
exmat
then
aux
.
FCheckAdditional
=
c48144509
.
fcheck
aux
.
FCheckAdditional
=
c48144509
.
fcheck
aux
.
GCheckAdditional
=
c48144509
.
gcheck
aux
.
GCheckAdditional
=
c48144509
.
gcheck
...
@@ -103,7 +103,7 @@ function c48144509.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -103,7 +103,7 @@ function c48144509.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c51993760.lua
View file @
d2f45aa4
...
@@ -63,7 +63,7 @@ function c51993760.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -63,7 +63,7 @@ function c51993760.operation(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e2
)
tc
:
RegisterEffect
(
e2
)
Duel
.
SpecialSummonComplete
()
Duel
.
SpecialSummonComplete
()
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
if
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
if
a
:
Is
RelateToBattle
()
and
a
:
Is
Attackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
a
,
tc
)
Duel
.
CalculateDamage
(
a
,
tc
)
end
end
end
end
...
...
c52101615.lua
View file @
d2f45aa4
...
@@ -42,20 +42,20 @@ function c52101615.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -42,20 +42,20 @@ function c52101615.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
e
:
GetLabel
()
~=
1
then
return
false
end
if
e
:
GetLabel
()
~=
1
then
return
false
end
e
:
SetLabel
(
0
)
e
:
SetLabel
(
0
)
local
mg
=
Duel
.
GetReleaseGroup
(
tp
):
Filter
(
c52101615
.
mfilter
,
nil
,
tp
)
local
mg
=
Duel
.
GetReleaseGroup
(
tp
):
Filter
(
c52101615
.
mfilter
,
nil
,
tp
)
aux
.
FCheckAdditional
=
c52101615
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c52101615
.
fcheck
if
c59160188
then
c59160188
.
re_activated
=
true
end
if
c59160188
then
c59160188
.
re_activated
=
true
end
local
res
=
Duel
.
IsExistingMatchingCard
(
c52101615
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c52101615
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
if
c59160188
then
c59160188
.
re_activated
=
false
end
if
c59160188
then
c59160188
.
re_activated
=
false
end
return
res
return
res
end
end
local
mg
=
Duel
.
GetReleaseGroup
(
tp
):
Filter
(
c52101615
.
mfilter
,
nil
,
tp
)
local
mg
=
Duel
.
GetReleaseGroup
(
tp
):
Filter
(
c52101615
.
mfilter
,
nil
,
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
aux
.
FCheckAdditional
=
c52101615
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c52101615
.
fcheck
if
c59160188
then
c59160188
.
re_activated
=
true
end
if
c59160188
then
c59160188
.
re_activated
=
true
end
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c52101615
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c52101615
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
g
:
GetFirst
(),
mg
,
c
,
chkf
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
g
:
GetFirst
(),
mg
,
c
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
if
c59160188
then
c59160188
.
re_activated
=
false
end
if
c59160188
then
c59160188
.
re_activated
=
false
end
aux
.
UseExtraReleaseCount
(
mat
,
tp
)
aux
.
UseExtraReleaseCount
(
mat
,
tp
)
Duel
.
Release
(
mat
,
REASON_COST
)
Duel
.
Release
(
mat
,
REASON_COST
)
...
...
c52947044.lua
View file @
d2f45aa4
...
@@ -26,10 +26,10 @@ end
...
@@ -26,10 +26,10 @@ end
function
c52947044
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c52947044
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_HAND
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c52947044
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c52947044
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c52947044
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
aux
.
FCheckAdditional
=
c52947044
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c52947044
.
fcheck
local
res
=
Duel
.
IsExistingMatchingCard
(
c52947044
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c52947044
.
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
)
...
@@ -40,7 +40,7 @@ function c52947044.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -40,7 +40,7 @@ function c52947044.target(e,tp,eg,ep,ev,re,r,rp,chk)
res
=
Duel
.
IsExistingMatchingCard
(
c52947044
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c52947044
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
end
end
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
return
res
end
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
@@ -51,7 +51,7 @@ function c52947044.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -51,7 +51,7 @@ function c52947044.activate(e,tp,eg,ep,ev,re,r,rp)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c52947044
.
filter1
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c52947044
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c52947044
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c52947044
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
aux
.
FCheckAdditional
=
c52947044
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c52947044
.
fcheck
local
sg1
=
Duel
.
GetMatchingGroup
(
c52947044
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c52947044
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg3
=
nil
local
mg3
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
@@ -68,13 +68,13 @@ function c52947044.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -68,13 +68,13 @@ function c52947044.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
@@ -93,7 +93,7 @@ function c52947044.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -93,7 +93,7 @@ function c52947044.activate(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetLabelObject
(
tc
)
e1
:
SetLabelObject
(
tc
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
if
not
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
return
end
if
not
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
return
end
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
...
...
c53541822.lua
View file @
d2f45aa4
...
@@ -35,9 +35,6 @@ end
...
@@ -35,9 +35,6 @@ end
function
c53541822
.
efilter
(
e
,
re
)
function
c53541822
.
efilter
(
e
,
re
)
return
e
:
GetHandlerPlayer
()
~=
re
:
GetOwnerPlayer
()
and
re
:
IsActivated
()
and
re
:
IsActiveType
(
TYPE_MONSTER
)
return
e
:
GetHandlerPlayer
()
~=
re
:
GetOwnerPlayer
()
and
re
:
IsActivated
()
and
re
:
IsActiveType
(
TYPE_MONSTER
)
end
end
function
c53541822
.
filter0
(
c
)
return
c
:
IsOnField
()
and
c
:
IsAbleToRemove
()
end
function
c53541822
.
filter1
(
c
,
e
)
function
c53541822
.
filter1
(
c
,
e
)
return
c
:
IsOnField
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
IsOnField
()
and
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
...
@@ -60,10 +57,10 @@ end
...
@@ -60,10 +57,10 @@ end
function
c53541822
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c53541822
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c53541822
.
filter
0
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c53541822
.
filter
1
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c53541822
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c53541822
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
aux
.
FCheckAdditional
=
c53541822
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c53541822
.
fcheck
local
res
=
Duel
.
IsExistingMatchingCard
(
c53541822
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c53541822
.
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
)
...
@@ -74,7 +71,7 @@ function c53541822.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -74,7 +71,7 @@ function c53541822.target(e,tp,eg,ep,ev,re,r,rp,chk)
res
=
Duel
.
IsExistingMatchingCard
(
c53541822
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c53541822
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
end
end
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
return
res
end
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
@@ -86,7 +83,7 @@ function c53541822.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -86,7 +83,7 @@ function c53541822.activate(e,tp,eg,ep,ev,re,r,rp)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c53541822
.
filter1
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c53541822
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c53541822
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c53541822
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
aux
.
FCheckAdditional
=
c53541822
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c53541822
.
fcheck
local
sg1
=
Duel
.
GetMatchingGroup
(
c53541822
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c53541822
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg3
=
nil
local
mg3
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
@@ -103,13 +100,13 @@ function c53541822.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -103,13 +100,13 @@ function c53541822.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
@@ -124,5 +121,5 @@ function c53541822.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -124,5 +121,5 @@ function c53541822.activate(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e1
,
true
)
tc
:
RegisterEffect
(
e1
,
true
)
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
end
end
c54912977.lua
View file @
d2f45aa4
...
@@ -33,8 +33,8 @@ end
...
@@ -33,8 +33,8 @@ end
function
c54912977
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c54912977
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
if
tc
and
tc
:
IsRelateToEffect
(
e
)
if
tc
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsControler
(
1
-
tp
)
and
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
and
a
:
Is
RelateToBattle
()
and
a
:
Is
Attackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
a
,
tc
)
Duel
.
CalculateDamage
(
a
,
tc
)
end
end
end
end
...
...
c55704856.lua
View file @
d2f45aa4
...
@@ -10,18 +10,15 @@ function c55704856.initial_effect(c)
...
@@ -10,18 +10,15 @@ function c55704856.initial_effect(c)
e1
:
SetOperation
(
c55704856
.
activate
)
e1
:
SetOperation
(
c55704856
.
activate
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c55704856
.
filter0
(
c
)
return
(
c
:
IsLocation
(
LOCATION_MZONE
)
or
c
:
IsFaceup
())
and
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToDeck
()
end
function
c55704856
.
filter1
(
c
,
e
)
function
c55704856
.
filter1
(
c
,
e
)
return
(
c
:
IsLocation
(
LOCATION_MZONE
)
or
c
:
IsFaceup
())
and
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToDeck
()
and
not
c
:
IsImmuneToEffect
(
e
)
return
(
c
:
IsLocation
(
LOCATION_MZONE
)
or
c
:
IsFaceup
())
and
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToDeck
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c55704856
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c55704856
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
if
not
(
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListSetCard
(
c
,
0x1093
)
and
(
not
f
or
f
(
c
))
if
not
(
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListSetCard
(
c
,
0x1093
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
))
then
return
false
end
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
))
then
return
false
end
aux
.
FCheckAdditional
=
c
.
cyber_fusion_check
or
c55704856
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c
.
cyber_fusion_check
or
c55704856
.
fcheck
local
res
=
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
local
res
=
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
return
res
end
end
function
c55704856
.
filter3
(
c
)
function
c55704856
.
filter3
(
c
)
...
@@ -33,7 +30,7 @@ end
...
@@ -33,7 +30,7 @@ end
function
c55704856
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c55704856
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg
=
Duel
.
GetMatchingGroup
(
c55704856
.
filter
0
,
tp
,
LOCATION_MZONE
+
LOCATION_REMOVED
,
0
,
nil
)
local
mg
=
Duel
.
GetMatchingGroup
(
c55704856
.
filter
1
,
tp
,
LOCATION_MZONE
+
LOCATION_REMOVED
,
0
,
nil
)
local
mg2
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
aux
.
NOT
(
Card
.
IsLocation
),
nil
,
LOCATION_HAND
)
local
mg2
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
aux
.
NOT
(
Card
.
IsLocation
),
nil
,
LOCATION_HAND
)
mg
:
Merge
(
mg2
)
mg
:
Merge
(
mg2
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c55704856
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c55704856
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
nil
,
chkf
)
...
@@ -71,8 +68,8 @@ function c55704856.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -71,8 +68,8 @@ function c55704856.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
aux
.
FCheckAdditional
=
tc
.
cyber_fusion_check
or
c55704856
.
fcheck
aux
.
F
Goal
CheckAdditional
=
tc
.
cyber_fusion_check
or
c55704856
.
fcheck
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
,
nil
,
chkf
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat
)
tc
:
SetMaterial
(
mat
)
if
mat
:
IsExists
(
Card
.
IsFacedown
,
1
,
nil
)
then
if
mat
:
IsExists
(
Card
.
IsFacedown
,
1
,
nil
)
then
...
@@ -86,7 +83,7 @@ function c55704856.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -86,7 +83,7 @@ function c55704856.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SendtoDeck
(
mat
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoDeck
(
mat
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
@@ -104,7 +101,7 @@ function c55704856.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -104,7 +101,7 @@ function c55704856.activate(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
end
end
function
c55704856
.
cfilter
(
c
)
function
c55704856
.
cfilter
(
c
)
return
c
:
IsLocation
(
LOCATION_REMOVED
)
or
(
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsFaceup
())
return
c
:
IsLocation
(
LOCATION_REMOVED
)
or
(
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsFaceup
())
...
...
c57031794.lua
View file @
d2f45aa4
...
@@ -66,7 +66,7 @@ function c57031794.desop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -66,7 +66,7 @@ function c57031794.desop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
c57031794
.
mtfilter
(
c
,
e
)
function
c57031794
.
mtfilter
(
c
,
e
)
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
c
:
IsFaceup
()
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
return
c
:
IsFaceupEx
()
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
end
end
function
c57031794
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c57031794
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
...
...
c57425061.lua
View file @
d2f45aa4
...
@@ -36,7 +36,7 @@ end
...
@@ -36,7 +36,7 @@ end
function
c57425061
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c57425061
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsAbleToGrave
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c57425061
.
filter1
,
nil
,
e
)
if
Duel
.
IsExistingMatchingCard
(
c57425061
.
cfilter
,
tp
,
LOCATION_SZONE
,
0
,
1
,
nil
)
then
if
Duel
.
IsExistingMatchingCard
(
c57425061
.
cfilter
,
tp
,
LOCATION_SZONE
,
0
,
1
,
nil
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c57425061
.
exfilter0
,
tp
,
LOCATION_SZONE
,
0
,
nil
)
local
sg
=
Duel
.
GetMatchingGroup
(
c57425061
.
exfilter0
,
tp
,
LOCATION_SZONE
,
0
,
nil
)
if
sg
:
GetCount
()
>
0
then
if
sg
:
GetCount
()
>
0
then
...
@@ -95,7 +95,7 @@ function c57425061.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -95,7 +95,7 @@ function c57425061.activate(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
mg1
:
RemoveCard
(
tc
)
mg1
:
RemoveCard
(
tc
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
exmat
then
if
exmat
then
aux
.
FCheckAdditional
=
c57425061
.
fcheck
aux
.
FCheckAdditional
=
c57425061
.
fcheck
aux
.
GCheckAdditional
=
c57425061
.
gcheck
aux
.
GCheckAdditional
=
c57425061
.
gcheck
...
@@ -110,7 +110,7 @@ function c57425061.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -110,7 +110,7 @@ function c57425061.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c57450198.lua
View file @
d2f45aa4
...
@@ -77,7 +77,7 @@ function c57450198.disop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -77,7 +77,7 @@ function c57450198.disop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
c57450198
.
mtfilter
(
c
,
e
)
function
c57450198
.
mtfilter
(
c
,
e
)
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
c
:
IsFaceup
()
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
return
c
:
IsFaceupEx
()
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
end
end
function
c57450198
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c57450198
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
...
...
c58549532.lua
View file @
d2f45aa4
...
@@ -29,7 +29,7 @@ end
...
@@ -29,7 +29,7 @@ end
function
c58549532
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c58549532
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
c58549532
.
filter1
,
nil
,
e
)
mg1
:
Merge
(
Duel
.
GetMatchingGroup
(
c58549532
.
filter0
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
))
mg1
:
Merge
(
Duel
.
GetMatchingGroup
(
c58549532
.
filter0
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
))
aux
.
FCheckAdditional
=
c58549532
.
fcheck
aux
.
FCheckAdditional
=
c58549532
.
fcheck
aux
.
GCheckAdditional
=
c58549532
.
gcheck
aux
.
GCheckAdditional
=
c58549532
.
gcheck
...
@@ -71,13 +71,13 @@ function c58549532.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -71,13 +71,13 @@ function c58549532.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c59332125.lua
View file @
d2f45aa4
...
@@ -41,7 +41,7 @@ end
...
@@ -41,7 +41,7 @@ end
function
c59332125
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c59332125
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
c59332125
.
filter2
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c59332125
.
filter1
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c59332125
.
filter1
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
if
mg1
:
IsExists
(
c59332125
.
chkfilter
,
1
,
nil
,
tp
)
and
mg2
:
GetCount
()
>
0
then
if
mg1
:
IsExists
(
c59332125
.
chkfilter
,
1
,
nil
,
tp
)
and
mg2
:
GetCount
()
>
0
then
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
...
@@ -95,7 +95,7 @@ function c59332125.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -95,7 +95,7 @@ function c59332125.activate(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
if
not
tc
then
return
end
if
not
tc
then
return
end
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
exmat
then
if
exmat
then
aux
.
FCheckAdditional
=
c59332125
.
fcheck
aux
.
FCheckAdditional
=
c59332125
.
fcheck
aux
.
GCheckAdditional
=
c59332125
.
gcheck
(
tp
)
aux
.
GCheckAdditional
=
c59332125
.
gcheck
(
tp
)
...
@@ -107,7 +107,7 @@ function c59332125.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -107,7 +107,7 @@ function c59332125.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c59514116.lua
View file @
d2f45aa4
...
@@ -26,8 +26,8 @@ function c59514116.rcheck(tp,g,c)
...
@@ -26,8 +26,8 @@ function c59514116.rcheck(tp,g,c)
end
end
function
c59514116
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c59514116
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
c59514116
.
filter1
,
nil
,
e
)
aux
.
FCheckAdditional
=
c59514116
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c59514116
.
fcheck
local
res1
=
Duel
.
IsExistingMatchingCard
(
c59514116
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res1
=
Duel
.
IsExistingMatchingCard
(
c59514116
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res1
then
if
not
res1
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
@@ -38,7 +38,7 @@ function c59514116.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -38,7 +38,7 @@ function c59514116.target(e,tp,eg,ep,ev,re,r,rp,chk)
res1
=
Duel
.
IsExistingMatchingCard
(
c59514116
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
res1
=
Duel
.
IsExistingMatchingCard
(
c59514116
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
end
end
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
local
mg3
=
Duel
.
GetRitualMaterial
(
tp
)
local
mg3
=
Duel
.
GetRitualMaterial
(
tp
)
aux
.
RCheckAdditional
=
c59514116
.
rcheck
aux
.
RCheckAdditional
=
c59514116
.
rcheck
local
res2
=
mg3
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
46986414
,
38033121
)
local
res2
=
mg3
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
46986414
,
38033121
)
...
@@ -73,7 +73,7 @@ function c59514116.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -73,7 +73,7 @@ function c59514116.activate(e,tp,eg,ep,ev,re,r,rp)
if
e
:
GetLabel
()
==
0
then
if
e
:
GetLabel
()
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c59514116
.
filter1
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c59514116
.
filter1
,
nil
,
e
)
aux
.
FCheckAdditional
=
c59514116
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c59514116
.
fcheck
local
sg1
=
Duel
.
GetMatchingGroup
(
c59514116
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c59514116
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
local
mg2
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
@@ -90,20 +90,20 @@ function c59514116.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -90,20 +90,20 @@ function c59514116.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat
)
tc
:
SetMaterial
(
mat
)
Duel
.
SendtoGrave
(
mat
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
elseif
e
:
GetLabel
()
==
1
then
elseif
e
:
GetLabel
()
==
1
then
::
rcancel
::
::
rcancel
::
local
mg
=
Duel
.
GetRitualMaterial
(
tp
)
local
mg
=
Duel
.
GetRitualMaterial
(
tp
)
...
...
c60398723.lua
View file @
d2f45aa4
...
@@ -25,8 +25,8 @@ function c60398723.rfilter(c)
...
@@ -25,8 +25,8 @@ function c60398723.rfilter(c)
end
end
function
c60398723
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60398723
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsControler
(
1
-
tp
)
and
tc
:
IsFaceup
()
then
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsControler
(
1
-
tp
)
and
tc
:
IsFaceup
()
Duel
.
ChangePosition
(
tc
,
POS_FACEDOWN_DEFENSE
)
and
Duel
.
ChangePosition
(
tc
,
POS_FACEDOWN_DEFENSE
)
>
0
then
local
rg
=
Duel
.
GetMatchingGroup
(
c60398723
.
rfilter
,
tp
,
LOCATION_FZONE
,
LOCATION_FZONE
,
nil
)
local
rg
=
Duel
.
GetMatchingGroup
(
c60398723
.
rfilter
,
tp
,
LOCATION_FZONE
,
LOCATION_FZONE
,
nil
)
if
rg
:
GetCount
()
~=
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
60398723
,
0
))
then
if
rg
:
GetCount
()
~=
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
60398723
,
0
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
...
...
c6172122.lua
View file @
d2f45aa4
...
@@ -38,9 +38,9 @@ end
...
@@ -38,9 +38,9 @@ end
function
c6172122
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c6172122
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
if
not
(
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListSetCard
(
c
,
0x3b
)
and
(
not
f
or
f
(
c
))
if
not
(
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListSetCard
(
c
,
0x3b
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
))
then
return
false
end
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
))
then
return
false
end
aux
.
FCheckAdditional
=
c
.
red_eyes_fusion_check
or
c6172122
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c
.
red_eyes_fusion_check
or
c6172122
.
fcheck
local
res
=
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
local
res
=
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
return
res
end
end
function
c6172122
.
fcheck
(
tp
,
sg
,
fc
)
function
c6172122
.
fcheck
(
tp
,
sg
,
fc
)
...
@@ -49,7 +49,7 @@ end
...
@@ -49,7 +49,7 @@ 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
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
c6172122
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c6172122
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c6172122
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
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
)
...
@@ -57,9 +57,9 @@ function c6172122.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -57,9 +57,9 @@ function c6172122.target(e,tp,eg,ep,ev,re,r,rp,chk)
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
(
c6172122
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c6172122
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
3
,
mf
,
chkf
)
end
end
end
end
return
res
return
res
...
@@ -87,14 +87,14 @@ function c6172122.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -87,14 +87,14 @@ function c6172122.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
aux
.
FCheckAdditional
=
tc
.
red_eyes_fusion_check
or
c6172122
.
fcheck
aux
.
F
Goal
CheckAdditional
=
tc
.
red_eyes_fusion_check
or
c6172122
.
fcheck
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
@@ -108,5 +108,5 @@ function c6172122.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -108,5 +108,5 @@ function c6172122.activate(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
end
end
c63136489.lua
View file @
d2f45aa4
...
@@ -37,8 +37,8 @@ end
...
@@ -37,8 +37,8 @@ end
function
s
.
fstg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
fstg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
aux
.
NOT
(
Card
.
IsImmuneToEffect
),
nil
,
e
)
aux
.
FCheckAdditional
=
s
.
check
aux
.
F
Goal
CheckAdditional
=
s
.
check
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter
,
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
)
...
@@ -49,7 +49,7 @@ function s.fstg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -49,7 +49,7 @@ function s.fstg(e,tp,eg,ep,ev,re,r,rp,chk)
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
end
end
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
return
res
end
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
@@ -57,7 +57,7 @@ end
...
@@ -57,7 +57,7 @@ end
function
s
.
fsop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
fsop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
aux
.
NOT
(
Card
.
IsImmuneToEffect
),
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
aux
.
NOT
(
Card
.
IsImmuneToEffect
),
nil
,
e
)
aux
.
FCheckAdditional
=
s
.
check
aux
.
F
Goal
CheckAdditional
=
s
.
check
local
sg1
=
Duel
.
GetMatchingGroup
(
s
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
s
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
,
sg2
=
nil
,
nil
local
mg2
,
sg2
=
nil
,
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
@@ -74,14 +74,14 @@ function s.fsop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -74,14 +74,14 @@ function s.fsop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc
=
sg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
local
tc
=
sg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
(
sg2
:
IsContains
(
tc
)
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
(
sg2
:
IsContains
(
tc
)
and
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
())))
then
and
ce
and
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
())))
then
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
if
#
mat
==
0
then
goto
cancel
end
if
#
mat
==
0
then
goto
cancel
end
tc
:
SetMaterial
(
mat
)
tc
:
SetMaterial
(
mat
)
Duel
.
SendtoGrave
(
mat
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
if
#
mat
==
0
then
goto
cancel
end
if
#
mat
==
0
then
goto
cancel
end
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
...
@@ -89,7 +89,7 @@ function s.fsop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -89,7 +89,7 @@ function s.fsop(e,tp,eg,ep,ev,re,r,rp)
end
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
end
end
function
s
.
cfilter
(
c
)
function
s
.
cfilter
(
c
)
return
c
:
IsFaceupEx
()
and
c
:
IsCode
(
4796100
)
return
c
:
IsFaceupEx
()
and
c
:
IsCode
(
4796100
)
...
...
c63767246.lua
View file @
d2f45aa4
...
@@ -66,9 +66,9 @@ function c63767246.cbcost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -66,9 +66,9 @@ function c63767246.cbcost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c63767246
.
cbop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c63767246
.
cbop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsControler
(
tp
)
then
local
at
=
Duel
.
GetAttacker
()
local
at
=
Duel
.
GetAttacker
()
if
at
:
IsAttackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
then
if
at
:
Is
RelateToBattle
()
and
at
:
Is
Attackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
at
,
c
)
Duel
.
CalculateDamage
(
at
,
c
)
end
end
end
end
...
...
c64061284.lua
View file @
d2f45aa4
...
@@ -31,14 +31,14 @@ end
...
@@ -31,14 +31,14 @@ end
function
c64061284
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c64061284
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
c64061284
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c64061284
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c64061284
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
mg
:
IsExists
(
c64061284
.
filterchk
,
1
,
nil
)
and
mg2
:
GetCount
()
>
0
then
if
mg
:
IsExists
(
c64061284
.
filterchk
,
1
,
nil
)
and
mg2
:
GetCount
()
>
0
then
mg
:
Merge
(
mg2
)
mg
:
Merge
(
mg2
)
aux
.
FCheckAdditional
=
c64061284
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c64061284
.
fcheck
end
end
local
res
=
Duel
.
IsExistingMatchingCard
(
c64061284
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c64061284
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
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
...
@@ -57,10 +57,10 @@ function c64061284.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -57,10 +57,10 @@ function c64061284.activate(e,tp,eg,ep,ev,re,r,rp)
local
mg2
=
Duel
.
GetMatchingGroup
(
c64061284
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c64061284
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
mg1
:
IsExists
(
c64061284
.
filterchk
,
1
,
nil
)
and
mg2
:
GetCount
()
>
0
then
if
mg1
:
IsExists
(
c64061284
.
filterchk
,
1
,
nil
)
and
mg2
:
GetCount
()
>
0
then
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
aux
.
FCheckAdditional
=
c64061284
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c64061284
.
fcheck
end
end
local
sg1
=
Duel
.
GetMatchingGroup
(
c64061284
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c64061284
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
local
mg2
=
nil
local
mg2
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
@@ -76,15 +76,15 @@ function c64061284.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -76,15 +76,15 @@ function c64061284.activate(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
if
not
tc
then
return
end
if
not
tc
then
return
end
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
aux
.
FCheckAdditional
=
c64061284
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c64061284
.
fcheck
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c64664373.lua
View file @
d2f45aa4
...
@@ -14,7 +14,7 @@ function s.initial_effect(c)
...
@@ -14,7 +14,7 @@ function s.initial_effect(c)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
s
.
tgfilter
(
c
,
e
,
tp
)
function
s
.
tgfilter
(
c
,
e
,
tp
)
return
c
:
IsFaceup
(
)
and
not
c
:
IsType
(
TYPE_TOKEN
)
return
aux
.
NegateEffectMonsterFilter
(
c
)
and
not
c
:
IsType
(
TYPE_TOKEN
)
and
Duel
.
IsExistingMatchingCard
(
s
.
spfilter
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
+
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
,
c
:
GetRace
(),
c
:
GetAttribute
(),
c
:
GetAttack
())
and
Duel
.
IsExistingMatchingCard
(
s
.
spfilter
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
+
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
,
c
:
GetRace
(),
c
:
GetAttribute
(),
c
:
GetAttack
())
end
end
function
s
.
spfilter
(
c
,
e
,
tp
,
race
,
att
,
atk
)
function
s
.
spfilter
(
c
,
e
,
tp
,
race
,
att
,
atk
)
...
...
c64966519.lua
View file @
d2f45aa4
...
@@ -30,9 +30,9 @@ function c64966519.cbcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -30,9 +30,9 @@ function c64966519.cbcon(e,tp,eg,ep,ev,re,r,rp)
end
end
function
c64966519
.
cbop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c64966519
.
cbop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
then
if
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
and
c
:
IsControler
(
tp
)
then
local
at
=
Duel
.
GetAttacker
()
local
at
=
Duel
.
GetAttacker
()
if
at
:
IsAttackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
and
not
c
:
IsImmuneToEffect
(
e
)
then
if
at
:
Is
RelateToBattle
()
and
at
:
Is
Attackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
and
not
c
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
at
,
c
)
Duel
.
CalculateDamage
(
at
,
c
)
end
end
end
end
...
...
c65037172.lua
View file @
d2f45aa4
...
@@ -42,7 +42,7 @@ function c65037172.fsptg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -42,7 +42,7 @@ function c65037172.fsptg(e,tp,eg,ep,ev,re,r,rp,chk)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c65037172
.
filter1
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c65037172
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c65037172
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c65037172
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
aux
.
FCheckAdditional
=
c65037172
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c65037172
.
fcheck
local
res
=
Duel
.
IsExistingMatchingCard
(
c65037172
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c65037172
.
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
)
...
@@ -53,7 +53,7 @@ function c65037172.fsptg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -53,7 +53,7 @@ function c65037172.fsptg(e,tp,eg,ep,ev,re,r,rp,chk)
res
=
Duel
.
IsExistingMatchingCard
(
c65037172
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c65037172
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
end
end
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
return
res
end
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
@@ -64,7 +64,7 @@ function c65037172.fspop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -64,7 +64,7 @@ function c65037172.fspop(e,tp,eg,ep,ev,re,r,rp)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c65037172
.
filter1
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c65037172
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c65037172
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c65037172
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
aux
.
FCheckAdditional
=
c65037172
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c65037172
.
fcheck
local
sg1
=
Duel
.
GetMatchingGroup
(
c65037172
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c65037172
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg3
=
nil
local
mg3
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
@@ -81,20 +81,20 @@ function c65037172.fspop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -81,20 +81,20 @@ function c65037172.fspop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
end
end
function
c65037172
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c65037172
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsLocation
(
LOCATION_GRAVE
)
and
r
==
REASON_SYNCHRO
return
e
:
GetHandler
():
IsLocation
(
LOCATION_GRAVE
)
and
r
==
REASON_SYNCHRO
...
...
c65801012.lua
View file @
d2f45aa4
...
@@ -34,7 +34,7 @@ end
...
@@ -34,7 +34,7 @@ end
function
c65801012
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c65801012
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsAbleToGrave
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c65801012
.
filter1
,
nil
,
e
)
if
not
Duel
.
IsExistingMatchingCard
(
c65801012
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
then
if
not
Duel
.
IsExistingMatchingCard
(
c65801012
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c65801012
.
exfilter0
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
sg
=
Duel
.
GetMatchingGroup
(
c65801012
.
exfilter0
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
if
sg
:
GetCount
()
>
0
then
if
sg
:
GetCount
()
>
0
then
...
@@ -93,7 +93,7 @@ function c65801012.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -93,7 +93,7 @@ function c65801012.activate(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
mg1
:
RemoveCard
(
tc
)
mg1
:
RemoveCard
(
tc
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
exmat
then
if
exmat
then
aux
.
FCheckAdditional
=
c65801012
.
fcheck
aux
.
FCheckAdditional
=
c65801012
.
fcheck
aux
.
GCheckAdditional
=
c65801012
.
gcheck
aux
.
GCheckAdditional
=
c65801012
.
gcheck
...
@@ -108,7 +108,7 @@ function c65801012.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -108,7 +108,7 @@ function c65801012.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c65898344.lua
View file @
d2f45aa4
...
@@ -51,19 +51,24 @@ end
...
@@ -51,19 +51,24 @@ end
function
s
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
):
Filter
(
Card
.
IsRelateToEffect
,
nil
,
e
)
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
):
Filter
(
Card
.
IsRelateToEffect
,
nil
,
e
)
if
#
g
==
2
and
Duel
.
Remove
(
g
,
0
,
REASON_EFFECT
+
REASON_TEMPORARY
)
~=
0
then
if
#
g
==
2
and
Duel
.
Remove
(
g
,
0
,
REASON_EFFECT
+
REASON_TEMPORARY
)
~=
0
then
local
resetv
=
1
if
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetCurrentPhase
()
<=
PHASE_STANDBY
then
resetv
=
2
end
local
og
=
Duel
.
GetOperatedGroup
()
local
og
=
Duel
.
GetOperatedGroup
()
local
oc
=
og
:
GetFirst
()
local
oc
=
og
:
GetFirst
()
while
oc
do
while
oc
do
oc
:
RegisterFlagEffect
(
id
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
,
0
,
1
)
oc
:
RegisterFlagEffect
(
id
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
,
0
,
resetv
)
oc
=
og
:
GetNext
()
oc
=
og
:
GetNext
()
end
end
og
:
KeepAlive
()
og
:
KeepAlive
()
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_STANDBY
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_STANDBY
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
,
resetv
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCountLimit
(
1
)
e1
:
SetLabelObject
(
og
)
e1
:
SetLabelObject
(
og
)
e1
:
SetValue
(
Duel
.
GetTurnCount
())
e1
:
SetCondition
(
s
.
retcon
)
e1
:
SetCondition
(
s
.
retcon
)
e1
:
SetOperation
(
s
.
retop
)
e1
:
SetOperation
(
s
.
retop
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
...
@@ -73,7 +78,9 @@ function s.retfilter(c)
...
@@ -73,7 +78,9 @@ function s.retfilter(c)
return
c
:
GetFlagEffect
(
id
)
>
0
return
c
:
GetFlagEffect
(
id
)
>
0
end
end
function
s
.
retcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
retcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
tp
if
Duel
.
GetTurnPlayer
()
~=
tp
or
Duel
.
GetTurnCount
()
==
e
:
GetValue
()
then
return
false
end
local
g
=
e
:
GetLabelObject
()
return
g
:
IsExists
(
s
.
retfilter
,
1
,
nil
)
end
end
function
s
.
retop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
retop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
e
:
GetLabelObject
()
local
g
=
e
:
GetLabelObject
()
...
...
c66518509.lua
View file @
d2f45aa4
...
@@ -82,7 +82,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -82,7 +82,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
Duel
.
GetFlagEffect
(
tp
,
id
)
~=
0
then
if
Duel
.
GetFlagEffect
(
tp
,
id
)
~=
0
then
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
end
end
aux
.
FCheckAdditional
=
s
.
fcheck
aux
.
F
Goal
CheckAdditional
=
s
.
fcheck
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
spfilter
,
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
)
...
@@ -93,7 +93,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -93,7 +93,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
res
=
Duel
.
IsExistingMatchingCard
(
s
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
s
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
end
end
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
return
res
end
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
@@ -106,7 +106,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -106,7 +106,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
GetFlagEffect
(
tp
,
id
)
~=
0
then
if
Duel
.
GetFlagEffect
(
tp
,
id
)
~=
0
then
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
end
end
aux
.
FCheckAdditional
=
s
.
fcheck
aux
.
F
Goal
CheckAdditional
=
s
.
fcheck
local
sg1
=
Duel
.
GetMatchingGroup
(
s
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
s
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg3
=
nil
local
mg3
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
@@ -123,7 +123,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -123,7 +123,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
local
mat2
=
mat1
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_GRAVE
)
local
mat2
=
mat1
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_GRAVE
)
...
@@ -135,14 +135,14 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -135,14 +135,14 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SendtoDeck
(
mat2
,
nil
,
2
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoDeck
(
mat2
,
nil
,
2
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
end
end
function
s
.
filter
(
c
)
function
s
.
filter
(
c
)
return
c
:
IsSetCard
(
0x1a1
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsAbleToHand
()
return
c
:
IsSetCard
(
0x1a1
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsAbleToHand
()
...
...
c66532962.lua
View file @
d2f45aa4
...
@@ -39,13 +39,13 @@ end
...
@@ -39,13 +39,13 @@ end
function
s
.
natg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
s
.
natg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
if
chkc
then
return
chkc
==
a
end
if
chkc
then
return
chkc
==
a
end
if
chk
==
0
then
return
a
~=
nil
and
a
:
IsCanBeEffectTarget
(
e
)
and
a
:
GetAttack
()
>
0
end
if
chk
==
0
then
return
a
~=
nil
and
a
:
IsCanBeEffectTarget
(
e
)
end
Duel
.
SetTargetCard
(
a
)
Duel
.
SetTargetCard
(
a
)
end
end
function
s
.
naop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
naop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
NegateAttack
()
and
tc
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
then
if
Duel
.
NegateAttack
()
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
GetAttack
()
>
0
and
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
then
local
preatk
=
c
:
GetAttack
()
local
preatk
=
c
:
GetAttack
()
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
...
c67385964.lua
View file @
d2f45aa4
...
@@ -49,7 +49,7 @@ function c67385964.hspop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -49,7 +49,7 @@ function c67385964.hspop(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
if
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
if
a
:
Is
RelateToBattle
()
and
a
:
Is
Attackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
...
...
c67630339.lua
View file @
d2f45aa4
...
@@ -51,12 +51,13 @@ end
...
@@ -51,12 +51,13 @@ end
function
c67630339
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c67630339
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
~=
tp
and
Duel
.
GetAttackTarget
()
==
nil
and
c67630339
[
tp
]
==
2
return
Duel
.
GetTurnPlayer
()
~=
tp
and
Duel
.
GetAttackTarget
()
==
nil
and
c67630339
[
tp
]
==
2
and
c67630339
[
2
]:
GetFlagEffect
(
67630339
)
~=
0
and
Duel
.
GetAttacker
()
~=
c67630339
[
2
]
and
c67630339
[
2
]:
GetFlagEffect
(
67630339
)
~=
0
and
Duel
.
GetAttacker
()
~=
c67630339
[
2
]
and
c67630339
[
2
]:
IsControler
(
1
-
tp
)
end
end
function
c67630339
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c67630339
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
local
d
=
c67630339
[
2
]
local
d
=
c67630339
[
2
]
if
a
:
GetFlagEffect
(
67630339
)
~=
0
and
d
:
GetFlagEffect
(
67630339
)
~=
0
if
a
:
GetFlagEffect
(
67630339
)
~=
0
and
d
:
GetFlagEffect
(
67630339
)
~=
0
and
d
:
IsControler
(
1
-
tp
)
and
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
and
not
d
:
IsImmuneToEffect
(
e
)
then
and
a
:
Is
RelateToBattle
()
and
a
:
Is
Attackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
and
not
d
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
a
,
d
)
Duel
.
CalculateDamage
(
a
,
d
)
end
end
end
end
c68468459.lua
View file @
d2f45aa4
...
@@ -45,12 +45,12 @@ function c68468459.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -45,12 +45,12 @@ function c68468459.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
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
:
Filter
(
c68468459
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c68468459
.
filter0
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c68468459
.
filter0
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
:
Filter
(
c68468459
.
filter1
,
nil
,
e
)
if
mg2
:
GetCount
()
>
0
then
if
mg2
:
GetCount
()
>
0
then
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
end
end
aux
.
FCheckAdditional
=
c68468459
.
fcheck
(
c
)
aux
.
F
Goal
CheckAdditional
=
c68468459
.
fcheck
(
c
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c68468459
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c68468459
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
@@ -61,7 +61,7 @@ function c68468459.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -61,7 +61,7 @@ function c68468459.target(e,tp,eg,ep,ev,re,r,rp,chk)
res
=
Duel
.
IsExistingMatchingCard
(
c68468459
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
c
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c68468459
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
c
,
chkf
)
end
end
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
and
c
:
IsRelateToEffect
(
e
)
return
res
and
c
:
IsRelateToEffect
(
e
)
end
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
...
@@ -76,7 +76,7 @@ function c68468459.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -76,7 +76,7 @@ function c68468459.activate(e,tp,eg,ep,ev,re,r,rp)
if
mg2
:
GetCount
()
>
0
then
if
mg2
:
GetCount
()
>
0
then
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
end
end
aux
.
FCheckAdditional
=
c68468459
.
fcheck
(
c
)
aux
.
F
Goal
CheckAdditional
=
c68468459
.
fcheck
(
c
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c68468459
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c68468459
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
c
,
chkf
)
local
mg3
=
nil
local
mg3
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
@@ -93,18 +93,18 @@ function c68468459.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -93,18 +93,18 @@ function c68468459.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
c
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
c
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
c
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
end
end
c69181753.lua
View file @
d2f45aa4
...
@@ -26,7 +26,7 @@ function c69181753.hspop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -26,7 +26,7 @@ function c69181753.hspop(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
if
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
if
a
:
Is
RelateToBattle
()
and
a
:
Is
Attackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_REVERSE_DAMAGE
)
e1
:
SetCode
(
EFFECT_REVERSE_DAMAGE
)
...
...
c69811710.lua
View file @
d2f45aa4
...
@@ -32,6 +32,7 @@ function c69811710.tgfilter(c)
...
@@ -32,6 +32,7 @@ function c69811710.tgfilter(c)
end
end
function
c69811710
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c69811710
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c69811710
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c69811710
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
end
function
c69811710
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c69811710
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -62,6 +63,7 @@ function c69811710.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -62,6 +63,7 @@ function c69811710.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
46647145
,
0xfe
,
TYPES_TOKEN_MONSTER
,
0
,
0
,
1
,
RACE_MACHINE
,
ATTRIBUTE_DARK
,
POS_FACEUP_DEFENSE
,
tp
)
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
46647145
,
0xfe
,
TYPES_TOKEN_MONSTER
,
0
,
0
,
1
,
RACE_MACHINE
,
ATTRIBUTE_DARK
,
POS_FACEUP_DEFENSE
,
tp
)
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
46647145
,
0xfe
,
TYPES_TOKEN_MONSTER
,
0
,
0
,
1
,
RACE_MACHINE
,
ATTRIBUTE_DARK
,
POS_FACEUP_DEFENSE
,
1
-
tp
)
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
46647145
,
0xfe
,
TYPES_TOKEN_MONSTER
,
0
,
0
,
1
,
RACE_MACHINE
,
ATTRIBUTE_DARK
,
POS_FACEUP_DEFENSE
,
1
-
tp
)
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
end
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
end
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
2
,
0
,
0
)
end
end
...
...
c71143015.lua
View file @
d2f45aa4
...
@@ -23,9 +23,9 @@ end
...
@@ -23,9 +23,9 @@ end
function
c71143015
.
filter1
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
c71143015
.
filter1
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
if
not
(
c
:
IsType
(
TYPE_FUSION
)
and
(
aux
.
IsMaterialListCode
(
c
,
89631139
)
or
aux
.
IsMaterialListCode
(
c
,
23995346
))
and
(
not
f
or
f
(
c
))
if
not
(
c
:
IsType
(
TYPE_FUSION
)
and
(
aux
.
IsMaterialListCode
(
c
,
89631139
)
or
aux
.
IsMaterialListCode
(
c
,
23995346
))
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
))
then
return
false
end
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
))
then
return
false
end
aux
.
FCheckAdditional
=
c
.
ultimate_fusion_check
or
c71143015
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c
.
ultimate_fusion_check
or
c71143015
.
fcheck
local
res
=
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
local
res
=
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
return
res
end
end
function
c71143015
.
fcheck
(
tp
,
sg
,
fc
)
function
c71143015
.
fcheck
(
tp
,
sg
,
fc
)
...
@@ -74,8 +74,8 @@ function c71143015.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -74,8 +74,8 @@ function c71143015.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
aux
.
FCheckAdditional
=
tc
.
ultimate_fusion_check
or
c71143015
.
fcheck
aux
.
F
Goal
CheckAdditional
=
tc
.
ultimate_fusion_check
or
c71143015
.
fcheck
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
,
nil
,
chkf
)
ct
=
mat1
:
FilterCount
(
c71143015
.
desfilter
,
nil
)
ct
=
mat1
:
FilterCount
(
c71143015
.
desfilter
,
nil
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
...
@@ -91,7 +91,7 @@ function c71143015.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -91,7 +91,7 @@ function c71143015.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
)
spchk
=
1
spchk
=
1
else
else
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
ct
=
mat2
:
FilterCount
(
c71143015
.
desfilter
,
nil
)
ct
=
mat2
:
FilterCount
(
c71143015
.
desfilter
,
nil
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
...
@@ -100,7 +100,7 @@ function c71143015.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -100,7 +100,7 @@ function c71143015.activate(e,tp,eg,ep,ev,re,r,rp)
end
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
if
ct
>
0
and
spchk
>
0
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
71143015
,
0
))
then
if
ct
>
0
and
spchk
>
0
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
71143015
,
0
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
...
...
c75047173.lua
View file @
d2f45aa4
...
@@ -21,9 +21,9 @@ end
...
@@ -21,9 +21,9 @@ end
function
s
.
fsfilter2
(
c
,
e
,
tp
,
m
,
chkf
)
function
s
.
fsfilter2
(
c
,
e
,
tp
,
m
,
chkf
)
if
not
(
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListSetCard
(
c
,
0x8
)
if
not
(
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListSetCard
(
c
,
0x8
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
))
then
return
false
end
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
))
then
return
false
end
aux
.
FCheckAdditional
=
c
.
hero_fusion_check
or
s
.
fscheck
aux
.
F
Goal
CheckAdditional
=
c
.
hero_fusion_check
or
s
.
fscheck
local
res
=
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
,
true
)
local
res
=
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
,
true
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
res
return
res
end
end
function
s
.
fscheck
(
tp
,
sg
,
fc
)
function
s
.
fscheck
(
tp
,
sg
,
fc
)
...
@@ -48,9 +48,9 @@ function s.fsop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -48,9 +48,9 @@ function s.fsop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
aux
.
FCheckAdditional
=
tc
.
hero_fusion_check
or
s
.
fscheck
aux
.
F
Goal
CheckAdditional
=
tc
.
hero_fusion_check
or
s
.
fscheck
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
,
nil
,
chkf
,
true
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
,
nil
,
chkf
,
true
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
local
cf
=
mat
:
Filter
(
s
.
fscfilter
,
nil
)
local
cf
=
mat
:
Filter
(
s
.
fscfilter
,
nil
)
if
cf
:
GetCount
()
>
0
then
if
cf
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cf
)
Duel
.
ConfirmCards
(
1
-
tp
,
cf
)
...
...
c76647978.lua
View file @
d2f45aa4
...
@@ -43,7 +43,7 @@ end
...
@@ -43,7 +43,7 @@ end
function
c76647978
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c76647978
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c76647978
.
filter1
,
nil
,
e
)
aux
.
FCheckAdditional
=
c76647978
.
fcheck
aux
.
FCheckAdditional
=
c76647978
.
fcheck
aux
.
GCheckAdditional
=
c76647978
.
gcheck
aux
.
GCheckAdditional
=
c76647978
.
gcheck
local
res
=
Duel
.
IsExistingMatchingCard
(
c76647978
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c76647978
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
...
@@ -86,13 +86,13 @@ function c76647978.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -86,13 +86,13 @@ function c76647978.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c7864030.lua
View file @
d2f45aa4
...
@@ -45,9 +45,9 @@ function c7864030.target1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -45,9 +45,9 @@ function c7864030.target1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
end
function
c7864030
.
operation1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c7864030
.
operation1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsControler
(
tp
)
then
local
at
=
Duel
.
GetAttacker
()
local
at
=
Duel
.
GetAttacker
()
if
at
:
IsAttackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
and
not
tc
:
IsImmuneToEffect
(
e
)
then
if
at
:
Is
RelateToBattle
()
and
at
:
Is
Attackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
and
not
tc
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
at
,
tc
)
Duel
.
CalculateDamage
(
at
,
tc
)
end
end
end
end
...
@@ -57,9 +57,9 @@ function c7864030.condition2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -57,9 +57,9 @@ function c7864030.condition2(e,tp,eg,ep,ev,re,r,rp)
end
end
function
c7864030
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c7864030
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsControler
(
tp
)
then
local
at
=
Duel
.
GetAttacker
()
local
at
=
Duel
.
GetAttacker
()
if
at
:
IsAttackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
then
if
at
:
Is
RelateToBattle
()
and
at
:
Is
Attackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
at
,
c
)
Duel
.
CalculateDamage
(
at
,
c
)
end
end
end
end
...
...
c81096431.lua
View file @
d2f45aa4
--ドレイク・シャーク
--ドレイク・シャーク
local
s
,
id
,
o
=
GetID
()
local
s
,
id
,
o
=
GetID
()
function
s
.
initial_effect
(
c
)
function
s
.
initial_effect
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e0
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e0
:
SetCode
(
EVENT_ADJUST
)
e0
:
SetRange
(
0xff
)
e0
:
SetOperation
(
s
.
adjustop
)
c
:
RegisterEffect
(
e0
)
--spsummon
--spsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
...
@@ -18,7 +25,9 @@ function s.initial_effect(c)
...
@@ -18,7 +25,9 @@ function s.initial_effect(c)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetCode
(
id
)
e2
:
SetCode
(
id
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetValue
(
id
)
e2
:
SetRange
(
0xff
)
e2
:
SetTarget
(
s
.
sxyzfilter
)
e2
:
SetCountLimit
(
1
,
id
+
o
)
e2
:
SetCountLimit
(
1
,
id
+
o
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--material effect
--material effect
...
@@ -33,21 +42,79 @@ function s.initial_effect(c)
...
@@ -33,21 +42,79 @@ function s.initial_effect(c)
e3
:
SetTarget
(
s
.
xyztg
)
e3
:
SetTarget
(
s
.
xyztg
)
e3
:
SetOperation
(
s
.
xyzop
)
e3
:
SetOperation
(
s
.
xyzop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
if
not
s
.
global_check
then
end
s
.
global_check
=
true
function
s
.
sxyzfilter
(
e
,
c
)
return
c
:
IsAttribute
(
ATTRIBUTE_WATER
)
end
function
s
.
Drake_shark_f
(
function_f
,
int_lv
,
card_c
)
return
function
(
c
)
return
c
:
IsXyzLevel
(
card_c
,
int_lv
)
and
(
not
function_f
or
function_f
(
c
))
end
end
function
s
.
sxfilter
(
c
,
tp
,
xc
)
local
te
=
c
:
IsHasEffect
(
id
,
tp
)
if
te
then
local
etg
=
te
:
GetTarget
()
return
not
etg
or
etg
(
te
,
xc
)
end
return
false
end
function
s
.
sxvalue
(
c
,
tp
,
xc
)
local
te
=
c
:
IsHasEffect
(
id
,
tp
)
if
te
then
local
etg
=
te
:
GetTarget
()
if
not
etg
or
etg
(
te
,
xc
)
then
return
te
:
GetValue
()
end
end
end
function
s
.
Drake_shark_gf
(
int_ct
,
int_tp
,
xc
)
return
function
(
g
)
local
ct
=
g
:
GetCount
()
local
eg
=
g
:
Filter
(
s
.
sxfilter
,
nil
,
int_tp
,
xc
)
if
#
eg
>
0
then
ct
=
ct
+
eg
:
GetClassCount
(
s
.
sxvalue
,
int_tp
,
xc
)
end
local
tc
=
g
:
GetFirst
()
while
tc
do
local
te
=
tc
:
IsHasEffect
(
EFFECT_XYZ_LEVEL
,
int_tp
)
if
te
then
local
evf
=
te
:
GetValue
()
if
evf
then
local
ev
=
evf
(
te
,
tc
,
xc
)
local
lmct
=
(
ev
>>
12
)
&
0xf
if
lmct
>
0
and
lmct
>
g
:
GetCount
()
then
return
false
end
end
end
tc
=
g
:
GetNext
()
end
return
ct
>=
int_ct
end
end
function
s
.
xfilter
(
c
,
tp
)
return
c
:
IsHasEffect
(
id
,
tp
)
end
function
s
.
eftfilter
(
c
,
tp
)
local
te
=
c
:
IsHasEffect
(
id
,
tp
)
return
te
:
GetValue
()
end
function
s
.
gcheck
(
g
,
tp
)
return
g
:
GetClassCount
(
s
.
eftfilter
,
tp
)
==
g
:
GetCount
()
end
function
s
.
adjustop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetFlagEffect
(
0
,
81096431
)
==
0
then
Duel
.
RegisterFlagEffect
(
0
,
81096431
,
0
,
0
,
1
)
Drake_shark_AddXyzProcedure
=
aux
.
AddXyzProcedure
Drake_shark_AddXyzProcedure
=
aux
.
AddXyzProcedure
function
aux
.
AddXyzProcedure
(
card_c
,
function_f
,
int_lv
,
int_ct
,
function_alterf
,
int_dese
,
int_maxc
,
function_op
)
function
aux
.
AddXyzProcedure
(
card_c
,
function_f
,
int_lv
,
int_ct
,
function_alterf
,
int_dese
,
int_maxc
,
function_op
)
if
card_c
:
IsAttribute
(
ATTRIBUTE_WATER
)
and
int_ct
>=
3
then
if
int_ct
>=
3
then
if
function_alterf
then
if
function_alterf
then
Drake_shark_XyzLevelFreeOperationAlter
=
Auxiliary
.
XyzLevelFreeOperationAlter
Drake_shark_XyzLevelFreeOperationAlter
=
Auxiliary
.
XyzLevelFreeOperationAlter
function
Auxiliary
.
XyzLevelFreeOperationAlter
(
f
,
gf
,
minc
,
maxc
,
alterf
,
alterdesc
,
alterop
)
function
Auxiliary
.
XyzLevelFreeOperationAlter
(
f
,
gf
,
minc
,
maxc
,
alterf
,
alterdesc
,
alterop
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
,
og
,
min
,
max
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
,
og
,
min
,
max
)
if
og
and
not
min
then
if
og
and
not
min
then
if
og
:
GetCount
()
==
minc
and
og
:
IsExists
(
s
.
xfilter
,
1
,
nil
)
then
Auxiliary
.
Drake_Solve
(
tp
,
og
,
maxc
,
minc
)
local
ttc
=
og
:
Filter
(
s
.
xfilter
,
nil
):
GetFirst
()
local
tte
=
ttc
:
IsHasEffect
(
id
,
tp
)
tte
:
UseCountLimit
(
tp
)
end
local
sg
=
Group
.
CreateGroup
()
local
sg
=
Group
.
CreateGroup
()
local
tc
=
og
:
GetFirst
()
local
tc
=
og
:
GetFirst
()
while
tc
do
while
tc
do
...
@@ -60,11 +127,7 @@ function s.initial_effect(c)
...
@@ -60,11 +127,7 @@ function s.initial_effect(c)
Duel
.
Overlay
(
c
,
og
)
Duel
.
Overlay
(
c
,
og
)
else
else
local
mg
=
e
:
GetLabelObject
()
local
mg
=
e
:
GetLabelObject
()
if
mg
:
GetCount
()
==
minc
and
mg
:
IsExists
(
s
.
xfilter
,
1
,
nil
)
then
Auxiliary
.
Drake_Solve
(
tp
,
mg
,
maxc
,
minc
)
local
ttc
=
mg
:
Filter
(
s
.
xfilter
,
nil
):
GetFirst
()
local
tte
=
ttc
:
IsHasEffect
(
id
,
tp
)
tte
:
UseCountLimit
(
tp
)
end
if
e
:
GetLabel
()
==
1
then
if
e
:
GetLabel
()
==
1
then
local
mg2
=
mg
:
GetFirst
():
GetOverlayGroup
()
local
mg2
=
mg
:
GetFirst
():
GetOverlayGroup
()
if
mg2
:
GetCount
()
~=
0
then
if
mg2
:
GetCount
()
~=
0
then
...
@@ -86,18 +149,14 @@ function s.initial_effect(c)
...
@@ -86,18 +149,14 @@ function s.initial_effect(c)
end
end
end
end
end
end
aux
.
AddXyzProcedureLevelFree
(
card_c
,
s
.
f
(
function_f
,
int_lv
,
card_c
),
s
.
gf
(
int_ct
,
card_c
:
GetOwner
()),
int_ct
-
1
,
int_ct
,
function_alterf
,
int_dese
,
function_op
)
aux
.
AddXyzProcedureLevelFree
(
card_c
,
s
.
Drake_shark_f
(
function_f
,
int_lv
,
card_c
),
s
.
Drake_shark_gf
(
int_ct
,
card_c
:
GetOwner
(),
card_c
),
int_ct
-
2
,
int_ct
,
function_alterf
,
int_dese
,
function_op
)
Auxiliary
.
XyzLevelFreeOperationAlter
=
Drake_shark_XyzLevelFreeOperationAlter
Auxiliary
.
XyzLevelFreeOperationAlter
=
Drake_shark_XyzLevelFreeOperationAlter
else
else
Drake_shark_XyzLevelFreeOperation
=
Auxiliary
.
XyzLevelFreeOperation
Drake_shark_XyzLevelFreeOperation
=
Auxiliary
.
XyzLevelFreeOperation
function
Auxiliary
.
XyzLevelFreeOperation
(
f
,
gf
,
minct
,
maxct
)
function
Auxiliary
.
XyzLevelFreeOperation
(
f
,
gf
,
minct
,
maxct
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
,
og
,
min
,
max
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
,
og
,
min
,
max
)
if
og
and
not
min
then
if
og
and
not
min
then
if
og
:
GetCount
()
==
minct
and
og
:
IsExists
(
s
.
xfilter
,
1
,
nil
)
then
Auxiliary
.
Drake_Solve
(
tp
,
og
,
maxct
,
minct
)
local
ttc
=
og
:
Filter
(
s
.
xfilter
,
nil
):
GetFirst
()
local
tte
=
ttc
:
IsHasEffect
(
id
,
tp
)
tte
:
UseCountLimit
(
tp
)
end
local
sg
=
Group
.
CreateGroup
()
local
sg
=
Group
.
CreateGroup
()
local
tc
=
og
:
GetFirst
()
local
tc
=
og
:
GetFirst
()
while
tc
do
while
tc
do
...
@@ -110,11 +169,7 @@ function s.initial_effect(c)
...
@@ -110,11 +169,7 @@ function s.initial_effect(c)
Duel
.
Overlay
(
c
,
og
)
Duel
.
Overlay
(
c
,
og
)
else
else
local
mg
=
e
:
GetLabelObject
()
local
mg
=
e
:
GetLabelObject
()
if
mg
:
GetCount
()
==
minct
and
mg
:
IsExists
(
s
.
xfilter
,
1
,
nil
)
then
Auxiliary
.
Drake_Solve
(
tp
,
mg
,
maxct
,
minct
)
local
ttc
=
mg
:
Filter
(
s
.
xfilter
,
nil
):
GetFirst
()
local
tte
=
ttc
:
IsHasEffect
(
id
,
tp
)
tte
:
UseCountLimit
(
tp
)
end
if
e
:
GetLabel
()
==
1
then
if
e
:
GetLabel
()
==
1
then
local
mg2
=
mg
:
GetFirst
():
GetOverlayGroup
()
local
mg2
=
mg
:
GetFirst
():
GetOverlayGroup
()
if
mg2
:
GetCount
()
~=
0
then
if
mg2
:
GetCount
()
~=
0
then
...
@@ -136,7 +191,7 @@ function s.initial_effect(c)
...
@@ -136,7 +191,7 @@ function s.initial_effect(c)
end
end
end
end
end
end
aux
.
AddXyzProcedureLevelFree
(
card_c
,
s
.
f
(
function_f
,
int_lv
,
card_c
),
s
.
gf
(
int_ct
,
card_c
:
GetOwner
()),
int_ct
-
1
,
int_ct
)
aux
.
AddXyzProcedureLevelFree
(
card_c
,
s
.
Drake_shark_f
(
function_f
,
int_lv
,
card_c
),
s
.
Drake_shark_gf
(
int_ct
,
card_c
:
GetOwner
(),
card_c
),
int_ct
-
2
,
int_ct
)
Auxiliary
.
XyzLevelFreeOperation
=
Drake_shark_XyzLevelFreeOperation
Auxiliary
.
XyzLevelFreeOperation
=
Drake_shark_XyzLevelFreeOperation
end
end
else
else
...
@@ -147,20 +202,18 @@ function s.initial_effect(c)
...
@@ -147,20 +202,18 @@ function s.initial_effect(c)
end
end
end
end
end
end
local
rg
=
Duel
.
GetMatchingGroup
(
Card
.
IsType
,
tp
,
LOCATION_EXTRA
,
LOCATION_EXTRA
,
nil
,
TYPE_MONSTER
)
for
tc
in
aux
.
Next
(
rg
)
do
if
tc
.
initial_effect
then
local
Traitor_initial_effect
=
s
.
initial_effect
s
.
initial_effect
=
function
()
end
tc
:
ReplaceEffect
(
id
,
0
)
s
.
initial_effect
=
Traitor_initial_effect
tc
.
initial_effect
(
tc
)
end
end
end
end
end
e
:
Reset
()
function
s
.
f
(
function_f
,
int_lv
,
card_c
)
return
function
(
c
)
return
c
:
IsXyzLevel
(
card_c
,
int_lv
)
and
(
not
function_f
or
function_f
(
c
))
end
end
function
s
.
gf
(
int_ct
,
int_tp
)
return
function
(
g
)
return
g
:
GetCount
()
==
int_ct
or
g
:
GetCount
()
==
int_ct
-
1
and
g
:
IsExists
(
s
.
xfilter
,
1
,
nil
,
int_tp
)
end
end
function
s
.
xfilter
(
c
,
tp
)
return
c
:
IsHasEffect
(
id
,
tp
)
end
end
function
s
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
e
:
GetHandler
():
IsReason
(
REASON_DRAW
)
return
not
e
:
GetHandler
():
IsReason
(
REASON_DRAW
)
...
@@ -202,3 +255,30 @@ function s.xyzop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -202,3 +255,30 @@ function s.xyzop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Overlay
(
c
,
Group
.
FromCards
(
tc
))
Duel
.
Overlay
(
c
,
Group
.
FromCards
(
tc
))
end
end
end
end
function
Auxiliary
.
Drake_Solve
(
tp
,
g
,
maxct
,
minct
,
chkg
)
if
g
:
GetCount
()
<
maxct
and
g
:
GetCount
()
>=
minct
and
maxct
==
minct
+
2
then
local
et
=
maxct
-
g
:
GetCount
()
local
exg
=
g
:
Filter
(
Card
.
IsHasEffect
,
nil
,
81096431
,
tp
)
local
ext
=
exg
:
GetClassCount
(
s
.
eftfilter
,
tp
)
if
(
et
==
0
or
et
==
ext
)
and
#
exg
>
0
then
for
ttc
in
aux
.
Next
(
exg
)
do
local
tte
=
ttc
:
IsHasEffect
(
81096431
,
tp
)
if
tte
then
Duel
.
Hint
(
HINT_CARD
,
0
,
ttc
:
GetCode
())
tte
:
UseCountLimit
(
tp
)
end
end
elseif
#
exg
>
0
then
local
st
=
et
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RESOLVECARD
)
local
reg
=
exg
:
SelectSubGroup
(
tp
,
s
.
gcheck
,
false
,
st
,
st
,
tp
)
for
ttc
in
aux
.
Next
(
reg
)
do
local
tte
=
ttc
:
IsHasEffect
(
81096431
,
tp
)
if
tte
then
Duel
.
Hint
(
HINT_CARD
,
0
,
ttc
:
GetCode
())
tte
:
UseCountLimit
(
tp
)
end
end
end
end
end
c81269231.lua
View file @
d2f45aa4
...
@@ -31,8 +31,8 @@ function c81269231.valcheck(e,c)
...
@@ -31,8 +31,8 @@ function c81269231.valcheck(e,c)
local
flag
=
0
local
flag
=
0
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
while
tc
do
while
tc
do
if
tc
:
IsSetCard
(
0x7
)
then
flag
=
bit
.
bor
(
flag
,
0x1
)
end
if
tc
:
IsSetCard
(
0x7
)
and
tc
:
IsType
(
TYPE_MONSTER
)
then
flag
=
bit
.
bor
(
flag
,
0x1
)
end
if
tc
:
IsSetCard
(
0x51
)
then
flag
=
bit
.
bor
(
flag
,
0x2
)
end
if
tc
:
IsSetCard
(
0x51
)
and
tc
:
IsType
(
TYPE_MONSTER
)
then
flag
=
bit
.
bor
(
flag
,
0x2
)
end
tc
=
g
:
GetNext
()
tc
=
g
:
GetNext
()
end
end
e
:
SetLabel
(
flag
)
e
:
SetLabel
(
flag
)
...
...
c8170654.lua
View file @
d2f45aa4
...
@@ -36,8 +36,9 @@ end
...
@@ -36,8 +36,9 @@ end
function
s
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
~=
0
and
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
~=
0
Duel
.
CalculateDamage
(
a
,
c
)
and
a
:
IsRelateToBattle
()
and
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
a
,
c
)
end
end
end
end
function
s
.
atkfilter
(
c
,
ac
)
function
s
.
atkfilter
(
c
,
ac
)
...
...
c85123771.lua
View file @
d2f45aa4
...
@@ -19,7 +19,7 @@ function s.initial_effect(c)
...
@@ -19,7 +19,7 @@ function s.initial_effect(c)
e2
:
SetCategory
(
CATEGORY_TOHAND
)
e2
:
SetCategory
(
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCountLimit
(
1
,
id
+
o
)
e2
:
SetCountLimit
(
1
,
id
+
o
)
e2
:
SetCondition
(
s
.
thcon
)
e2
:
SetCondition
(
s
.
thcon
)
...
...
c85252081.lua
View file @
d2f45aa4
...
@@ -69,7 +69,7 @@ function c85252081.desop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -69,7 +69,7 @@ function c85252081.desop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
c85252081
.
mtfilter
(
c
,
e
)
function
c85252081
.
mtfilter
(
c
,
e
)
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
c
:
IsFaceup
()
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
return
c
:
IsFaceupEx
()
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
end
end
function
c85252081
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c85252081
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
...
...
c85888377.lua
View file @
d2f45aa4
...
@@ -31,7 +31,7 @@ function c85888377.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -31,7 +31,7 @@ function c85888377.activate(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
~=
0
then
if
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
~=
0
then
local
ct
=
Duel
.
GetMatchingGroupCount
(
c85888377
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
c
)
local
ct
=
Duel
.
GetMatchingGroupCount
(
c85888377
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
c
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NegateAnyFilter
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NegateAnyFilter
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
if
ct
>
0
and
g
:
GetCount
()
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
85888377
,
0
))
then
if
ct
>
0
and
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
85888377
,
0
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISABLE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISABLE
)
local
sg
=
g
:
Select
(
tp
,
1
,
ct
,
nil
)
local
sg
=
g
:
Select
(
tp
,
1
,
ct
,
nil
)
...
...
c86049351.lua
View file @
d2f45aa4
...
@@ -48,7 +48,7 @@ function c86049351.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -48,7 +48,7 @@ function c86049351.activate(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
sc
:
RegisterEffect
(
e1
)
sc
:
RegisterEffect
(
e1
)
if
bc
==
Duel
.
GetAttackTarget
()
then
bc
,
sc
=
sc
,
bc
end
if
bc
==
Duel
.
GetAttackTarget
()
then
bc
,
sc
=
sc
,
bc
end
if
bc
:
IsAttackable
()
and
not
bc
:
IsImmuneToEffect
(
e
)
and
not
sc
:
IsImmuneToEffect
(
e
)
then
if
bc
:
Is
RelateToBattle
()
and
bc
:
Is
Attackable
()
and
not
bc
:
IsImmuneToEffect
(
e
)
and
not
sc
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
bc
,
sc
)
Duel
.
CalculateDamage
(
bc
,
sc
)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Damage
(
tp
,
atk
,
REASON_EFFECT
)
Duel
.
Damage
(
tp
,
atk
,
REASON_EFFECT
)
...
...
c8687195.lua
View file @
d2f45aa4
...
@@ -23,7 +23,7 @@ end
...
@@ -23,7 +23,7 @@ end
function
c8687195
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c8687195
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
if
tc
and
tc
:
IsRelateToEffect
(
e
)
and
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
if
a
:
IsRelateToBattle
()
and
tc
and
tc
:
IsRelateToEffect
(
e
)
and
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
a
,
tc
)
Duel
.
CalculateDamage
(
a
,
tc
)
end
end
end
end
c86999951.lua
View file @
d2f45aa4
...
@@ -32,8 +32,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -32,8 +32,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
s
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanTurnSet
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanTurnSet
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
and
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_DEFENSE
)
>
0
then
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_DEFENSE
)
local
g1
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
local
g1
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
if
g1
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
1
))
then
if
g1
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
1
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
...
...
c87532344.lua
View file @
d2f45aa4
...
@@ -131,10 +131,10 @@ end
...
@@ -131,10 +131,10 @@ end
function
s
.
futg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
futg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
Card
.
IsOnField
,
nil
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
s
.
filter3
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
s
.
filter0
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
s
.
filter0
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
aux
.
FCheckAdditional
=
s
.
fcheck
aux
.
F
Goal
CheckAdditional
=
s
.
fcheck
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
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
)
...
@@ -145,7 +145,7 @@ function s.futg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -145,7 +145,7 @@ function s.futg(e,tp,eg,ep,ev,re,r,rp,chk)
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
end
end
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
return
Duel
.
GetFlagEffect
(
tp
,
id
+
o
)
==
0
and
res
return
Duel
.
GetFlagEffect
(
tp
,
id
+
o
)
==
0
and
res
end
end
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
...
@@ -157,7 +157,7 @@ function s.fuop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -157,7 +157,7 @@ function s.fuop(e,tp,eg,ep,ev,re,r,rp)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
s
.
filter3
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
s
.
filter3
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
s
.
filter1
,
tp
,
0
,
LOCATION_MZONE
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
s
.
filter1
,
tp
,
0
,
LOCATION_MZONE
,
nil
,
e
)
mg1
:
Merge
(
mg2
)
mg1
:
Merge
(
mg2
)
aux
.
FCheckAdditional
=
s
.
fcheck
aux
.
F
Goal
CheckAdditional
=
s
.
fcheck
local
sg1
=
Duel
.
GetMatchingGroup
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
sg1
=
Duel
.
GetMatchingGroup
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg3
=
nil
local
mg3
=
nil
local
sg2
=
nil
local
sg2
=
nil
...
@@ -174,18 +174,18 @@ function s.fuop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -174,18 +174,18 @@ function s.fuop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
end
end
c87931906.lua
View file @
d2f45aa4
...
@@ -32,7 +32,7 @@ end
...
@@ -32,7 +32,7 @@ end
function
c87931906
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c87931906
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
c87931906
.
filter1
,
nil
,
e
)
if
Duel
.
IsExistingMatchingCard
(
c87931906
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
then
if
Duel
.
IsExistingMatchingCard
(
c87931906
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
then
local
mg2
=
Duel
.
GetMatchingGroup
(
c87931906
.
filter0
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
,
0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c87931906
.
filter0
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
,
0
,
nil
)
if
mg2
:
GetCount
()
>
0
then
if
mg2
:
GetCount
()
>
0
then
...
@@ -91,7 +91,7 @@ function c87931906.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -91,7 +91,7 @@ function c87931906.activate(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
mg1
:
RemoveCard
(
tc
)
mg1
:
RemoveCard
(
tc
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
exmat
then
if
exmat
then
aux
.
FCheckAdditional
=
c87931906
.
fcheck
aux
.
FCheckAdditional
=
c87931906
.
fcheck
aux
.
GCheckAdditional
=
c87931906
.
gcheck
aux
.
GCheckAdditional
=
c87931906
.
gcheck
...
@@ -103,7 +103,7 @@ function c87931906.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -103,7 +103,7 @@ function c87931906.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
c88696724.lua
View file @
d2f45aa4
...
@@ -42,20 +42,20 @@ function c88696724.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -42,20 +42,20 @@ function c88696724.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
e
:
GetLabel
()
~=
1
then
return
false
end
if
e
:
GetLabel
()
~=
1
then
return
false
end
e
:
SetLabel
(
0
)
e
:
SetLabel
(
0
)
local
mg
=
Duel
.
GetReleaseGroup
(
tp
):
Filter
(
c88696724
.
mfilter
,
nil
,
tp
)
local
mg
=
Duel
.
GetReleaseGroup
(
tp
):
Filter
(
c88696724
.
mfilter
,
nil
,
tp
)
aux
.
FCheckAdditional
=
c88696724
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c88696724
.
fcheck
if
c59160188
then
c59160188
.
re_activated
=
true
end
if
c59160188
then
c59160188
.
re_activated
=
true
end
local
res
=
Duel
.
IsExistingMatchingCard
(
c88696724
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c88696724
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
if
c59160188
then
c59160188
.
re_activated
=
false
end
if
c59160188
then
c59160188
.
re_activated
=
false
end
return
res
return
res
end
end
local
mg
=
Duel
.
GetReleaseGroup
(
tp
):
Filter
(
c88696724
.
mfilter
,
nil
,
tp
)
local
mg
=
Duel
.
GetReleaseGroup
(
tp
):
Filter
(
c88696724
.
mfilter
,
nil
,
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
aux
.
FCheckAdditional
=
c88696724
.
fcheck
aux
.
F
Goal
CheckAdditional
=
c88696724
.
fcheck
if
c59160188
then
c59160188
.
re_activated
=
true
end
if
c59160188
then
c59160188
.
re_activated
=
true
end
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c88696724
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c88696724
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
mg
,
c
,
chkf
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
g
:
GetFirst
(),
mg
,
c
,
chkf
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
g
:
GetFirst
(),
mg
,
c
,
chkf
)
aux
.
FCheckAdditional
=
nil
aux
.
F
Goal
CheckAdditional
=
nil
if
c59160188
then
c59160188
.
re_activated
=
false
end
if
c59160188
then
c59160188
.
re_activated
=
false
end
aux
.
UseExtraReleaseCount
(
mat
,
tp
)
aux
.
UseExtraReleaseCount
(
mat
,
tp
)
Duel
.
Release
(
mat
,
REASON_COST
)
Duel
.
Release
(
mat
,
REASON_COST
)
...
...
c91499077.lua
View file @
d2f45aa4
...
@@ -61,7 +61,7 @@ function c91499077.cbop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -61,7 +61,7 @@ function c91499077.cbop(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
and
Duel
.
ChangePosition
(
c
,
POS_FACEUP_DEFENSE
)
~=
0
then
if
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
and
Duel
.
ChangePosition
(
c
,
POS_FACEUP_DEFENSE
)
~=
0
then
local
at
=
Duel
.
GetAttacker
()
local
at
=
Duel
.
GetAttacker
()
if
at
:
IsAttackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
and
not
c
:
IsImmuneToEffect
(
e
)
then
if
c
:
IsControler
(
tp
)
and
at
:
IsRelateToBattle
()
and
at
:
IsAttackable
()
and
not
at
:
IsImmuneToEffect
(
e
)
and
not
c
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
at
,
c
)
Duel
.
CalculateDamage
(
at
,
c
)
end
end
end
end
...
...
c91800273.lua
View file @
d2f45aa4
...
@@ -8,6 +8,7 @@ function c91800273.initial_effect(c)
...
@@ -8,6 +8,7 @@ function c91800273.initial_effect(c)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCondition
(
c91800273
.
redcon
)
e1
:
SetCondition
(
c91800273
.
redcon
)
e1
:
SetCost
(
c91800273
.
redcost
)
e1
:
SetCost
(
c91800273
.
redcost
)
e1
:
SetTarget
(
c91800273
.
redtg
)
e1
:
SetOperation
(
c91800273
.
redop
)
e1
:
SetOperation
(
c91800273
.
redop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
...
@@ -18,6 +19,9 @@ function c91800273.redcost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -18,6 +19,9 @@ function c91800273.redcost(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
c91800273
.
redtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetFlagEffect
(
tp
,
91800273
)
==
0
end
end
function
c91800273
.
redop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c91800273
.
redop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
...
@@ -27,4 +31,5 @@ function c91800273.redop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -27,4 +31,5 @@ function c91800273.redop(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetValue
(
LOCATION_REMOVED
)
e1
:
SetValue
(
LOCATION_REMOVED
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
,
2
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
,
2
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterFlagEffect
(
tp
,
91800273
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
end
c93504463.lua
View file @
d2f45aa4
...
@@ -30,7 +30,7 @@ function c93504463.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -30,7 +30,7 @@ function c93504463.activate(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
if
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
if
a
:
Is
RelateToBattle
()
and
a
:
Is
Attackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
a
,
tc
)
Duel
.
CalculateDamage
(
a
,
tc
)
end
end
end
end
...
...
c93860227.lua
View file @
d2f45aa4
...
@@ -35,7 +35,7 @@ function s.ffilter1(c,fc,sub,mg,sg)
...
@@ -35,7 +35,7 @@ function s.ffilter1(c,fc,sub,mg,sg)
return
c
:
GetEquipGroup
():
IsExists
(
s
.
eqilter
,
1
,
nil
)
return
c
:
GetEquipGroup
():
IsExists
(
s
.
eqilter
,
1
,
nil
)
end
end
function
s
.
ffilter2
(
c
,
fc
,
sub
,
mg
,
sg
)
function
s
.
ffilter2
(
c
,
fc
,
sub
,
mg
,
sg
)
return
c
:
GetOriginalType
()
&
TYPE_MONSTER
~=
0
and
c
:
GetOriginalRace
()
&
RACE_FIEND
~=
0
return
c
:
GetOriginalType
()
&
TYPE_MONSTER
~=
0
and
c
:
IsRace
(
RACE_FIEND
)
end
end
function
s
.
tgfilter
(
c
)
function
s
.
tgfilter
(
c
)
return
c
:
IsPreviousLocation
(
LOCATION_HAND
)
and
c
:
IsType
(
TYPE_MONSTER
)
return
c
:
IsPreviousLocation
(
LOCATION_HAND
)
and
c
:
IsType
(
TYPE_MONSTER
)
...
...
c9396662.lua
View file @
d2f45aa4
...
@@ -29,7 +29,7 @@ function s.rfilter(c,tp)
...
@@ -29,7 +29,7 @@ function s.rfilter(c,tp)
end
end
function
s
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
s
.
rfilter
,
1
,
c
,
1
,
tp
)
end
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
s
.
rfilter
,
1
,
c
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
s
.
rfilter
,
1
,
1
,
c
,
tp
)
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
s
.
rfilter
,
1
,
1
,
c
,
tp
)
Duel
.
Release
(
g
,
REASON_COST
)
Duel
.
Release
(
g
,
REASON_COST
)
...
...
c96008713.lua
View file @
d2f45aa4
...
@@ -29,7 +29,7 @@ function c96008713.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -29,7 +29,7 @@ function c96008713.activate(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
Duel
.
GetControl
(
tc
,
tp
,
PHASE_BATTLE
,
1
)
~=
0
then
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
Duel
.
GetControl
(
tc
,
tp
,
PHASE_BATTLE
,
1
)
~=
0
then
if
a
:
IsAttackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
if
a
:
Is
RelateToBattle
()
and
a
:
Is
Attackable
()
and
not
a
:
IsImmuneToEffect
(
e
)
then
Duel
.
CalculateDamage
(
a
,
tc
)
Duel
.
CalculateDamage
(
a
,
tc
)
end
end
end
end
...
...
c97223101.lua
View file @
d2f45aa4
...
@@ -3,12 +3,12 @@ local s,id,o=GetID()
...
@@ -3,12 +3,12 @@ local s,id,o=GetID()
function
s
.
initial_effect
(
c
)
function
s
.
initial_effect
(
c
)
c
:
EnableCounterPermit
(
0x6c
)
c
:
EnableCounterPermit
(
0x6c
)
c
:
SetCounterLimit
(
0x6c
,
10
)
c
:
SetCounterLimit
(
0x6c
,
10
)
--
--
activate
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--
--
add counter
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e2
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e2
:
SetCategory
(
CATEGORY_COUNTER
)
e2
:
SetCategory
(
CATEGORY_COUNTER
)
...
@@ -20,7 +20,7 @@ function s.initial_effect(c)
...
@@ -20,7 +20,7 @@ function s.initial_effect(c)
e2
:
SetTarget
(
s
.
cttg
)
e2
:
SetTarget
(
s
.
cttg
)
e2
:
SetOperation
(
s
.
ctop
)
e2
:
SetOperation
(
s
.
ctop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--
--
atk up
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
...
@@ -28,7 +28,7 @@ function s.initial_effect(c)
...
@@ -28,7 +28,7 @@ function s.initial_effect(c)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e3
:
SetValue
(
s
.
val
)
e3
:
SetValue
(
s
.
val
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
--
--
set
local
e4
=
Effect
.
CreateEffect
(
c
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e4
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e4
:
SetCategory
(
CATEGORY_TOHAND
)
e4
:
SetCategory
(
CATEGORY_TOHAND
)
...
@@ -58,8 +58,8 @@ end
...
@@ -58,8 +58,8 @@ end
function
s
.
val
(
e
,
c
)
function
s
.
val
(
e
,
c
)
return
e
:
GetHandler
():
GetCounter
(
0x6c
)
*
100
return
e
:
GetHandler
():
GetCounter
(
0x6c
)
*
100
end
end
function
s
.
filter
(
c
)
function
s
.
filter
(
c
,
ignore
)
return
c
:
IsType
(
TYPE_TRAP
)
and
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsSSetable
()
return
c
:
IsType
(
TYPE_TRAP
)
and
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsSSetable
(
ignore
)
and
(
c
:
GetOriginalLevel
()
>
0
and
(
c
:
GetOriginalLevel
()
>
0
or
bit
.
band
(
c
:
GetOriginalRace
(),
0x3fffffff
)
~=
0
or
bit
.
band
(
c
:
GetOriginalRace
(),
0x3fffffff
)
~=
0
or
bit
.
band
(
c
:
GetOriginalAttribute
(),
0x7f
)
~=
0
or
bit
.
band
(
c
:
GetOriginalAttribute
(),
0x7f
)
~=
0
...
@@ -68,7 +68,9 @@ function s.filter(c)
...
@@ -68,7 +68,9 @@ function s.filter(c)
end
end
function
s
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
eg
:
IsContains
(
c
)
and
c
:
GetCounter
(
0x6c
)
==
10
and
c
:
IsAbleToHand
()
and
Duel
.
IsExistingMatchingCard
(
s
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
eg
:
IsContains
(
c
)
and
c
:
GetCounter
(
0x6c
)
==
10
and
c
:
IsAbleToHand
()
and
Duel
.
GetSZoneCount
(
tp
,
c
)
>
0
and
Duel
.
IsExistingMatchingCard
(
s
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
true
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
c
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
c
,
1
,
0
,
0
)
end
end
function
s
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -76,7 +78,7 @@ function s.setop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -76,7 +78,7 @@ function s.setop(e,tp,eg,ep,ev,re,r,rp)
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SendtoHand
(
c
,
nil
,
REASON_EFFECT
)
~=
0
and
c
:
IsLocation
(
LOCATION_HAND
)
then
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SendtoHand
(
c
,
nil
,
REASON_EFFECT
)
~=
0
and
c
:
IsLocation
(
LOCATION_HAND
)
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
false
)
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
tc
and
Duel
.
SSet
(
tp
,
tc
)
~=
0
then
if
tc
and
Duel
.
SSet
(
tp
,
tc
)
~=
0
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
...
...
c99426088.lua
View file @
d2f45aa4
...
@@ -40,7 +40,7 @@ end
...
@@ -40,7 +40,7 @@ end
function
c99426088
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c99426088
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
fmg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
fmg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
c99426088
.
ffilter1
,
nil
,
e
)
if
c99426088
.
excon
(
tp
)
then
if
c99426088
.
excon
(
tp
)
then
local
fmg2
=
Duel
.
GetMatchingGroup
(
c99426088
.
fexfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
fmg2
=
Duel
.
GetMatchingGroup
(
c99426088
.
fexfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
fmg2
:
GetCount
()
>
0
then
if
fmg2
:
GetCount
()
>
0
then
...
@@ -135,7 +135,7 @@ function c99426088.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -135,7 +135,7 @@ function c99426088.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc
=
sg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
local
tc
=
sg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
fmg1
:
RemoveCard
(
tc
)
fmg1
:
RemoveCard
(
tc
)
if
fsg1
:
IsContains
(
tc
)
and
(
fsg2
==
nil
or
not
fsg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
fsg1
:
IsContains
(
tc
)
and
(
fsg2
==
nil
or
not
fsg2
:
IsContains
(
tc
)
or
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
exmat
then
if
exmat
then
aux
.
FCheckAdditional
=
c99426088
.
frcheck
aux
.
FCheckAdditional
=
c99426088
.
frcheck
aux
.
GCheckAdditional
=
c99426088
.
gcheck
aux
.
GCheckAdditional
=
c99426088
.
gcheck
...
@@ -147,7 +147,7 @@ function c99426088.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -147,7 +147,7 @@ function c99426088.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
fmg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
fmg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
procedure.lua
View file @
d2f45aa4
...
@@ -1387,11 +1387,11 @@ end
...
@@ -1387,11 +1387,11 @@ end
---@param cc integer
---@param cc integer
---@param insf boolean
---@param insf boolean
function
Auxiliary
.
AddFusionProcFunRep
(
c
,
f
,
cc
,
insf
)
function
Auxiliary
.
AddFusionProcFunRep
(
c
,
f
,
cc
,
insf
)
local
fun
=
{}
Auxiliary
.
AddFusionProcUltimate
(
c
,
false
,
insf
,{
for
i
=
1
,
cc
do
min
=
cc
,
fun
[
i
]
=
f
max
=
cc
,
end
f
=
f
Auxiliary
.
AddFusionProcMix
(
c
,
false
,
insf
,
table.unpack
(
fun
)
)
}
)
end
end
---Fusion monster, condition * minc to maxc
---Fusion monster, condition * minc to maxc
---@param c Card
---@param c Card
...
@@ -1409,11 +1409,11 @@ end
...
@@ -1409,11 +1409,11 @@ end
---@param cc integer
---@param cc integer
---@param insf boolean
---@param insf boolean
function
Auxiliary
.
AddFusionProcFunFun
(
c
,
f1
,
f2
,
cc
,
insf
)
function
Auxiliary
.
AddFusionProcFunFun
(
c
,
f1
,
f2
,
cc
,
insf
)
local
fun
=
{}
Auxiliary
.
AddFusionProcUltimate
(
c
,
false
,
insf
,
f1
,{
for
i
=
1
,
cc
do
min
=
cc
,
fun
[
i
]
=
f2
max
=
cc
,
end
f
=
f2
Auxiliary
.
AddFusionProcMix
(
c
,
false
,
insf
,
f1
,
table.unpack
(
fun
)
)
}
)
end
end
--Fusion monster, condition1 + condition2 * minc to maxc
--Fusion monster, condition1 + condition2 * minc to maxc
function
Auxiliary
.
AddFusionProcFunFunRep
(
c
,
f1
,
f2
,
minc
,
maxc
,
insf
)
function
Auxiliary
.
AddFusionProcFunFunRep
(
c
,
f1
,
f2
,
minc
,
maxc
,
insf
)
...
@@ -2251,7 +2251,7 @@ function Auxiliary.LExtraFilter(c,f,lc,tp)
...
@@ -2251,7 +2251,7 @@ function Auxiliary.LExtraFilter(c,f,lc,tp)
return
false
return
false
end
end
function
Auxiliary
.
GetLinkCount
(
c
)
function
Auxiliary
.
GetLinkCount
(
c
)
if
c
:
IsType
(
TYPE_LINK
)
and
c
:
GetLink
()
>
1
then
if
c
:
Is
Link
Type
(
TYPE_LINK
)
and
c
:
GetLink
()
>
1
then
return
1
+
0x10000
*
c
:
GetLink
()
return
1
+
0x10000
*
c
:
GetLink
()
else
return
1
end
else
return
1
end
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