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
Hide 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)
...
@@ -80,7 +80,7 @@ function c10424147.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chkc
then
return
false
end
if
chkc
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c10424147
.
spfilter3
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
,
e
)
local
g
=
Duel
.
GetMatchingGroup
(
c10424147
.
spfilter3
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
,
e
)
if
chk
==
0
then
return
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
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
and
Duel
.
IsExistingMatchingCard
(
c10424147
.
spfilter4
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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)
...
@@ -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
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c10613952
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
,
e
:
GetHandler
())
local
g
=
Duel
.
GetMatchingGroup
(
c10613952
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
,
e
:
GetHandler
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
math.min
(
ft
,
3
))
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
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
g1
,
g1
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
g1
,
g1
:
GetCount
(),
0
,
0
)
end
end
...
...
c10698416.lua
View file @
99a7162f
...
@@ -47,18 +47,12 @@ end
...
@@ -47,18 +47,12 @@ end
function
c10698416
.
filter1
(
c
,
e
,
tp
)
function
c10698416
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
10698416
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
10698416
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
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
)
function
c10698416
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
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
)
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
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
end
...
@@ -66,18 +60,10 @@ function c10698416.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
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
g
=
Duel
.
GetMatchingGroup
(
c10698416
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
dg
=
g
:
Filter
(
c10698416
.
filter2
,
nil
,
g
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
if
dg
:
GetCount
()
>=
1
then
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
if
sg
then
local
sg
=
dg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
local
tc1
=
sg
:
GetFirst
()
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
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
)
end
end
end
end
c12215894.lua
View file @
99a7162f
...
@@ -70,15 +70,8 @@ end
...
@@ -70,15 +70,8 @@ end
function
c12215894
.
cost2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
)
local
g
=
Duel
.
GetMatchingGroup
(
c12215894
.
cfilter
,
tp
,
LOCATION_GRAVE
+
LOCATION_ONFIELD
,
0
,
nil
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
9
end
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
9
end
local
rg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
for
i
=
1
,
9
do
local
rg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
9
,
9
)
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
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
end
end
function
c12215894
.
target2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c12950294
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
<
2
then
return
end
if
g
:
GetClassCount
(
Card
.
GetCode
)
<
2
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
tg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tg1
:
GetFirst
():
GetCode
())
Duel
.
SendtoHand
(
tg1
,
nil
,
REASON_EFFECT
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
ConfirmCards
(
1
-
tp
,
tg1
)
local
tg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
tg1
:
Merge
(
tg2
)
if
tg1
:
GetCount
()
==
2
then
Duel
.
SendtoHand
(
tg1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
tg1
)
end
end
end
c13662809.lua
View file @
99a7162f
...
@@ -68,13 +68,7 @@ function c13662809.thop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c13662809
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetCount
()
<=
0
then
return
end
if
g
:
GetCount
()
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
2
)
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
Duel
.
SendtoHand
(
sg1
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
sg1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
end
end
c14470845.lua
View file @
99a7162f
...
@@ -73,11 +73,7 @@ function c14470845.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
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
if
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
ft
>
1
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
)
Duel
.
SpecialSummon
(
g1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
end
c14604710.lua
View file @
99a7162f
...
@@ -64,11 +64,7 @@ function c14604710.activate2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -64,11 +64,7 @@ function c14604710.activate2(e,tp,eg,ep,ev,re,r,rp)
if
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
if
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
ft
>
1
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
1
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
and
ft
>
1
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
1
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
)
Duel
.
SpecialSummon
(
g1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
local
fid
=
c
:
GetFieldID
()
local
fid
=
c
:
GetFieldID
()
local
sc
=
g1
:
GetFirst
()
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)
...
@@ -58,13 +58,8 @@ function c15449853.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chkc
then
return
false
end
if
chkc
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c15449853
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
local
g
=
Duel
.
GetMatchingGroup
(
c15449853
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
end
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
end
local
tg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
repeat
local
tg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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
Duel
.
SetTargetCard
(
tg
)
Duel
.
SetTargetCard
(
tg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
tg
,
tg
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
tg
,
tg
:
GetCount
(),
0
,
0
)
end
end
...
...
c1561110.lua
View file @
99a7162f
...
@@ -80,13 +80,8 @@ function c1561110.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -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
)
return
ft
>
2
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
end
end
local
sg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
for
i
=
1
,
3
do
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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
Duel
.
SetTargetCard
(
sg
)
Duel
.
SetTargetCard
(
sg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
sg
,
3
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
sg
,
3
,
0
,
0
)
end
end
...
...
c15710054.lua
View file @
99a7162f
...
@@ -44,18 +44,12 @@ end
...
@@ -44,18 +44,12 @@ end
function
c15710054
.
filter1
(
c
,
e
,
tp
)
function
c15710054
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
15710054
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
15710054
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
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
)
function
c15710054
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
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
)
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
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
end
...
@@ -63,18 +57,10 @@ function c15710054.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
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
g
=
Duel
.
GetMatchingGroup
(
c15710054
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
dg
=
g
:
Filter
(
c15710054
.
filter2
,
nil
,
g
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
if
dg
:
GetCount
()
>=
1
then
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
if
sg
then
local
sg
=
dg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
local
tc1
=
sg
:
GetFirst
()
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
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
)
end
end
end
end
c16329071.lua
View file @
99a7162f
...
@@ -24,13 +24,8 @@ end
...
@@ -24,13 +24,8 @@ end
function
c16329071
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
)
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
if
g
:
GetClassCount
(
Card
.
GetCode
)
<
5
then
return
end
local
sg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
for
i
=
1
,
5
do
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
5
,
5
)
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
cg
=
sg
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_HAND
)
local
cg
=
sg
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_HAND
)
if
cg
:
GetCount
()
>
0
then
if
cg
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
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)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c17382973
.
thfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g1
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g1
,
2
,
0
,
0
)
end
end
...
...
c18378992.lua
View file @
99a7162f
...
@@ -22,7 +22,7 @@ function c18378992.costcheck(g,tp)
...
@@ -22,7 +22,7 @@ function c18378992.costcheck(g,tp)
local
code1
=
g
:
GetFirst
():
GetCode
()
local
code1
=
g
:
GetFirst
():
GetCode
()
local
code2
=
g
:
GetNext
():
GetCode
()
local
code2
=
g
:
GetNext
():
GetCode
()
local
tg
=
Duel
.
GetMatchingGroup
(
c18378992
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
code1
,
code2
)
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
end
function
c18378992
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c18378992
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
e
:
SetLabel
(
100
)
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)
...
@@ -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
)
if
chk
==
0
then
return
Duel
.
GetMZoneCount
(
tp
,
e
:
GetHandler
())
>
1
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g1
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g1
,
2
,
0
,
0
)
end
end
...
...
c19337371.lua
View file @
99a7162f
...
@@ -65,18 +65,7 @@ function c19337371.thop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c19337371
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetCount
()
==
0
then
return
end
if
g
:
GetCount
()
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
3
)
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
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
end
end
c20537097.lua
View file @
99a7162f
...
@@ -66,13 +66,8 @@ function c20537097.thop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
g
=
Duel
.
GetMatchingGroup
(
c20537097
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
ct
=
e
:
GetHandler
():
GetColumnGroup
():
FilterCount
(
Card
.
IsControler
,
nil
,
1
-
tp
)
local
ct
=
e
:
GetHandler
():
GetColumnGroup
():
FilterCount
(
Card
.
IsControler
,
nil
,
1
-
tp
)
if
ct
<=
0
or
g
:
GetClassCount
(
Card
.
GetCode
)
<
ct
then
return
end
if
ct
<=
0
or
g
:
GetClassCount
(
Card
.
GetCode
)
<
ct
then
return
end
local
hg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
for
i
=
1
,
ct
do
local
hg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
ct
,
ct
)
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
Duel
.
SendtoHand
(
hg
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
hg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
hg
)
Duel
.
ConfirmCards
(
1
-
tp
,
hg
)
end
end
c21223277.lua
View file @
99a7162f
...
@@ -41,18 +41,7 @@ function c21223277.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -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
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c21223277
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
,
e
:
GetHandler
())
local
g
=
Duel
.
GetMatchingGroup
(
c21223277
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
,
e
:
GetHandler
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
math.min
(
ft
,
3
))
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
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
g1
,
g1
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
g1
,
g1
:
GetCount
(),
0
,
0
)
end
end
...
...
c23064604.lua
View file @
99a7162f
...
@@ -72,11 +72,7 @@ function c23064604.tdop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c23064604
.
tgfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
<
2
then
return
end
if
g
:
GetClassCount
(
Card
.
GetCode
)
<
2
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
tg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
)
if
Duel
.
SendtoGrave
(
tg1
,
REASON_EFFECT
)
~=
0
and
tg1
:
IsExists
(
Card
.
IsLocation
,
2
,
nil
,
LOCATION_GRAVE
)
then
if
Duel
.
SendtoGrave
(
tg1
,
REASON_EFFECT
)
~=
0
and
tg1
:
IsExists
(
Card
.
IsLocation
,
2
,
nil
,
LOCATION_GRAVE
)
then
local
sg
=
nil
local
sg
=
nil
local
hg
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToDeck
,
tp
,
0
,
LOCATION_HAND
,
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)
...
@@ -79,14 +79,8 @@ function c2390019.activate(e,tp,eg,ep,ev,re,r,rp)
local
rc
=
e
:
GetLabelObject
()
local
rc
=
e
:
GetLabelObject
()
local
mg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c2390019
.
filter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
nil
,
rc
,
e
,
tp
)
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
if
mg
:
GetClassCount
(
Card
.
GetCode
)
<
ct
then
return
end
local
g
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
while
ct
>
0
do
local
g
=
mg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
ct
,
ct
)
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
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
function
c2390019
.
tdfilter
(
c
)
function
c2390019
.
tdfilter
(
c
)
...
...
c27062594.lua
View file @
99a7162f
...
@@ -50,13 +50,8 @@ end
...
@@ -50,13 +50,8 @@ end
function
c27062594
.
damcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
g
=
Duel
.
GetMatchingGroup
(
c27062594
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
rg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
repeat
local
rg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
g
:
GetCount
())
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
ct
=
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
local
ct
=
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
e
:
SetLabel
(
ct
)
e
:
SetLabel
(
ct
)
end
end
...
...
c28617139.lua
View file @
99a7162f
...
@@ -31,22 +31,18 @@ end
...
@@ -31,22 +31,18 @@ end
function
c28617139
.
thfilter
(
c
)
function
c28617139
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x12d
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToHand
()
return
c
:
IsSetCard
(
0x12d
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToHand
()
end
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
)
function
c28617139
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c28617139
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
end
function
c28617139
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c28617139
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c28617139
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
c28617139
.
fselect
,
false
,
2
,
2
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dabcheck
,
false
,
2
,
2
)
if
sg
and
sg
:
GetCount
()
==
2
then
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
end
end
end
function
c28617139
.
cffilter
(
c
)
function
c28617139
.
cffilter
(
c
)
return
c
:
IsRace
(
RACE_WINDBEAST
)
and
c
:
IsLevelAbove
(
2
)
and
not
c
:
IsPublic
()
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)
...
@@ -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
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
)
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
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
5
and
Duel
.
IsPlayerCanDraw
(
tp
,
2
)
end
local
sg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
for
i
=
1
,
5
do
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
5
,
5
)
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
Duel
.
SetTargetCard
(
sg
)
Duel
.
SetTargetCard
(
sg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
sg
,
sg
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
sg
,
sg
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
2
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
2
)
...
...
c29146185.lua
View file @
99a7162f
...
@@ -65,13 +65,8 @@ end
...
@@ -65,13 +65,8 @@ end
function
c29146185
.
descost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c29146185
.
descost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c29146185
.
cffilter
,
tp
,
LOCATION_HAND
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c29146185
.
cffilter
,
tp
,
LOCATION_HAND
,
0
,
nil
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
4
end
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
4
end
local
cg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
for
i
=
1
,
4
do
local
cg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
4
,
4
)
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
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
Duel
.
ShuffleHand
(
tp
)
Duel
.
ShuffleHand
(
tp
)
end
end
...
...
c30270176.lua
View file @
99a7162f
...
@@ -57,14 +57,8 @@ function c30270176.spcon(e,c)
...
@@ -57,14 +57,8 @@ function c30270176.spcon(e,c)
end
end
function
c30270176
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
function
c30270176
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
hg
=
Duel
.
GetMatchingGroup
(
c30270176
.
spcfilter
,
tp
,
LOCATION_HAND
,
0
,
c
)
local
hg
=
Duel
.
GetMatchingGroup
(
c30270176
.
spcfilter
,
tp
,
LOCATION_HAND
,
0
,
c
)
local
rg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
for
i
=
1
,
3
do
local
rg
=
hg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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
Duel
.
ConfirmCards
(
1
-
tp
,
rg
)
Duel
.
ConfirmCards
(
1
-
tp
,
rg
)
Duel
.
ShuffleHand
(
tp
)
Duel
.
ShuffleHand
(
tp
)
end
end
...
...
c30539496.lua
View file @
99a7162f
...
@@ -76,15 +76,8 @@ function c30539496.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
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
if
rm
and
rg
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
30539496
,
2
))
then
Duel
.
ConfirmCards
(
tp
,
rg
)
Duel
.
ConfirmCards
(
tp
,
rg
)
local
tg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
i
=
3
local
tg
=
rg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
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
))
Duel
.
Remove
(
tg
,
POS_FACEUP
,
REASON_EFFECT
)
Duel
.
Remove
(
tg
,
POS_FACEUP
,
REASON_EFFECT
)
end
end
end
end
...
...
c30786387.lua
View file @
99a7162f
...
@@ -34,14 +34,8 @@ end
...
@@ -34,14 +34,8 @@ end
function
c30786387
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c30786387
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c30786387
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c30786387
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
local
rg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
30786387
,
1
))
for
i
=
1
,
3
do
local
rg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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
Duel
.
ConfirmCards
(
1
-
tp
,
rg
)
Duel
.
ConfirmCards
(
1
-
tp
,
rg
)
Duel
.
ShuffleDeck
(
tp
)
Duel
.
ShuffleDeck
(
tp
)
local
tg
=
rg
:
GetFirst
()
local
tg
=
rg
:
GetFirst
()
...
...
c32603633.lua
View file @
99a7162f
...
@@ -28,12 +28,9 @@ function c32603633.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -28,12 +28,9 @@ function c32603633.op(e,tp,eg,ep,ev,re,r,rp)
if
ft
<=
0
then
return
end
if
ft
<=
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
g
=
Duel
.
GetMatchingGroup
(
c32603633
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ft
)
Duel
.
SpecialSummonStep
(
sg
:
GetFirst
(),
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
ft
=
ft
-
1
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
end
end
Duel
.
SpecialSummonComplete
()
end
end
c33611061.lua
View file @
99a7162f
...
@@ -35,19 +35,7 @@ function c33611061.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c33611061
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetCount
()
==
0
then
return
end
if
g
:
GetCount
()
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
3
)
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
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
end
end
...
...
c35546670.lua
View file @
99a7162f
...
@@ -65,13 +65,8 @@ function c35546670.tgcost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c35546670
.
costfilter2
,
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
0
,
nil
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
8
end
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
8
end
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
local
rg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
for
i
=
1
,
8
do
local
rg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
8
,
8
)
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
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
end
end
function
c35546670
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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)
...
@@ -52,14 +52,9 @@ function c36668118.spop1(e,tp,eg,ep,ev,re,r,rp)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c36668118
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
,
tp
)
local
g
=
Duel
.
GetMatchingGroup
(
c36668118
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
,
tp
)
if
ft
<
1
or
g
:
GetCount
()
==
0
then
return
end
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
math.min
(
ft
,
2
))
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
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
end
function
c36668118
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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)
...
@@ -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
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
)
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
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
math.min
(
ft
,
ct
))
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
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
end
c36734924.lua
View file @
99a7162f
...
@@ -47,13 +47,7 @@ function c36734924.thop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c36734924
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetCount
()
<=
0
then
return
end
if
g
:
GetCount
()
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
2
)
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
Duel
.
SendtoHand
(
sg1
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
sg1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
end
end
...
...
c37803970.lua
View file @
99a7162f
...
@@ -27,11 +27,7 @@ function c37803970.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c37803970
.
thfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
then
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
)
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
end
end
...
...
c39392286.lua
View file @
99a7162f
...
@@ -39,14 +39,10 @@ end
...
@@ -39,14 +39,10 @@ end
function
c39392286
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c39392286
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c39392286
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c39392286
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
#
g
<=
0
then
return
end
if
#
g
<=
0
then
return
end
local
ct
=
1
if
e
:
GetLabel
()
==
1
then
ct
=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ct
)
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
Duel
.
SendtoHand
(
sg1
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
sg1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
end
end
c40177746.lua
View file @
99a7162f
...
@@ -32,13 +32,9 @@ end
...
@@ -32,13 +32,9 @@ end
function
c40177746
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c40177746
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
dg
=
Duel
.
GetMatchingGroup
(
c40177746
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
dg
=
Duel
.
GetMatchingGroup
(
c40177746
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
ct
=
e
:
GetLabel
()
local
ct
=
e
:
GetLabel
()
if
dg
:
GetClassCount
(
Card
.
GetCode
)
==
0
or
dg
:
GetClassCount
(
Card
.
GetCode
)
<
ct
then
return
end
if
dg
:
GetClassCount
(
Card
.
GetCode
)
<
ct
then
return
end
local
g
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
for
i
=
1
,
ct
do
local
g
=
dg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
ct
,
ct
)
local
tc
=
dg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
g
:
AddCard
(
tc
)
dg
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
end
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
c40230018.lua
View file @
99a7162f
...
@@ -51,15 +51,7 @@ function c40230018.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c40230018
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
Duel
.
ShuffleDeck
(
tp
)
Duel
.
ShuffleDeck
(
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_ATOHAND
)
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)
...
@@ -47,11 +47,7 @@ function c40450317.activate(e,tp,eg,ep,ev,re,r,rp)
if
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
if
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
ft
>
1
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
1
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
and
ft
>
1
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
1
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
)
Duel
.
SpecialSummon
(
g1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
...
...
c40854824.lua
View file @
99a7162f
...
@@ -28,15 +28,10 @@ end
...
@@ -28,15 +28,10 @@ end
function
c40854824
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c40854824
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<=
0
then
return
end
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
)
local
g
=
Duel
.
GetMatchingGroup
(
c40854824
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
==
0
then
return
end
if
g
:
GetCount
()
==
0
then
return
end
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ft
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
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
()
end
end
c41933425.lua
View file @
99a7162f
...
@@ -66,11 +66,7 @@ function c41933425.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
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
if
g
:
GetClassCount
(
Card
.
GetCode
)
>
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
)
Duel
.
SpecialSummon
(
sg1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
sg1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
end
...
...
c43886072.lua
View file @
99a7162f
...
@@ -46,13 +46,8 @@ function c43886072.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -46,13 +46,8 @@ function c43886072.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chkc
then
return
false
end
if
chkc
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c43886072
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
local
g
=
Duel
.
GetMatchingGroup
(
c43886072
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
local
sg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
for
i
=
1
,
2
do
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
Duel
.
SetTargetCard
(
sg
)
Duel
.
SetTargetCard
(
sg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
sg
,
#
sg
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
sg
,
#
sg
,
0
,
0
)
end
end
...
...
c44509529.lua
View file @
99a7162f
...
@@ -50,11 +50,7 @@ function c44509529.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -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
)
if
chk
==
0
then
return
Duel
.
GetMZoneCount
(
tp
,
e
:
GetHandler
())
>
1
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g1
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g1
,
2
,
0
,
0
)
end
end
...
...
c46083111.lua
View file @
99a7162f
...
@@ -45,18 +45,12 @@ end
...
@@ -45,18 +45,12 @@ end
function
c46083111
.
filter1
(
c
,
e
,
tp
)
function
c46083111
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
46083111
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
46083111
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
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
)
function
c46083111
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
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
)
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
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
end
...
@@ -64,18 +58,10 @@ function c46083111.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
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
g
=
Duel
.
GetMatchingGroup
(
c46083111
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
dg
=
g
:
Filter
(
c46083111
.
filter2
,
nil
,
g
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
if
dg
:
GetCount
()
>=
1
then
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
if
sg
then
local
sg
=
dg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
local
tc1
=
sg
:
GetFirst
()
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
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
)
end
end
end
end
c4682617.lua
View file @
99a7162f
...
@@ -56,13 +56,8 @@ function c4682617.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
if
sct
>
0
and
ft
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
4682617
,
0
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
g
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
repeat
local
g
=
sg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
math.min
(
ft
,
sct
))
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
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
end
...
...
c47075569.lua
View file @
99a7162f
...
@@ -66,13 +66,7 @@ function c47075569.thop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
==
0
or
g
:
GetCount
()
==
0
then
return
end
if
ct
>
g
:
GetClassCount
(
Card
.
GetCode
)
then
return
end
if
ct
>
g
:
GetClassCount
(
Card
.
GetCode
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
ct
,
ct
)
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
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
end
end
c47457347.lua
View file @
99a7162f
...
@@ -21,14 +21,8 @@ function c47457347.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -21,14 +21,8 @@ function c47457347.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
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
g
=
Duel
.
GetMatchingGroup
(
c47457347
.
filter
,
tp
,
LOCATION_REMOVED
,
0
,
nil
,
e
,
tp
):
Filter
(
Card
.
IsCanBeEffectTarget
,
nil
,
e
)
local
tg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
repeat
local
tg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ft
)
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
))
Duel
.
SetTargetCard
(
tg
)
Duel
.
SetTargetCard
(
tg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
tg
,
tg
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
tg
,
tg
:
GetCount
(),
0
,
0
)
end
end
...
...
c50756327.lua
View file @
99a7162f
...
@@ -43,15 +43,7 @@ function c50756327.thop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c50756327
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
local
cg
=
sg1
:
RandomSelect
(
1
-
tp
,
1
)
local
cg
=
sg1
:
RandomSelect
(
1
-
tp
,
1
)
local
tc
=
cg
:
GetFirst
()
local
tc
=
cg
:
GetFirst
()
...
...
c51205763.lua
View file @
99a7162f
...
@@ -54,18 +54,12 @@ end
...
@@ -54,18 +54,12 @@ end
function
c51205763
.
filter1
(
c
,
e
,
tp
)
function
c51205763
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
51205763
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
51205763
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
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
)
function
c51205763
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
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
)
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
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
end
...
@@ -73,18 +67,10 @@ function c51205763.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
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
g
=
Duel
.
GetMatchingGroup
(
c51205763
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
dg
=
g
:
Filter
(
c51205763
.
filter2
,
nil
,
g
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
if
dg
:
GetCount
()
>=
1
then
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
if
sg
then
local
sg
=
dg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
local
tc1
=
sg
:
GetFirst
()
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
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
)
end
end
end
end
c53208660.lua
View file @
99a7162f
...
@@ -40,11 +40,7 @@ function c53208660.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c53208660
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
then
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
)
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
g1
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
Duel
.
ConfirmCards
(
1
-
tp
,
g1
)
end
end
...
...
c56132807.lua
View file @
99a7162f
...
@@ -60,13 +60,8 @@ function c56132807.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -60,13 +60,8 @@ function c56132807.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c56132807
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
c
)
end
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
g
=
Duel
.
GetMatchingGroup
(
c56132807
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
c
):
Filter
(
Card
.
IsCanBeEffectTarget
,
nil
,
e
)
local
tg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
repeat
local
tg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
3
)
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
))
Duel
.
SetTargetCard
(
tg
)
Duel
.
SetTargetCard
(
tg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
tg
,
tg
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
tg
,
tg
:
GetCount
(),
0
,
0
)
end
end
...
...
c56337500.lua
View file @
99a7162f
...
@@ -81,7 +81,7 @@ function c56337500.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -81,7 +81,7 @@ function c56337500.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
if
chk
==
0
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
or
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
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
)
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
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
end
...
...
c58753372.lua
View file @
99a7162f
...
@@ -74,13 +74,8 @@ end
...
@@ -74,13 +74,8 @@ end
function
c58753372
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c58753372
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c58753372
.
spfilter2
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c58753372
.
spfilter2
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
local
cg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
for
i
=
1
,
3
do
local
cg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
Duel
.
ShuffleDeck
(
tp
)
Duel
.
ShuffleDeck
(
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_SPSUMMON
)
...
...
c58820923.lua
View file @
99a7162f
...
@@ -42,13 +42,8 @@ end
...
@@ -42,13 +42,8 @@ end
function
c58820923
.
rmcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c58820923
.
rmcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c58820923
.
cfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c58820923
.
cfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
end
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
end
local
tg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
for
i
=
1
,
3
do
local
tg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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
Duel
.
SendtoGrave
(
tg
,
REASON_COST
)
Duel
.
SendtoGrave
(
tg
,
REASON_COST
)
end
end
function
c58820923
.
rmtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c59057953
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
<
2
then
return
end
if
g
:
GetClassCount
(
Card
.
GetCode
)
<
2
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
59057953
,
0
))
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
59057953
,
0
))
local
tg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tg1
:
GetFirst
():
GetCode
())
Duel
.
SendtoExtraP
(
tg1
,
tp
,
REASON_EFFECT
)
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
Duel
.
SendtoExtraP
(
tg1
,
tp
,
REASON_EFFECT
)
end
end
end
c59934749.lua
View file @
99a7162f
...
@@ -108,13 +108,8 @@ function c59934749.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -108,13 +108,8 @@ function c59934749.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
lvt
[
pc
]
=
nil
lvt
[
pc
]
=
nil
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
59934749
,
2
))
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
59934749
,
2
))
local
lv
=
Duel
.
AnnounceNumber
(
tp
,
table.unpack
(
lvt
))
local
lv
=
Duel
.
AnnounceNumber
(
tp
,
table.unpack
(
lvt
))
local
rg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
for
i
=
1
,
lv
do
local
rg
=
cg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
lv
,
lv
)
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
Duel
.
SendtoGrave
(
rg
,
REASON_COST
)
Duel
.
SendtoGrave
(
rg
,
REASON_COST
)
e
:
SetLabel
(
lv
)
e
:
SetLabel
(
lv
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
)
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)
...
@@ -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
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
ct2
>
Duel
.
GetLocationCount
(
1
-
tp
,
LOCATION_MZONE
)
then
ct2
=
Duel
.
GetLocationCount
(
1
-
tp
,
LOCATION_MZONE
)
end
if
ct1
<=
0
then
return
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
)
local
g
=
Duel
.
GetMatchingGroup
(
c61613388
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
==
0
then
return
end
if
g
:
GetCount
()
==
0
then
return
end
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ct1
)
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
sc
=
sg
:
GetFirst
()
local
sc
=
sg
:
GetFirst
()
while
sc
do
while
sc
do
if
Duel
.
SpecialSummonStep
(
sc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
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)
...
@@ -68,6 +60,7 @@ function c61613388.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SpecialSummonComplete
()
Duel
.
SpecialSummonComplete
()
if
ct2
>
0
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsCanBeSpecialSummoned
,
tp
,
0
,
LOCATION_DECK
,
1
,
nil
,
e
,
0
,
1
-
tp
,
false
,
false
)
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
and
Duel
.
SelectYesNo
(
1
-
tp
,
aux
.
Stringid
(
61613388
,
1
))
then
if
Duel
.
IsPlayerAffectedByEffect
(
1
-
tp
,
59822133
)
then
ct2
=
1
end
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_SPSUMMON
)
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
)
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)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c62000467
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>=
2
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
then
if
g
:
GetCount
()
>=
2
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
tc
=
sg1
:
GetFirst
()
local
tc
=
sg1
:
GetFirst
()
Duel
.
SpecialSummonStep
(
tc
,
125
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummonStep
(
tc
,
125
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
tc
:
RegisterFlagEffect
(
tc
:
GetOriginalCode
(),
RESET_EVENT
+
RESETS_STANDARD
+
RESET_DISABLE
,
0
,
0
)
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)
...
@@ -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
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
1
and
g
:
GetClassCount
(
Card
.
GetLevel
)
>=
2
end
and
g
:
GetClassCount
(
Card
.
GetLevel
)
>=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dlvcheck
,
false
,
2
,
2
)
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
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g1
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g1
,
2
,
0
,
0
)
end
end
...
...
c64280356.lua
View file @
99a7162f
...
@@ -64,15 +64,7 @@ function c64280356.thop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c64280356
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
Duel
.
ShuffleDeck
(
tp
)
Duel
.
ShuffleDeck
(
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_ATOHAND
)
...
...
c64990807.lua
View file @
99a7162f
...
@@ -15,17 +15,10 @@ function c64990807.cfilter(c)
...
@@ -15,17 +15,10 @@ function c64990807.cfilter(c)
return
c
:
IsSetCard
(
0x2f
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
not
c
:
IsPublic
()
return
c
:
IsSetCard
(
0x2f
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
not
c
:
IsPublic
()
end
end
function
c64990807
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
)
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
tc1
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
local
cg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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
)
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
Duel
.
ShuffleHand
(
tp
)
Duel
.
ShuffleHand
(
tp
)
end
end
...
...
c68191243.lua
View file @
99a7162f
...
@@ -28,14 +28,10 @@ end
...
@@ -28,14 +28,10 @@ end
function
c68191243
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c68191243
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<=
0
then
return
end
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
)
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ft
)
Duel
.
SpecialSummonStep
(
sg
:
GetFirst
(),
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
sg
,
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
()
end
end
c69394324.lua
View file @
99a7162f
...
@@ -77,7 +77,7 @@ function c69394324.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c69394324
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
chk
==
0
then
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
if
chk
==
0
then
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>=
3
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
Duel
.
SetTargetCard
(
sg
)
Duel
.
SetTargetCard
(
sg
)
...
...
c69572169.lua
View file @
99a7162f
...
@@ -22,13 +22,8 @@ end
...
@@ -22,13 +22,8 @@ end
function
c69572169
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c69572169
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
rg
=
Duel
.
GetMatchingGroup
(
c69572169
.
rfilter
,
tp
,
LOCATION_GRAVE
,
0
,
e
:
GetHandler
())
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
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToRemoveAsCost
()
and
rg
:
GetClassCount
(
Card
.
GetCode
)
>=
3
end
local
g
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
for
i
=
1
,
3
do
local
g
=
rg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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
g
:
AddCard
(
e
:
GetHandler
())
g
:
AddCard
(
e
:
GetHandler
())
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
end
...
...
c71791814.lua
View file @
99a7162f
...
@@ -64,15 +64,8 @@ function c71791814.effop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -64,15 +64,8 @@ function c71791814.effop(e,tp,eg,ep,ev,re,r,rp)
local
ct
=
Duel
.
GetFieldGroupCount
(
tp
,
0
,
LOCATION_MZONE
)
local
ct
=
Duel
.
GetFieldGroupCount
(
tp
,
0
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c71791814
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c71791814
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
ct
<=
0
or
g
:
GetCount
()
==
0
then
return
end
if
ct
<=
0
or
g
:
GetCount
()
==
0
then
return
end
local
sg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
repeat
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ct
)
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
))
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
else
else
...
@@ -81,15 +74,8 @@ function c71791814.effop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
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
ft
<=
0
or
ct
<=
0
or
g
:
GetCount
()
==
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
math.min
(
ft
,
ct
))
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
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
()
end
end
end
end
c72537897.lua
View file @
99a7162f
...
@@ -30,15 +30,7 @@ function c72537897.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -30,15 +30,7 @@ function c72537897.activate(e,tp,eg,ep,ev,re,r,rp)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
2
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
2
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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
fid
=
c
:
GetFieldID
()
local
fid
=
c
:
GetFieldID
()
local
tc
=
sg1
:
GetFirst
()
local
tc
=
sg1
:
GetFirst
()
while
tc
do
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)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c73881652
.
drfilter
,
tp
,
LOCATION_GRAVE
,
0
,
e
:
GetHandler
(),
e
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
4
end
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
4
end
local
sg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
for
i
=
1
,
5
do
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
5
,
5
)
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
Duel
.
SetTargetCard
(
sg
)
Duel
.
SetTargetCard
(
sg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
5
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
5
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
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)
...
@@ -29,12 +29,12 @@ function c74414885.activate(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<=
0
then
return
end
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
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c74414885
.
filter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
==
0
then
return
end
if
g
:
GetCount
()
==
0
then
return
end
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ft
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
for
tc
in
aux
.
Next
(
sg
)
do
local
tc
=
sg
:
GetFirst
()
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -55,9 +55,7 @@ function c74414885.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -55,9 +55,7 @@ function c74414885.activate(e,tp,eg,ep,ev,re,r,rp)
e3
:
SetTarget
(
c74414885
.
splimit
)
e3
:
SetTarget
(
c74414885
.
splimit
)
e3
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e3
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e3
,
true
)
tc
:
RegisterEffect
(
e3
,
true
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
end
ft
=
ft
-
1
until
ft
<=
0
or
g
:
GetCount
()
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
74414885
,
0
))
Duel
.
SpecialSummonComplete
()
Duel
.
SpecialSummonComplete
()
end
end
function
c74414885
.
splimit
(
e
,
c
)
function
c74414885
.
splimit
(
e
,
c
)
...
...
c74974229.lua
View file @
99a7162f
...
@@ -72,17 +72,11 @@ end
...
@@ -72,17 +72,11 @@ end
function
c74974229
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c74974229
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<=
0
then
return
end
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
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
)
local
ct
=
Duel
.
GetMatchingGroupCount
(
c74974229
.
ctfilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
if
g
:
GetCount
()
==
0
or
ct
==
0
then
return
end
if
g
:
GetCount
()
==
0
or
ct
==
0
then
return
end
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
math.min
(
ft
,
ct
))
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
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
()
end
end
c76382116.lua
View file @
99a7162f
...
@@ -32,7 +32,7 @@ function c76382116.fselect(g,e,tp)
...
@@ -32,7 +32,7 @@ function c76382116.fselect(g,e,tp)
table.insert
(
code
,
tc
:
GetCode
())
table.insert
(
code
,
tc
:
GetCode
())
end
end
local
sg
=
Duel
.
GetMatchingGroup
(
c76382116
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
,
tp
,
table.unpack
(
code
))
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
)
Duel
.
SetSelectedCard
(
g
)
return
Duel
.
CheckReleaseGroup
(
tp
,
nil
,
0
,
nil
)
return
Duel
.
CheckReleaseGroup
(
tp
,
nil
,
0
,
nil
)
else
return
false
end
else
return
false
end
...
...
c77075360.lua
View file @
99a7162f
...
@@ -63,22 +63,10 @@ function c77075360.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c77075360
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
if
ft
<=
0
or
g
:
GetCount
()
==
0
then
return
end
if
ft
<=
0
or
g
:
GetCount
()
==
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
sg
=
Group
.
CreateGroup
()
local
ct
=
math.min
(
g
:
GetClassCount
(
Card
.
GetLevel
),
ft
)
while
ft
>
0
and
g
:
GetCount
()
>
0
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dlvcheck
,
false
,
ct
,
ct
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
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
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
end
end
function
c77075360
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c77075360
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c78785392.lua
View file @
99a7162f
...
@@ -50,16 +50,7 @@ function c78785392.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -50,16 +50,7 @@ function c78785392.activate(e,tp,eg,ep,ev,re,r,rp)
if
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
if
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
ct
>
3
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
3
then
and
ct
>
3
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
3
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
4
,
4
)
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
tc
=
g1
:
GetFirst
()
local
tc
=
g1
:
GetFirst
()
while
tc
do
while
tc
do
if
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
then
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)
...
@@ -32,14 +32,8 @@ function c78859567.activate(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ct
=
1
end
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
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c78859567
.
filter
),
tp
,
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
sg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
repeat
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ct
)
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
))
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
,
zone
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
,
zone
)
end
end
end
end
c79407975.lua
View file @
99a7162f
...
@@ -38,15 +38,8 @@ function c79407975.spcon(e,c)
...
@@ -38,15 +38,8 @@ function c79407975.spcon(e,c)
end
end
function
c79407975
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
function
c79407975
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
g
=
Duel
.
GetMatchingGroup
(
c79407975
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c79407975
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
rg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
for
i
=
1
,
7
do
local
rg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
7
,
7
)
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
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
end
end
function
c79407975
.
cfilter
(
c
)
function
c79407975
.
cfilter
(
c
)
...
...
c81587028.lua
View file @
99a7162f
...
@@ -19,18 +19,12 @@ end
...
@@ -19,18 +19,12 @@ end
function
c81587028
.
filter1
(
c
,
e
,
tp
)
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
)
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
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
)
function
c81587028
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
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
)
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
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
end
...
@@ -38,14 +32,11 @@ function c81587028.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
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
g
=
Duel
.
GetMatchingGroup
(
c81587028
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
dg
=
g
:
Filter
(
c81587028
.
filter2
,
nil
,
g
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
then
if
dg
:
GetCount
()
>=
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
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
()
local
tc1
=
sg
:
GetFirst
()
dg
:
Remove
(
Card
.
IsCode
,
nil
,
tc1
:
GetCode
())
local
tc2
=
sg
:
GetNext
()
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_FACEUP_DEFENSE
)
Duel
.
SpecialSummonStep
(
tc1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
Duel
.
SpecialSummonStep
(
tc2
,
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
)
tc1
:
RegisterFlagEffect
(
81587028
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
...
@@ -59,7 +50,6 @@ function c81587028.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -59,7 +50,6 @@ function c81587028.spop(e,tp,eg,ep,ev,re,r,rp)
local
e2
=
e1
:
Clone
()
local
e2
=
e1
:
Clone
()
tc2
:
RegisterEffect
(
e2
)
tc2
:
RegisterEffect
(
e2
)
Duel
.
SpecialSummonComplete
()
Duel
.
SpecialSummonComplete
()
sg
:
AddCard
(
tc2
)
sg
:
KeepAlive
()
sg
:
KeepAlive
()
local
de
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
de
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
de
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
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)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
end
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
)
function
c82428674
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
dg
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
local
dg
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
local
ct
=
dg
:
GetCount
()
local
ct
=
dg
:
GetCount
()
local
g
=
Duel
.
GetMatchingGroup
(
c82428674
.
rmfilter
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
+
LOCATION_MZONE
,
0
,
nil
)
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
if
ct
==
0
or
g
:
GetCount
()
==
0
then
return
end
local
rg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
repeat
local
rg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dlvcheck
,
false
,
1
,
ct
)
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
rc
=
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_EFFECT
)
local
rc
=
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_EFFECT
)
if
rc
>
0
then
if
rc
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
...
...
c83293307.lua
View file @
99a7162f
...
@@ -46,18 +46,12 @@ end
...
@@ -46,18 +46,12 @@ end
function
c83293307
.
filter1
(
c
,
e
,
tp
)
function
c83293307
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
83293307
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
83293307
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
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
)
function
c83293307
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
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
)
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
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
end
...
@@ -65,18 +59,10 @@ function c83293307.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
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
g
=
Duel
.
GetMatchingGroup
(
c83293307
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
dg
=
g
:
Filter
(
c83293307
.
filter2
,
nil
,
g
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
if
dg
:
GetCount
()
>=
1
then
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
if
sg
then
local
sg
=
dg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
local
tc1
=
sg
:
GetFirst
()
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
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
)
end
end
end
end
c83554231.lua
View file @
99a7162f
...
@@ -30,11 +30,7 @@ function c83554231.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c83554231
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g1
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g1
,
2
,
0
,
0
)
end
end
...
...
c84025439.lua
View file @
99a7162f
...
@@ -100,15 +100,7 @@ function c84025439.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c84025439
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
ft
>
2
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
then
if
ft
>
2
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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
)
Duel
.
SpecialSummon
(
g1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
end
c85638822.lua
View file @
99a7162f
...
@@ -73,15 +73,10 @@ function c85638822.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
)
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
tg
:
GetCount
()
==
0
or
ft
<=
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
g
=
Group
.
CreateGroup
()
local
ct
=
math.min
(
tg
:
GetClassCount
(
Card
.
GetCode
),
ft
)
while
tg
:
GetCount
()
>
0
and
ft
>
0
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
tg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
ct
,
ct
)
local
sg
=
tg
:
Select
(
tp
,
1
,
1
,
nil
)
if
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
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
c
:
AddCounter
(
0x46
,
3
)
c
:
AddCounter
(
0x46
,
3
)
end
end
end
end
c856784.lua
View file @
99a7162f
...
@@ -21,7 +21,7 @@ function c856784.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -21,7 +21,7 @@ function c856784.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
if
chk
==
0
then
if
not
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
then
return
false
end
if
not
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_DECK
,
0
,
nil
)
return
g
:
CheckSubGroup
(
aux
.
dncheck
,
3
,
3
)
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
end
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
end
end
...
...
c88316955.lua
View file @
99a7162f
...
@@ -44,18 +44,12 @@ end
...
@@ -44,18 +44,12 @@ end
function
c88316955
.
filter1
(
c
,
e
,
tp
)
function
c88316955
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
88316955
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0x104
)
and
not
c
:
IsCode
(
88316955
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
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
)
function
c88316955
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
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
)
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
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
end
...
@@ -63,18 +57,10 @@ function c88316955.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -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
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
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
g
=
Duel
.
GetMatchingGroup
(
c88316955
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
local
dg
=
g
:
Filter
(
c88316955
.
filter2
,
nil
,
g
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
if
dg
:
GetCount
()
>=
1
then
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
if
sg
then
local
sg
=
dg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
local
tc1
=
sg
:
GetFirst
()
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
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
)
end
end
end
end
c89397517.lua
View file @
99a7162f
...
@@ -41,29 +41,22 @@ end
...
@@ -41,29 +41,22 @@ end
function
c89397517
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c89397517
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<=
0
then
return
end
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
rmg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c89397517
.
rmfilter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
nil
)
local
rmct
=
rmg
:
GetClassCount
(
Card
.
GetCode
)
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
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
spct
=
spg
:
GetClassCount
(
Card
.
GetCode
)
local
ct
=
math.min
(
3
,
ft
,
spct
,
rmct
)
local
ct
=
math.min
(
3
,
ft
,
spct
,
rmct
)
if
ct
==
0
then
return
end
if
ct
==
0
then
return
end
local
g
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
repeat
local
g
=
rmg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ct
)
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
))
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
ct
=
g
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_REMOVED
)
ct
=
g
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_REMOVED
)
while
ct
>
0
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
spg
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
ct
,
ct
)
local
tc
=
spg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
for
tc
in
aux
.
Next
(
sg
)
do
spg
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
true
,
true
,
POS_FACEUP
)
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
true
,
true
,
POS_FACEUP
)
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
ct
=
ct
-
1
end
end
Duel
.
SpecialSummonComplete
()
Duel
.
SpecialSummonComplete
()
end
end
c938717.lua
View file @
99a7162f
...
@@ -28,7 +28,7 @@ function c938717.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -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
g
=
Duel
.
GetMatchingGroup
(
c938717
.
eqfilter
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
local
ft
=
math.min
((
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)),
2
)
local
ft
=
math.min
((
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)),
2
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
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
and
e
:
GetHandler
():
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ft
)
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)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c96570609
.
tgfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
<
2
then
return
end
if
g
:
GetClassCount
(
Card
.
GetCode
)
<
2
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
tg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
)
if
Duel
.
SendtoGrave
(
tg1
,
REASON_EFFECT
)
~=
0
and
tg1
:
IsExists
(
Card
.
IsLocation
,
2
,
nil
,
LOCATION_GRAVE
)
if
Duel
.
SendtoGrave
(
tg1
,
REASON_EFFECT
)
~=
0
and
tg1
:
IsExists
(
Card
.
IsLocation
,
2
,
nil
,
LOCATION_GRAVE
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
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)
...
@@ -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
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
2
and
g
:
GetClassCount
(
Card
.
GetLevel
)
>=
3
end
and
g
:
GetClassCount
(
Card
.
GetLevel
)
>=
3
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dlvcheck
,
false
,
3
,
3
)
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
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g1
,
3
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g1
,
3
,
0
,
0
)
end
end
...
...
c97648103.lua
View file @
99a7162f
...
@@ -27,11 +27,7 @@ function c97648103.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -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
)
local
g
=
Duel
.
GetMatchingGroup
(
c97648103
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
2
,
2
)
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
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g1
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g1
,
2
,
0
,
0
)
end
end
...
...
c98672567.lua
View file @
99a7162f
...
@@ -37,15 +37,7 @@ function c98672567.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -37,15 +37,7 @@ function c98672567.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
end
local
g
=
Duel
.
GetMatchingGroup
(
c98672567
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
local
g
=
Duel
.
GetMatchingGroup
(
c98672567
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
aux
.
drccheck
,
false
,
3
,
3
)
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
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g1
,
3
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g1
,
3
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
2
)
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)
...
@@ -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
)
if
chk
==
0
then
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
2
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
2
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
end
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
end
local
tg
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
for
i
=
1
,
3
do
local
tg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
)
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
Duel
.
SetTargetCard
(
tg
)
Duel
.
SetTargetCard
(
tg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
tg
,
tg
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
tg
,
tg
:
GetCount
(),
0
,
0
)
end
end
...
...
utility.lua
View file @
99a7162f
...
@@ -2238,6 +2238,26 @@ end
...
@@ -2238,6 +2238,26 @@ end
function
Auxiliary
.
dncheck
(
g
)
function
Auxiliary
.
dncheck
(
g
)
return
g
:
GetClassCount
(
Card
.
GetCode
)
==#
g
return
g
:
GetClassCount
(
Card
.
GetCode
)
==#
g
end
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"
--used for "except this card"
function
Auxiliary
.
ExceptThisCard
(
e
)
function
Auxiliary
.
ExceptThisCard
(
e
)
local
c
=
e
:
GetHandler
()
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