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
89c31de3
Commit
89c31de3
authored
Sep 21, 2021
by
Tachibana
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ndyd
parent
7316c6d3
Pipeline
#5713
passed with stage
in 9 minutes and 24 seconds
Changes
12
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1 addition
and
501 deletions
+1
-501
expansions/222DIY.cdb
expansions/222DIY.cdb
+0
-0
expansions/lflist.conf
expansions/lflist.conf
+1
-1
expansions/pics/13003021.jpg
expansions/pics/13003021.jpg
+0
-0
expansions/pics/33701340.jpg
expansions/pics/33701340.jpg
+0
-0
expansions/pics/33701360.jpg
expansions/pics/33701360.jpg
+0
-0
expansions/pics/33701369.jpg
expansions/pics/33701369.jpg
+0
-0
expansions/pics/33701419.jpg
expansions/pics/33701419.jpg
+0
-0
expansions/script/c13003021.lua
expansions/script/c13003021.lua
+0
-99
expansions/script/c33701340.lua
expansions/script/c33701340.lua
+0
-130
expansions/script/c33701360.lua
expansions/script/c33701360.lua
+0
-48
expansions/script/c33701369.lua
expansions/script/c33701369.lua
+0
-33
expansions/script/c33701419.lua
expansions/script/c33701419.lua
+0
-190
No files found.
expansions/222DIY.cdb
View file @
89c31de3
No preview for this file type
expansions/lflist.conf
View file @
89c31de3
...
@@ -1021,7 +1021,7 @@
...
@@ -1021,7 +1021,7 @@
33701341
0
--是小钱硬币哟!
33701341
0
--是小钱硬币哟!
33701361
1
--
Power
of
Anger
33701361
1
--
Power
of
Anger
33701373
0
--面对风暴
33701373
0
--面对风暴
33701348
1
--新世代虚拟
YouTuber
YUA
33701348
0
--新世代虚拟
YouTuber
YUA
33701394
1
--虚拟
YouTuber
响木 青 · 新章
33701394
1
--虚拟
YouTuber
响木 青 · 新章
33701402
0
--
Niko
~是松饼!~
33701402
0
--
Niko
~是松饼!~
33701420
0
--
VOICEROID
伊达子
33701420
0
--
VOICEROID
伊达子
...
...
expansions/pics/13003021.jpg
deleted
100644 → 0
View file @
7316c6d3
16.6 KB
expansions/pics/33701340.jpg
deleted
100644 → 0
View file @
7316c6d3
16.8 KB
expansions/pics/33701360.jpg
deleted
100644 → 0
View file @
7316c6d3
14.8 KB
expansions/pics/33701369.jpg
deleted
100644 → 0
View file @
7316c6d3
16.4 KB
expansions/pics/33701419.jpg
deleted
100644 → 0
View file @
7316c6d3
16.3 KB
expansions/script/c13003021.lua
deleted
100644 → 0
View file @
7316c6d3
--东北的神弓-东北俊子
local
m
=
13003021
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
c
:
SetUniqueOnField
(
1
,
0
,
m
)
--link summon
aux
.
AddLinkProcedure
(
c
,
cm
.
mfilter
,
3
,
99
)
c
:
EnableReviveLimit
()
--disable
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetCategory
(
CATEGORY_NEGATE
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCondition
(
cm
.
dscon
)
e2
:
SetTarget
(
cm
.
dstg
)
e2
:
SetOperation
(
cm
.
dsop
)
c
:
RegisterEffect
(
e2
)
--place
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
2
))
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e3
:
SetCode
(
EVENT_RELEASE
)
e3
:
SetCountLimit
(
1
,
m
)
e3
:
SetTarget
(
cm
.
pltg
)
e3
:
SetOperation
(
cm
.
plop
)
c
:
RegisterEffect
(
e3
)
end
function
cm
.
mfilter
(
c
)
return
c
:
IsLinkType
(
TYPE_LINK
)
end
function
cm
.
dscon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
ep
==
1
-
tp
and
re
:
IsActiveType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
Duel
.
IsChainNegatable
(
ev
)
and
not
e
:
GetHandler
():
IsStatus
(
STATUS_BATTLE_DESTROYED
)
end
function
cm
.
dstg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsAttackAbove
(
800
)
and
c
:
GetFlagEffect
(
m
)
==
0
end
c
:
RegisterFlagEffect
(
m
,
RESET_CHAIN
,
0
,
1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_NEGATE
,
eg
,
1
,
0
,
0
)
end
function
cm
.
dsop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsFaceup
()
or
not
c
:
IsRelateToEffect
(
e
)
or
c
:
GetAttack
()
<
800
or
Duel
.
GetCurrentChain
()
~=
ev
+
1
or
c
:
IsStatus
(
STATUS_BATTLE_DESTROYED
)
then
return
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_COPY_INHERIT
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_DISABLE
)
e1
:
SetValue
(
-
800
)
c
:
RegisterEffect
(
e1
)
if
not
c
:
IsHasEffect
(
EFFECT_REVERSE_UPDATE
)
then
Duel
.
NegateActivation
(
ev
)
end
end
function
cm
.
pltg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
end
function
cm
.
plop
(
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
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
if
Duel
.
MoveToField
(
c
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCode
(
EFFECT_CHANGE_TYPE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
TYPE_SPELL
+
TYPE_CONTINUOUS
)
c
:
RegisterEffect
(
e1
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_LEAVE_FIELD_REDIRECT
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetReset
(
RESET_EVENT
+
RESETS_REDIRECT
)
e3
:
SetValue
(
LOCATION_REMOVED
)
c
:
RegisterEffect
(
e3
)
end
--set link magic(not working properly)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
+
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCode
(
EFFECT_LINK_SPELL_KOISHI
)
e2
:
SetValue
(
LINK_MARKER_TOP
+
LINK_MARKER_TOP_LEFT
+
LINK_MARKER_BOTTOM
+
LINK_MARKER_BOTTOM_RIGHT
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
c
:
RegisterEffect
(
e2
)
end
\ No newline at end of file
expansions/script/c33701340.lua
deleted
100644 → 0
View file @
7316c6d3
--宇宙融合·日月
local
m
=
33701340
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetTarget
(
cm
.
target
)
e1
:
SetOperation
(
cm
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
cm
.
filter0
(
c
)
return
c
:
IsOnField
()
and
c
:
IsAbleToRemove
()
end
function
cm
.
filter1
(
c
,
e
)
return
c
:
IsAbleToRemove
()
and
c
:
IsLocation
(
LOCATION_HAND
)
end
function
cm
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
end
function
cm
.
filter3
(
c
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
end
function
cm
.
sfilter0
(
c
,
e
,
tp
)
local
lv
=
c
:
GetLevel
()
return
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
nil
,
c
)
>
0
and
Duel
.
IsExistingMatchingCard
(
cm
.
sfilter1
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
tp
,
lv
)
end
function
cm
.
sfilter1
(
c
,
tp
,
lv
)
local
rlv
=
lv
-
c
:
GetLevel
()
local
rg
=
Duel
.
GetMatchingGroup
(
cm
.
sfilter2
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
c
)
return
rlv
>
0
and
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsAbleToRemove
()
and
rg
:
CheckWithSumEqual
(
Card
.
GetLevel
,
rlv
,
1
,
63
)
end
function
cm
.
sfilter2
(
c
)
return
c
:
GetLevel
()
>
0
and
not
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsAbleToRemove
()
end
function
cm
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
cm
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
cm
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
res1
=
Duel
.
IsExistingMatchingCard
(
cm
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
mg3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
res1
=
Duel
.
IsExistingMatchingCard
(
cm
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
end
end
local
res2
=
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_SMATERIAL
)
and
Duel
.
IsExistingMatchingCard
(
cm
.
sfilter0
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
if
chk
==
0
then
return
res1
or
res2
end
local
op
=
1
if
res1
or
res2
then
local
mc
=
{}
local
n
=
{}
local
ct
=
1
if
res1
then
mc
[
ct
]
=
aux
.
Stringid
(
m
,
0
)
n
[
ct
]
=
0
ct
=
ct
+
1
end
if
res2
then
mc
[
ct
]
=
aux
.
Stringid
(
m
,
1
)
n
[
ct
]
=
1
ct
=
ct
+
1
end
Debug
.
Message
(
#
mc
)
local
sp
=
Duel
.
SelectOption
(
tp
,
table.unpack
(
mc
))
op
=
n
[
sp
+
1
]
end
Debug
.
Message
(
op
)
e
:
SetLabel
(
op
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
nil
,
1
,
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
)
end
function
cm
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetLabel
()
then
return
end
local
op
=
e
:
GetLabel
()
if
op
==
0
then
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
cm
.
filter1
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
cm
.
filter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
sg1
=
Duel
.
GetMatchingGroup
(
cm
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg3
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
mg3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
cm
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
if
sg2
then
sg
:
Merge
(
sg2
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
tc
:
CompleteProcedure
()
end
else
if
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_SMATERIAL
)
and
Duel
.
IsExistingMatchingCard
(
cm
.
sfilter0
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
sfilter0
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
lv
=
g1
:
GetFirst
():
GetLevel
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
sfilter1
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
tp
,
lv
)
local
rlv
=
lv
-
g2
:
GetFirst
():
GetLevel
()
local
rg
=
Duel
.
GetMatchingGroup
(
cm
.
sfilter2
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
g2
:
GetFirst
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g3
=
rg
:
SelectWithSumEqual
(
tp
,
Card
.
GetLevel
,
rlv
,
1
,
63
)
g2
:
Merge
(
g3
)
Duel
.
Remove
(
g2
,
POS_FACEUP
,
REASON_EFFECT
)
Duel
.
SpecialSummon
(
g1
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
expansions/script/c33701360.lua
deleted
100644 → 0
View file @
7316c6d3
--全灵的一扫(WIP)
local
m
=
33701360
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_TOGRAVE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCost
(
cm
.
cost
)
e1
:
SetTarget
(
cm
.
target
)
e1
:
SetOperation
(
cm
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckLPCost
(
tp
,
1000
)
end
Duel
.
PayLPCost
(
tp
,
1000
)
end
function
cm
.
filter
(
c
)
return
c
:
IsSummonType
(
SUMMON_TYPE_SPECIAL
)
and
c
:
IsPreviousLocation
(
LOCATION_EXTRA
)
and
Duel
.
IsPlayerCanSendtoGrave
(
c
:
GetControler
(),
c
)
end
function
cm
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
cm
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
cm
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
end
function
cm
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
p
=
tc
:
GetControler
()
local
t1
=
false
local
t2
=
Duel
.
IsPlayerCanSendtoGrave
(
p
,
tc
)
if
t1
or
t2
then
local
m
=
{}
local
n
=
{}
local
ct
=
1
if
t1
then
m
[
ct
]
=
aux
.
Stringid
(
m
,
1
)
n
[
ct
]
=
1
ct
=
ct
+
1
end
if
t2
then
m
[
ct
]
=
aux
.
Stringid
(
m
,
2
)
n
[
ct
]
=
2
ct
=
ct
+
1
end
local
sp
=
Duel
.
SelectOption
(
p
,
table.unpack
(
m
))
op
=
n
[
sp
+
1
]
end
if
op
==
1
then
elseif
op
==
2
then
Duel
.
SendtoGrave
(
tc
,
REASON_RULE
)
end
end
expansions/script/c33701369.lua
deleted
100644 → 0
View file @
7316c6d3
--缝合怪融合
local
m
=
33701369
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetCategory
(
CATEGORY_TOGRAVE
+
CATEGORY_FUSION_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCost
(
cm
.
cost
)
e1
:
SetTarget
(
cm
.
target
)
e1
:
SetOperation
(
cm
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
PayLPCost
(
tp
,
math.floor
(
Duel
.
GetLP
(
tp
)
/
2
))
end
function
cm
.
costfilter
(
c
)
return
c
:
IsType
(
TYPE_FUSION
)
and
not
c
:
IsType
(
TYPE_EFFECT
)
and
not
c
:
IsPublic
()
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
Duel
.
IsExistingMatchingCard
(
cm
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
function
cm
.
tgfilter
(
c
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToGrave
()
end
function
cm
.
target1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
mg
=
Duel
.
GetMatchingGroup
(
cm
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
return
Duel
.
IsExistingMatchingCard
(
cm
.
costfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
end
expansions/script/c33701419.lua
deleted
100644 → 0
View file @
7316c6d3
--虚拟YouTuber 夜乃空
local
m
=
33701419
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
--fusion summon
c
:
EnableReviveLimit
()
aux
.
AddFusionProcFunRep
(
c
,
cm
.
ffilter
,
3
,
false
)
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
(
cm
.
sprcon
)
e1
:
SetOperation
(
cm
.
sprop
)
c
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetOperation
(
cm
.
atop
)
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e3
:
SetTarget
(
cm
.
attarget1
)
e3
:
SetValue
(
cm
.
atval1
)
c
:
RegisterEffect
(
e3
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetCategory
(
CATEGORY_RECOVER
+
CATEGORY_REMOVE
)
e4
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCountLimit
(
1
)
e4
:
SetCondition
(
cm
.
rccon
)
e4
:
SetTarget
(
cm
.
rctg
)
e4
:
SetOperation
(
cm
.
rcop
)
c
:
RegisterEffect
(
e4
)
local
e11
=
Effect
.
CreateEffect
(
c
)
e11
:
SetType
(
EFFECT_TYPE_SINGLE
)
e11
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e11
:
SetCode
(
EFFECT_CANNOT_BE_SYNCHRO_MATERIAL
)
e11
:
SetValue
(
1
)
c
:
RegisterEffect
(
e11
)
local
e12
=
e11
:
Clone
()
e12
:
SetCode
(
EFFECT_CANNOT_BE_FUSION_MATERIAL
)
e12
:
SetValue
(
cm
.
fuslimit
)
c
:
RegisterEffect
(
e12
)
local
e13
=
e11
:
Clone
()
e13
:
SetCode
(
EFFECT_CANNOT_BE_XYZ_MATERIAL
)
c
:
RegisterEffect
(
e13
)
local
e14
=
e11
:
Clone
()
e14
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
c
:
RegisterEffect
(
e14
)
if
not
cm
.
global_check
then
cm
.
global_check
=
true
cm
[
0
]
=
0
cm
[
1
]
=
0
cm
[
2
]
=
0
cm
[
3
]
=
0
local
ge1
=
Effect
.
CreateEffect
(
c
)
ge1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
ge1
:
SetCode
(
EVENT_DAMAGE
)
ge1
:
SetOperation
(
cm
.
checkop
)
Duel
.
RegisterEffect
(
ge1
,
0
)
local
ge2
=
ge1
:
Clone
()
ge2
:
SetCode
(
EVENT_RECOVER
)
ge2
:
SetOperation
(
cm
.
checkop1
)
Duel
.
RegisterEffect
(
ge2
,
0
)
local
ge3
=
Effect
.
CreateEffect
(
c
)
ge3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
ge3
:
SetCode
(
EVENT_PHASE_START
+
PHASE_DRAW
)
ge3
:
SetOperation
(
cm
.
clear
)
Duel
.
RegisterEffect
(
ge3
,
0
)
end
end
function
cm
.
ffilter
(
c
,
fc
,
sub
,
mg
,
sg
)
return
not
sg
or
not
sg
:
IsExists
(
Card
.
IsFusionAttribute
,
1
,
c
,
c
:
GetFusionAttribute
())
end
function
cm
.
sprfilter
(
c
)
return
c
:
IsType
(
TYPE_XYZ
)
and
c
:
GetOverlayCount
()
>
0
end
function
cm
.
fselect
(
g
)
return
g
:
GetClassCount
(
Card
.
GetAttribute
)
==
g
:
GetCount
()
end
function
cm
.
sprcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
if
not
Duel
.
CheckRemoveOverlayCard
(
tp
,
1
,
1
,
3
,
REASON_COST
)
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
sprfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
)
local
mg
=
Group
.
CreateGroup
()
local
tc
=
g
:
GetFirst
()
while
tc
do
mg
:
Merge
(
tc
:
GetOverlayGroup
():
Filter
(
Card
.
IsCanBeFusionMaterial
,
nil
))
tc
=
g
:
GetNext
()
end
return
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
nil
,
c
)
>
0
and
mg
:
CheckSubGroup
(
cm
.
fselect
,
3
,
3
,
tp
,
c
)
end
function
cm
.
sprop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
sprfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
0
,
nil
)
local
mg
=
Group
.
CreateGroup
()
local
tc
=
g
:
GetFirst
()
while
tc
do
mg
:
Merge
(
tc
:
GetOverlayGroup
():
Filter
(
Card
.
IsCanBeFusionMaterial
,
nil
))
tc
=
g
:
GetNext
()
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
local
sg
=
mg
:
SelectSubGroup
(
tp
,
cm
.
fselect
,
false
,
3
,
mg
:
GetCount
(),
tp
,
c
)
c
:
SetMaterial
(
sg
)
Duel
.
SendtoGrave
(
sg
,
REASON_COST
+
REASON_MATERIAL
)
end
function
cm
.
atop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetMaterial
()
local
atk
=
0
if
g
then
atk
=
g
:
GetCount
()
*
800
else
atk
=
0
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SET_ATTACK
)
e1
:
SetValue
(
atk
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
c
:
RegisterEffect
(
e1
)
end
function
cm
.
attarget1
(
e
,
c
)
return
c
~=
e
:
GetHandler
()
end
function
cm
.
atval1
(
e
,
c
)
return
e
:
GetHandler
():
GetAttack
()
end
function
cm
.
rccon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
tp
==
Duel
.
GetTurnPlayer
()
and
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_MZONE
,
0
)
==
1
end
function
cm
.
rctg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsAbleToRemove
()
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_RECOVER
,
nil
,
0
,
tp
,
c
:
GetAttack
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
c
,
1
,
0
,
0
)
end
function
cm
.
rcop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
not
c
:
IsFaceup
()
then
return
end
Duel
.
Recover
(
tp
,
c
:
GetAttack
(),
REASON_EFFECT
)
if
Duel
.
Remove
(
c
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_TEMPORARY
)
~=
0
then
local
fid
=
c
:
GetFieldID
()
c
:
RegisterFlagEffect
(
m
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
,
0
,
1
,
fid
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_STANDBY
)
e1
:
SetCountLimit
(
1
)
e1
:
SetLabel
(
fid
)
e1
:
SetLabelObject
(
c
)
e1
:
SetCondition
(
cm
.
retcon
)
e1
:
SetOperation
(
cm
.
retop
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
end
function
cm
.
retcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetTurnPlayer
()
~=
tp
then
return
false
end
local
tc
=
e
:
GetLabelObject
()
if
not
tc
:
GetFlagEffectLabel
(
m
)
==
e
:
GetLabel
()
then
e
:
Reset
()
return
false
else
return
true
end
end
function
cm
.
retop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetLabelObject
()
Duel
.
ReturnToField
(
tc
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SET_ATTACK
)
e1
:
SetValue
(
cm
[
tp
+
2
])
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
c
:
RegisterEffect
(
e1
)
end
function
cm
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
cm
[
ep
]
=
cm
[
ep
]
+
ev
end
function
cm
.
clear
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
cm
[
2
]
=
cm
[
0
]
cm
[
3
]
=
cm
[
1
]
cm
[
0
]
=
0
cm
[
1
]
=
0
end
function
cm
.
fuslimit
(
e
,
c
,
sumtype
)
return
sumtype
==
SUMMON_TYPE_FUSION
end
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