Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-scripts
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
ygopro-scripts
Commits
36b42525
You need to sign in or sign up before continuing.
Commit
36b42525
authored
Jul 11, 2016
by
dest
Committed by
DailyShana
Jul 11, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix Storm Neos + Chaos Neos (#461)
parent
75a987fa
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
66 additions
and
60 deletions
+66
-60
c17032740.lua
c17032740.lua
+33
-30
c49352945.lua
c49352945.lua
+33
-30
No files found.
c17032740.lua
View file @
36b42525
...
@@ -51,51 +51,54 @@ end
...
@@ -51,51 +51,54 @@ end
function
c17032740
.
splimit
(
e
,
se
,
sp
,
st
)
function
c17032740
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
end
end
function
c17032740
.
spfilter
(
c
,
code
)
function
c17032740
.
spfilter
(
c
,
code1
,
code2
,
code3
)
return
c
:
IsAbleToDeckOrExtraAsCost
()
and
c
:
IsFusionCode
(
code
)
return
c
:
IsAbleToDeckOrExtraAsCost
()
and
(
c
:
IsFusionCode
(
code1
)
or
c
:
IsFusionCode
(
code2
)
or
c
:
IsFusionCode
(
code3
))
end
function
c17032740
.
spfilter1
(
c
,
mg
,
ft
)
local
mg2
=
mg
:
Clone
()
mg2
:
RemoveCard
(
c
)
if
c
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
return
ft
>=-
1
and
c
:
IsFusionCode
(
89943723
)
and
c
:
IsAbleToDeckOrExtraAsCost
()
and
c
:
IsCanBeFusionMaterial
(
nil
,
true
)
and
mg2
:
IsExists
(
c17032740
.
spfilter2
,
1
,
nil
,
mg2
,
ft
)
end
function
c17032740
.
spfilter2
(
c
,
mg
,
ft
)
local
mg2
=
mg
:
Clone
()
mg2
:
RemoveCard
(
c
)
if
c
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
return
ft
>=
0
and
c
:
IsFusionCode
(
43237273
)
and
c
:
IsAbleToDeckOrExtraAsCost
()
and
c
:
IsCanBeFusionMaterial
(
nil
,
true
)
and
mg2
:
IsExists
(
c17032740
.
spfilter3
,
1
,
nil
,
ft
)
end
function
c17032740
.
spfilter3
(
c
,
ft
)
if
c
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
return
ft
>=
1
and
c
:
IsFusionCode
(
17732278
)
and
c
:
IsAbleToDeckOrExtraAsCost
()
and
c
:
IsCanBeFusionMaterial
(
nil
,
true
)
end
end
function
c17032740
.
spcon
(
e
,
c
)
function
c17032740
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
tp
=
c
:
GetControler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<-
2
then
return
false
end
if
ft
<-
2
then
return
false
end
local
g1
=
Duel
.
GetMatchingGroup
(
c17032740
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
)
local
mg
=
Duel
.
GetMatchingGroup
(
c17032740
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
,
43237273
,
17732278
)
local
g2
=
Duel
.
GetMatchingGroup
(
c17032740
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
43237273
)
return
mg
:
IsExists
(
c17032740
.
spfilter1
,
1
,
nil
,
mg
,
ft
)
local
g3
=
Duel
.
GetMatchingGroup
(
c17032740
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
17732278
)
if
g1
:
GetCount
()
==
0
or
g2
:
GetCount
()
==
0
or
g3
:
GetCount
()
==
0
then
return
false
end
if
ft
>
0
then
return
true
end
local
f1
=
g1
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
>
0
and
1
or
0
local
f2
=
g2
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
>
0
and
1
or
0
local
f3
=
g3
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
>
0
and
1
or
0
if
ft
==-
2
then
return
f1
+
f2
+
f3
==
3
elseif
ft
==-
1
then
return
f1
+
f2
+
f3
>=
2
else
return
f1
+
f2
+
f3
>=
1
end
end
end
function
c17032740
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
function
c17032740
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g1
=
Duel
.
GetMatchingGroup
(
c17032740
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
)
local
mg
=
Duel
.
GetMatchingGroup
(
c17032740
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
,
43237273
,
17732278
)
local
g2
=
Duel
.
GetMatchingGroup
(
c17032740
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
43237273
)
local
g3
=
Duel
.
GetMatchingGroup
(
c17032740
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
17732278
)
g1
:
Merge
(
g2
)
g1
:
Merge
(
g3
)
local
g
=
Group
.
CreateGroup
()
local
g
=
Group
.
CreateGroup
()
local
tc
=
nil
local
tc
=
nil
for
i
=
1
,
3
do
for
i
=
1
,
3
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
if
ft
<=
0
then
if
i
==
1
then
tc
=
g1
:
FilterSelect
(
tp
,
Card
.
IsLocation
,
1
,
1
,
nil
,
LOCATION_MZONE
):
GetFirst
()
tc
=
mg
:
FilterSelect
(
tp
,
c17032740
.
spfilter1
,
1
,
1
,
nil
,
mg
,
ft
):
GetFirst
()
else
tc
=
g1
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
end
end
g
:
AddCard
(
tc
)
if
i
==
2
then
if
tc
:
IsFusionCode
(
89943723
)
then
tc
=
mg
:
FilterSelect
(
tp
,
c17032740
.
spfilter2
,
1
,
1
,
nil
,
mg
,
ft
):
GetFirst
()
g1
:
Remove
(
Card
.
IsFusionCode
,
nil
,
89943723
)
end
elseif
tc
:
IsFusionCode
(
43237273
)
then
if
i
==
3
then
g1
:
Remove
(
Card
.
IsFusionCode
,
nil
,
43237273
)
tc
=
mg
:
FilterSelect
(
tp
,
c17032740
.
spfilter3
,
1
,
1
,
nil
,
ft
):
GetFirst
()
elseif
tc
:
IsFusionCode
(
17732278
)
then
g1
:
Remove
(
Card
.
IsFusionCode
,
nil
,
17732278
)
end
end
ft
=
ft
+
1
g
:
AddCard
(
tc
)
mg
:
RemoveCard
(
tc
)
if
tc
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
end
end
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
if
cg
:
GetCount
()
>
0
then
if
cg
:
GetCount
()
>
0
then
...
...
c49352945.lua
View file @
36b42525
...
@@ -59,51 +59,54 @@ end
...
@@ -59,51 +59,54 @@ end
function
c49352945
.
splimit
(
e
,
se
,
sp
,
st
)
function
c49352945
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
end
end
function
c49352945
.
spfilter
(
c
,
code
)
function
c49352945
.
spfilter
(
c
,
code1
,
code2
,
code3
)
return
c
:
IsAbleToDeckOrExtraAsCost
()
and
c
:
IsFusionCode
(
code
)
return
c
:
IsAbleToDeckOrExtraAsCost
()
and
(
c
:
IsFusionCode
(
code1
)
or
c
:
IsFusionCode
(
code2
)
or
c
:
IsFusionCode
(
code3
))
end
function
c49352945
.
spfilter1
(
c
,
mg
,
ft
)
local
mg2
=
mg
:
Clone
()
mg2
:
RemoveCard
(
c
)
if
c
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
return
ft
>=-
1
and
c
:
IsFusionCode
(
89943723
)
and
c
:
IsAbleToDeckOrExtraAsCost
()
and
c
:
IsCanBeFusionMaterial
(
nil
,
true
)
and
mg2
:
IsExists
(
c49352945
.
spfilter2
,
1
,
nil
,
mg2
,
ft
)
end
function
c49352945
.
spfilter2
(
c
,
mg
,
ft
)
local
mg2
=
mg
:
Clone
()
mg2
:
RemoveCard
(
c
)
if
c
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
return
ft
>=
0
and
c
:
IsFusionCode
(
17955766
)
and
c
:
IsAbleToDeckOrExtraAsCost
()
and
c
:
IsCanBeFusionMaterial
(
nil
,
true
)
and
mg2
:
IsExists
(
c49352945
.
spfilter3
,
1
,
nil
,
ft
)
end
function
c49352945
.
spfilter3
(
c
,
ft
)
if
c
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
return
ft
>=
1
and
c
:
IsFusionCode
(
54959865
)
and
c
:
IsAbleToDeckOrExtraAsCost
()
and
c
:
IsCanBeFusionMaterial
(
nil
,
true
)
end
end
function
c49352945
.
spcon
(
e
,
c
)
function
c49352945
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
tp
=
c
:
GetControler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<-
2
then
return
false
end
if
ft
<-
2
then
return
false
end
local
g1
=
Duel
.
GetMatchingGroup
(
c49352945
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
)
local
mg
=
Duel
.
GetMatchingGroup
(
c49352945
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
,
17955766
,
54959865
)
local
g2
=
Duel
.
GetMatchingGroup
(
c49352945
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
17955766
)
return
mg
:
IsExists
(
c49352945
.
spfilter1
,
1
,
nil
,
mg
,
ft
)
local
g3
=
Duel
.
GetMatchingGroup
(
c49352945
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
54959865
)
if
g1
:
GetCount
()
==
0
or
g2
:
GetCount
()
==
0
or
g3
:
GetCount
()
==
0
then
return
false
end
if
ft
>
0
then
return
true
end
local
f1
=
g1
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
>
0
and
1
or
0
local
f2
=
g2
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
>
0
and
1
or
0
local
f3
=
g3
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
>
0
and
1
or
0
if
ft
==-
2
then
return
f1
+
f2
+
f3
==
3
elseif
ft
==-
1
then
return
f1
+
f2
+
f3
>=
2
else
return
f1
+
f2
+
f3
>=
1
end
end
end
function
c49352945
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
function
c49352945
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g1
=
Duel
.
GetMatchingGroup
(
c49352945
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
)
local
mg
=
Duel
.
GetMatchingGroup
(
c49352945
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
89943723
,
17955766
,
54959865
)
local
g2
=
Duel
.
GetMatchingGroup
(
c49352945
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
17955766
)
local
g3
=
Duel
.
GetMatchingGroup
(
c49352945
.
spfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
54959865
)
g1
:
Merge
(
g2
)
g1
:
Merge
(
g3
)
local
g
=
Group
.
CreateGroup
()
local
g
=
Group
.
CreateGroup
()
local
tc
=
nil
local
tc
=
nil
for
i
=
1
,
3
do
for
i
=
1
,
3
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
if
ft
<=
0
then
if
i
==
1
then
tc
=
g1
:
FilterSelect
(
tp
,
Card
.
IsLocation
,
1
,
1
,
nil
,
LOCATION_MZONE
):
GetFirst
()
tc
=
mg
:
FilterSelect
(
tp
,
c49352945
.
spfilter1
,
1
,
1
,
nil
,
mg
,
ft
):
GetFirst
()
else
tc
=
g1
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
end
end
g
:
AddCard
(
tc
)
if
i
==
2
then
if
tc
:
IsFusionCode
(
89943723
)
then
tc
=
mg
:
FilterSelect
(
tp
,
c49352945
.
spfilter2
,
1
,
1
,
nil
,
mg
,
ft
):
GetFirst
()
g1
:
Remove
(
Card
.
IsFusionCode
,
nil
,
89943723
)
end
elseif
tc
:
IsFusionCode
(
17955766
)
then
if
i
==
3
then
g1
:
Remove
(
Card
.
IsFusionCode
,
nil
,
17955766
)
tc
=
mg
:
FilterSelect
(
tp
,
c49352945
.
spfilter3
,
1
,
1
,
nil
,
ft
):
GetFirst
()
elseif
tc
:
IsFusionCode
(
54959865
)
then
g1
:
Remove
(
Card
.
IsFusionCode
,
nil
,
54959865
)
end
end
ft
=
ft
+
1
g
:
AddCard
(
tc
)
mg
:
RemoveCard
(
tc
)
if
tc
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
end
end
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
if
cg
:
GetCount
()
>
0
then
if
cg
:
GetCount
()
>
0
then
...
...
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