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
REIKAI
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
Changes
18
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