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
Ai
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
Changes
12
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 @@
33701341
0
--是小钱硬币哟!
33701361
1
--
Power
of
Anger
33701373
0
--面对风暴
33701348
1
--新世代虚拟
YouTuber
YUA
33701348
0
--新世代虚拟
YouTuber
YUA
33701394
1
--虚拟
YouTuber
响木 青 · 新章
33701402
0
--
Niko
~是松饼!~
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