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
Reinen
ygopro-scripts
Commits
4475ebc1
Commit
4475ebc1
authored
Sep 05, 2017
by
mercury233
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
338a9804
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
182 additions
and
95 deletions
+182
-95
c33541430.lua
c33541430.lua
+41
-23
c55863245.lua
c55863245.lua
+14
-12
c57261568.lua
c57261568.lua
+41
-23
c64910482.lua
c64910482.lua
+45
-14
c89818984.lua
c89818984.lua
+41
-23
No files found.
c33541430.lua
View file @
4475ebc1
...
...
@@ -75,33 +75,51 @@ function c33541430.cardiansynlevel(c)
return
2
end
function
c33541430
.
synfilter
(
c
,
syncard
,
tuner
,
f
)
return
c
:
IsFaceup
()
and
c
:
Is
NotTuner
()
and
c
:
Is
CanBeSynchroMaterial
(
syncard
,
tuner
)
and
(
f
==
nil
or
f
(
c
))
return
c
:
IsFaceup
()
and
c
:
IsCanBeSynchroMaterial
(
syncard
,
tuner
)
and
(
f
==
nil
or
f
(
c
))
end
function
c33541430
.
syntg
(
e
,
syncard
,
f
,
minc
,
maxc
)
function
c33541430
.
syncheck
(
c
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
g
:
AddCard
(
c
)
local
ct
=
g
:
GetCount
()
local
res
=
c33541430
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
ct
)
or
(
ct
<
maxc
and
mg
:
IsExists
(
c33541430
.
syncheck
,
1
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
))
g
:
RemoveCard
(
c
)
return
res
end
function
c33541430
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
ct
)
return
ct
>=
minc
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
g
,
syncard
)
>
0
and
(
g
:
CheckWithSumEqual
(
Card
.
GetSynchroLevel
,
lv
,
ct
,
ct
,
syncard
)
or
g
:
CheckWithSumEqual
(
c33541430
.
cardiansynlevel
,
lv
,
ct
,
ct
,
syncard
))
end
function
c33541430
.
syntg
(
e
,
syncard
,
f
,
min
,
max
)
local
minc
=
min
+
1
local
maxc
=
max
+
1
local
c
=
e
:
GetHandler
()
local
lv
=
syncard
:
GetLevel
()
-
c
:
GetLevel
()
local
lv2
=
syncard
:
GetLevel
()
-
c33541430
.
cardiansynlevel
(
c
)
if
lv
<=
0
and
lv2
<=
0
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c33541430
.
synfilter
,
syncard
:
GetControler
(),
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
local
res
=
g
:
CheckWithSumEqual
(
Card
.
GetSynchroLevel
,
lv
,
minc
,
maxc
,
syncard
)
local
res2
=
g
:
CheckWithSumEqual
(
c33541430
.
cardiansynlevel
,
lv2
,
minc
,
maxc
)
return
res
or
res2
local
tp
=
syncard
:
GetControler
()
local
lv
=
syncard
:
GetLevel
()
if
lv
<=
c
:
GetLevel
()
and
lv
<=
c33541430
.
cardiansynlevel
(
c
)
then
return
false
end
local
g
=
Group
.
FromCards
(
c
)
local
mg
=
Duel
.
GetMatchingGroup
(
c33541430
.
synfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
return
mg
:
IsExists
(
c33541430
.
syncheck
,
1
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
end
function
c33541430
.
synop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
syncard
,
f
,
minc
,
maxc
)
function
c33541430
.
synop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
syncard
,
f
,
min
,
max
)
local
minc
=
min
+
1
local
maxc
=
max
+
1
local
c
=
e
:
GetHandler
()
local
lv
=
syncard
:
GetLevel
()
-
c
:
GetLevel
()
local
lv2
=
syncard
:
GetLevel
()
-
c33541430
.
cardiansynlevel
(
c
)
local
g
=
Duel
.
GetMatchingGroup
(
c33541430
.
synfilter
,
syncard
:
GetControler
()
,
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
local
res
=
g
:
CheckWithSumEqual
(
Card
.
GetSynchroLevel
,
lv
,
minc
,
maxc
,
syncard
)
local
res2
=
g
:
CheckWithSumEqual
(
c33541430
.
cardiansynlevel
,
lv2
,
minc
,
maxc
)
local
sg
=
nil
if
(
res2
and
res
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
33541430
,
2
)))
or
(
res2
and
not
res
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SMATERIAL
)
sg
=
g
:
SelectWithSumEqual
(
tp
,
c33541430
.
cardiansynlevel
,
lv2
,
minc
,
maxc
)
else
local
lv
=
syncard
:
GetLevel
()
local
g
=
Group
.
FromCards
(
c
)
local
mg
=
Duel
.
GetMatchingGroup
(
c33541430
.
synfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
for
i
=
1
,
maxc
do
local
cg
=
mg
:
Filter
(
c33541430
.
syncheck
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
if
cg
:
GetCount
()
==
0
then
break
end
local
minct
=
1
if
c33541430
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
i
)
then
if
not
Duel
.
SelectYesNo
(
tp
,
210
)
then
break
end
minct
=
0
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SMATERIAL
)
sg
=
g
:
SelectWithSumEqual
(
tp
,
Card
.
GetSynchroLevel
,
lv
,
minc
,
maxc
,
syncard
)
local
sg
=
cg
:
Select
(
tp
,
minct
,
1
,
nil
)
if
sg
:
GetCount
()
==
0
then
break
end
g
:
Merge
(
sg
)
end
Duel
.
SetSynchroMaterial
(
s
g
)
Duel
.
SetSynchroMaterial
(
g
)
end
c55863245.lua
View file @
4475ebc1
...
...
@@ -29,20 +29,22 @@ function c55863245.initial_effect(c)
e3
:
SetCode
(
EFFECT_HAND_SYNCHRO
)
c
:
RegisterEffect
(
e3
)
end
function
c55863245
.
synfilter
1
(
c
,
syncard
,
tuner
,
f
)
function
c55863245
.
synfilter
(
c
,
syncard
,
tuner
,
f
)
return
(
c
:
IsFaceup
()
or
c
:
IsLocation
(
LOCATION_HAND
))
and
c
:
IsCanBeSynchroMaterial
(
syncard
,
tuner
)
and
(
f
==
nil
or
f
(
c
))
end
function
c55863245
.
syncheck
(
c
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
g
:
AddCard
(
c
)
local
ct
=
g
:
GetCount
()
local
res
=
(
ct
<
maxc
and
mg
:
IsExists
(
c55863245
.
syncheck
,
1
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
)
or
(
ct
>=
minc
and
c55863245
.
syngoal
(
g
,
tp
,
lv
,
syncard
))
local
res
=
c55863245
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
ct
)
or
(
ct
<
maxc
and
mg
:
IsExists
(
c55863245
.
syncheck
,
1
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
))
g
:
RemoveCard
(
c
)
return
res
end
function
c55863245
.
syngoal
(
g
,
tp
,
lv
,
syncard
)
local
ct
=
g
:
GetCount
()
return
g
:
CheckWithSumEqual
(
Card
.
GetSynchroLevel
,
lv
,
ct
,
ct
,
syncard
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
g
,
syncard
)
>
0
and
g
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_HAND
)
<=
1
function
c55863245
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
ct
)
return
ct
>=
minc
and
g
:
CheckWithSumEqual
(
Card
.
GetSynchroLevel
,
lv
,
ct
,
ct
,
syncard
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
g
,
syncard
)
>
0
and
g
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_HAND
)
<=
1
end
function
c55863245
.
syncon
(
e
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_SYNCHRO
)
...
...
@@ -53,9 +55,9 @@ function c55863245.syntg(e,syncard,f,min,max)
local
c
=
e
:
GetHandler
()
local
tp
=
syncard
:
GetControler
()
local
lv
=
syncard
:
GetLevel
()
if
lv
<=
0
then
return
false
end
local
g
=
Group
.
FromCards
(
e
:
GetHandler
()
)
local
mg
=
Duel
.
GetMatchingGroup
(
c55863245
.
synfilter
1
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
if
lv
<=
c
:
GetLevel
()
then
return
false
end
local
g
=
Group
.
FromCards
(
c
)
local
mg
=
Duel
.
GetMatchingGroup
(
c55863245
.
synfilter
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
return
mg
:
IsExists
(
c55863245
.
syncheck
,
1
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
end
function
c55863245
.
synop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
syncard
,
f
,
min
,
max
)
...
...
@@ -63,13 +65,13 @@ function c55863245.synop(e,tp,eg,ep,ev,re,r,rp,syncard,f,min,max)
local
maxc
=
max
+
1
local
c
=
e
:
GetHandler
()
local
lv
=
syncard
:
GetLevel
()
local
g
=
Group
.
FromCards
(
e
:
GetHandler
()
)
local
mg
=
Duel
.
GetMatchingGroup
(
c55863245
.
synfilter
1
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
local
g
=
Group
.
FromCards
(
c
)
local
mg
=
Duel
.
GetMatchingGroup
(
c55863245
.
synfilter
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
for
i
=
1
,
maxc
do
local
cg
=
mg
:
Filter
(
c55863245
.
syncheck
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
if
cg
:
GetCount
()
==
0
then
break
end
local
minct
=
1
if
c55863245
.
syngoal
(
g
,
tp
,
lv
,
syncard
)
then
if
c55863245
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
i
)
then
if
not
Duel
.
SelectYesNo
(
tp
,
210
)
then
break
end
minct
=
0
end
...
...
c57261568.lua
View file @
4475ebc1
...
...
@@ -79,33 +79,51 @@ function c57261568.cardiansynlevel(c)
return
2
end
function
c57261568
.
synfilter
(
c
,
syncard
,
tuner
,
f
)
return
c
:
IsFaceup
()
and
c
:
Is
NotTuner
()
and
c
:
Is
CanBeSynchroMaterial
(
syncard
,
tuner
)
and
(
f
==
nil
or
f
(
c
))
return
c
:
IsFaceup
()
and
c
:
IsCanBeSynchroMaterial
(
syncard
,
tuner
)
and
(
f
==
nil
or
f
(
c
))
end
function
c57261568
.
syntg
(
e
,
syncard
,
f
,
minc
,
maxc
)
function
c57261568
.
syncheck
(
c
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
g
:
AddCard
(
c
)
local
ct
=
g
:
GetCount
()
local
res
=
c57261568
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
ct
)
or
(
ct
<
maxc
and
mg
:
IsExists
(
c57261568
.
syncheck
,
1
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
))
g
:
RemoveCard
(
c
)
return
res
end
function
c57261568
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
ct
)
return
ct
>=
minc
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
g
,
syncard
)
>
0
and
(
g
:
CheckWithSumEqual
(
Card
.
GetSynchroLevel
,
lv
,
ct
,
ct
,
syncard
)
or
g
:
CheckWithSumEqual
(
c57261568
.
cardiansynlevel
,
lv
,
ct
,
ct
,
syncard
))
end
function
c57261568
.
syntg
(
e
,
syncard
,
f
,
min
,
max
)
local
minc
=
min
+
1
local
maxc
=
max
+
1
local
c
=
e
:
GetHandler
()
local
lv
=
syncard
:
GetLevel
()
-
c
:
GetLevel
()
local
lv2
=
syncard
:
GetLevel
()
-
c57261568
.
cardiansynlevel
(
c
)
if
lv
<=
0
and
lv2
<=
0
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c57261568
.
synfilter
,
syncard
:
GetControler
(),
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
local
res
=
g
:
CheckWithSumEqual
(
Card
.
GetSynchroLevel
,
lv
,
minc
,
maxc
,
syncard
)
local
res2
=
g
:
CheckWithSumEqual
(
c57261568
.
cardiansynlevel
,
lv2
,
minc
,
maxc
)
return
res
or
res2
local
tp
=
syncard
:
GetControler
()
local
lv
=
syncard
:
GetLevel
()
if
lv
<=
c
:
GetLevel
()
and
lv
<=
c57261568
.
cardiansynlevel
(
c
)
then
return
false
end
local
g
=
Group
.
FromCards
(
c
)
local
mg
=
Duel
.
GetMatchingGroup
(
c57261568
.
synfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
return
mg
:
IsExists
(
c57261568
.
syncheck
,
1
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
end
function
c57261568
.
synop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
syncard
,
f
,
minc
,
maxc
)
function
c57261568
.
synop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
syncard
,
f
,
min
,
max
)
local
minc
=
min
+
1
local
maxc
=
max
+
1
local
c
=
e
:
GetHandler
()
local
lv
=
syncard
:
GetLevel
()
-
c
:
GetLevel
()
local
lv2
=
syncard
:
GetLevel
()
-
c57261568
.
cardiansynlevel
(
c
)
local
g
=
Duel
.
GetMatchingGroup
(
c57261568
.
synfilter
,
syncard
:
GetControler
()
,
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
local
res
=
g
:
CheckWithSumEqual
(
Card
.
GetSynchroLevel
,
lv
,
minc
,
maxc
,
syncard
)
local
res2
=
g
:
CheckWithSumEqual
(
c57261568
.
cardiansynlevel
,
lv2
,
minc
,
maxc
)
local
sg
=
nil
if
(
res2
and
res
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
57261568
,
3
)))
or
(
res2
and
not
res
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SMATERIAL
)
sg
=
g
:
SelectWithSumEqual
(
tp
,
c57261568
.
cardiansynlevel
,
lv2
,
minc
,
maxc
)
else
local
lv
=
syncard
:
GetLevel
()
local
g
=
Group
.
FromCards
(
c
)
local
mg
=
Duel
.
GetMatchingGroup
(
c57261568
.
synfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
for
i
=
1
,
maxc
do
local
cg
=
mg
:
Filter
(
c57261568
.
syncheck
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
if
cg
:
GetCount
()
==
0
then
break
end
local
minct
=
1
if
c57261568
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
i
)
then
if
not
Duel
.
SelectYesNo
(
tp
,
210
)
then
break
end
minct
=
0
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SMATERIAL
)
sg
=
g
:
SelectWithSumEqual
(
tp
,
Card
.
GetSynchroLevel
,
lv
,
minc
,
maxc
,
syncard
)
local
sg
=
cg
:
Select
(
tp
,
minct
,
1
,
nil
)
if
sg
:
GetCount
()
==
0
then
break
end
g
:
Merge
(
sg
)
end
Duel
.
SetSynchroMaterial
(
s
g
)
Duel
.
SetSynchroMaterial
(
g
)
end
c64910482.lua
View file @
4475ebc1
...
...
@@ -18,33 +18,64 @@ function c64910482.initial_effect(c)
c
:
RegisterEffect
(
e2
)
end
function
c64910482
.
synfilter1
(
c
,
syncard
,
tuner
,
f
)
return
c
:
IsFaceup
()
and
c
:
Is
NotTuner
()
and
c
:
Is
CanBeSynchroMaterial
(
syncard
,
tuner
)
and
(
f
==
nil
or
f
(
c
))
return
c
:
IsFaceup
()
and
c
:
IsCanBeSynchroMaterial
(
syncard
,
tuner
)
and
(
f
==
nil
or
f
(
c
))
end
function
c64910482
.
synfilter2
(
c
,
syncard
,
tuner
,
f
)
return
c
:
IsSetCard
(
0x27
)
and
c
:
IsNotTuner
()
and
c
:
IsCanBeSynchroMaterial
(
syncard
,
tuner
)
and
(
f
==
nil
or
f
(
c
))
end
function
c64910482
.
syntg
(
e
,
syncard
,
f
,
minc
,
maxc
)
function
c64910482
.
syncheck
(
c
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
g
:
AddCard
(
c
)
local
ct
=
g
:
GetCount
()
local
res
=
c64910482
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
ct
)
or
(
ct
<
maxc
and
mg
:
IsExists
(
c64910482
.
syncheck
,
1
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
))
g
:
RemoveCard
(
c
)
return
res
end
function
c64910482
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
ct
)
return
ct
>=
minc
and
g
:
CheckWithSumEqual
(
Card
.
GetSynchroLevel
,
lv
,
ct
,
ct
,
syncard
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
g
,
syncard
)
>
0
end
function
c64910482
.
syntg
(
e
,
syncard
,
f
,
min
,
max
)
local
minc
=
min
+
1
local
maxc
=
max
+
1
local
c
=
e
:
GetHandler
()
local
lv
=
syncard
:
GetLevel
()
-
c
:
GetLevel
()
if
lv
<=
0
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c64910482
.
synfilter1
,
syncard
:
GetControler
(),
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
local
tp
=
syncard
:
GetControler
()
local
lv
=
syncard
:
GetLevel
()
if
lv
<=
c
:
GetLevel
()
then
return
false
end
local
g
=
Group
.
FromCards
(
c
)
local
mg
=
Duel
.
GetMatchingGroup
(
c64910482
.
synfilter1
,
syncard
:
GetControler
(),
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
if
syncard
:
IsSetCard
(
0x27
)
then
local
exg
=
Duel
.
GetMatchingGroup
(
c64910482
.
synfilter2
,
syncard
:
GetControler
(),
LOCATION_HAND
,
0
,
c
,
syncard
,
c
,
f
)
g
:
Merge
(
exg
)
m
g
:
Merge
(
exg
)
end
return
g
:
CheckWithSumEqual
(
Card
.
GetSynchroLevel
,
lv
,
minc
,
maxc
,
syncard
)
return
mg
:
IsExists
(
c64910482
.
syncheck
,
1
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
end
function
c64910482
.
synop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
syncard
,
f
,
minc
,
maxc
)
function
c64910482
.
synop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
syncard
,
f
,
min
,
max
)
local
minc
=
min
+
1
local
maxc
=
max
+
1
local
c
=
e
:
GetHandler
()
local
lv
=
syncard
:
GetLevel
()
-
c
:
GetLevel
()
local
g
=
Duel
.
GetMatchingGroup
(
c64910482
.
synfilter1
,
syncard
:
GetControler
(),
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
local
lv
=
syncard
:
GetLevel
()
local
g
=
Group
.
FromCards
(
c
)
local
mg
=
Duel
.
GetMatchingGroup
(
c64910482
.
synfilter1
,
syncard
:
GetControler
(),
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
if
syncard
:
IsSetCard
(
0x27
)
then
local
exg
=
Duel
.
GetMatchingGroup
(
c64910482
.
synfilter2
,
syncard
:
GetControler
(),
LOCATION_HAND
,
0
,
c
,
syncard
,
c
,
f
)
g
:
Merge
(
exg
)
mg
:
Merge
(
exg
)
end
for
i
=
1
,
maxc
do
local
cg
=
mg
:
Filter
(
c64910482
.
syncheck
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
if
cg
:
GetCount
()
==
0
then
break
end
local
minct
=
1
if
c64910482
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
i
)
then
if
not
Duel
.
SelectYesNo
(
tp
,
210
)
then
break
end
minct
=
0
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SMATERIAL
)
local
sg
=
cg
:
Select
(
tp
,
minct
,
1
,
nil
)
if
sg
:
GetCount
()
==
0
then
break
end
g
:
Merge
(
sg
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SMATERIAL
)
local
sg
=
g
:
SelectWithSumEqual
(
tp
,
Card
.
GetSynchroLevel
,
lv
,
minc
,
maxc
,
syncard
)
Duel
.
SetSynchroMaterial
(
sg
)
Duel
.
SetSynchroMaterial
(
g
)
end
function
c64910482
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
...
...
c89818984.lua
View file @
4475ebc1
...
...
@@ -71,33 +71,51 @@ function c89818984.cardiansynlevel(c)
return
2
end
function
c89818984
.
synfilter
(
c
,
syncard
,
tuner
,
f
)
return
c
:
IsFaceup
()
and
c
:
Is
NotTuner
()
and
c
:
Is
CanBeSynchroMaterial
(
syncard
,
tuner
)
and
(
f
==
nil
or
f
(
c
))
return
c
:
IsFaceup
()
and
c
:
IsCanBeSynchroMaterial
(
syncard
,
tuner
)
and
(
f
==
nil
or
f
(
c
))
end
function
c89818984
.
syntg
(
e
,
syncard
,
f
,
minc
,
maxc
)
function
c89818984
.
syncheck
(
c
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
g
:
AddCard
(
c
)
local
ct
=
g
:
GetCount
()
local
res
=
c89818984
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
ct
)
or
(
ct
<
maxc
and
mg
:
IsExists
(
c89818984
.
syncheck
,
1
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
))
g
:
RemoveCard
(
c
)
return
res
end
function
c89818984
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
ct
)
return
ct
>=
minc
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
g
,
syncard
)
>
0
and
(
g
:
CheckWithSumEqual
(
Card
.
GetSynchroLevel
,
lv
,
ct
,
ct
,
syncard
)
or
g
:
CheckWithSumEqual
(
c89818984
.
cardiansynlevel
,
lv
,
ct
,
ct
,
syncard
))
end
function
c89818984
.
syntg
(
e
,
syncard
,
f
,
min
,
max
)
local
minc
=
min
+
1
local
maxc
=
max
+
1
local
c
=
e
:
GetHandler
()
local
lv
=
syncard
:
GetLevel
()
-
c
:
GetLevel
()
local
lv2
=
syncard
:
GetLevel
()
-
c89818984
.
cardiansynlevel
(
c
)
if
lv
<=
0
and
lv2
<=
0
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c89818984
.
synfilter
,
syncard
:
GetControler
(),
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
local
res
=
g
:
CheckWithSumEqual
(
Card
.
GetSynchroLevel
,
lv
,
minc
,
maxc
,
syncard
)
local
res2
=
g
:
CheckWithSumEqual
(
c89818984
.
cardiansynlevel
,
lv2
,
minc
,
maxc
)
return
res
or
res2
local
tp
=
syncard
:
GetControler
()
local
lv
=
syncard
:
GetLevel
()
if
lv
<=
c
:
GetLevel
()
and
lv
<=
c89818984
.
cardiansynlevel
(
c
)
then
return
false
end
local
g
=
Group
.
FromCards
(
c
)
local
mg
=
Duel
.
GetMatchingGroup
(
c89818984
.
synfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
return
mg
:
IsExists
(
c89818984
.
syncheck
,
1
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
end
function
c89818984
.
synop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
syncard
,
f
,
minc
,
maxc
)
function
c89818984
.
synop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
syncard
,
f
,
min
,
max
)
local
minc
=
min
+
1
local
maxc
=
max
+
1
local
c
=
e
:
GetHandler
()
local
lv
=
syncard
:
GetLevel
()
-
c
:
GetLevel
()
local
lv2
=
syncard
:
GetLevel
()
-
c89818984
.
cardiansynlevel
(
c
)
local
g
=
Duel
.
GetMatchingGroup
(
c89818984
.
synfilter
,
syncard
:
GetControler
()
,
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
local
res
=
g
:
CheckWithSumEqual
(
Card
.
GetSynchroLevel
,
lv
,
minc
,
maxc
,
syncard
)
local
res2
=
g
:
CheckWithSumEqual
(
c89818984
.
cardiansynlevel
,
lv2
,
minc
,
maxc
)
local
sg
=
nil
if
(
res2
and
res
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
89818984
,
2
)))
or
(
res2
and
not
res
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SMATERIAL
)
sg
=
g
:
SelectWithSumEqual
(
tp
,
c89818984
.
cardiansynlevel
,
lv2
,
minc
,
maxc
)
else
local
lv
=
syncard
:
GetLevel
()
local
g
=
Group
.
FromCards
(
c
)
local
mg
=
Duel
.
GetMatchingGroup
(
c89818984
.
synfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
c
,
syncard
,
c
,
f
)
for
i
=
1
,
maxc
do
local
cg
=
mg
:
Filter
(
c89818984
.
syncheck
,
g
,
g
,
mg
,
tp
,
lv
,
syncard
,
minc
,
maxc
)
if
cg
:
GetCount
()
==
0
then
break
end
local
minct
=
1
if
c89818984
.
syngoal
(
g
,
tp
,
lv
,
syncard
,
minc
,
i
)
then
if
not
Duel
.
SelectYesNo
(
tp
,
210
)
then
break
end
minct
=
0
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SMATERIAL
)
sg
=
g
:
SelectWithSumEqual
(
tp
,
Card
.
GetSynchroLevel
,
lv
,
minc
,
maxc
,
syncard
)
local
sg
=
cg
:
Select
(
tp
,
minct
,
1
,
nil
)
if
sg
:
GetCount
()
==
0
then
break
end
g
:
Merge
(
sg
)
end
Duel
.
SetSynchroMaterial
(
s
g
)
Duel
.
SetSynchroMaterial
(
g
)
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