Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-222DIY-cards
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
xiaoye
ygopro-222DIY-cards
Commits
335dd5ef
Commit
335dd5ef
authored
Feb 24, 2025
by
Huangnan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
ac10d592
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
48 additions
and
53 deletions
+48
-53
expansions/FiNALE.cdb
expansions/FiNALE.cdb
+0
-0
expansions/script/c12400117.lua
expansions/script/c12400117.lua
+4
-5
expansions/script/c12869075.lua
expansions/script/c12869075.lua
+44
-48
No files found.
expansions/FiNALE.cdb
View file @
335dd5ef
No preview for this file type
expansions/script/c12400117.lua
View file @
335dd5ef
...
@@ -3,7 +3,7 @@ local s,id,o=GetID()
...
@@ -3,7 +3,7 @@ local s,id,o=GetID()
function
s
.
initial_effect
(
c
)
function
s
.
initial_effect
(
c
)
aux
.
AddCodeList
(
c
,
12400119
)
aux
.
AddCodeList
(
c
,
12400119
)
--xyz summon
--xyz summon
aux
.
AddXyzProcedure
(
c
,
nil
,
7
,
3
,
s
.
ovfilter
,
aux
.
Stringid
(
id
,
0
),
3
,
s
.
xyzop
)
aux
.
AddXyzProcedure
(
c
,
nil
,
7
,
2
,
s
.
ovfilter
,
aux
.
Stringid
(
id
,
0
),
2
,
s
.
xyzop
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--ov
--ov
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
...
@@ -73,7 +73,7 @@ function s.ovfilter2(c,e)
...
@@ -73,7 +73,7 @@ function s.ovfilter2(c,e)
return
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
return
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
end
end
function
s
.
ovfilter3
(
c
)
function
s
.
ovfilter3
(
c
)
return
c
:
IsCanOverlay
()
and
c
:
Is
FaceupEx
()
and
(
c
:
IsSetCard
(
0xaf1b
)
or
aux
.
IsCodeListed
(
c
,
12400119
)
)
return
c
:
IsCanOverlay
()
and
c
:
Is
SetCard
(
0x62a2
,
0xaf1b
)
and
c
:
IsFaceupEx
(
)
end
end
function
s
.
ovtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
ovtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
and
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
and
...
@@ -100,10 +100,9 @@ function s.ovop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -100,10 +100,9 @@ function s.ovop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_OPERATECARD
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_OPERATECARD
)
local
sg1
=
g1
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg1
=
g1
:
Select
(
tp
,
1
,
1
,
nil
)
local
g2
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
s
.
ovfilter3
),
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
nil
)
local
g2
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
s
.
ovfilter3
),
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
nil
)
Duel
.
Overlay
(
c
,
sg1
)
if
Duel
.
Overlay
(
c
,
sg1
)
and
#
g2
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
2
))
then
if
#
g2
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
2
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_OPERATECARD
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_OPERATECARD
)
local
sg2
=
g2
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg2
=
g2
:
Select
(
tp
,
1
,
2
,
nil
)
Duel
.
Overlay
(
c
,
sg2
)
Duel
.
Overlay
(
c
,
sg2
)
end
end
end
end
...
...
expansions/script/c12869075.lua
View file @
335dd5ef
...
@@ -26,20 +26,14 @@ function s.initial_effect(c)
...
@@ -26,20 +26,14 @@ function s.initial_effect(c)
e3
:
SetCode
(
EVENT_REMOVE
)
e3
:
SetCode
(
EVENT_REMOVE
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
function
s
.
costfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsCode
(
12869000
)
end
function
s
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
s
.
costfilter
,
1
,
nil
,
tp
)
end
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
s
.
costfilter
,
1
,
nil
,
e
,
tp
)
end
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
s
.
costfilter
,
1
,
1
,
nil
,
tp
)
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
s
.
costfilter
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
Release
(
g
,
REASON_COST
)
Duel
.
Release
(
g
,
REASON_COST
)
end
end
function
s
.
spfilter1
(
c
,
e
,
tp
)
function
s
.
spfilter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x6a70
)
and
c
:
IsLevelAbove
(
1
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0x6a70
)
and
c
:
IsLevelAbove
(
1
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
s
.
spfilter2
(
c
,
e
,
tp
)
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
IsLevel
(
0
)
and
c
:
IsSetCard
(
0x6a70
)
end
function
s
.
fselect1
(
g
,
tp
)
function
s
.
fselect1
(
g
,
tp
)
return
Duel
.
IsExistingMatchingCard
(
s
.
lkfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
g
)
return
Duel
.
IsExistingMatchingCard
(
s
.
lkfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
g
)
end
end
...
@@ -49,36 +43,52 @@ end
...
@@ -49,36 +43,52 @@ end
function
s
.
lkfilter
(
c
,
g
)
function
s
.
lkfilter
(
c
,
g
)
return
c
:
IsLinkSummonable
(
g
,
nil
,
g
:
GetCount
(),
g
:
GetCount
())
return
c
:
IsLinkSummonable
(
g
,
nil
,
g
:
GetCount
(),
g
:
GetCount
())
end
end
function
s
.
synfilter
(
c
,
mg
)
return
c
:
IsSynchroSummonable
(
nil
)
--return c:IsSynchroSummonable(nil,mg,mg:GetCount(),mg:GetCount())
end
function
s
.
chkfilter1
(
c
,
tp
)
function
s
.
chkfilter1
(
c
,
tp
)
return
c
:
IsType
(
TYPE_LINK
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
nil
,
c
)
>
0
return
c
:
IsType
(
TYPE_LINK
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
nil
,
c
)
>
0
end
end
function
s
.
chkfilter2
(
c
,
tp
)
function
s
.
chkfilter2
(
c
,
tp
)
return
c
:
IsType
(
TYPE_LINK
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
nil
,
c
)
>
0
return
c
:
IsType
(
TYPE_LINK
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
nil
,
c
)
>
0
end
end
function
s
.
linkcheck
(
c
,
g
,
tc
)
return
c
:
IsLinkSummonable
(
g
,
nil
,
g
:
GetCount
(),
g
:
GetCount
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
,
c
)
>
0
end
function
s
.
syncheck
(
c
,
g
)
return
c
:
IsSynchroSummonable
(
g
,
nil
,
g
:
GetCount
()
-
1
,
g
:
GetCount
()
-
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
nil
,
c
)
>
0
end
function
s
.
spcheck
(
g
,
tp
,
tc
)
return
Duel
.
GetMZoneCount
(
tp
,
tc
,
tp
)
>=
g
:
GetCount
()
and
Duel
.
IsExistingMatchingCard
(
s
.
linkcheck
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
g
,
tc
)
end
function
s
.
spchk
(
c
,
e
,
tp
)
return
c
:
IsFaceupEx
()
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
IsSetCard
(
0x6a70
)
and
c
:
IsLevelAbove
(
1
)
end
function
s
.
spchk2
(
c
,
e
,
tp
)
return
c
:
IsFaceupEx
()
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
IsLevel
(
0
)
and
c
:
IsSetCard
(
0x6a70
)
end
function
s
.
costchecklink
(
c
,
e
,
tp
,
tc
)
local
g
=
Duel
.
GetMatchingGroup
(
s
.
spchk
,
tp
,
LOCATION_REMOVED
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
return
c
:
IsCode
(
12869000
)
and
g
and
g
:
CheckSubGroup
(
s
.
spcheck
,
1
,
#
g
,
tp
,
c
)
end
function
s
.
costfilter
(
c
,
e
,
tp
)
return
s
.
costchecklink
(
c
,
e
,
tp
)
or
s
.
costchecksynchro
(
c
,
e
,
tp
)
end
function
s
.
costchecksynchro
(
c
,
e
,
tp
)
return
c
:
IsCode
(
12869000
)
and
Duel
.
GetMZoneCount
(
tp
,
c
,
tp
)
>
1
end
function
s
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
chk
==
0
then
ft
=
ft
+
1
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
b1
=
false
local
g
=
Duel
.
GetMatchingGroup
(
s
.
spchk
,
tp
,
LOCATION_REMOVED
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
local
b2
=
false
local
g2
=
Duel
.
GetMatchingGroup
(
s
.
spchk2
,
tp
,
LOCATION_REMOVED
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
local
cg1
=
Duel
.
GetMatchingGroup
(
s
.
chkfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
tp
)
local
b1
=
g
:
CheckSubGroup
(
s
.
spcheck
,
1
,
ft
,
tp
,
nil
)
if
#
cg1
>
0
then
local
b2
=
ft
>
0
and
g2
:
GetCount
()
>
1
local
_
,
maxlink
=
cg1
:
GetMaxGroup
(
Card
.
GetLink
)
local
b3
=
ft
>
1
and
g2
:
GetCount
()
>
1
if
maxlink
>
ft
then
maxlink
=
ft
end
local
g1
=
Duel
.
GetMatchingGroup
(
s
.
spfilter1
,
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
nil
,
e
,
tp
)
b1
=
g1
:
CheckSubGroup
(
s
.
fselect1
,
1
,
maxlink
,
tp
)
end
local
g2
=
Duel
.
GetMatchingGroup
(
s
.
spfilter2
,
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
nil
,
e
,
tp
)
b2
=
g2
:
GetCount
()
>=
2
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
if
chk
==
0
then
if
not
Duel
.
IsPlayerCanSpecialSummonCount
(
tp
,
2
)
then
return
false
end
if
e
:
IsCostChecked
()
then
if
ft
<=
0
then
return
false
end
return
b1
or
b2
return
b1
or
b2
else
end
return
b1
or
b3
end
end
local
op
=
aux
.
SelectFromOptions
(
tp
,
local
op
=
aux
.
SelectFromOptions
(
tp
,
{
b1
,
aux
.
Stringid
(
id
,
1
)},
{
b1
,
aux
.
Stringid
(
id
,
1
)},
{
b2
,
aux
.
Stringid
(
id
,
2
)})
{
b2
,
aux
.
Stringid
(
id
,
2
)})
...
@@ -119,31 +129,19 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -119,31 +129,19 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
elseif
op
==
2
then
elseif
op
==
2
then
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
s
.
sp
filter
2
),
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
2
,
2
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
s
.
sp
chk
2
),
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
2
,
2
,
nil
,
e
,
tp
)
for
tc
in
aux
.
Next
(
g
)
do
for
tc
in
aux
.
Next
(
g
)
do
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
Duel
.
SpecialSummonComplete
()
Duel
.
SpecialSummonComplete
()
local
og
=
Duel
.
GetOperatedGroup
()
og
:
KeepAlive
()
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CANNOT_BE_SYNCHRO_MATERIAL
)
e1
:
SetProperty
(
EFFECT_FLAG_SET_AVAILABLE
+
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetTargetRange
(
0xff
,
0xff
)
e1
:
SetTarget
(
s
.
synlimit
)
e1
:
SetLabelObject
(
og
)
e1
:
SetValue
(
1
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
AdjustAll
()
Duel
.
AdjustAll
()
local
og
=
Duel
.
GetOperatedGroup
()
if
og
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
<
g
:
GetCount
()
then
return
end
if
og
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
)
<
g
:
GetCount
()
then
return
end
local
tg
=
Duel
.
GetMatchingGroup
(
s
.
syn
filter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
og
)
local
tg
=
Duel
.
GetMatchingGroup
(
s
.
syn
check
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
og
)
if
og
:
GetCount
()
==
g
:
GetCount
()
and
tg
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
3
))
then
if
og
:
GetCount
()
==
g
:
GetCount
()
and
tg
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
3
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
rg
=
tg
:
Select
(
tp
,
1
,
1
,
nil
)
local
rg
=
tg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SynchroSummon
(
tp
,
rg
:
GetFirst
(),
nil
,
og
)
Duel
.
SynchroSummon
(
tp
,
rg
:
GetFirst
(),
nil
,
rg
)
--Duel.SynchroSummon(tp,rg:GetFirst(),nil,og,#og,#og)
end
end
e1
:
Reset
()
e1
:
Reset
()
end
end
...
@@ -154,13 +152,11 @@ end
...
@@ -154,13 +152,11 @@ end
function
s
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsSSetable
()
end
if
chk
==
0
then
return
c
:
IsSSetable
()
end
if
c
:
IsLocation
(
LOCATION_GRAVE
)
then
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
c
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
c
,
1
,
0
,
0
)
end
end
end
function
s
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
aux
.
NecroValleyFilter
()(
c
)
then
Duel
.
SSet
(
tp
,
c
)
end
if
c
:
IsRelateToEffect
(
e
)
then
Duel
.
SSet
(
tp
,
c
)
end
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
id
,
4
))
e1
:
SetDescription
(
aux
.
Stringid
(
id
,
4
))
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
...
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