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
63e891f8
Commit
63e891f8
authored
Mar 28, 2021
by
Tachibana
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tnndx
parent
d95833d9
Pipeline
#2757
passed with stage
in 8 minutes and 39 seconds
Changes
22
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
2 additions
and
1044 deletions
+2
-1044
expansions/222DIY.cdb
expansions/222DIY.cdb
+0
-0
expansions/lflist.conf
expansions/lflist.conf
+2
-6
expansions/pics/30000011.jpg
expansions/pics/30000011.jpg
+0
-0
expansions/pics/30000021.jpg
expansions/pics/30000021.jpg
+0
-0
expansions/pics/30000023.jpg
expansions/pics/30000023.jpg
+0
-0
expansions/pics/30000031.jpg
expansions/pics/30000031.jpg
+0
-0
expansions/pics/30000033.jpg
expansions/pics/30000033.jpg
+0
-0
expansions/pics/30000070.jpg
expansions/pics/30000070.jpg
+0
-0
expansions/pics/30000075.jpg
expansions/pics/30000075.jpg
+0
-0
expansions/pics/30000080.jpg
expansions/pics/30000080.jpg
+0
-0
expansions/pics/30000085.jpg
expansions/pics/30000085.jpg
+0
-0
expansions/pics/30000470.jpg
expansions/pics/30000470.jpg
+0
-0
expansions/script/c30000011.lua
expansions/script/c30000011.lua
+0
-28
expansions/script/c30000021.lua
expansions/script/c30000021.lua
+0
-75
expansions/script/c30000023.lua
expansions/script/c30000023.lua
+0
-95
expansions/script/c30000031.lua
expansions/script/c30000031.lua
+0
-129
expansions/script/c30000033.lua
expansions/script/c30000033.lua
+0
-171
expansions/script/c30000070.lua
expansions/script/c30000070.lua
+0
-162
expansions/script/c30000075.lua
expansions/script/c30000075.lua
+0
-62
expansions/script/c30000080.lua
expansions/script/c30000080.lua
+0
-37
expansions/script/c30000085.lua
expansions/script/c30000085.lua
+0
-55
expansions/script/c30000470.lua
expansions/script/c30000470.lua
+0
-224
No files found.
expansions/222DIY.cdb
View file @
63e891f8
No preview for this file type
expansions/lflist.conf
View file @
63e891f8
...
...
@@ -561,12 +561,8 @@
29065595
0
--双龙呼争
29065598
1
--方舟之骑士·廷达
#300
30000025
2
--终焉邪暗 腐败侵蚀冲击波
30000055
2
--终焉邪暗 感染腐蚀
30000070
0
--终焉邪暗 入魔邪龙 沃科特
30000075
0
--邪暗恶龙 卡利特
30000080
1
--邪暗钝核 扎托斯
30000085
0
--终焉邪魂 堕天的使徒 萨利丝
30000025
2
--腐败侵蚀冲击波
30000055
2
--感染腐蚀
30000200
0
--暗魔力的爆发
30000420
0
--邪暗之源的幻影
30000430
0
--亚奥斯克的神孽
...
...
expansions/pics/30000011.jpg
deleted
100644 → 0
View file @
d95833d9
19.8 KB
expansions/pics/30000021.jpg
deleted
100644 → 0
View file @
d95833d9
47.3 KB
expansions/pics/30000023.jpg
deleted
100644 → 0
View file @
d95833d9
49 KB
expansions/pics/30000031.jpg
deleted
100644 → 0
View file @
d95833d9
52.4 KB
expansions/pics/30000033.jpg
deleted
100644 → 0
View file @
d95833d9
19.6 KB
expansions/pics/30000070.jpg
deleted
100644 → 0
View file @
d95833d9
20 KB
expansions/pics/30000075.jpg
deleted
100644 → 0
View file @
d95833d9
161 KB
expansions/pics/30000080.jpg
deleted
100644 → 0
View file @
d95833d9
140 KB
expansions/pics/30000085.jpg
deleted
100644 → 0
View file @
d95833d9
153 KB
expansions/pics/30000470.jpg
deleted
100644 → 0
View file @
d95833d9
155 KB
expansions/script/c30000011.lua
deleted
100644 → 0
View file @
d95833d9
--邪魂 拉达洛
function
c30000011
.
initial_effect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
30000011
,
0
))
e1
:
SetCategory
(
CATEGORY_REMOVE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e1
:
SetCode
(
EVENT_REMOVE
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetTarget
(
c30000011
.
destg
)
e1
:
SetOperation
(
c30000011
.
desop
)
c
:
RegisterEffect
(
e1
)
end
function
c30000011
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_SZONE
,
LOCATION_SZONE
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
1
,
0
,
0
)
end
function
c30000011
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_SZONE
,
LOCATION_SZONE
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
sg
)
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_EFFECT
)
end
end
\ No newline at end of file
expansions/script/c30000021.lua
deleted
100644 → 0
View file @
d95833d9
--邪魂 阿洛巴斯
function
c30000021
.
initial_effect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
30000021
,
0
))
e1
:
SetCountLimit
(
2
,
30000021
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetTarget
(
c30000021
.
lvtg
)
e1
:
SetOperation
(
c30000021
.
lvop
)
c
:
RegisterEffect
(
e1
)
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
30000021
,
3
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e2
:
SetCode
(
EVENT_REMOVE
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
30000022
)
e2
:
SetTarget
(
c30000021
.
sptg
)
e2
:
SetOperation
(
c30000021
.
spop
)
c
:
RegisterEffect
(
e2
)
end
function
c30000021
.
filter
(
c
)
return
c
:
IsFaceup
(
LOCATION_MZONE
)
and
c
:
IsFaceup
()
and
c
:
GetLevel
()
>
0
end
function
c30000021
.
lvtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c30000021
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c30000021
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c30000021
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
end
function
c30000021
.
lvop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
local
lvl
=
1
local
sel
=
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
30000021
,
0
),
aux
.
Stringid
(
30000021
,
1
))
if
sel
==
1
then
lvl
=-
1
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_LEVEL
)
e1
:
SetValue
(
lvl
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
end
end
function
c30000021
.
sptg
(
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
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c30000021
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
end
function
c30000021
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummonStep
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
local
ct
=
Duel
.
GetMatchingGroupCount
(
c30000021
.
filter
,
tp
,
LOCATION_REMOVED
,
0
,
nil
)
if
ct
>
0
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
ct
*
0
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_DISABLE
)
c
:
RegisterEffect
(
e1
)
end
end
Duel
.
SpecialSummonComplete
()
end
\ No newline at end of file
expansions/script/c30000023.lua
deleted
100644 → 0
View file @
d95833d9
--终焉邪魂 魔化龙仆
function
c30000023
.
initial_effect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
30000023
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_HAND
+
LOCATION_GRAVE
)
e1
:
SetCountLimit
(
1
,
30000023
)
e1
:
SetCondition
(
c30000023
.
spcon1
)
e1
:
SetTarget
(
c30000023
.
sptg
)
e1
:
SetOperation
(
c30000023
.
spop
)
c
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetHintTiming
(
0
,
TIMING_END_PHASE
)
e2
:
SetCondition
(
c30000023
.
spcon2
)
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetCode
(
EVENT_REMOVE
)
e3
:
SetCountLimit
(
1
,
30000024
)
e3
:
SetTarget
(
c30000023
.
tg
)
e3
:
SetOperation
(
c30000023
.
op
)
c
:
RegisterEffect
(
e3
)
end
function
c30000023
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
end
function
c30000023
.
spcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_MZONE
,
0
)
return
#
g
>
0
and
g
:
FilterCount
(
c30000023
.
cfilter
,
nil
)
==#
g
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
30000010
)
end
function
c30000023
.
spcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_MZONE
,
0
)
return
#
g
>
0
and
g
:
FilterCount
(
c30000023
.
cfilter
,
nil
)
==#
g
and
Duel
.
IsPlayerAffectedByEffect
(
tp
,
30000010
)
end
function
c30000023
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
end
function
c30000023
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetCode
(
EFFECT_LEAVE_FIELD_REDIRECT
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_REDIRECT
)
e1
:
SetValue
(
LOCATION_REMOVED
)
c
:
RegisterEffect
(
e1
,
true
)
end
end
function
c30000023
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsDefense
(
0
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c30000023
.
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ba
=
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_GRAVE
,
0
)
==
0
local
m
=
0
if
ba
then
m
=
1
end
e
:
SetLabel
(
m
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c30000023
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c30000023
.
op2fil
(
c
,
e
,
tp
)
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
IsFaceup
()
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
or
c
:
IsLocation
(
LOCATION_REMOVED
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
end
function
c30000023
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
m
=
e
:
GetLabel
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
m
==
1
and
Duel
.
IsExistingMatchingCard
(
c30000023
.
op2fil
,
tp
,
LOCATION_REMOVED
,
LOCATION_REMOVED
,
1
,
nil
,
e
,
tp
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
30000023
,
1
))
then
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c30000023
.
op2fil
,
tp
,
LOCATION_REMOVED
,
LOCATION_REMOVED
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
c30000023
.
spfilter
,
tp
,
LOCATION_HAND
,
LOCATION_HAND
,
1
,
1
,
nil
,
e
,
tp
)
if
g2
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g2
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
\ No newline at end of file
expansions/script/c30000031.lua
deleted
100644 → 0
View file @
d95833d9
--终焉邪魂 恶邪女
function
c30000031
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
2
,
c30000031
.
lcheck
)
c
:
EnableReviveLimit
()
--link module
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
30000031
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCost
(
c30000031
.
cost
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
c30000031
.
spcon1
)
e1
:
SetTarget
(
c30000031
.
lktg
)
e1
:
SetOperation
(
c30000031
.
lkop
)
c
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetHintTiming
(
0
,
TIMING_END_PHASE
)
e2
:
SetCondition
(
c30000031
.
spcon2
)
c
:
RegisterEffect
(
e2
)
--indes
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
EVENT_BE_MATERIAL
)
e3
:
SetCondition
(
c30000031
.
indcon
)
e3
:
SetOperation
(
c30000031
.
indop
)
c
:
RegisterEffect
(
e3
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetCategory
(
CATEGORY_TOHAND
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetCode
(
EVENT_REMOVE
)
e4
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e4
:
SetCountLimit
(
1
,
30000032
)
e4
:
SetTarget
(
c30000031
.
tg3
)
e4
:
SetOperation
(
c30000031
.
op3
)
c
:
RegisterEffect
(
e4
)
end
function
c30000031
.
lcheck
(
g
)
return
g
:
IsExists
(
Card
.
IsLinkAttribute
,
1
,
nil
,
ATTRIBUTE_DARK
)
end
function
c30000031
.
tg3fil
(
c
)
return
c
:
IsAbleToHand
()
and
c
:
IsDefense
(
0
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
c
:
IsFaceup
()
and
not
c
:
IsCode
(
30000031
)
end
function
c30000031
.
tg3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ba
=
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_GRAVE
,
0
)
==
0
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c30000031
.
tg3fil
,
tp
,
LOCATION_REMOVED
,
LOCATION_REMOVED
,
1
,
nil
)
and
(
Duel
.
IsPlayerCanDraw
(
tp
)
or
not
ba
)
end
local
m
=
0
if
ba
then
e
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_DRAW
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
m
=
1
else
e
:
SetCategory
(
CATEGORY_TOHAND
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
0
,
LOCATION_REMOVED
)
e
:
SetLabel
(
m
)
end
function
c30000031
.
op3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
m
=
e
:
GetLabel
()
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c30000031
.
tg3fil
,
tp
,
LOCATION_REMOVED
,
LOCATION_REMOVED
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
local
code
=
tc
:
GetCode
()
if
Duel
.
SendtoHand
(
g
,
tp
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
if
m
==
1
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
end
end
function
c30000031
.
filter2
(
c
)
return
c
:
IsAbleToRemoveAsCost
()
and
not
c
:
IsCode
(
30000031
)
end
function
c30000031
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c30000031
.
filter2
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c30000031
.
filter2
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
function
c30000031
.
spcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
30000010
)
end
function
c30000031
.
spcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
IsPlayerAffectedByEffect
(
tp
,
30000010
)
end
function
c30000031
.
lktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsLinkSummonable
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
nil
,
e
:
GetHandler
())
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c30000031
.
lkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsControler
(
1
-
tp
)
or
not
c
:
IsRelateToEffect
(
e
)
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsLinkSummonable
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
nil
,
c
)
if
g
:
GetCount
()
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
LinkSummon
(
tp
,
sg
:
GetFirst
(),
nil
,
c
)
end
end
function
c30000031
.
indcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
r
==
REASON_LINK
and
e
:
GetHandler
():
GetReasonCard
():
IsAttribute
(
ATTRIBUTE_DARK
)
end
function
c30000031
.
indop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
rc
=
c
:
GetReasonCard
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
30000031
,
1
))
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CLIENT_HINT
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetValue
(
1
)
e1
:
SetOwnerPlayer
(
tp
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
rc
:
RegisterEffect
(
e1
,
true
)
end
\ No newline at end of file
expansions/script/c30000033.lua
deleted
100644 → 0
View file @
d95833d9
--终焉邪魂 入魔邪龙 卡利特
function
c30000033
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
c
:
RegisterEffect
(
e1
)
--special summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e2
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e2
:
SetRange
(
LOCATION_HAND
+
LOCATION_GRAVE
)
e2
:
SetCondition
(
c30000033
.
spcon
)
e2
:
SetOperation
(
c30000033
.
spop
)
c
:
RegisterEffect
(
e2
)
--Set
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
30000033
,
0
))
e3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCost
(
c30000033
.
cost
)
e3
:
SetCondition
(
c30000033
.
spcon1
)
e3
:
SetTarget
(
c30000033
.
target
)
e3
:
SetOperation
(
c30000033
.
operation
)
c
:
RegisterEffect
(
e3
)
local
e4
=
e3
:
Clone
()
e4
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e4
:
SetCode
(
EVENT_FREE_CHAIN
)
e4
:
SetHintTiming
(
0
,
TIMING_END_PHASE
)
e4
:
SetCondition
(
c30000033
.
spcon2
)
c
:
RegisterEffect
(
e4
)
--wudi
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
30000033
,
1
))
e5
:
SetType
(
EFFECT_TYPE_IGNITION
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetCountLimit
(
1
)
e5
:
SetCondition
(
c30000033
.
spcon1
)
e5
:
SetCost
(
c30000033
.
cost2
)
e5
:
SetOperation
(
c30000033
.
operation2
)
c
:
RegisterEffect
(
e5
)
local
e6
=
e5
:
Clone
()
e6
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e6
:
SetCode
(
EVENT_FREE_CHAIN
)
e6
:
SetHintTiming
(
0
,
TIMING_END_PHASE
)
e6
:
SetCondition
(
c30000033
.
spcon2
)
c
:
RegisterEffect
(
e6
)
--Activate
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetCategory
(
CATEGORY_DRAW
+
CATEGORY_REMOVE
)
e7
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e7
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
+
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e7
:
SetCode
(
EVENT_REMOVE
)
e7
:
SetCountLimit
(
1
,
30000033
)
e7
:
SetCondition
(
c30000033
.
con0
)
e7
:
SetTarget
(
c30000033
.
target0
)
e7
:
SetOperation
(
c30000033
.
activate
)
c
:
RegisterEffect
(
e7
)
end
function
c30000033
.
con0
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
end
function
c30000033
.
target0
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanDraw
(
tp
,
3
)
and
Duel
.
IsPlayerCanRemove
(
tp
)
end
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
3
)
if
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_GRAVE
,
0
)
==
0
then
e
:
SetLabel
(
1
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
3
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
nil
,
0
,
tp
,
2
)
end
function
c30000033
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
if
Duel
.
Draw
(
p
,
d
,
REASON_EFFECT
)
==
3
and
Duel
.
IsPlayerCanRemove
(
p
)
then
Duel
.
ShuffleHand
(
p
)
Duel
.
BreakEffect
()
local
reg
=
Duel
.
SelectMatchingCard
(
p
,
Card
.
IsAbleToRemove
,
tp
,
LOCATION_HAND
,
0
,
2
,
2
,
nil
)
Duel
.
Remove
(
reg
,
POS_FACEUP
,
REASON_EFFECT
)
if
e
:
GetLabel
()
==
1
and
Duel
.
IsPlayerCanDraw
(
p
,
tp
,
1
)
and
Duel
.
SelectYesNo
(
p
,
aux
.
Stringid
(
30000033
,
3
))
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
end
function
c30000033
.
cost2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToRemoveAsCost
()
or
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_GRAVE
,
0
)
==
0
end
if
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_GRAVE
,
0
)
==
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
30000033
,
2
))
then
local
mm
=
Group
.
CreateGroup
()
else
Duel
.
Remove
(
e
:
GetHandler
(),
POS_FACEUP
,
REASON_COST
)
end
end
function
c30000033
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CANNOT_INACTIVATE
)
e1
:
SetValue
(
c30000033
.
effectfilter
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterFlagEffect
(
tp
,
30000033
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
function
c30000033
.
effectfilter
(
e
,
ct
)
local
te
=
Duel
.
GetChainInfo
(
ct
,
CHAININFO_TRIGGERING_EFFECT
)
return
te
:
GetHandlerPlayer
()
==
e
:
GetHandlerPlayer
()
end
function
c30000033
.
spcfil
(
c
,
tp
)
return
Duel
.
GetMZoneCount
(
tp
,
c
)
>
0
and
c
:
IsAbleToRemoveAsCost
()
end
function
c30000033
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
count
=
Duel
.
GetMatchingGroupCount
(
aux
.
TRUE
,
tp
,
LOCATION_GRAVE
,
0
,
c
)
local
rg
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemoveAsCost
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
c
)
return
count
==
0
and
rg
:
GetCount
()
>
4
and
rg
:
IsExists
(
c30000033
.
spcfil
,
1
,
nil
,
tp
)
end
function
c30000033
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
sg
=
Group
.
CreateGroup
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
sg
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToRemoveAsCost
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
5
,
5
,
c
)
elseif
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
c30000033
.
spcfil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
tp
)
g1
:
AddCard
(
c
)
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToRemoveAsCost
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
4
,
4
,
g1
)
g1
:
RemoveCard
(
c
)
g1
:
Merge
(
g2
)
sg
:
Merge
(
g1
)
end
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_COST
)
end
function
c30000033
.
spcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
30000010
)
end
function
c30000033
.
spcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
IsPlayerAffectedByEffect
(
tp
,
30000010
)
end
function
c30000033
.
filter2
(
c
)
return
c
:
IsAbleToRemoveAsCost
()
end
function
c30000033
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c30000033
.
filter2
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c30000033
.
filter2
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
function
c30000033
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_REMOVED
)
end
function
c30000033
.
thfilter
(
c
)
return
c
:
IsDefenseBelow
(
8000
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
c
:
IsAbleToHand
()
end
function
c30000033
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c30000033
.
thfilter
,
tp
,
LOCATION_DECK
+
LOCATION_REMOVED
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
\ No newline at end of file
expansions/script/c30000070.lua
deleted
100644 → 0
View file @
d95833d9
--终焉邪魂 入魔邪龙 沃科特
function
c30000070
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetRange
(
LOCATION_HAND
+
LOCATION_GRAVE
)
e1
:
SetCondition
(
c30000070
.
sprcon
)
e1
:
SetOperation
(
c30000070
.
sprop
)
c
:
RegisterEffect
(
e1
)
--destroy
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetCondition
(
c30000070
.
dcon
)
e2
:
SetOperation
(
c30000070
.
dop
)
c
:
RegisterEffect
(
e2
)
--destroy
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCost
(
c30000070
.
cost2
)
e3
:
SetTarget
(
c30000070
.
atktg
)
e3
:
SetOperation
(
c30000070
.
atkop
)
c
:
RegisterEffect
(
e3
)
--destroy
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e7
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
+
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e7
:
SetCode
(
EVENT_REMOVE
)
e7
:
SetCountLimit
(
1
,
30000070
)
e7
:
SetCondition
(
c30000070
.
con0
)
e7
:
SetOperation
(
c30000070
.
activate
)
c
:
RegisterEffect
(
e7
)
end
function
c30000070
.
spcfil
(
c
,
tp
)
return
Duel
.
GetMZoneCount
(
tp
,
c
)
>
0
and
c
:
IsAbleToRemoveAsCost
()
end
function
c30000070
.
sprcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
rg
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemoveAsCost
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
0
,
c
)
return
rg
:
GetCount
()
>
4
and
rg
:
IsExists
(
c30000070
.
spcfil
,
1
,
nil
,
tp
)
end
function
c30000070
.
sprop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
sg
=
Group
.
CreateGroup
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
sg
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToRemoveAsCost
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
0
,
5
,
5
,
c
)
elseif
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
c30000070
.
spcfil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
tp
)
g1
:
AddCard
(
c
)
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToRemoveAsCost
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
0
,
4
,
4
,
g1
)
g1
:
RemoveCard
(
c
)
g1
:
Merge
(
g2
)
sg
:
Merge
(
g1
)
end
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_COST
)
end
function
c30000070
.
dcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
~=
0
end
function
c30000070
.
dop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
c30000070
.
sumlimit
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
function
c30000070
.
sumlimit
(
e
,
c
,
sump
,
sumtype
,
sumpos
,
targetp
,
se
)
return
c
:
IsLocation
(
LOCATION_EXTRA
)
end
function
c30000070
.
cfilter
(
c
)
return
c
:
IsAbleToRemoveAsCost
()
end
function
c30000070
.
cost2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c30000070
.
cfilter
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
0
,
3
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c30000070
.
cfilter
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
0
,
3
,
3
,
nil
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
function
c30000070
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
end
function
c30000070
.
indtg
(
e
,
c
)
return
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
end
function
c30000070
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_EXTRA_ATTACK
)
e1
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e1
:
SetTarget
(
c30000070
.
indtg
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetValue
(
1
)
Duel
.
RegisterEffect
(
e1
,
tp
)
if
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_GRAVE
,
0
)
==
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
30000070
,
1
))
then
Duel
.
BreakEffect
()
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
1
-
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
ct
=
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_REMOVED
,
LOCATION_REMOVED
)
local
tc
=
g
:
GetFirst
()
while
tc
do
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
-
ct
*
100
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
tc
:
RegisterEffect
(
e2
)
tc
=
g
:
GetNext
()
end
end
end
function
c30000070
.
con0
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
end
function
c30000070
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EFFECT_IMMUNE_EFFECT
)
e3
:
SetTargetRange
(
LOCATION_ONFIELD
,
0
)
e3
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsAttribute
,
ATTRIBUTE_DARK
))
e3
:
SetValue
(
c30000070
.
efilter
)
e3
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e3
,
tp
)
if
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_GRAVE
,
0
)
==
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
30000070
,
2
))
then
Duel
.
BreakEffect
()
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
ct
=
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_REMOVED
,
LOCATION_REMOVED
)
local
tc
=
g
:
GetFirst
()
while
tc
do
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
ct
*
150
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
tc
:
RegisterEffect
(
e2
)
tc
=
g
:
GetNext
()
end
end
end
function
c30000070
.
efilter
(
e
,
re
)
return
e
:
GetOwnerPlayer
()
~=
re
:
GetOwnerPlayer
()
end
\ No newline at end of file
expansions/script/c30000075.lua
deleted
100644 → 0
View file @
d95833d9
--邪魂恶龙 卡利特
if
not
pcall
(
function
()
require
(
"expansions/script/c30000100"
)
end
)
then
require
(
"script/c30000100"
)
end
local
m
,
cm
=
rscf
.
DefineCard
(
30000075
)
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
local
e1
=
rscf
.
AddSpecialSummonProcdure
(
c
,
rsloc
.
hg
,
cm
.
sprcon
,
nil
,
cm
.
sprop
)
local
e2
=
rsef
.
I
(
c
,{
m
,
0
},
1
,
nil
,
nil
,
LOCATION_MZONE
,
nil
,
rscost
.
reglabel
(
100
),
cm
.
lvtg
,
cm
.
lvop
)
local
e3
=
rsef
.
STF
(
c
,
EVENT_REMOVE
,{
m
,
1
},{
1
,
m
},
"tg"
,
nil
,
nil
,
nil
,
rsop
.
target
(
cm
.
tgfilter
,
"tg"
,
rsloc
.
de
),
cm
.
tgop
)
end
function
cm
.
tgfilter
(
c
)
return
c
:
IsAbleToGrave
()
and
c
:
IsLevel
(
12
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
c
:
IsRace
(
RACE_FIEND
)
end
function
cm
.
tgop
(
e
,
tp
)
rsop
.
SelectToGrave
(
tp
,
cm
.
tgfilter
,
tp
,
rsloc
.
de
,
0
,
1
,
1
,
nil
,{})
end
function
cm
.
cfilter1
(
c
,
tp
,
rc
)
local
g
=
Group
.
FromCards
(
c
)
if
rc
then
g
:
AddCard
(
rc
)
end
return
c
:
IsFaceup
()
and
c
:
IsLevelAbove
(
1
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
Duel
.
IsExistingMatchingCard
(
cm
.
lvfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
g
,
c
:
GetLevel
())
end
function
cm
.
lvfilter
(
c
,
lv
)
return
c
:
IsLevelAbove
(
1
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
not
c
:
IsLevel
(
lv
)
end
function
cm
.
cfilter0
(
c
,
tp
)
return
c
:
IsAbleToRemoveAsCost
()
and
Duel
.
IsExistingMatchingCard
(
cm
.
cfilter1
,
tp
,
rsloc
.
mg
+
LOCATION_REMOVED
,
0
,
1
,
c
,
tp
,
c
)
end
function
cm
.
lvtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
if
e
:
GetLabel
()
~=
100
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
cfilter1
,
tp
,
rsloc
.
mg
+
LOCATION_REMOVED
,
0
,
1
,
nil
,
tp
)
else
return
Duel
.
IsExistingMatchingCard
(
cm
.
cfilter0
,
tp
,
rsloc
.
hog
,
0
,
1
,
c
,
tp
)
end
end
if
e
:
GetLabel
()
==
100
then
rshint
.
Select
(
tp
,
"rm"
)
local
rg
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
cfilter0
,
tp
,
rsloc
.
hog
,
0
,
1
,
1
,
c
,
tp
)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
end
end
function
cm
.
lvop
(
e
,
tp
)
rsop
.
SelectSolve
(
HINTMSG_SELF
,
tp
,
cm
.
cfilter1
,
tp
,
rsloc
.
mg
+
LOCATION_REMOVED
,
0
,
1
,
1
,
nil
,{
cm
.
fun
,
e
:
GetHandler
()},
tp
)
end
function
cm
.
fun
(
g
,
c
,
tp
)
local
tc
=
g
:
GetFirst
()
local
lv
=
tc
:
GetLevel
()
local
lg
=
Duel
.
GetMatchingGroup
(
cm
.
lvfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
lv
)
for
tc
in
aux
.
Next
(
lg
)
do
local
e1
=
rscf
.
QuickBuff
({
c
,
tc
},
"lv"
,
lv
)
end
end
function
cm
.
sprcon
(
e
,
c
,
tp
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemoveAsCost
,
tp
,
rsloc
.
ho
,
0
,
c
)
return
g
:
CheckSubGroup
(
aux
.
mzctcheck
,
2
,
2
)
end
function
cm
.
sprop
(
e
,
tp
)
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemoveAsCost
,
tp
,
rsloc
.
ho
,
0
,
c
)
rshint
.
Select
(
tp
,
"rm"
)
local
rg
=
g
:
SelectSubGroup
(
tp
,
aux
.
mzctcheck
,
false
,
2
,
2
)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
end
\ No newline at end of file
expansions/script/c30000080.lua
deleted
100644 → 0
View file @
d95833d9
--邪魂钝核 扎托斯
if
not
pcall
(
function
()
require
(
"expansions/script/c30000100"
)
end
)
then
require
(
"script/c30000100"
)
end
local
m
,
cm
=
rscf
.
DefineCard
(
30000080
)
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
SetSPSummonOnce
(
m
)
local
e1
=
rscf
.
AddSpecialSummonProcdure
(
c
,
rsloc
.
hg
,
cm
.
sprcon
,
nil
,
cm
.
sprop
)
local
e2
,
e3
=
rsef
.
SV_SET
(
c
,
"batk,bdef"
,
cm
.
val
)
local
e4
=
rsef
.
FV_REDIRECT
(
c
,
"tg"
,
LOCATION_REMOVED
,
nil
,{
0xff
,
0xff
})
local
e5
=
rsef
.
STF
(
c
,
EVENT_REMOVE
,{
m
,
1
},{
1
,
m
},
"rm,dr"
,
nil
,
nil
,
nil
,
nil
,
cm
.
drop
)
end
function
cm
.
drop
(
e
,
tp
)
local
res
=
false
for
p
=
0
,
1
do
local
ct
=
rsop
.
SelectRemove
(
p
,
Card
.
IsAbleToRemove
,
p
,
LOCATION_HAND
,
0
,
2
,
2
,
nil
,{})
res
=
res
or
ct
==
2
end
if
not
res
then
return
end
Duel
.
BreakEffect
()
for
p
=
0
,
1
do
Duel
.
Draw
(
p
,
2
,
REASON_EFFECT
)
end
end
function
cm
.
val
(
e
,
c
)
return
Duel
.
GetFieldGroupCount
(
0
,
LOCATION_REMOVED
,
LOCATION_REMOVED
)
*
300
end
function
cm
.
sprcon
(
e
,
c
,
tp
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemoveAsCost
,
tp
,
rsloc
.
hog
,
0
,
c
)
return
g
:
CheckSubGroup
(
aux
.
mzctcheck
,
5
,
5
)
end
function
cm
.
sprop
(
e
,
tp
)
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemoveAsCost
,
tp
,
rsloc
.
hog
,
0
,
c
)
rshint
.
Select
(
tp
,
"rm"
)
local
rg
=
g
:
SelectSubGroup
(
tp
,
aux
.
mzctcheck
,
false
,
5
,
5
)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
end
\ No newline at end of file
expansions/script/c30000085.lua
deleted
100644 → 0
View file @
d95833d9
--终焉邪魂 堕天的使徒 萨利丝
if
not
pcall
(
function
()
require
(
"expansions/script/c30000100"
)
end
)
then
require
(
"script/c30000100"
)
end
local
m
,
cm
=
rscf
.
DefineCard
(
30000085
)
function
cm
.
initial_effect
(
c
)
local
e1
=
rsef
.
I
(
c
,{
m
,
0
},{
1
,
m
},
"dr"
,
"ptg"
,
LOCATION_HAND
,
nil
,
cm
.
drcost
,
cm
.
drtg
,
cm
.
drop
)
local
e2
=
rsef
.
STO
(
c
,
EVENT_REMOVE
,{
m
,
1
},
nil
,
"lv"
,
"de,dsp"
,
nil
,
nil
,
rsop
.
target
(
cm
.
lvfilter
,
nil
,
LOCATION_MZONE
),
cm
.
lvop
)
end
function
cm
.
lvfilter
(
c
)
return
c
:
IsLevelAbove
(
1
)
and
c
:
IsFaceup
()
end
function
cm
.
lvop
(
e
,
tp
)
rsop
.
SelectSolve
(
HINTMSG_SELF
,
tp
,
cm
.
lvfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
cm
.
lvfun
,
e
)
end
function
cm
.
lvfun
(
g
,
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
c
,
tc
=
e
:
GetHandler
(),
g
:
GetFirst
()
rshint
.
Select
(
tp
,
HINGMSG_LVRANK
)
local
lv
=
Duel
.
AnnounceLevel
(
tp
,
1
,
8
)
local
clv
=
tc
:
GetLevel
()
local
op
=
rsop
.
SelectOption
(
tp
,
true
,{
m
,
2
},
clv
>
lv
,{
m
,
3
})
local
lv2
=
op
==
1
and
lv
or
-
lv
rscf
.
QuickBuff
({
c
,
tc
},
"lv+"
,
lv2
)
return
true
end
function
cm
.
cfilter
(
c
,
e
)
return
c
:
IsAbleToRemoveAsCost
()
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
end
function
cm
.
drcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsAbleToRemoveAsCost
()
and
Duel
.
IsExistingMatchingCard
(
cm
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
c
)
end
rshint
.
Select
(
tp
,
"rm"
)
local
rg
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
c
)
rg
:
AddCard
(
c
)
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
end
function
cm
.
drtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ct
=
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_GRAVE
,
0
)
local
dct
=
ct
==
0
and
3
or
1
if
chk
==
0
then
return
Duel
.
IsPlayerCanDraw
(
tp
,
dct
)
end
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
dct
)
if
ct
==
0
then
e
:
SetLabel
(
100
)
else
e
:
SetLabel
(
0
)
end
end
function
cm
.
drop
(
e
,
tp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
if
Duel
.
Draw
(
p
,
d
,
REASON_EFFECT
)
>
0
and
e
:
GetLabel
()
==
100
then
Duel
.
BreakEffect
()
Duel
.
Draw
(
p
,
2
,
REASON_EFFECT
)
end
end
expansions/script/c30000470.lua
deleted
100644 → 0
View file @
d95833d9
--终焉邪暗 入魔邪龙 斯岚沃
local
m
=
30000470
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--special summon condition
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
c
:
RegisterEffect
(
e0
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetRange
(
LOCATION_HAND
+
LOCATION_GRAVE
)
e1
:
SetCondition
(
cm
.
sprcon
)
e1
:
SetOperation
(
cm
.
sprop
)
c
:
RegisterEffect
(
e1
)
Duel
.
AddCustomActivityCounter
(
m
,
ACTIVITY_SPSUMMON
,
cm
.
counterfilter
)
--atk announce
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetCategory
(
CATEGORY_REMOVE
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_ATTACK_ANNOUNCE
)
e3
:
SetTarget
(
cm
.
rmtg
)
e3
:
SetOperation
(
cm
.
rmop
)
c
:
RegisterEffect
(
e3
)
--SpecialSummon wy
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e4
:
SetType
(
EFFECT_TYPE_IGNITION
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCountLimit
(
1
)
e4
:
SetCost
(
cm
.
spwcost
)
e4
:
SetTarget
(
cm
.
spwtg
)
e4
:
SetOperation
(
cm
.
spwop
)
c
:
RegisterEffect
(
e4
)
--th
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e5
:
SetCode
(
EVENT_REMOVE
)
e5
:
SetCountLimit
(
1
,
m
)
e5
:
SetCondition
(
cm
.
thcon
)
e5
:
SetTarget
(
cm
.
thtg
)
e5
:
SetOperation
(
cm
.
thop
)
c
:
RegisterEffect
(
e5
)
end
function
cm
.
sprfilter
(
c
)
return
c
:
IsAbleToRemoveAsCost
()
end
function
cm
.
fselect
(
g
,
tp
)
return
Duel
.
GetMZoneCount
(
tp
,
g
)
>
0
end
function
cm
.
sprcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
rg
=
Duel
.
GetMatchingGroup
(
cm
.
sprfilter
,
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
+
LOCATION_HAND
,
0
,
e
:
GetHandler
())
return
rg
:
CheckSubGroup
(
cm
.
fselect
,
3
,
3
,
tp
)
and
Duel
.
GetCustomActivityCount
(
m
,
tp
,
ACTIVITY_SPSUMMON
)
==
0
end
function
cm
.
sprop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
rg
=
Duel
.
GetMatchingGroup
(
cm
.
sprfilter
,
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
+
LOCATION_HAND
,
0
,
e
:
GetHandler
())
local
sg
=
rg
:
SelectSubGroup
(
tp
,
cm
.
fselect
,
true
,
3
,
3
,
tp
)
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_COST
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
+
EFFECT_FLAG_OATH
)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
cm
.
sumlimit
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
function
cm
.
counterfilter
(
c
)
return
c
:
IsType
(
TYPE_XYZ
)
or
not
c
:
IsLocation
(
LOCATION_EXTRA
)
end
function
cm
.
sumlimit
(
e
,
c
,
sump
,
sumtype
,
sumpos
,
targetp
,
se
)
return
not
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsLocation
(
LOCATION_EXTRA
)
end
function
cm
.
rmtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetAttackTarget
()
if
chk
==
0
then
return
tc
and
c
~=
tc
and
c
:
IsAbleToRemove
()
and
tc
:
IsAbleToRemove
(
POS_FACEUP
,
REASON_RULE
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
c
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
tc
,
1
,
0
,
0
)
end
function
cm
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetAttackTarget
()
if
tc
and
tc
:
IsRelateToBattle
()
and
Duel
.
Remove
(
c
,
POS_FACEUP
,
REASON_EFFECT
)
then
local
g
=
Group
.
CreateGroup
()
Group
.
AddCard
(
g
,
tc
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_REMOVE
)
local
sg
=
g
:
Select
(
1
-
tp
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
sg
)
local
code
=
sg
:
GetFirst
():
GetCode
()
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_RULE
)
end
end
function
cm
.
spwcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToRemoveAsCost
,
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
+
LOCATION_HAND
,
0
,
3
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToRemoveAsCost
,
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
+
LOCATION_HAND
,
0
,
3
,
3
,
nil
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
--imm
if
not
Duel
.
IsExistingMatchingCard
(
aux
.
TRUE
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CANNOT_INACTIVATE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetValue
(
cm
.
effectfilter
)
e1
:
SetLabel
(
3
)
e1
:
SetReset
(
RESET_EVENT
+
RESET_CHAIN
)
Duel
.
RegisterEffect
(
e1
,
tp
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_CANNOT_DISEFFECT
)
e2
:
SetLabel
(
4
)
Duel
.
RegisterEffect
(
e2
,
tp
)
e1
:
SetLabelObject
(
e2
)
e2
:
SetLabelObject
(
e
:
GetHandler
())
end
end
function
cm
.
effectfilter
(
e
,
ct
)
local
te
=
Duel
.
GetChainInfo
(
ct
,
CHAININFO_TRIGGERING_EFFECT
)
local
label
=
e
:
GetLabel
()
local
tc
if
label
==
3
then
tc
=
e
:
GetLabelObject
():
GetLabelObject
()
else
tc
=
e
:
GetLabelObject
()
end
return
tc
and
tc
==
te
:
GetHandler
()
end
function
cm
.
spwfilter
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
(
c
:
IsDefense
(
0
)
or
c
:
IsRace
(
RACE_WYRM
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
,
POS_FACEUP
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
end
function
cm
.
spwtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
cm
.
spwfilter
,
tp
,
LOCATION_REMOVED
,
LOCATION_REMOVED
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
0
,
tp
,
LOCATION_REMOVED
)
end
function
cm
.
spwop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
max
=
2
if
e
:
GetHandler
():
IsHasEffect
(
59822133
)
then
max
=
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
spwfilter
,
tp
,
LOCATION_REMOVED
,
LOCATION_REMOVED
,
1
,
max
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
while
tc
do
if
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e1
,
true
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_DISABLE_EFFECT
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e2
,
true
)
end
tc
=
g
:
GetNext
()
end
Duel
.
SpecialSummonComplete
()
end
function
cm
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
end
function
cm
.
thfilter1
(
c
)
if
c
:
IsLocation
(
LOCATION_REMOVED
)
and
c
:
IsFacedown
()
then
return
false
else
return
c
:
IsCode
(
m
)
and
c
:
IsAbleToHand
()
end
end
function
cm
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter1
,
tp
,
LOCATION_DECK
+
LOCATION_REMOVED
,
LOCATION_REMOVED
,
1
,
nil
)
end
if
not
Duel
.
IsExistingMatchingCard
(
aux
.
TRUE
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
then
e
:
SetLabel
(
1
)
else
e
:
SetLabel
(
0
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
+
e
:
GetLabel
(),
0
,
0
)
end
function
cm
.
thfilter2
(
c
)
if
c
:
IsLocation
(
LOCATION_REMOVED
)
and
c
:
IsFacedown
()
then
return
false
else
return
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
c
:
IsLevel
(
10
)
and
c
:
IsAbleToHand
()
end
end
function
cm
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
thfilter1
,
tp
,
LOCATION_DECK
+
LOCATION_REMOVED
,
LOCATION_REMOVED
,
1
,
1
,
nil
)
if
g
:
GetFirst
()
and
Duel
.
SendtoHand
(
g
,
tp
,
REASON_EFFECT
)
and
e
:
GetLabel
()
==
1
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
0
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
thfilter2
,
tp
,
LOCATION_DECK
+
LOCATION_REMOVED
,
LOCATION_REMOVED
,
1
,
1
,
nil
)
Duel
.
SendtoHand
(
sg
,
tp
,
REASON_EFFECT
)
end
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