Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-scripts-888
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
4
Merge Requests
4
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
MyCard
ygopro-scripts-888
Commits
99a7162f
Commit
99a7162f
authored
Nov 28, 2019
by
mercury233
Committed by
nekrozar
Nov 28, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update selecting cards with different name/level etc. (#1251)
* update * update
parent
d6e5fd9a
Changes
88
Show whitespace changes
Inline
Side-by-side
Showing
88 changed files
with
214 additions
and
739 deletions
+214
-739
c10424147.lua
c10424147.lua
+1
-1
c10613952.lua
c10613952.lua
+1
-13
c10698416.lua
c10698416.lua
+6
-20
c12215894.lua
c12215894.lua
+2
-9
c12950294.lua
c12950294.lua
+3
-9
c13662809.lua
c13662809.lua
+1
-7
c14470845.lua
c14470845.lua
+1
-5
c14604710.lua
c14604710.lua
+1
-5
c15449853.lua
c15449853.lua
+2
-7
c1561110.lua
c1561110.lua
+2
-7
c15710054.lua
c15710054.lua
+6
-20
c16329071.lua
c16329071.lua
+2
-7
c17382973.lua
c17382973.lua
+1
-5
c18378992.lua
c18378992.lua
+1
-1
c18514525.lua
c18514525.lua
+1
-5
c19337371.lua
c19337371.lua
+1
-12
c20537097.lua
c20537097.lua
+2
-7
c21223277.lua
c21223277.lua
+1
-12
c23064604.lua
c23064604.lua
+1
-5
c2390019.lua
c2390019.lua
+2
-8
c27062594.lua
c27062594.lua
+2
-7
c28617139.lua
c28617139.lua
+5
-9
c28770951.lua
c28770951.lua
+2
-9
c29146185.lua
c29146185.lua
+2
-7
c30270176.lua
c30270176.lua
+2
-8
c30539496.lua
c30539496.lua
+2
-9
c30786387.lua
c30786387.lua
+2
-8
c32603633.lua
c32603633.lua
+3
-6
c33611061.lua
c33611061.lua
+1
-13
c35546670.lua
c35546670.lua
+2
-7
c36668118.lua
c36668118.lua
+4
-21
c36734924.lua
c36734924.lua
+1
-7
c37803970.lua
c37803970.lua
+1
-5
c39392286.lua
c39392286.lua
+3
-7
c40177746.lua
c40177746.lua
+3
-7
c40230018.lua
c40230018.lua
+1
-9
c40450317.lua
c40450317.lua
+1
-5
c40854824.lua
c40854824.lua
+4
-9
c41933425.lua
c41933425.lua
+1
-5
c43886072.lua
c43886072.lua
+2
-7
c44509529.lua
c44509529.lua
+1
-5
c46083111.lua
c46083111.lua
+6
-20
c4682617.lua
c4682617.lua
+2
-7
c47075569.lua
c47075569.lua
+1
-7
c47457347.lua
c47457347.lua
+2
-8
c50756327.lua
c50756327.lua
+1
-9
c51205763.lua
c51205763.lua
+6
-20
c53208660.lua
c53208660.lua
+1
-5
c56132807.lua
c56132807.lua
+2
-7
c56337500.lua
c56337500.lua
+1
-1
c58753372.lua
c58753372.lua
+2
-7
c58820923.lua
c58820923.lua
+2
-7
c59057953.lua
c59057953.lua
+2
-8
c59934749.lua
c59934749.lua
+2
-7
c61613388.lua
c61613388.lua
+3
-10
c62000467.lua
c62000467.lua
+1
-7
c62376646.lua
c62376646.lua
+1
-5
c64280356.lua
c64280356.lua
+1
-9
c64990807.lua
c64990807.lua
+2
-9
c68191243.lua
c68191243.lua
+5
-9
c69394324.lua
c69394324.lua
+1
-1
c69572169.lua
c69572169.lua
+2
-7
c71791814.lua
c71791814.lua
+5
-19
c72537897.lua
c72537897.lua
+1
-9
c73881652.lua
c73881652.lua
+2
-7
c74414885.lua
c74414885.lua
+5
-7
c74974229.lua
c74974229.lua
+4
-10
c76382116.lua
c76382116.lua
+1
-1
c77075360.lua
c77075360.lua
+4
-16
c78785392.lua
c78785392.lua
+1
-10
c78859567.lua
c78859567.lua
+2
-8
c79407975.lua
c79407975.lua
+2
-9
c81587028.lua
c81587028.lua
+4
-14
c82428674.lua
c82428674.lua
+2
-11
c83293307.lua
c83293307.lua
+6
-20
c83554231.lua
c83554231.lua
+1
-5
c84025439.lua
c84025439.lua
+1
-9
c85638822.lua
c85638822.lua
+4
-9
c856784.lua
c856784.lua
+1
-1
c88316955.lua
c88316955.lua
+6
-20
c89397517.lua
c89397517.lua
+6
-13
c938717.lua
c938717.lua
+1
-1
c96570609.lua
c96570609.lua
+1
-5
c97433739.lua
c97433739.lua
+1
-9
c97648103.lua
c97648103.lua
+1
-5
c98672567.lua
c98672567.lua
+1
-9
c99157310.lua
c99157310.lua
+2
-7
utility.lua
utility.lua
+20
-0
No files found.
c10424147.lua
View file @
99a7162f
...
...
@@ -80,7 +80,7 @@ function c10424147.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chkc
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c10424147
.
spfilter3
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
,
e
)
if
chk
==
0
then
return
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
g
:
CheckSubGroup
(
aux
.
dncheck
,
3
,
3
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
and
Duel
.
IsExistingMatchingCard
(
c10424147
.
spfilter4
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
...
...
c10613952.lua
View file @
99a7162f
...
...
@@ -51,19 +51,7 @@ function c10613952.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c10613952
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
,
e
:
GetHandler
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
if
ft
>
1
and
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10613952
,
3
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g2
:
GetFirst
():
GetCode
())
g1
:
Merge
(
g2
)
if
ft
>
2
and
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10613952
,
3
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
end
end
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
math.min
(
ft
,
3
))
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
g1
,
g1
:
GetCount
(),
0
,
0
)
end
...
...
c10698416.lua
View file @
99a7162f
...
...
@@ -47,18 +47,12 @@ end
function
c10698416
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
10698416
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c10698416
.
filter2
(
c
,
g
)
return
g
:
IsExists
(
c10698416
.
filter3
,
1
,
c
,
c
:
GetCode
())
end
function
c10698416
.
filter3
(
c
,
code
)
return
not
c
:
IsCode
(
code
)
end
function
c10698416
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c10698416
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
return
g
:
IsExists
(
c10698416
.
filter2
,
1
,
nil
,
g
)
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
...
...
@@ -66,18 +60,10 @@ function c10698416.spop(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
c10698416
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
dg
=
g
:
Filter
(
c10698416
.
filter2
,
nil
,
g
)
if
dg
:
GetCount
()
>=
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
dg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc1
=
sg
:
GetFirst
()
dg
:
Remove
(
Card
.
IsCode
,
nil
,
tc1
:
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc2
=
dg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
Duel
.
SpecialSummonStep
(
tc1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
SpecialSummonStep
(
tc2
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
SpecialSummonComplete
()
local
g
=
Group
.
FromCards
(
tc1
,
tc2
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
if
sg
then
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
end
end
c12215894.lua
View file @
99a7162f
...
...
@@ -70,15 +70,8 @@ end
function
c12215894
.
cost2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c12215894
.
cfilter
,
tp
,
LOCATION_GRAVE
+
LOCATION_ONFIELD
,
0
,
nil
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
9
end
local
rg
=
Group
.
CreateGroup
()
for
i
=
1
,
9
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
tc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
if
tc
then
rg
:
AddCard
(
tc
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
end
end
local
rg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
9
,
9
)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
end
function
c12215894
.
target2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
...
...
c12950294.lua
View file @
99a7162f
...
...
@@ -61,13 +61,7 @@ function c12950294.thop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c12950294
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
<
2
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
tg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tg1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
tg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
tg1
:
Merge
(
tg2
)
if
tg1
:
GetCount
()
==
2
then
local
tg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
SendtoHand
(
tg1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
tg1
)
end
end
c13662809.lua
View file @
99a7162f
...
...
@@ -68,13 +68,7 @@ function c13662809.thop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c13662809
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetCount
()
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg1
:
GetFirst
():
GetCode
())
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
210
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
sg1
:
Merge
(
sg2
)
end
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
2
)
Duel
.
SendtoHand
(
sg1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
end
c14470845.lua
View file @
99a7162f
...
...
@@ -73,11 +73,7 @@ function c14470845.spop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c14470845
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
if
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
ft
>
1
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
SpecialSummon
(
g1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
c14604710.lua
View file @
99a7162f
...
...
@@ -64,11 +64,7 @@ function c14604710.activate2(e,tp,eg,ep,ev,re,r,rp)
if
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
ft
>
1
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
1
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
SpecialSummon
(
g1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
local
fid
=
c
:
GetFieldID
()
local
sc
=
g1
:
GetFirst
()
...
...
c15449853.lua
View file @
99a7162f
...
...
@@ -58,13 +58,8 @@ function c15449853.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chkc
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c15449853
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
end
local
tg
=
Group
.
CreateGroup
()
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
tg
:
Merge
(
sg
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
until
tg
:
GetCount
()
==
3
local
tg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
Duel
.
SetTargetCard
(
tg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
tg
,
tg
:
GetCount
(),
0
,
0
)
end
...
...
c1561110.lua
View file @
99a7162f
...
...
@@ -80,13 +80,8 @@ function c1561110.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
return
ft
>
2
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
end
local
sg
=
Group
.
CreateGroup
()
for
i
=
1
,
3
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
sg
:
Merge
(
g1
)
end
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
Duel
.
SetTargetCard
(
sg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
sg
,
3
,
0
,
0
)
end
...
...
c15710054.lua
View file @
99a7162f
...
...
@@ -44,18 +44,12 @@ end
function
c15710054
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
15710054
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c15710054
.
filter2
(
c
,
g
)
return
g
:
IsExists
(
c15710054
.
filter3
,
1
,
c
,
c
:
GetCode
())
end
function
c15710054
.
filter3
(
c
,
code
)
return
not
c
:
IsCode
(
code
)
end
function
c15710054
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c15710054
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
return
g
:
IsExists
(
c15710054
.
filter2
,
1
,
nil
,
g
)
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
...
...
@@ -63,18 +57,10 @@ function c15710054.spop(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
c15710054
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
dg
=
g
:
Filter
(
c15710054
.
filter2
,
nil
,
g
)
if
dg
:
GetCount
()
>=
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
dg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc1
=
sg
:
GetFirst
()
dg
:
Remove
(
Card
.
IsCode
,
nil
,
tc1
:
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc2
=
dg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
Duel
.
SpecialSummonStep
(
tc1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
SpecialSummonStep
(
tc2
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
SpecialSummonComplete
()
local
g
=
Group
.
FromCards
(
tc1
,
tc2
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
if
sg
then
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
end
end
c16329071.lua
View file @
99a7162f
...
...
@@ -24,13 +24,8 @@ end
function
c16329071
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c16329071
.
filter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
+
LOCATION_ONFIELD
+
LOCATION_REMOVED
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
<
5
then
return
end
local
sg
=
Group
.
CreateGroup
()
for
i
=
1
,
5
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
sg
:
Merge
(
g1
)
end
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
5
,
5
)
local
cg
=
sg
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_HAND
)
if
cg
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
...
...
c17382973.lua
View file @
99a7162f
...
...
@@ -59,11 +59,7 @@ function c17382973.thtg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local
g
=
Duel
.
GetMatchingGroup
(
c17382973
.
thfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g1
,
2
,
0
,
0
)
end
...
...
c18378992.lua
View file @
99a7162f
...
...
@@ -22,7 +22,7 @@ function c18378992.costcheck(g,tp)
local
code1
=
g
:
GetFirst
():
GetCode
()
local
code2
=
g
:
GetNext
():
GetCode
()
local
tg
=
Duel
.
GetMatchingGroup
(
c18378992
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
code1
,
code2
)
return
tg
:
CheckSubGroup
(
aux
.
dncheck
,
2
,
2
)
return
tg
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
function
c18378992
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
e
:
SetLabel
(
100
)
...
...
c18514525.lua
View file @
99a7162f
...
...
@@ -62,11 +62,7 @@ function c18514525.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chk
==
0
then
return
Duel
.
GetMZoneCount
(
tp
,
e
:
GetHandler
())
>
1
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g1
,
2
,
0
,
0
)
end
...
...
c19337371.lua
View file @
99a7162f
...
...
@@ -65,18 +65,7 @@ function c19337371.thop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c19337371
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetCount
()
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
19337371
,
1
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g2
:
GetFirst
():
GetCode
())
g1
:
Merge
(
g2
)
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
19337371
,
1
))
then
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
end
end
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
3
)
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
end
c20537097.lua
View file @
99a7162f
...
...
@@ -66,13 +66,8 @@ function c20537097.thop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c20537097
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
ct
=
e
:
GetHandler
():
GetColumnGroup
():
FilterCount
(
Card
.
IsControler
,
nil
,
1
-
tp
)
if
ct
<=
0
or
g
:
GetClassCount
(
Card
.
GetCode
)
<
ct
then
return
end
local
hg
=
Group
.
CreateGroup
()
for
i
=
1
,
ct
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
tc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
hg
:
AddCard
(
tc
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
end
local
hg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
ct
,
ct
)
Duel
.
SendtoHand
(
hg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
hg
)
end
c21223277.lua
View file @
99a7162f
...
...
@@ -41,18 +41,7 @@ function c21223277.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c21223277
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
,
e
:
GetHandler
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
if
ft
>
1
and
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
21223277
,
2
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g2
:
GetFirst
():
GetCode
())
g1
:
Merge
(
g2
)
if
ft
>
2
and
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
21223277
,
2
))
then
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
end
end
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
math.min
(
ft
,
3
))
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
g1
,
g1
:
GetCount
(),
0
,
0
)
end
...
...
c23064604.lua
View file @
99a7162f
...
...
@@ -72,11 +72,7 @@ function c23064604.tdop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c23064604
.
tgfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
<
2
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
tg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tg1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
tg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
tg1
:
Merge
(
tg2
)
local
tg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
if
Duel
.
SendtoGrave
(
tg1
,
REASON_EFFECT
)
~=
0
and
tg1
:
IsExists
(
Card
.
IsLocation
,
2
,
nil
,
LOCATION_GRAVE
)
then
local
sg
=
nil
local
hg
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToDeck
,
tp
,
0
,
LOCATION_HAND
,
nil
)
...
...
c2390019.lua
View file @
99a7162f
...
...
@@ -79,14 +79,8 @@ function c2390019.activate(e,tp,eg,ep,ev,re,r,rp)
local
rc
=
e
:
GetLabelObject
()
local
mg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c2390019
.
filter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
nil
,
rc
,
e
,
tp
)
if
mg
:
GetClassCount
(
Card
.
GetCode
)
<
ct
then
return
end
local
g
=
Group
.
CreateGroup
()
while
ct
>
0
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
mg
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
AddCard
(
sg
:
GetFirst
())
mg
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
ct
=
ct
-
1
end
local
g
=
mg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
ct
,
ct
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
function
c2390019
.
tdfilter
(
c
)
...
...
c27062594.lua
View file @
99a7162f
...
...
@@ -50,13 +50,8 @@ end
function
c27062594
.
damcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c27062594
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
local
g
=
Duel
.
GetMatchingGroup
(
c27062594
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
rg
=
Group
.
CreateGroup
()
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
rg
:
Merge
(
sg
)
until
g
:
GetCount
()
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
27062594
,
1
))
local
rg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
g
:
GetCount
())
local
ct
=
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
e
:
SetLabel
(
ct
)
end
...
...
c28617139.lua
View file @
99a7162f
...
...
@@ -31,22 +31,18 @@ end
function
c28617139
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x12d
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToHand
()
end
function
c28617139
.
fselect
(
g
)
return
g
:
GetClassCount
(
Card
.
GetAttribute
)
==
g
:
GetCount
()
end
function
c28617139
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c28617139
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
chk
==
0
then
return
g
:
CheckSubGroup
(
c28617139
.
fselect
,
2
,
2
)
end
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetAttribute
)
>=
2
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
function
c28617139
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c28617139
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetAttribute
)
<
2
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
c28617139
.
fselect
,
false
,
2
,
2
)
if
sg
and
sg
:
GetCount
()
==
2
then
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dabcheck
,
false
,
2
,
2
)
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
end
end
function
c28617139
.
cffilter
(
c
)
return
c
:
IsRace
(
RACE_WINDBEAST
)
and
c
:
IsLevelAbove
(
2
)
and
not
c
:
IsPublic
()
...
...
c28770951.lua
View file @
99a7162f
...
...
@@ -48,15 +48,8 @@ function c28770951.drtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c28770951
.
filter
(
chkc
,
e
)
end
local
g
=
Duel
.
GetMatchingGroup
(
c28770951
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
5
and
Duel
.
IsPlayerCanDraw
(
tp
,
2
)
end
local
sg
=
Group
.
CreateGroup
()
for
i
=
1
,
5
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
tc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
if
tc
then
sg
:
AddCard
(
tc
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
end
end
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
5
,
5
)
Duel
.
SetTargetCard
(
sg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
sg
,
sg
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
2
)
...
...
c29146185.lua
View file @
99a7162f
...
...
@@ -65,13 +65,8 @@ end
function
c29146185
.
descost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c29146185
.
cffilter
,
tp
,
LOCATION_HAND
,
0
,
nil
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
4
end
local
cg
=
Group
.
CreateGroup
()
for
i
=
1
,
4
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
cg
:
Merge
(
sg
)
end
local
cg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
4
,
4
)
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
Duel
.
ShuffleHand
(
tp
)
end
...
...
c30270176.lua
View file @
99a7162f
...
...
@@ -57,14 +57,8 @@ function c30270176.spcon(e,c)
end
function
c30270176
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
hg
=
Duel
.
GetMatchingGroup
(
c30270176
.
spcfilter
,
tp
,
LOCATION_HAND
,
0
,
c
)
local
rg
=
Group
.
CreateGroup
()
for
i
=
1
,
3
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
g
=
hg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
g
:
GetFirst
()
rg
:
AddCard
(
tc
)
hg
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
end
local
rg
=
hg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
Duel
.
ConfirmCards
(
1
-
tp
,
rg
)
Duel
.
ShuffleHand
(
tp
)
end
...
...
c30539496.lua
View file @
99a7162f
...
...
@@ -76,15 +76,8 @@ function c30539496.spop(e,tp,eg,ep,ev,re,r,rp)
local
rg
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemove
,
tp
,
0
,
LOCATION_EXTRA
,
nil
)
if
rm
and
rg
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
30539496
,
2
))
then
Duel
.
ConfirmCards
(
tp
,
rg
)
local
tg
=
Group
.
CreateGroup
()
local
i
=
3
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
tc
=
rg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
rg
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
tg
:
AddCard
(
tc
)
i
=
i
-
1
until
i
<
1
or
rg
:
GetCount
()
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
30539496
,
3
))
local
tg
=
rg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
3
)
Duel
.
Remove
(
tg
,
POS_FACEUP
,
REASON_EFFECT
)
end
end
...
...
c30786387.lua
View file @
99a7162f
...
...
@@ -34,14 +34,8 @@ end
function
c30786387
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c30786387
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
local
rg
=
Group
.
CreateGroup
()
for
i
=
1
,
3
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
30786387
,
1
))
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
sg
:
GetFirst
()
rg
:
AddCard
(
tc
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
end
local
rg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
Duel
.
ConfirmCards
(
1
-
tp
,
rg
)
Duel
.
ShuffleDeck
(
tp
)
local
tg
=
rg
:
GetFirst
()
...
...
c32603633.lua
View file @
99a7162f
...
...
@@ -28,12 +28,9 @@ function c32603633.op(e,tp,eg,ep,ev,re,r,rp)
if
ft
<=
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
g
=
Duel
.
GetMatchingGroup
(
c32603633
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
while
g
:
GetCount
()
>
0
and
ft
>
0
do
if
g
:
GetCount
()
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummonStep
(
sg
:
GetFirst
(),
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
ft
=
ft
-
1
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ft
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
Duel
.
SpecialSummonComplete
()
end
c33611061.lua
View file @
99a7162f
...
...
@@ -35,19 +35,7 @@ function c33611061.activate(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c33611061
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetCount
()
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
33611061
,
0
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g2
:
GetFirst
():
GetCode
())
g1
:
Merge
(
g2
)
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
33611061
,
0
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g3
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g3
)
end
end
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
3
)
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
end
...
...
c35546670.lua
View file @
99a7162f
...
...
@@ -65,13 +65,8 @@ function c35546670.tgcost(e,tp,eg,ep,ev,re,r,rp,chk)
local
g
=
Duel
.
GetMatchingGroup
(
c35546670
.
costfilter2
,
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
0
,
nil
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
8
end
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
local
rg
=
Group
.
CreateGroup
()
for
i
=
1
,
8
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
rg
:
AddCard
(
sg
:
GetFirst
())
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
end
local
rg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
8
,
8
)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
end
function
c35546670
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
...
...
c36668118.lua
View file @
99a7162f
...
...
@@ -52,14 +52,9 @@ function c36668118.spop1(e,tp,eg,ep,ev,re,r,rp)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c36668118
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
,
tp
)
if
ft
<
1
or
g
:
GetCount
()
==
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
if
ft
>
1
and
g
:
GetCount
()
>
0
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
36668118
,
2
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
sg
:
AddCard
(
sg2
:
GetFirst
())
end
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
math.min
(
ft
,
2
))
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
function
c36668118
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
@@ -76,20 +71,8 @@ function c36668118.spop2(e,tp,eg,ep,ev,re,r,rp)
local
ct
=
Duel
.
GetFieldGroupCount
(
tp
,
0
,
LOCATION_MZONE
)
-
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_MZONE
,
0
)
local
g
=
Duel
.
GetMatchingGroup
(
c36668118
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
ft
<
1
or
ct
<
1
or
g
:
GetCount
()
==
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
if
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
ft
-
1
ct
=
ct
-
1
while
ft
>
0
and
ct
>
0
and
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
36668118
,
2
))
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
sg
:
AddCard
(
sg2
:
GetFirst
())
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg2
:
GetFirst
():
GetCode
())
ft
=
ft
-
1
ct
=
ct
-
1
end
end
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
math.min
(
ft
,
ct
))
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
c36734924.lua
View file @
99a7162f
...
...
@@ -47,13 +47,7 @@ function c36734924.thop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c36734924
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetCount
()
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg1
:
GetFirst
():
GetCode
())
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
210
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
sg1
:
Merge
(
sg2
)
end
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
2
)
Duel
.
SendtoHand
(
sg1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
end
...
...
c37803970.lua
View file @
99a7162f
...
...
@@ -27,11 +27,7 @@ function c37803970.activate(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c37803970
.
thfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
end
...
...
c39392286.lua
View file @
99a7162f
...
...
@@ -39,14 +39,10 @@ end
function
c39392286
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c39392286
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
#
g
<=
0
then
return
end
local
ct
=
1
if
e
:
GetLabel
()
==
1
then
ct
=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg1
:
GetFirst
():
GetCode
())
if
#
g
>
0
and
e
:
GetLabel
()
==
1
and
Duel
.
SelectYesNo
(
tp
,
210
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
sg1
:
Merge
(
sg2
)
end
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ct
)
Duel
.
SendtoHand
(
sg1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
end
c40177746.lua
View file @
99a7162f
...
...
@@ -32,13 +32,9 @@ end
function
c40177746
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
dg
=
Duel
.
GetMatchingGroup
(
c40177746
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
ct
=
e
:
GetLabel
()
if
dg
:
GetClassCount
(
Card
.
GetCode
)
==
0
or
dg
:
GetClassCount
(
Card
.
GetCode
)
<
ct
then
return
end
local
g
=
Group
.
CreateGroup
()
for
i
=
1
,
ct
do
local
tc
=
dg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
g
:
AddCard
(
tc
)
dg
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
end
if
dg
:
GetClassCount
(
Card
.
GetCode
)
<
ct
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
dg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
ct
,
ct
)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
c40230018.lua
View file @
99a7162f
...
...
@@ -51,15 +51,7 @@ function c40230018.operation(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c40230018
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg2
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
sg3
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
sg1
:
Merge
(
sg2
)
sg1
:
Merge
(
sg3
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
Duel
.
ShuffleDeck
(
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_ATOHAND
)
...
...
c40450317.lua
View file @
99a7162f
...
...
@@ -47,11 +47,7 @@ function c40450317.activate(e,tp,eg,ep,ev,re,r,rp)
if
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
ft
>
1
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
1
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
SpecialSummon
(
g1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
...
...
c40854824.lua
View file @
99a7162f
...
...
@@ -28,15 +28,10 @@ end
function
c40854824
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<=
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
g
=
Duel
.
GetMatchingGroup
(
c40854824
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
==
0
then
return
end
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
sg
:
GetFirst
()
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
ft
=
ft
-
1
until
ft
<=
0
or
g
:
GetCount
()
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
40854824
,
0
))
Duel
.
SpecialSummonComplete
()
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ft
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
c41933425.lua
View file @
99a7162f
...
...
@@ -66,11 +66,7 @@ function c41933425.activate(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c41933425
.
spfilter1
),
tp
,
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
sg1
:
Merge
(
sg2
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
SpecialSummon
(
sg1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
...
...
c43886072.lua
View file @
99a7162f
...
...
@@ -46,13 +46,8 @@ function c43886072.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chkc
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c43886072
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
local
sg
=
Group
.
CreateGroup
()
for
i
=
1
,
2
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
sg
:
Merge
(
g1
)
end
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
SetTargetCard
(
sg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
sg
,
#
sg
,
0
,
0
)
end
...
...
c44509529.lua
View file @
99a7162f
...
...
@@ -50,11 +50,7 @@ function c44509529.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chk
==
0
then
return
Duel
.
GetMZoneCount
(
tp
,
e
:
GetHandler
())
>
1
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g1
,
2
,
0
,
0
)
end
...
...
c46083111.lua
View file @
99a7162f
...
...
@@ -45,18 +45,12 @@ end
function
c46083111
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
46083111
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c46083111
.
filter2
(
c
,
g
)
return
g
:
IsExists
(
c46083111
.
filter3
,
1
,
c
,
c
:
GetCode
())
end
function
c46083111
.
filter3
(
c
,
code
)
return
not
c
:
IsCode
(
code
)
end
function
c46083111
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c46083111
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
return
g
:
IsExists
(
c46083111
.
filter2
,
1
,
nil
,
g
)
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
...
...
@@ -64,18 +58,10 @@ function c46083111.spop(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
c46083111
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
dg
=
g
:
Filter
(
c46083111
.
filter2
,
nil
,
g
)
if
dg
:
GetCount
()
>=
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
dg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc1
=
sg
:
GetFirst
()
dg
:
Remove
(
Card
.
IsCode
,
nil
,
tc1
:
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc2
=
dg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
Duel
.
SpecialSummonStep
(
tc1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
SpecialSummonStep
(
tc2
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
SpecialSummonComplete
()
local
g
=
Group
.
FromCards
(
tc1
,
tc2
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
if
sg
then
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
end
end
c4682617.lua
View file @
99a7162f
...
...
@@ -56,13 +56,8 @@ function c4682617.activate(e,tp,eg,ep,ev,re,r,rp)
if
sct
>
0
and
ft
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
4682617
,
0
))
then
Duel
.
BreakEffect
()
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
g
=
Group
.
CreateGroup
()
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc
=
sg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
g
:
AddCard
(
tc
)
sg
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
until
sct
==
g
:
GetCount
()
or
ft
==
g
:
GetCount
()
or
not
Duel
.
SelectYesNo
(
tp
,
210
)
local
g
=
sg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
math.min
(
ft
,
sct
))
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
...
...
c47075569.lua
View file @
99a7162f
...
...
@@ -66,13 +66,7 @@ function c47075569.thop(e,tp,eg,ep,ev,re,r,rp)
if
ct
==
0
or
g
:
GetCount
()
==
0
then
return
end
if
ct
>
g
:
GetClassCount
(
Card
.
GetCode
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
if
ct
==
2
then
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
end
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
ct
,
ct
)
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
end
c47457347.lua
View file @
99a7162f
...
...
@@ -21,14 +21,8 @@ function c47457347.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
g
=
Duel
.
GetMatchingGroup
(
c47457347
.
filter
,
tp
,
LOCATION_REMOVED
,
0
,
nil
,
e
,
tp
):
Filter
(
Card
.
IsCanBeEffectTarget
,
nil
,
e
)
local
tg
=
Group
.
CreateGroup
()
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
tg
:
Merge
(
sg
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
ft
=
ft
-
1
until
g
:
GetCount
()
==
0
or
ft
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
47457347
,
0
))
local
tg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ft
)
Duel
.
SetTargetCard
(
tg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
tg
,
tg
:
GetCount
(),
0
,
0
)
end
...
...
c50756327.lua
View file @
99a7162f
...
...
@@ -43,15 +43,7 @@ function c50756327.thop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c50756327
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg2
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
sg3
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
sg1
:
Merge
(
sg2
)
sg1
:
Merge
(
sg3
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
local
cg
=
sg1
:
RandomSelect
(
1
-
tp
,
1
)
local
tc
=
cg
:
GetFirst
()
...
...
c51205763.lua
View file @
99a7162f
...
...
@@ -54,18 +54,12 @@ end
function
c51205763
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
51205763
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c51205763
.
filter2
(
c
,
g
)
return
g
:
IsExists
(
c51205763
.
filter3
,
1
,
c
,
c
:
GetCode
())
end
function
c51205763
.
filter3
(
c
,
code
)
return
not
c
:
IsCode
(
code
)
end
function
c51205763
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c51205763
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
return
g
:
IsExists
(
c51205763
.
filter2
,
1
,
nil
,
g
)
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
...
...
@@ -73,18 +67,10 @@ function c51205763.spop(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
c51205763
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
dg
=
g
:
Filter
(
c51205763
.
filter2
,
nil
,
g
)
if
dg
:
GetCount
()
>=
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
dg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc1
=
sg
:
GetFirst
()
dg
:
Remove
(
Card
.
IsCode
,
nil
,
tc1
:
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc2
=
dg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
Duel
.
SpecialSummonStep
(
tc1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
SpecialSummonStep
(
tc2
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
SpecialSummonComplete
()
local
g
=
Group
.
FromCards
(
tc1
,
tc2
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
if
sg
then
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
end
end
c53208660.lua
View file @
99a7162f
...
...
@@ -40,11 +40,7 @@ function c53208660.activate(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c53208660
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
end
...
...
c56132807.lua
View file @
99a7162f
...
...
@@ -60,13 +60,8 @@ function c56132807.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c56132807
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
c
)
end
local
g
=
Duel
.
GetMatchingGroup
(
c56132807
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
c
):
Filter
(
Card
.
IsCanBeEffectTarget
,
nil
,
e
)
local
tg
=
Group
.
CreateGroup
()
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
tg
:
Merge
(
sg
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
until
tg
:
GetCount
()
==
3
or
g
:
GetCount
()
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
56132807
,
0
))
local
tg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
3
)
Duel
.
SetTargetCard
(
tg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
tg
,
tg
:
GetCount
(),
0
,
0
)
end
...
...
c56337500.lua
View file @
99a7162f
...
...
@@ -81,7 +81,7 @@ function c56337500.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
or
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c56337500
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
return
g
:
CheckSubGroup
(
aux
.
dncheck
,
2
,
2
)
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
...
...
c58753372.lua
View file @
99a7162f
...
...
@@ -74,13 +74,8 @@ end
function
c58753372
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c58753372
.
spfilter2
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
local
cg
=
Group
.
CreateGroup
()
for
i
=
1
,
3
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
cg
:
Merge
(
sg
)
end
local
cg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
Duel
.
ShuffleDeck
(
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_SPSUMMON
)
...
...
c58820923.lua
View file @
99a7162f
...
...
@@ -42,13 +42,8 @@ end
function
c58820923
.
rmcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c58820923
.
cfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
end
local
tg
=
Group
.
CreateGroup
()
for
i
=
1
,
3
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
tg
:
Merge
(
sg
)
end
local
tg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
Duel
.
SendtoGrave
(
tg
,
REASON_COST
)
end
function
c58820923
.
rmtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
...
...
c59057953.lua
View file @
99a7162f
...
...
@@ -28,12 +28,6 @@ function c59057953.operation(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c59057953
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
<
2
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
59057953
,
0
))
local
tg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tg1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
59057953
,
0
))
local
tg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
tg1
:
Merge
(
tg2
)
if
tg1
:
GetCount
()
==
2
then
local
tg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
SendtoExtraP
(
tg1
,
tp
,
REASON_EFFECT
)
end
end
c59934749.lua
View file @
99a7162f
...
...
@@ -108,13 +108,8 @@ function c59934749.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
lvt
[
pc
]
=
nil
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
59934749
,
2
))
local
lv
=
Duel
.
AnnounceNumber
(
tp
,
table.unpack
(
lvt
))
local
rg
=
Group
.
CreateGroup
()
for
i
=
1
,
lv
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
sg
=
cg
:
Select
(
tp
,
1
,
1
,
nil
)
cg
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
rg
:
Merge
(
sg
)
end
local
rg
=
cg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
lv
,
lv
)
Duel
.
SendtoGrave
(
rg
,
REASON_COST
)
e
:
SetLabel
(
lv
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
)
...
...
c61613388.lua
View file @
99a7162f
...
...
@@ -40,20 +40,12 @@ function c61613388.activate(e,tp,eg,ep,ev,re,r,rp)
if
ct1
>
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
then
ct1
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
end
if
ct2
>
Duel
.
GetLocationCount
(
1
-
tp
,
LOCATION_MZONE
)
then
ct2
=
Duel
.
GetLocationCount
(
1
-
tp
,
LOCATION_MZONE
)
end
if
ct1
<=
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ct1
=
1
end
local
g
=
Duel
.
GetMatchingGroup
(
c61613388
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
==
0
then
return
end
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
ct1
=
ct1
-
1
while
ct1
>
0
and
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
61613388
,
0
))
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
sg
:
Merge
(
g1
)
ct1
=
ct1
-
1
end
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ct1
)
local
sc
=
sg
:
GetFirst
()
while
sc
do
if
Duel
.
SpecialSummonStep
(
sc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
...
...
@@ -68,6 +60,7 @@ function c61613388.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SpecialSummonComplete
()
if
ct2
>
0
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsCanBeSpecialSummoned
,
tp
,
0
,
LOCATION_DECK
,
1
,
nil
,
e
,
0
,
1
-
tp
,
false
,
false
)
and
Duel
.
SelectYesNo
(
1
-
tp
,
aux
.
Stringid
(
61613388
,
1
))
then
if
Duel
.
IsPlayerAffectedByEffect
(
1
-
tp
,
59822133
)
then
ct2
=
1
end
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_SPSUMMON
)
local
sg2
=
Duel
.
SelectMatchingCard
(
1
-
tp
,
Card
.
IsCanBeSpecialSummoned
,
tp
,
0
,
LOCATION_DECK
,
1
,
ct2
,
nil
,
e
,
0
,
1
-
tp
,
false
,
false
)
...
...
c62000467.lua
View file @
99a7162f
...
...
@@ -71,13 +71,7 @@ function c62000467.spop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c62000467
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>=
2
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc1
=
sg1
:
GetFirst
()
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc1
:
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc2
=
sg2
:
GetFirst
()
sg1
:
Merge
(
sg2
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
local
tc
=
sg1
:
GetFirst
()
Duel
.
SpecialSummonStep
(
tc
,
125
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
tc
:
RegisterFlagEffect
(
tc
:
GetOriginalCode
(),
RESET_EVENT
+
RESETS_STANDARD
+
RESET_DISABLE
,
0
,
0
)
...
...
c62376646.lua
View file @
99a7162f
...
...
@@ -22,11 +22,7 @@ function c62376646.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
1
and
g
:
GetClassCount
(
Card
.
GetLevel
)
>=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsLevel
,
nil
,
g1
:
GetFirst
():
GetLevel
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dlvcheck
,
false
,
2
,
2
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g1
,
2
,
0
,
0
)
end
...
...
c64280356.lua
View file @
99a7162f
...
...
@@ -64,15 +64,7 @@ function c64280356.thop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c64280356
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg2
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
sg3
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
sg1
:
Merge
(
sg2
)
sg1
:
Merge
(
sg3
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
Duel
.
ShuffleDeck
(
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_ATOHAND
)
...
...
c64990807.lua
View file @
99a7162f
...
...
@@ -15,17 +15,10 @@ function c64990807.cfilter(c)
return
c
:
IsSetCard
(
0x2f
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
not
c
:
IsPublic
()
end
function
c64990807
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetMatchingGroup
(
c64990807
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
):
GetClassCount
(
Card
.
GetCode
)
>=
3
end
local
g
=
Duel
.
GetMatchingGroup
(
c64990807
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
tc1
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc1
:
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
tc2
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc2
:
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
tc3
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
local
cg
=
Group
.
FromCards
(
tc1
,
tc2
,
tc3
)
local
cg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
Duel
.
ShuffleHand
(
tp
)
end
...
...
c68191243.lua
View file @
99a7162f
...
...
@@ -28,14 +28,10 @@ end
function
c68191243
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<=
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
g
=
Duel
.
GetMatchingGroup
(
c68191243
.
filter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
,
tp
)
while
g
:
GetCount
()
>
0
and
ft
>
0
do
if
g
:
GetCount
()
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummonStep
(
sg
:
GetFirst
(),
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
ft
=
ft
-
1
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
if
g
:
GetCount
()
>
0
and
ft
>
0
and
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
68191243
,
0
))
then
ft
=
0
end
end
Duel
.
SpecialSummonComplete
()
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ft
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
c69394324.lua
View file @
99a7162f
...
...
@@ -77,7 +77,7 @@ function c69394324.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local
g
=
Duel
.
GetMatchingGroup
(
c69394324
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
chk
==
0
then
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>=
3
and
g
:
CheckSubGroup
(
aux
.
dncheck
,
3
,
3
)
end
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
Duel
.
SetTargetCard
(
sg
)
...
...
c69572169.lua
View file @
99a7162f
...
...
@@ -22,13 +22,8 @@ end
function
c69572169
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
rg
=
Duel
.
GetMatchingGroup
(
c69572169
.
rfilter
,
tp
,
LOCATION_GRAVE
,
0
,
e
:
GetHandler
())
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToRemoveAsCost
()
and
rg
:
GetClassCount
(
Card
.
GetCode
)
>=
3
end
local
g
=
Group
.
CreateGroup
()
for
i
=
1
,
3
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
tc
=
rg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
rg
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
g
:
AddCard
(
tc
)
end
local
g
=
rg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
g
:
AddCard
(
e
:
GetHandler
())
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
...
...
c71791814.lua
View file @
99a7162f
...
...
@@ -64,15 +64,8 @@ function c71791814.effop(e,tp,eg,ep,ev,re,r,rp)
local
ct
=
Duel
.
GetFieldGroupCount
(
tp
,
0
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c71791814
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
ct
<=
0
or
g
:
GetCount
()
==
0
then
return
end
local
sg
=
Group
.
CreateGroup
()
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
sg1
:
GetFirst
()
sg
:
AddCard
(
tc
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
ct
=
ct
-
1
until
ct
<=
0
or
g
:
GetCount
()
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
71791814
,
2
))
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ct
)
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
else
...
...
@@ -81,15 +74,8 @@ function c71791814.effop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c71791814
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
if
ft
<=
0
or
ct
<=
0
or
g
:
GetCount
()
==
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
sg
:
GetFirst
()
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
ft
=
ft
-
1
ct
=
ct
-
1
until
ft
<=
0
or
ct
<=
0
or
g
:
GetCount
()
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
71791814
,
3
))
Duel
.
SpecialSummonComplete
()
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
math.min
(
ft
,
ct
))
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
c72537897.lua
View file @
99a7162f
...
...
@@ -30,15 +30,7 @@ function c72537897.activate(e,tp,eg,ep,ev,re,r,rp)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
2
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg2
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg3
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
sg1
:
Merge
(
sg2
)
sg1
:
Merge
(
sg3
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
local
fid
=
c
:
GetFieldID
()
local
tc
=
sg1
:
GetFirst
()
while
tc
do
...
...
c73881652.lua
View file @
99a7162f
...
...
@@ -53,13 +53,8 @@ function c73881652.drtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local
g
=
Duel
.
GetMatchingGroup
(
c73881652
.
drfilter
,
tp
,
LOCATION_GRAVE
,
0
,
e
:
GetHandler
(),
e
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
4
end
local
sg
=
Group
.
CreateGroup
()
for
i
=
1
,
5
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
sg
:
Merge
(
g1
)
end
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
5
,
5
)
Duel
.
SetTargetCard
(
sg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
5
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
...
...
c74414885.lua
View file @
99a7162f
...
...
@@ -29,12 +29,12 @@ function c74414885.activate(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<=
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c74414885
.
filter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
==
0
then
return
end
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
sg
:
GetFirst
()
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ft
)
for
tc
in
aux
.
Next
(
sg
)
do
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
...
@@ -55,9 +55,7 @@ function c74414885.activate(e,tp,eg,ep,ev,re,r,rp)
e3
:
SetTarget
(
c74414885
.
splimit
)
e3
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e3
,
true
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
ft
=
ft
-
1
until
ft
<=
0
or
g
:
GetCount
()
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
74414885
,
0
))
end
Duel
.
SpecialSummonComplete
()
end
function
c74414885
.
splimit
(
e
,
c
)
...
...
c74974229.lua
View file @
99a7162f
...
...
@@ -72,17 +72,11 @@ end
function
c74974229
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<=
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c74974229
.
spfilter
),
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
local
ct
=
Duel
.
GetMatchingGroupCount
(
c74974229
.
ctfilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
if
g
:
GetCount
()
==
0
or
ct
==
0
then
return
end
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
sg
:
GetFirst
()
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
ft
=
ft
-
1
ct
=
ct
-
1
until
ft
<=
0
or
g
:
GetCount
()
==
0
or
ct
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
74974229
,
3
))
Duel
.
SpecialSummonComplete
()
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
math.min
(
ft
,
ct
))
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
c76382116.lua
View file @
99a7162f
...
...
@@ -32,7 +32,7 @@ function c76382116.fselect(g,e,tp)
table.insert
(
code
,
tc
:
GetCode
())
end
local
sg
=
Duel
.
GetMatchingGroup
(
c76382116
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
,
tp
,
table.unpack
(
code
))
if
sg
:
CheckSubGroup
(
aux
.
dncheck
,
g
:
GetCount
(),
g
:
GetCount
()
)
and
Duel
.
GetMZoneCount
(
tp
,
g
)
>=
g
:
GetCount
()
then
if
sg
:
GetClassCount
(
Card
.
GetCode
)
>=
g
:
GetCount
(
)
and
Duel
.
GetMZoneCount
(
tp
,
g
)
>=
g
:
GetCount
()
then
Duel
.
SetSelectedCard
(
g
)
return
Duel
.
CheckReleaseGroup
(
tp
,
nil
,
0
,
nil
)
else
return
false
end
...
...
c77075360.lua
View file @
99a7162f
...
...
@@ -63,22 +63,10 @@ function c77075360.spop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c77075360
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
if
ft
<=
0
or
g
:
GetCount
()
==
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
sg
=
Group
.
CreateGroup
()
while
ft
>
0
and
g
:
GetCount
()
>
0
do
local
ct
=
math.min
(
g
:
GetClassCount
(
Card
.
GetLevel
),
ft
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
if
sg1
:
GetCount
()
>
0
then
local
tc
=
sg1
:
GetFirst
()
sg
:
AddCard
(
tc
)
g
:
Remove
(
Card
.
IsLevel
,
nil
,
tc
:
GetLevel
())
ft
=
ft
-
1
else
break
end
end
if
#
sg
>
0
then
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dlvcheck
,
false
,
ct
,
ct
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
end
function
c77075360
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
...
...
c78785392.lua
View file @
99a7162f
...
...
@@ -50,16 +50,7 @@ function c78785392.activate(e,tp,eg,ep,ev,re,r,rp)
if
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
ct
>
3
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
3
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
ct
=
ct
-
1
while
ct
>
0
and
g
:
GetCount
()
>
0
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g2
:
GetFirst
():
GetCode
())
g1
:
Merge
(
g2
)
ct
=
ct
-
1
end
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
4
,
4
)
local
tc
=
g1
:
GetFirst
()
while
tc
do
if
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
then
...
...
c78859567.lua
View file @
99a7162f
...
...
@@ -32,14 +32,8 @@ function c78859567.activate(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ct
=
1
end
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c78859567
.
filter
),
tp
,
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
local
sg
=
Group
.
CreateGroup
()
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
sg
:
AddCard
(
sg2
:
GetFirst
())
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg2
:
GetFirst
():
GetCode
())
ct
=
ct
-
1
until
ct
==
0
or
g
:
GetCount
()
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
78859567
,
0
))
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ct
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
,
zone
)
end
end
c79407975.lua
View file @
99a7162f
...
...
@@ -38,15 +38,8 @@ function c79407975.spcon(e,c)
end
function
c79407975
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
g
=
Duel
.
GetMatchingGroup
(
c79407975
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
rg
=
Group
.
CreateGroup
()
for
i
=
1
,
7
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
tc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
if
tc
then
rg
:
AddCard
(
tc
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
end
end
local
rg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
7
,
7
)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
end
function
c79407975
.
cfilter
(
c
)
...
...
c81587028.lua
View file @
99a7162f
...
...
@@ -19,18 +19,12 @@ end
function
c81587028
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsType
(
TYPE_NORMAL
)
and
(
c
:
IsAttack
(
0
)
or
c
:
IsDefense
(
0
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
function
c81587028
.
filter2
(
c
,
g
)
return
g
:
IsExists
(
c81587028
.
filter3
,
1
,
c
,
c
:
GetCode
())
end
function
c81587028
.
filter3
(
c
,
code
)
return
c
:
GetCode
()
~=
code
end
function
c81587028
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c81587028
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
return
g
:
IsExists
(
c81587028
.
filter2
,
1
,
nil
,
g
)
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
...
...
@@ -38,14 +32,11 @@ function c81587028.spop(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
c81587028
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
dg
=
g
:
Filter
(
c81587028
.
filter2
,
nil
,
g
)
if
dg
:
GetCount
()
>=
1
then
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
dg
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
local
tc1
=
sg
:
GetFirst
()
dg
:
Remove
(
Card
.
IsCode
,
nil
,
tc1
:
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc2
=
dg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
local
tc2
=
sg
:
GetNext
()
Duel
.
SpecialSummonStep
(
tc1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
Duel
.
SpecialSummonStep
(
tc2
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
tc1
:
RegisterFlagEffect
(
81587028
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
...
...
@@ -59,7 +50,6 @@ function c81587028.spop(e,tp,eg,ep,ev,re,r,rp)
local
e2
=
e1
:
Clone
()
tc2
:
RegisterEffect
(
e2
)
Duel
.
SpecialSummonComplete
()
sg
:
AddCard
(
tc2
)
sg
:
KeepAlive
()
local
de
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
de
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
...
...
c82428674.lua
View file @
99a7162f
...
...
@@ -31,22 +31,13 @@ function c82428674.target(e,tp,eg,ep,ev,re,r,rp,chk)
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
end
function
c82428674
.
rescon
(
sg
,
e
,
tp
,
mg
)
return
sg
:
GetClassCount
(
Card
.
GetLevel
)
==
sg
:
GetCount
()
end
function
c82428674
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
dg
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
local
ct
=
dg
:
GetCount
()
local
g
=
Duel
.
GetMatchingGroup
(
c82428674
.
rmfilter
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
+
LOCATION_MZONE
,
0
,
nil
)
if
ct
==
0
or
g
:
GetCount
()
==
0
then
return
end
local
rg
=
Group
.
CreateGroup
()
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
rg
:
Merge
(
sg
)
g
:
Remove
(
Card
.
IsLevel
,
nil
,
sg
:
GetFirst
():
GetLevel
())
ct
=
ct
-
1
until
ct
==
0
or
g
:
GetCount
()
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
82428674
,
0
))
local
rg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dlvcheck
,
false
,
1
,
ct
)
local
rc
=
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_EFFECT
)
if
rc
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
...
...
c83293307.lua
View file @
99a7162f
...
...
@@ -46,18 +46,12 @@ end
function
c83293307
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
83293307
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c83293307
.
filter2
(
c
,
g
)
return
g
:
IsExists
(
c83293307
.
filter3
,
1
,
c
,
c
:
GetCode
())
end
function
c83293307
.
filter3
(
c
,
code
)
return
not
c
:
IsCode
(
code
)
end
function
c83293307
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c83293307
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
return
g
:
IsExists
(
c83293307
.
filter2
,
1
,
nil
,
g
)
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
...
...
@@ -65,18 +59,10 @@ function c83293307.spop(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
c83293307
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
dg
=
g
:
Filter
(
c83293307
.
filter2
,
nil
,
g
)
if
dg
:
GetCount
()
>=
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
dg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc1
=
sg
:
GetFirst
()
dg
:
Remove
(
Card
.
IsCode
,
nil
,
tc1
:
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc2
=
dg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
Duel
.
SpecialSummonStep
(
tc1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
SpecialSummonStep
(
tc2
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
SpecialSummonComplete
()
local
g
=
Group
.
FromCards
(
tc1
,
tc2
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
if
sg
then
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
end
end
c83554231.lua
View file @
99a7162f
...
...
@@ -30,11 +30,7 @@ function c83554231.target(e,tp,eg,ep,ev,re,r,rp,chk)
local
g
=
Duel
.
GetMatchingGroup
(
c83554231
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g1
,
2
,
0
,
0
)
end
...
...
c84025439.lua
View file @
99a7162f
...
...
@@ -100,15 +100,7 @@ function c84025439.spop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c84025439
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
ft
>
2
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g2
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g3
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g3
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
Duel
.
SpecialSummon
(
g1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
c85638822.lua
View file @
99a7162f
...
...
@@ -73,15 +73,10 @@ function c85638822.spop(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
Duel
.
GetMatchingGroup
(
c85638822
.
spfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
if
tg
:
GetCount
()
==
0
or
ft
<=
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
g
=
Group
.
CreateGroup
()
while
tg
:
GetCount
()
>
0
and
ft
>
0
do
local
ct
=
math.min
(
tg
:
GetClassCount
(
Card
.
GetCode
),
ft
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
tg
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Merge
(
sg
)
ft
=
ft
-
1
tg
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
end
if
g
:
GetCount
()
>
0
and
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
local
g
=
tg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
ct
,
ct
)
if
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
c
:
AddCounter
(
0x46
,
3
)
end
end
c856784.lua
View file @
99a7162f
...
...
@@ -21,7 +21,7 @@ function c856784.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
if
not
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_DECK
,
0
,
nil
)
return
g
:
CheckSubGroup
(
aux
.
dncheck
,
3
,
3
)
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
end
...
...
c88316955.lua
View file @
99a7162f
...
...
@@ -44,18 +44,12 @@ end
function
c88316955
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
88316955
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c88316955
.
filter2
(
c
,
g
)
return
g
:
IsExists
(
c88316955
.
filter3
,
1
,
c
,
c
:
GetCode
())
end
function
c88316955
.
filter3
(
c
,
code
)
return
not
c
:
IsCode
(
code
)
end
function
c88316955
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c88316955
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
return
g
:
IsExists
(
c88316955
.
filter2
,
1
,
nil
,
g
)
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
...
...
@@ -63,18 +57,10 @@ function c88316955.spop(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
c88316955
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
dg
=
g
:
Filter
(
c88316955
.
filter2
,
nil
,
g
)
if
dg
:
GetCount
()
>=
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
dg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc1
=
sg
:
GetFirst
()
dg
:
Remove
(
Card
.
IsCode
,
nil
,
tc1
:
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc2
=
dg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
Duel
.
SpecialSummonStep
(
tc1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
SpecialSummonStep
(
tc2
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
SpecialSummonComplete
()
local
g
=
Group
.
FromCards
(
tc1
,
tc2
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
if
sg
then
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
end
end
c89397517.lua
View file @
99a7162f
...
...
@@ -41,29 +41,22 @@ end
function
c89397517
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<=
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
rmg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c89397517
.
rmfilter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
nil
)
local
rmct
=
rmg
:
GetClassCount
(
Card
.
GetCode
)
local
spg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c89397517
.
spfilter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
spct
=
spg
:
GetClassCount
(
Card
.
GetCode
)
local
ct
=
math.min
(
3
,
ft
,
spct
,
rmct
)
if
ct
==
0
then
return
end
local
g
=
Group
.
CreateGroup
()
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
tc
=
rmg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
rmg
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
g
:
AddCard
(
tc
)
ct
=
ct
-
1
until
ct
<
1
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
89397517
,
0
))
local
g
=
rmg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ct
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
ct
=
g
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_REMOVED
)
while
ct
>
0
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc
=
spg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
(
)
spg
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
local
sg
=
spg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
ct
,
ct
)
for
tc
in
aux
.
Next
(
sg
)
do
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
true
,
true
,
POS_FACEUP
)
tc
:
CompleteProcedure
()
ct
=
ct
-
1
end
Duel
.
SpecialSummonComplete
()
end
c938717.lua
View file @
99a7162f
...
...
@@ -28,7 +28,7 @@ function c938717.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local
g
=
Duel
.
GetMatchingGroup
(
c938717
.
eqfilter
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
local
ft
=
math.min
((
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)),
2
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
g
:
CheckSubGroup
(
aux
.
dncheck
,
1
,
ft
)
and
g
:
GetCount
()
>
0
and
e
:
GetHandler
():
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ft
)
...
...
c96570609.lua
View file @
99a7162f
...
...
@@ -75,11 +75,7 @@ function c96570609.spop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c96570609
.
tgfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
<
2
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
tg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tg1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
tg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
tg1
:
Merge
(
tg2
)
local
tg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
if
Duel
.
SendtoGrave
(
tg1
,
REASON_EFFECT
)
~=
0
and
tg1
:
IsExists
(
Card
.
IsLocation
,
2
,
nil
,
LOCATION_GRAVE
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
c97433739.lua
View file @
99a7162f
...
...
@@ -40,15 +40,7 @@ function c97433739.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
2
and
g
:
GetClassCount
(
Card
.
GetLevel
)
>=
3
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsLevel
,
nil
,
g1
:
GetFirst
():
GetLevel
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsLevel
,
nil
,
g2
:
GetFirst
():
GetLevel
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g3
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
g1
:
Merge
(
g3
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dlvcheck
,
false
,
3
,
3
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g1
,
3
,
0
,
0
)
end
...
...
c97648103.lua
View file @
99a7162f
...
...
@@ -27,11 +27,7 @@ function c97648103.target(e,tp,eg,ep,ev,re,r,rp,chk)
local
g
=
Duel
.
GetMatchingGroup
(
c97648103
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
g1
:
GetFirst
():
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g1
,
2
,
0
,
0
)
end
...
...
c98672567.lua
View file @
99a7162f
...
...
@@ -37,15 +37,7 @@ function c98672567.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
local
g
=
Duel
.
GetMatchingGroup
(
c98672567
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsRace
,
nil
,
g1
:
GetFirst
():
GetRace
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsRace
,
nil
,
g2
:
GetFirst
():
GetRace
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g3
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
g1
:
Merge
(
g3
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
drccheck
,
false
,
3
,
3
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g1
,
3
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
2
)
...
...
c99157310.lua
View file @
99a7162f
...
...
@@ -69,13 +69,8 @@ function c99157310.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chk
==
0
then
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
2
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
end
local
tg
=
Group
.
CreateGroup
()
for
i
=
1
,
3
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
tg
:
Merge
(
sg
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
end
local
tg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
Duel
.
SetTargetCard
(
tg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
tg
,
tg
:
GetCount
(),
0
,
0
)
end
...
...
utility.lua
View file @
99a7162f
...
...
@@ -2238,6 +2238,26 @@ end
function
Auxiliary
.
dncheck
(
g
)
return
g
:
GetClassCount
(
Card
.
GetCode
)
==#
g
end
--check for cards with different levels
function
Auxiliary
.
dlvcheck
(
g
)
return
g
:
GetClassCount
(
Card
.
GetLevel
)
==#
g
end
--check for cards with different ranks
function
Auxiliary
.
drkcheck
(
g
)
return
g
:
GetClassCount
(
Card
.
GetRank
)
==#
g
end
--check for cards with different links
function
Auxiliary
.
dlkcheck
(
g
)
return
g
:
GetClassCount
(
Card
.
GetLink
)
==#
g
end
--check for cards with different attributes
function
Auxiliary
.
dabcheck
(
g
)
return
g
:
GetClassCount
(
Card
.
GetAttribute
)
==#
g
end
--check for cards with different races
function
Auxiliary
.
drccheck
(
g
)
return
g
:
GetClassCount
(
Card
.
GetRace
)
==#
g
end
--used for "except this card"
function
Auxiliary
.
ExceptThisCard
(
e
)
local
c
=
e
:
GetHandler
()
...
...
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