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
60b56db5
Commit
60b56db5
authored
Mar 29, 2025
by
Huangnan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
041f8557
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
240 additions
and
31 deletions
+240
-31
expansions/FiNALE.cdb
expansions/FiNALE.cdb
+0
-0
expansions/pics/62624605.jpg
expansions/pics/62624605.jpg
+0
-0
expansions/script/c18700780.lua
expansions/script/c18700780.lua
+8
-4
expansions/script/c31750005.lua
expansions/script/c31750005.lua
+3
-2
expansions/script/c31750009.lua
expansions/script/c31750009.lua
+2
-1
expansions/script/c31750021.lua
expansions/script/c31750021.lua
+2
-2
expansions/script/c31750041.lua
expansions/script/c31750041.lua
+4
-3
expansions/script/c31750045.lua
expansions/script/c31750045.lua
+96
-0
expansions/script/c31750049.lua
expansions/script/c31750049.lua
+3
-4
expansions/script/c31750061.lua
expansions/script/c31750061.lua
+1
-1
expansions/script/c31750065.lua
expansions/script/c31750065.lua
+2
-2
expansions/script/c31750073.lua
expansions/script/c31750073.lua
+0
-1
expansions/script/c31750077.lua
expansions/script/c31750077.lua
+107
-0
expansions/script/c31750097.lua
expansions/script/c31750097.lua
+6
-9
expansions/script/c81902612.lua
expansions/script/c81902612.lua
+2
-2
expansions/script/c96071017.lua
expansions/script/c96071017.lua
+4
-0
No files found.
expansions/FiNALE.cdb
View file @
60b56db5
No preview for this file type
expansions/pics/62624605.jpg
View replaced file @
041f8557
View file @
60b56db5
83.9 KB
|
W:
|
H:
65.7 KB
|
W:
|
H:
2-up
Swipe
Onion skin
expansions/script/c18700780.lua
View file @
60b56db5
--假面骑士 Gavv 日月面库
local
m
=
18700780
local
cm
=
_G
[
"c"
..
m
]
Suyu_bh
=
Suyu_bh
or
{}
Duel
.
LoadScript
(
"c16199990.lua"
)
Gavv
=
Gavv
or
cm
or
{}
cm
=
Gavv
or
{}
Gavv
.
loaded_metatable_list
=
{}
...
...
@@ -14,17 +12,23 @@ function Gavv.back(c,tcode,tcode2)
e3
:
SetCode
(
EVENT_ADJUST
)
e3
:
SetRange
(
LOCATION_DECK
+
LOCATION_GRAVE
+
LOCATION_REMOVED
+
LOCATION_HAND
+
LOCATION_EXTRA
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_SET_AVAILABLE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
tcode
and
tc
:
GetOriginalCode
()
==
tcode2
end
)
e3
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
tc
:
SetEntityCode
(
tcode
)
tc
:
SetEntityCode
(
tcode
,
true
)
Duel
.
ConfirmCards
(
tp
,
Group
.
FromCards
(
tc
))
Duel
.
ConfirmCards
(
1
-
tp
,
Group
.
FromCards
(
tc
))
tc
:
ReplaceEffect
(
tcode
,
0
,
0
)
aux
.
AddFusionProcFunRep
(
tc
,
cm
.
fumfilter
,
2
,
true
)
tc
:
EnableReviveLimit
()
end
)
tc
:
RegisterEffect
(
e3
)
return
e3
return
e3
end
function
cm
.
fumfilter
(
c
)
return
c
:
IsSetCard
(
0x829
)
and
c
:
IsType
(
TYPE_MONSTER
)
end
function
Gavv
.
check
(
c
,
code
,
id
)
local
e0
=
Effect
.
CreateEffect
(
c
)
...
...
expansions/script/c31750005.lua
View file @
60b56db5
...
...
@@ -20,7 +20,7 @@ function s.initial_effect(c)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
+
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
id
+
o
)
e2
:
SetCondition
(
s
.
poscon
)
e2
:
SetTarget
(
s
.
postg
)
...
...
@@ -48,6 +48,7 @@ function s.spop(e,tp)
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
local
g
=
Duel
.
GetMatchingGroup
(
s
.
eqfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
#
g
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
2
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
ec
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
if
ec
then
...
...
@@ -70,7 +71,7 @@ end
-- Effect 2 functions --
function
s
.
cfilter
(
c
,
tp
)
return
c
:
IsSetCard
(
0x694
)
and
c
:
IsRace
(
RACE_MACHINE
)
and
c
:
GetOwner
()
==
tp
return
c
:
IsSetCard
(
0x694
)
and
c
:
IsRace
(
RACE_MACHINE
)
and
c
:
GetOwner
()
==
tp
and
c
:
IsLocation
(
LOCATION_GRAVE
)
end
function
s
.
poscon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
expansions/script/c31750009.lua
View file @
60b56db5
...
...
@@ -28,7 +28,7 @@ function s.initial_effect(c)
-- Allow activation when set in Chain 3+
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_
TRA
P_ACT_IN_SET_TURN
)
e3
:
SetCode
(
EFFECT_
Q
P_ACT_IN_SET_TURN
)
e3
:
SetProperty
(
EFFECT_FLAG_SET_AVAILABLE
)
e3
:
SetCondition
(
s
.
actcon
)
c
:
RegisterEffect
(
e3
)
...
...
@@ -76,6 +76,7 @@ function s.colop(e,tp)
tc
:
RegisterEffect
(
e2
)
Duel
.
AdjustInstantly
()
if
toc
:
IsPosition
(
POS_FACEUP_ATTACK
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
2
))
then
Duel
.
BreakEffect
()
-- Additional effect when changed to attack position
local
dg
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
dg
=
dg
:
Filter
(
function
(
c
,
tc
)
return
tc
:
GetColumnGroup
():
IsContains
(
c
)
and
c
:
IsControler
(
tc
:
GetControler
())
end
,
nil
,
tc
)
...
...
expansions/script/c31750021.lua
View file @
60b56db5
...
...
@@ -7,7 +7,7 @@ function s.initial_effect(c)
e1
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e1
:
SetCategory
(
CATEGORY_TOGRAVE
+
CATEGORY_REMOVE
+
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_HAND
+
LOCATION_MZONE
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCountLimit
(
1
,
id
)
e1
:
SetTarget
(
s
.
tgtg
)
e1
:
SetOperation
(
s
.
tgop
)
...
...
@@ -62,7 +62,6 @@ function s.tgop(e,tp)
local
rg
=
Duel
.
GetOperatedGroup
()
for
rc
in
aux
.
Next
(
rg
)
do
rc
:
RegisterFlagEffect
(
id
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
0
,
1
,
fid
)
Debug
.
Message
(
rc
:
GetFlagEffectLabel
(
id
))
end
rg
:
KeepAlive
()
local
e1
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -117,6 +116,7 @@ function s.spop(e,tp)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
if
Duel
.
Draw
(
tp
,
ct
,
REASON_EFFECT
)
>
0
then
Duel
.
BreakEffect
()
-- Effect 2-1: Set Quick-Play
local
qg
=
Duel
.
GetMatchingGroup
(
s
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
)
if
#
qg
>
0
then
...
...
expansions/script/c31750041.lua
View file @
60b56db5
...
...
@@ -24,12 +24,12 @@ function s.initial_effect(c)
e4
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e4
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e4
:
SetCode
(
EVENT_CHAINING
)
e4
:
SetRange
(
LOCATION_
S
ZONE
)
e4
:
SetRange
(
LOCATION_
M
ZONE
)
e4
:
SetCountLimit
(
1
,
id
)
e4
:
SetCondition
(
s
.
condition
)
e4
:
SetTarget
(
s
.
target
)
e4
:
SetOperation
(
s
.
operation
)
c
:
RegisterEffect
(
e
2
)
c
:
RegisterEffect
(
e
4
)
end
function
s
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
rc
=
re
:
GetHandler
()
...
...
@@ -49,8 +49,9 @@ end
-- Operation function
function
s
.
operation
(
e
,
tp
)
local
r
c
=
e
:
GetLabelObject
()
local
t
c
=
e
:
GetLabelObject
()
if
(
not
tc
:
IsRelateToEffect
(
e
))
or
Duel
.
ChangePosition
(
tc
,
POS_FACEUP_DEFENSE
,
0
,
POS_FACEUP_ATTACK
,
0
)
==
0
then
return
end
if
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
1
))
then
return
end
Duel
.
BreakEffect
()
if
tc
:
IsPosition
(
POS_FACEUP_ATTACK
)
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
...
...
expansions/script/c31750045.lua
0 → 100644
View file @
60b56db5
--O.P.B.A:AH-64D Apache
local
s
,
id
,
o
=
GetID
()
function
s
.
initial_effect
(
c
)
-- Xyz Summon规则
c
:
EnableReviveLimit
()
aux
.
AddXyzProcedure
(
c
,
nil
,
6
,
2
)
-- 效果①:替代破坏+无效
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EFFECT_DESTROY_REPLACE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
,
id
)
e1
:
SetTarget
(
s
.
reptg
)
e1
:
SetValue
(
s
.
repval
)
c
:
RegisterEffect
(
e1
)
-- 效果②:变更表示形式+纵列除外
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e2
:
SetCategory
(
CATEGORY_POSITION
+
CATEGORY_DESTROY
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
,
id
+
o
)
e2
:
SetTarget
(
s
.
postg
)
e2
:
SetCost
(
s
.
poscost
)
e2
:
SetOperation
(
s
.
posop
)
c
:
RegisterEffect
(
e2
)
end
-- 效果①实现 --
function
s
.
repfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsControler
(
1
-
tp
)
and
c
:
IsLocation
(
LOCATION_ONFIELD
)
and
c
:
IsReason
(
REASON_EFFECT
)
and
c
:
GetReasonPlayer
()
==
tp
and
c
:
GetReasonEffect
():
GetHandler
():
IsSetCard
(
0x694
)
end
function
s
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsDefensePos
()
and
eg
:
IsExists
(
s
.
repfilter
,
1
,
nil
,
tp
)
end
if
Duel
.
SelectEffectYesNo
(
tp
,
e
:
GetHandler
(),
96
)
then
Duel
.
ChangePosition
(
e
:
GetHandler
(),
POS_FACEUP_ATTACK
)
local
g
=
eg
:
Filter
(
s
.
repfilter
,
nil
,
tp
)
for
tc
in
aux
.
Next
(
g
)
do
-- 无效效果
Duel
.
NegateRelatedChain
(
tc
,
RESET_TURN_SET
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_DISABLE_EFFECT
)
tc
:
RegisterEffect
(
e2
)
Duel
.
Remove
(
tc
,
POS_FACEUP
,
REASON_EFFECT
)
end
return
true
else
return
false
end
end
function
s
.
repval
(
e
,
c
)
return
s
.
repfilter
(
c
,
e
:
GetHandlerPlayer
())
end
-- 效果②实现 --
function
s
.
posfilter
(
c
)
return
c
:
IsSetCard
(
0x694
)
and
c
:
IsCanChangePosition
()
end
function
s
.
desfilter
(
c
,
co
)
return
co
:
IsContains
(
c
)
end
function
s
.
poscost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
1
,
REASON_COST
)
end
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
end
function
s
.
postg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
s
.
posfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
s
.
posfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
s
.
posfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_POSITION
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
nil
,
1
,
1
-
tp
,
LOCATION_ONFIELD
)
end
function
s
.
posop
(
e
,
tp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
or
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
-- 变更表示形式
local
pos
=
tc
:
IsPosition
(
POS_FACEUP_ATTACK
)
and
POS_FACEUP_DEFENSE
or
POS_FACEUP_ATTACK
if
Duel
.
ChangePosition
(
tc
,
pos
)
~=
0
then
-- 纵列破坏处理
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
desfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
1
,
nil
,
tc
:
GetColumnGroup
())
if
#
g
>
0
then
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
end
end
end
\ No newline at end of file
expansions/script/c31750049.lua
View file @
60b56db5
...
...
@@ -79,6 +79,7 @@ function s.tgop(e,tp,eg,ep,ev,re,r,rp)
if
tc
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
Duel
.
SSet
(
tp
,
tc
)
Duel
.
BreakEffect
()
if
Duel
.
GetFlagEffect
(
tp
,
id
+
ac
)
>
1
and
Duel
.
GetFlagEffect
(
tp
,
id
+
ac
+
o
)
==
0
then
Duel
.
RegisterFlagEffect
(
tp
,
id
+
ac
+
o
,
0
,
nil
,
1
,
1
,
0
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
...
...
@@ -90,7 +91,6 @@ function s.tgop(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetCountLimit
(
1
)
e1
:
SetOperation
(
s
.
asop
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Debug
.
Message
(
"cg1阶段"
)
end
if
Duel
.
GetFlagEffect
(
tp
,
id
+
ac
)
>
2
and
Duel
.
GetFlagEffect
(
tp
,
id
+
ac
+
o
)
==
1
then
local
e4
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
...
...
@@ -100,7 +100,6 @@ function s.tgop(e,tp,eg,ep,ev,re,r,rp)
e4
:
SetLabel
(
ac
)
Duel
.
RegisterEffect
(
e4
,
tp
)
Duel
.
RegisterFlagEffect
(
tp
,
id
+
ac
+
o
,
0
,
nil
,
1
,
1
,
0
)
Debug
.
Message
(
"cg2阶段"
)
end
if
Duel
.
GetFlagEffect
(
tp
,
id
+
ac
)
>
3
and
Duel
.
GetFlagEffect
(
tp
,
id
+
ac
+
o
)
==
2
then
Duel
.
RegisterFlagEffect
(
tp
,
id
+
ac
+
o
,
0
,
nil
,
1
,
1
,
0
)
...
...
@@ -112,7 +111,6 @@ function s.tgop(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetCondition
(
s
.
thcon
)
e1
:
SetOperation
(
s
.
thop2
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Debug
.
Message
(
"cg3阶段"
)
end
end
...
...
@@ -134,7 +132,8 @@ function s.asop(e,tp,eg,ep,ev,re,r,rp)
local
ac
=
e
:
GetLabel
()
if
not
Duel
.
IsExistingMatchingCard
(
s
.
setfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
ac
)
then
return
end
if
Duel
.
Hint
(
HINT_CARD
,
0
,
e
:
GetLabel
())
and
Duel
.
SelectEffectYesNo
(
tp
,
e
:
GetHandler
(),
aux
.
Stringid
(
id
,
7
))
then
Duel
.
Hint
(
HINT_CARD
,
0
,
e
:
GetLabel
())
if
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
7
))
then
Duel
.
Hint
(
HINT_CARD
,
0
,
id
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
setfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
ac
):
GetFirst
()
...
...
expansions/script/c31750061.lua
View file @
60b56db5
...
...
@@ -27,7 +27,7 @@ function s.initial_effect(c)
-- Allow activation when set in Chain 3+
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_
TRA
P_ACT_IN_SET_TURN
)
e3
:
SetCode
(
EFFECT_
Q
P_ACT_IN_SET_TURN
)
e3
:
SetProperty
(
EFFECT_FLAG_SET_AVAILABLE
)
e3
:
SetCondition
(
s
.
actcon
)
c
:
RegisterEffect
(
e3
)
...
...
expansions/script/c31750065.lua
View file @
60b56db5
...
...
@@ -5,9 +5,9 @@ function s.initial_effect(c)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e1
:
SetCategory
(
CATEGORY_POSITION
+
CATEGORY_DISABLE
+
CATEGORY_DESTROY
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCountLimit
(
1
,
id
)
e1
:
SetTarget
(
s
.
postg
)
e1
:
SetOperation
(
s
.
posop
)
c
:
RegisterEffect
(
e1
)
...
...
@@ -27,7 +27,7 @@ function s.initial_effect(c)
-- Activate when set in Chain 3+
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_
TRA
P_ACT_IN_SET_TURN
)
e3
:
SetCode
(
EFFECT_
Q
P_ACT_IN_SET_TURN
)
e3
:
SetProperty
(
EFFECT_FLAG_SET_AVAILABLE
)
e3
:
SetCondition
(
s
.
actcon
)
c
:
RegisterEffect
(
e3
)
...
...
expansions/script/c31750073.lua
View file @
60b56db5
...
...
@@ -15,7 +15,6 @@ function s.initial_effect(c)
-- Effect 2: Set card from Deck
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e2
:
SetCategory
(
CATEGORY_REMOVE
+
CATEGORY_DECKDES
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetRange
(
LOCATION_GRAVE
)
...
...
expansions/script/c31750077.lua
0 → 100644
View file @
60b56db5
--O.P.B.A:FMTV
local
s
,
id
=
GetID
()
function
s
.
initial_effect
(
c
)
-- Effect 1: Draw and manage hand
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e1
:
SetCategory
(
CATEGORY_DRAW
+
CATEGORY_TODECK
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCountLimit
(
1
,
id
)
e1
:
SetCost
(
s
.
drcost
)
e1
:
SetTarget
(
s
.
drtg
)
e1
:
SetOperation
(
s
.
drop
)
c
:
RegisterEffect
(
e1
)
-- Effect 2: Reset during End Phase
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e2
:
SetCategory
(
CATEGORY_REMOVE
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCountLimit
(
1
,
id
+
100
)
e2
:
SetCondition
(
s
.
setcon
)
e2
:
SetTarget
(
s
.
settg
)
e2
:
SetOperation
(
s
.
setop
)
c
:
RegisterEffect
(
e2
)
end
-- Effect 1 functions --
function
s
.
drcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsSetCard
,
tp
,
LOCATION_HAND
,
0
,
1
,
e
:
GetHandler
(),
0x694
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsSetCard
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
e
:
GetHandler
(),
0x694
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
function
s
.
xyzfilter
(
c
)
return
c
:
IsSetCard
(
0x694
)
and
c
:
IsType
(
TYPE_XYZ
)
end
function
s
.
drtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanDraw
(
tp
,
2
)
end
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
2
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
2
)
end
function
s
.
drop
(
e
,
tp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
if
Duel
.
Draw
(
p
,
d
,
REASON_EFFECT
)
==
2
then
local
g
=
Duel
.
GetFieldGroup
(
p
,
LOCATION_HAND
,
0
):
Filter
(
Card
.
IsAbleToDeck
,
nil
)
if
#
g
==
0
then
return
end
local
has_xyz
=
Duel
.
IsExistingMatchingCard
(
s
.
xyzfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
local
op
=
0
if
has_xyz
then
op
=
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
id
,
2
),
aux
.
Stringid
(
id
,
3
))
else
op
=
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
id
,
2
))
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToDeck
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
)
Duel
.
BreakEffect
()
if
op
==
0
then
Duel
.
SendtoDeck
(
sg
,
nil
,
SEQ_DECKBOTTOM
,
REASON_EFFECT
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
local
xyz
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
xyzfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
if
#
xyz
>
0
then
Duel
.
Overlay
(
xyz
:
GetFirst
(),
sg
)
end
end
end
end
-- Effect 2 functions --
function
s
.
rmfilter
(
c
)
return
c
:
IsSetCard
(
0x694
)
and
c
:
IsRace
(
RACE_WARRIOR
)
and
c
:
IsType
(
TYPE_XYZ
)
and
c
:
GetOverlayCount
()
>
0
end
function
s
.
setcon
(
e
,
tp
)
return
Duel
.
GetTurnPlayer
()
==
1
-
tp
end
function
s
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
s
.
rmfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
e
:
GetHandler
():
IsSSetable
()
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
nil
,
1
,
tp
,
LOCATION_OVERLAY
)
end
function
s
.
setop
(
e
,
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
local
xyz
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
rmfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
if
#
xyz
>
0
then
local
og
=
xyz
:
GetFirst
():
GetOverlayGroup
()
if
og
:
GetCount
()
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
local
sg
=
og
:
Select
(
tp
,
1
,
1
,
nil
)
if
Duel
.
SendtoGrave
(
sg
,
REASON_EFFECT
)
>
0
and
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
Duel
.
SSet
(
tp
,
e
:
GetHandler
())
end
end
end
end
\ No newline at end of file
expansions/script/c31750097.lua
View file @
60b56db5
...
...
@@ -15,7 +15,7 @@ function s.initial_effect(c)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_TO_GRAVE
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCountLimit
(
1
,
id
)
e1
:
SetTarget
(
s
.
lvtg
)
e1
:
SetOperation
(
s
.
lvop
)
...
...
@@ -28,8 +28,8 @@ function s.initial_effect(c)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_LEAVE_FIELD
)
e2
:
SetRange
(
LOCATION_HAND
+
LOCATION_GRAVE
)
e2
:
Set
CountLimit
(
1
,
id
+
100
)
e2
:
SetCo
ndition
(
s
.
thcon
)
e2
:
Set
Property
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
+
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCo
untLimit
(
1
,
id
+
o
)
e2
:
SetCost
(
s
.
thcost
)
e2
:
SetTarget
(
s
.
thtg
)
e2
:
SetOperation
(
s
.
thop
)
...
...
@@ -68,6 +68,7 @@ function s.lvop(e,tp)
-- Special Summon
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
s
.
spfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
nil
,
tc
:
GetLevel
(),
e
,
tp
)
if
#
g
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
2
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
...
...
@@ -77,20 +78,16 @@ end
-- Effect 2 functions --
function
s
.
cfilter
(
c
,
tp
)
return
c
:
IsPreviousSetCard
(
0x694
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
GetPreviousControler
()
==
tp
and
c
:
IsPreviousControler
(
tp
)
and
c
:
IsPreviousControler
(
tp
)
and
c
:
GetReasonPlayer
()
==
1
-
tp
end
function
s
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
s
.
cfilter
,
1
,
nil
,
tp
)
end
function
s
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToRemoveAsCost
()
end
Duel
.
Remove
(
e
:
GetHandler
(),
POS_FACEUP
,
REASON_COST
)
end
function
s
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
eg
:
IsExists
(
s
.
cfilter
,
1
,
nil
,
tp
)
end
local
g
=
eg
:
Filter
(
s
.
cfilter
,
nil
,
tp
)
local
g
=
eg
:
Filter
Select
(
tp
,
s
.
cfilter
,
1
,
1
,
nil
,
tp
)
Duel
.
SetTargetCard
(
g
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
1
,
0
,
0
)
end
...
...
expansions/script/c81902612.lua
View file @
60b56db5
...
...
@@ -161,7 +161,7 @@ function cm.atkop2(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Destroy
(
dg
,
REASON_EFFECT
)
end
function
cm
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
cm
.
posfilter
,
1
,
nil
,
tp
)
and
e
:
GetHandler
():
GetOverlayGroup
():
IsExists
(
Card
.
IsCode
,
1
,
nil
,
81902055
)
and
e
:
GetHandler
():
IsPosition
(
POS_FACEUP_DEFENSE
)
return
eg
:
IsExists
(
cm
.
posfilter
,
1
,
nil
,
e
:
GetHandlerPlayer
()
)
and
e
:
GetHandler
():
GetOverlayGroup
():
IsExists
(
Card
.
IsCode
,
1
,
nil
,
81902055
)
and
e
:
GetHandler
():
IsPosition
(
POS_FACEUP_DEFENSE
)
end
function
cm
.
posfilter
(
c
,
tp
)
return
c
:
IsPosition
(
POS_FACEUP_ATTACK
)
and
not
c
:
IsType
(
TYPE_LINK
)
and
c
:
IsControler
(
1
-
tp
)
...
...
@@ -186,7 +186,7 @@ function cm.etg(e,c)
return
c
~=
e
:
GetHandler
()
and
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsFaceup
()
end
function
cm
.
efilter
(
e
,
te
)
return
te
:
Get
HandlerPlayer
()
~=
e
:
GetHandlerPlay
er
()
return
te
:
Get
Owner
()
~=
e
:
GetOwn
er
()
end
function
cm
.
atlimit
(
e
,
c
)
return
c
~=
e
:
GetHandler
()
and
c
:
IsFaceup
()
...
...
expansions/script/c96071017.lua
View file @
60b56db5
...
...
@@ -13,6 +13,7 @@ function cm.initial_effect(c)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
--取效果对象
e1
:
SetRange
(
LOCATION_PZONE
)
--灵摆区域
e1
:
SetCountLimit
(
1
,
m
)
--卡名次数限制
e1
:
SetCondition
(
cm
.
spcon
)
e1
:
SetCost
(
cm
.
spcost
)
--代价cost
e1
:
SetTarget
(
cm
.
sptg
)
--效果判定
e1
:
SetOperation
(
cm
.
spop
)
--效果处理
...
...
@@ -45,6 +46,9 @@ function cm.initial_effect(c)
c
:
RegisterEffect
(
e3
)
end
--recover
function
cm
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
)
>
0
end
function
cm
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckReleaseGroupEx
(
tp
,
Card
.
IsSetCard
,
1
,
REASON_COST
,
true
,
e
:
GetHandler
(),
0xef1
)
end
local
g
=
Duel
.
SelectReleaseGroupEx
(
tp
,
Card
.
IsSetCard
,
1
,
1
,
REASON_COST
,
true
,
e
:
GetHandler
(),
0xef1
)
...
...
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