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
alstroemeria-silentlove
ygopro-222DIY-cards
Commits
1f6df009
Commit
1f6df009
authored
Feb 16, 2025
by
Huangnan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
846f1002
Pipeline
#33259
passed with stages
in 59 minutes and 1 second
Changes
18
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
113 additions
and
161 deletions
+113
-161
expansions/FiNALE.cdb
expansions/FiNALE.cdb
+0
-0
expansions/script/c12847015.lua
expansions/script/c12847015.lua
+44
-97
expansions/script/c16104234.lua
expansions/script/c16104234.lua
+2
-2
expansions/script/c16104413.lua
expansions/script/c16104413.lua
+23
-22
expansions/script/c16104416.lua
expansions/script/c16104416.lua
+3
-2
expansions/script/c16368145.lua
expansions/script/c16368145.lua
+2
-2
expansions/script/c18700544.lua
expansions/script/c18700544.lua
+6
-6
expansions/script/c21000685.lua
expansions/script/c21000685.lua
+1
-1
expansions/script/c21000700.lua
expansions/script/c21000700.lua
+1
-1
expansions/script/c31710018.lua
expansions/script/c31710018.lua
+0
-3
expansions/script/c31710060.lua
expansions/script/c31710060.lua
+0
-1
expansions/script/c31710081.lua
expansions/script/c31710081.lua
+2
-1
expansions/script/c31710083.lua
expansions/script/c31710083.lua
+1
-1
expansions/script/c5012633.lua
expansions/script/c5012633.lua
+3
-0
expansions/script/c81907107.lua
expansions/script/c81907107.lua
+6
-1
expansions/script/c81907108.lua
expansions/script/c81907108.lua
+1
-1
expansions/script/c81907112.lua
expansions/script/c81907112.lua
+15
-16
expansions/script/c81907124.lua
expansions/script/c81907124.lua
+3
-4
No files found.
expansions/FiNALE.cdb
View file @
1f6df009
No preview for this file type
expansions/script/c12847015.lua
View file @
1f6df009
...
...
@@ -42,6 +42,50 @@ function c12847015.initial_effect(c)
e21
:
SetTarget
(
c12847015
.
negtg2
)
e21
:
SetOperation
(
c12847015
.
negop1
)
c
:
RegisterEffect
(
e21
)
if
not
c12847015
.
global_check
then
c12847015
.
global_check
=
true
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EVENT_ADJUST
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e2
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
true
end
)
e2
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tg1
=
Duel
.
GetFieldGroup
(
tp
,
0xff
,
0
)
if
tg1
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
4202048
)
then
Duel
.
Remove
(
tg1
,
POS_FACEDOWN
,
REASON_RULE
)
end
local
tg2
=
Duel
.
GetFieldGroup
(
tp
,
0
,
0xff
)
if
tg2
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
4202048
)
then
Duel
.
Remove
(
tg2
,
POS_FACEDOWN
,
REASON_RULE
)
end
end
)
Duel
.
RegisterEffect
(
e2
,
0
)
end
local
g
=
Duel
.
GetFieldGroup
(
0
,
LOCATION_EXTRA
,
LOCATION_EXTRA
+
LOCATION_DECK
)
local
tc
=
g
:
GetFirst
()
while
tc
do
local
e1
=
Effect
.
CreateEffect
(
tc
)
e1
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EVENT_ADJUST
)
e1
:
SetRange
(
0xff
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
true
end
)
e1
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Remove
(
Duel
.
GetFieldGroup
(
tp
,
0xff
,
0
),
POS_FACEDOWN
,
REASON_RULE
)
end
)
if
c4202048
and
getmetatable
(
tc
)
==
c4202048
then
tc
:
ReplaceEffect
(
12847015
,
0
,
0
)
tc
:
RegisterEffect
(
e1
)
end
tc
=
g
:
GetNext
()
end
c4202048
=
c12847015
end
function
c12847015
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsDisabled
()
and
c
:
IsType
(
TYPE_EFFECT
)
and
c
:
IsReleasable
()
...
...
@@ -97,101 +141,4 @@ function c12847015.negop1(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SkipPhase
(
1
-
tp
,
PHASE_BATTLE
,
RESET_PHASE
+
PHASE_BATTLE_STEP
,
1
)
end
end
end
function
hack_proc
(
c
)
--spsummon proc
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetRange
(
LOCATION_EXTRA
)
e1
:
SetCondition
(
function
(
e
,
c
)
if
c
==
nil
then
return
true
end
return
true
end
)
e1
:
SetTarget
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
c
)
local
sg
=
Duel
.
GetMatchingGroup
(
nil
,
c
:
GetControler
(),
LOCATION_HAND
,
0
,
nil
)
if
sg
then
sg
:
KeepAlive
()
e
:
SetLabelObject
(
sg
)
return
sg
:
GetCount
()
>
0
else
return
false
end
end
)
e1
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
sg
=
e
:
GetLabelObject
()
if
sg
then
c
:
SetMaterial
(
sg
)
Duel
.
Remove
(
sg
,
POS_FACEDOWN
,
REASON_SPSUMMON
)
Duel
.
Hint
(
HINT_CARD
,
0
,
16199990
)
end
end
)
e1
:
SetValue
(
SUMMON_VALUE_SELF
)
c
:
RegisterEffect
(
e1
)
end
local
g
=
Duel
.
GetFieldGroup
(
0
,
LOCATION_EXTRA
,
LOCATION_EXTRA
)
local
tc
=
g
:
GetFirst
()
check
=
false
while
tc
do
if
c4202048
and
getmetatable
(
tc
)
==
c4202048
then
tc
:
ReplaceEffect
(
2511
,
0
,
0
)
hack_proc
(
tc
)
check
=
true
end
tc
=
g
:
GetNext
()
end
function
hack_initial
(
c
)
c
:
EnableReviveLimit
()
Duel
.
EnableGlobalFlag
(
GLOBALFLAG_SELF_TOGRAVE
)
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e0
:
SetValue
(
function
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
end
)
c
:
RegisterEffect
(
e0
)
hack_proc
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
EVENT_TO_HAND
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e3
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
4202048
,
0
))
then
Duel
.
SpecialSummonRule
(
c
:
GetOwner
(),
e
:
GetHandler
())
Debug
.
Message
(
"堕天计划已清除"
)
end
end
)
Duel
.
RegisterEffect
(
e3
,
0
)
--spsummon
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
)
e4
:
SetCode
(
EFFECT_CANNOT_DISABLE_SPSUMMON
)
e4
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
c
:
RegisterEffect
(
e4
)
--spsummon cost
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
)
e5
:
SetCode
(
EFFECT_SPSUMMON_COST
)
e5
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_SINGLE_RANGE
)
e5
:
SetRange
(
0xff
)
e5
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
c
:
SetCardData
(
1
,
4202048
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
+
EFFECT_FLAG_OATH
)
e1
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetValue
(
1
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
)
c
:
RegisterEffect
(
e5
)
--self to grave
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SELF_TOGRAVE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
c
:
RegisterEffect
(
e1
)
end
if
not
check
then
c4202048
=
c12847015
c4202048
.
initial_effect
=
hack_initial
end
\ No newline at end of file
expansions/script/c16104234.lua
View file @
1f6df009
...
...
@@ -63,14 +63,14 @@ function cm.tdfilter(c)
return
c
:
IsAbleToDeck
()
end
function
cm
.
rettg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
e
:
GetHandler
())
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
tdfilter
,
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
1
,
e
:
GetHandler
())
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
nil
,
1
,
tp
,
LOCATION_GRAVE
)
end
function
cm
.
actop
(
e
,
tp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
3
,
c
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
tdfilter
),
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
1
,
3
,
c
)
if
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_EFFECT
)
>
0
then
Duel
.
MoveToField
(
c
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
end
...
...
expansions/script/c16104413.lua
View file @
1f6df009
...
...
@@ -112,24 +112,25 @@ function cm.seqcheck2(c,tp)
if
c
:
IsLocation
(
LOCATION_FZONE
)
then
return
false
end
local
col_1
=
aux
.
GetColumn
(
c
,
tp
)
if
col_1
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
check_col_0
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
,
tp
)
return
Duel
.
IsExistingMatchingCard
(
cm
.
check_col_0
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
nil
,
tp
)
elseif
col_1
==
4
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
check_col_4
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
,
tp
)
return
Duel
.
IsExistingMatchingCard
(
cm
.
check_col_4
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
nil
,
tp
)
else
return
Duel
.
IsExistingMatchingCard
(
cm
.
check_col
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
,
tp
,
col_1
)
return
Duel
.
IsExistingMatchingCard
(
cm
.
check_col
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
nil
,
tp
,
col_1
)
end
end
function
cm
.
ptarget
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
lab_a
=
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
local
lab_b
=
Duel
.
IsExistingMatchingCard
(
cm
.
seqcheck
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
,
1
-
tp
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetCurrentChain
()
<
1
local
lab_b
=
Duel
.
IsExistingMatchingCard
(
cm
.
seqcheck
2
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
,
1
-
tp
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetCurrentChain
()
<
1
if
chk
==
0
then
return
lab_a
or
lab_b
end
local
lab_b2
=
Duel
.
IsExistingMatchingCard
(
cm
.
seqcheck2
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
,
1
-
tp
)
and
Duel
.
GetTurnPlayer
()
==
tp
local
op
=
2
if
lab_a
and
lab_b
then
if
lab_a
and
lab_b
2
then
op
=
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
m
,
0
),
aux
.
Stringid
(
m
,
1
))
elseif
lab_b
then
elseif
lab_b
2
then
op
=
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
m
,
1
))
+
1
else
else
if
lab_a
then
op
=
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
m
,
0
))
end
if
op
==
0
then
...
...
@@ -138,7 +139,7 @@ function cm.ptarget(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
tp
,
LOCATION_PZONE
)
else
e
:
SetCategory
(
CATEGORY_TOGRAVE
)
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
seqcheck
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
,
1
-
tp
)
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
seqcheck
2
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
,
1
-
tp
)
Duel
.
SetTargetParam
(
op
+
1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g
,
g
:
GetCount
(),
0
,
0
)
end
...
...
@@ -149,8 +150,8 @@ function cm.poperation(e,tp,eg,ep,ev,re,r,rp)
if
opdo
==
1
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
while
Duel
.
IsExistingMatchingCard
(
cm
.
seqcheck2
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
,
tp
)
do
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
seqcheck2
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
,
tp
)
while
Duel
.
IsExistingMatchingCard
(
cm
.
seqcheck2
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
,
1
-
tp
)
do
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
seqcheck2
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
,
1
-
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SendtoGrave
(
sg
,
REASON_RULE
)
...
...
@@ -189,27 +190,27 @@ function cm.seqcheck(c,tp)
if
c
:
IsLocation
(
LOCATION_FZONE
)
then
return
false
end
local
col_1
=
aux
.
GetColumn
(
c
,
tp
)
if
col_1
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
check_col_0_1
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
nil
,
tp
)
return
Duel
.
IsExistingMatchingCard
(
cm
.
check_col_0_1
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
,
tp
)
elseif
col_1
==
4
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
check_col_4_1
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
nil
,
tp
)
return
Duel
.
IsExistingMatchingCard
(
cm
.
check_col_4_1
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
,
tp
)
else
return
Duel
.
IsExistingMatchingCard
(
cm
.
check_col_1
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
nil
,
tp
,
col_1
)
return
Duel
.
IsExistingMatchingCard
(
cm
.
check_col_1
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
,
tp
,
col_1
)
end
end
function
cm
.
tgtarget
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
cm
.
seqcheck
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
,
1
-
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
cm
.
seqcheck
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
nil
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
cm
.
seqcheck
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
1
,
nil
,
1
-
tp
)
local
g
=
Duel
.
SelectTarget
(
tp
,
cm
.
seqcheck
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
1
,
nil
,
tp
)
local
sc
=
g
:
GetFirst
()
local
col_1
=
aux
.
GetColumn
(
sc
,
tp
)
local
rg
=
Group
.
CreateGroup
()
if
col_1
==
0
then
rg
=
Duel
.
GetMatchingGroup
(
cm
.
check_col_0_1
,
1
-
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
1
-
tp
)
rg
=
Duel
.
GetMatchingGroup
(
cm
.
check_col_0_1
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
,
tp
)
elseif
col_1
==
4
then
rg
=
Duel
.
GetMatchingGroup
(
cm
.
check_col_4_1
,
1
-
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
1
-
tp
)
rg
=
Duel
.
GetMatchingGroup
(
cm
.
check_col_4_1
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
,
tp
)
else
rg
=
Duel
.
GetMatchingGroup
(
cm
.
check_col_1
,
1
-
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
1
-
tp
,
col_1
)
rg
=
Duel
.
GetMatchingGroup
(
cm
.
check_col_1
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
,
tp
,
col_1
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
rg
,
rg
:
GetCount
(),
0
,
0
)
end
...
...
@@ -217,14 +218,14 @@ function cm.tgoperation(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
sc
=
Duel
.
GetFirstTarget
()
if
sc
:
IsRelateToEffect
(
e
)
then
local
col_1
=
aux
.
GetColumn
(
sc
,
tp
)
local
col_1
=
aux
.
GetColumn
(
sc
,
1
-
tp
)
local
rg
=
Group
.
CreateGroup
()
if
col_1
==
0
then
rg
=
Duel
.
GetMatchingGroup
(
cm
.
check_col_0_1
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
,
tp
)
rg
=
Duel
.
GetMatchingGroup
(
cm
.
check_col_0_1
,
1
-
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
1
-
tp
)
elseif
col_1
==
4
then
rg
=
Duel
.
GetMatchingGroup
(
cm
.
check_col_4_1
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
,
tp
)
rg
=
Duel
.
GetMatchingGroup
(
cm
.
check_col_4_1
,
1
-
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
1
-
tp
)
else
rg
=
Duel
.
GetMatchingGroup
(
cm
.
check_col_1
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
,
tp
,
col_1
)
rg
=
Duel
.
GetMatchingGroup
(
cm
.
check_col_1
,
1
-
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
1
-
tp
,
col_1
)
end
Duel
.
SendtoGrave
(
rg
,
REASON_EFFECT
)
end
...
...
expansions/script/c16104416.lua
View file @
1f6df009
--天界法 忒希斯
--与天界的再续
--与天界的再续
local
m
=
16104416
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
...
...
@@ -153,7 +154,7 @@ function cm.filter(c)
end
function
cm
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
and
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
0
)
or
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
1
)
end
and
(
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
0
)
or
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
1
)
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
expansions/script/c16368145.lua
View file @
1f6df009
...
...
@@ -31,7 +31,7 @@ function c16368145.initial_effect(c)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e3
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetTargetRange
(
1
,
1
)
e3
:
SetTargetRange
(
0
,
1
)
e3
:
SetCondition
(
c16368145
.
actcon
)
e3
:
SetValue
(
c16368145
.
actlimit
)
c
:
RegisterEffect
(
e3
)
...
...
@@ -41,7 +41,7 @@ function c16368145.splimit(e,se,sp,st)
or
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
end
function
c16368145
.
atkval
(
e
,
c
)
return
Duel
.
GetMatchingGroupCount
(
aux
.
AND
(
Card
.
IsSetCard
,
Card
.
IsFaceup
),
e
:
GetHandlerPlayer
(),
LOCATION_MZONE
,
0
,
0xcb1
,
0xdc3
)
-
1
return
Duel
.
GetMatchingGroupCount
(
aux
.
AND
(
Card
.
IsSetCard
,
Card
.
IsFaceup
),
e
:
GetHandlerPlayer
(),
LOCATION_MZONE
,
0
,
nil
,
0xcb1
,
0xdc3
)
-
1
end
function
c16368145
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
...
...
expansions/script/c18700544.lua
View file @
1f6df009
...
...
@@ -36,8 +36,6 @@ function cm.initial_effect(c)
e4
:
SetTarget
(
cm
.
thtg2
)
e4
:
SetOperation
(
cm
.
thop2
)
c
:
RegisterEffect
(
e4
)
if
not
cm
.
check
then
cm
.
check
=
true
local
e1
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -49,7 +47,7 @@ function cm.initial_effect(c)
local
_SelectFusionMaterial
=
Duel
.
SelectFusionMaterial
function
Card
.
CheckFusionMaterial
(
card
,
Group_fus
,
Card_g
,
int_chkf
,
not_mat
)
local
tp
=
card
:
GetControler
()
local
exg
=
Duel
.
GetMatchingGroup
(
cm
.
filter0
,
tp
,
1
-
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
nil
,
card
)
local
exg
=
Duel
.
GetMatchingGroup
(
cm
.
filter0
,
tp
,
0
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
nil
,
card
)
exg
:
Sub
(
Group_fus
)
if
#
exg
>
0
and
Duel
.
GetFlagEffect
(
tp
,
18700544
)
>
0
then
local
hg
=
Group
.
__add
(
Group_fus
,
exg
)
...
...
@@ -60,7 +58,7 @@ function cm.initial_effect(c)
function
Duel
.
SelectFusionMaterial
(
tp
,
card
,
mg
,
gc_nil
,
chkf
)
if
Duel
.
GetFlagEffect
(
tp
,
18700544
)
>
0
then
local
exg
=
Duel
.
GetMatchingGroup
(
cm
.
filter0
,
tp
,
1
-
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
nil
,
card
)
local
exg
=
Duel
.
GetMatchingGroup
(
cm
.
filter0
,
tp
,
0
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
nil
,
card
)
mg
:
Merge
(
exg
)
end
return
_SelectFusionMaterial
(
tp
,
card
,
mg
,
gc_nil
,
chkf
)
...
...
@@ -69,16 +67,18 @@ function cm.initial_effect(c)
end
function
cm
.
chainop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
re
:
GetHandler
():
IsSetCard
(
0x820
)
then
if
re
:
GetHandler
Player
()
==
tp
then
Duel
.
RegisterFlagEffect
(
tp
,
m
,
RESET_CHAIN
,
0
,
1
)
end
end
function
cm
.
filter0
(
c
,
fc
)
return
c
:
IsCanBeFusionMaterial
(
fc
)
--
return
c
:
IsCanBeFusionMaterial
(
fc
)
and
c
:
GetFlagEffect
(
18700544
)
>
0
and
c
:
IsLocation
(
LOCATION_MZONE
+
LOCATION_GRAVE
)
end
function
cm
.
thfilter2
(
c
)
return
c
:
IsType
(
TYPE_MONSTER
)
...
...
expansions/script/c21000685.lua
View file @
1f6df009
...
...
@@ -89,7 +89,7 @@ function s.tfilter(c)
end
function
s
.
target2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
e
:
GetHandler
():
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
Duel
.
IsExistingMatchingCard
(
s
.
tfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
e
:
GetHandler
():
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
...
...
expansions/script/c21000700.lua
View file @
1f6df009
...
...
@@ -33,7 +33,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_ANNOUNCE
,
nil
,
0
,
tp
,
0
)
end
function
s
.
thfilter
(
c
,
ac
)
return
(
c
:
IsSetCard
(
0x60
3
)
or
c
:
IsCode
(
ac
))
and
c
:
IsAbleToHand
()
return
(
c
:
IsSetCard
(
0x60
5
)
or
c
:
IsCode
(
ac
))
and
c
:
IsAbleToHand
()
end
function
s
.
filter
(
c
)
return
c
:
IsSetCard
(
0x603
)
and
c
:
IsAbleToDeck
()
...
...
expansions/script/c31710018.lua
View file @
1f6df009
...
...
@@ -90,7 +90,4 @@ function s.top(e,tp,eg,ep,ev,re,r,rp)
end
Duel
.
SpecialSummonComplete
()
end
end
function
s
.
filter
(
c
)
return
c
:
IsSetCard
(
0x690
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
not
c
:
IsForbidden
()
end
\ No newline at end of file
expansions/script/c31710060.lua
View file @
1f6df009
...
...
@@ -92,7 +92,6 @@ function s.desop(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
filter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
2
,
nil
)
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
for
i
=
1
,
#
g
do
local
tc
=
g
:
GetFirst
()
...
...
expansions/script/c31710081.lua
View file @
1f6df009
...
...
@@ -79,6 +79,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
return
res
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
nil
,
nil
,
tp
,
LOCATION_ONFIELD
+
LOCATION_HAND
+
LOCATION_GRAVE
+
LOCATION_REMOVED
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
s
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
@@ -110,7 +111,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
tc
:
SetMaterial
(
mat1
)
local
mat2
=
mat1
:
Filter
(
s
.
fobfilter
,
nil
)
Duel
.
SendtoGrave
(
mat2
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
mat1
=
mat1
:
Filter
(
s
.
nffilter
,
nil
)
mat1
=
mat1
:
Filter
(
s
.
nffilter
,
mat2
)
Duel
.
SendtoDeck
(
mat1
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
...
...
expansions/script/c31710083.lua
View file @
1f6df009
...
...
@@ -177,7 +177,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e4
:
SetCode
(
EVENT_CHAINING
)
e4
:
SetOperation
(
s
.
chainop
)
c
:
RegisterEffect
(
e4
)
Duel
.
RegisterEffect
(
e4
,
tp
)
end
if
ct
>=
9
then
local
e1
=
Effect
.
CreateEffect
(
c
)
...
...
expansions/script/c5012633.lua
View file @
1f6df009
...
...
@@ -13,6 +13,9 @@ function cm.initial_effect(c)
e2
:
SetTargetRange
(
1
,
1
)
e2
:
SetTarget
(
s
.
sp
)
c
:
RegisterEffect
(
e2
)
local
e0
=
e2
:
Clone
()
e0
:
SetCode
(
EFFECT_CANNOT_SUMMON
)
c
:
RegisterEffect
(
e0
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
...
...
expansions/script/c81907107.lua
View file @
1f6df009
...
...
@@ -88,8 +88,8 @@ function cm.rlop(e,tp,eg,ep,ev,re,r,rp)
local
e2
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EVENT_LEAVE_FIELD
)
e2
:
SetCondition
(
cm
.
drcon
)
e2
:
SetOperation
(
cm
.
drop
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e2
,
true
)
tc
:
RegisterFlagEffect
(
m
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
m
,
4
))
end
...
...
@@ -98,6 +98,10 @@ end
function
cm
.
rlfilter2
(
c
)
return
c
:
IsPublic
()
and
c
:
IsAbleToGrave
()
and
not
c
:
IsLocation
(
LOCATION_GRAVE
)
end
function
cm
.
drcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
rlfilter2
,
tp
,
0xff
,
0xff
,
nil
)
return
#
g
>
0
end
function
cm
.
drop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
rlfilter2
,
tp
,
0xff
,
0xff
,
nil
)
if
#
g
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
3
))
then
...
...
@@ -105,4 +109,5 @@ function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
end
e
:
Reset
()
end
\ No newline at end of file
expansions/script/c81907108.lua
View file @
1f6df009
...
...
@@ -158,5 +158,5 @@ function cm.descon(e,tp,eg,ep,ev,re,r,rp)
else
return
true
end
end
function
cm
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Destroy
(
e
:
GetLabelObject
(),
REASON_EFFECT
)
Duel
.
SendtoGrave
(
e
:
GetLabelObject
(),
REASON_EFFECT
)
end
\ No newline at end of file
expansions/script/c81907112.lua
View file @
1f6df009
...
...
@@ -60,7 +60,6 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
aux
.
NecroValleyFilter
()(
tc
)
then
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
tc
:
RegisterFlagEffect
(
m
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
m
,
2
))
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SET_ATTACK
)
...
...
@@ -71,32 +70,32 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_SET_DEFENSE
)
tc
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e3
:
SetCountLimit
(
1
)
e3
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e3
:
SetLabelObject
(
tc
)
e3
:
SetCondition
(
cm
.
descon
)
e3
:
SetOperation
(
cm
.
desop
)
Duel
.
RegisterEffect
(
e3
,
tp
)
Duel
.
SpecialSummonComplete
()
local
fid
=
tc
:
GetFieldID
()
tc
:
RegisterFlagEffect
(
m
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
fid
,
aux
.
Stringid
(
m
,
2
))
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e1
:
SetCountLimit
(
1
)
e1
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetLabel
(
fid
)
e1
:
SetLabelObject
(
tc
)
e1
:
SetCondition
(
cm
.
descon
)
e1
:
SetOperation
(
cm
.
desop
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
BreakEffect
()
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_EFFECT
)
end
end
function
cm
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetLabelObject
()
if
tc
:
GetFlagEffect
(
m
)
~=
0
then
return
Duel
.
GetTurnCount
()
==
e
:
GetLabel
()
else
if
tc
:
GetFlagEffectLabel
(
m
)
~=
e
:
GetLabel
()
then
e
:
Reset
()
return
false
end
e
lse
return
true
e
nd
end
function
cm
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetLabelObject
()
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
Duel
.
SendtoGrave
(
e
:
GetLabelObject
(),
REASON_EFFECT
)
end
--tograve
function
cm
.
tgfilter
(
c
)
...
...
expansions/script/c81907124.lua
View file @
1f6df009
...
...
@@ -12,7 +12,6 @@ function cm.initial_effect(c)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
+
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_MUST_USE_MZONE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCondition
(
cm
.
limcon
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetValue
(
cm
.
zonelimit
)
c
:
RegisterEffect
(
e1
)
...
...
@@ -53,15 +52,15 @@ function cm.initial_effect(c)
c
:
RegisterEffect
(
e4
)
end
--linksummon
function
cm
.
limcon
(
e
)
return
e
:
GetHandler
():
GetSequence
()
<
5
end
function
cm
.
lfilter
(
c
)
return
c
:
IsRace
(
RACE_PSYCHO
)
and
bit
.
band
(
c
:
GetType
(),
TYPE_MONSTER
)
~=
0
end
function
cm
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
cm
.
lfilter
,
1
,
nil
)
end
function
cm
.
zonelimit
(
e
)
return
0x1f001f
|
(
0x600060
&
~
e
:
GetHandler
():
GetLinkedZone
())
end
--immune
function
cm
.
econ
(
e
)
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsPublic
,
e
:
GetHandlerPlayer
(),
LOCATION_HAND
,
LOCATION_HAND
,
1
,
nil
)
...
...
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