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
c878671a
Commit
c878671a
authored
Sep 10, 2019
by
TanakaKotoha
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
hack fix of old cards
parent
e019bf2e
Changes
52
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
52 changed files
with
2172 additions
and
2164 deletions
+2172
-2164
expansions/script/c17050913.lua
expansions/script/c17050913.lua
+1
-1
expansions/script/c17050927.lua
expansions/script/c17050927.lua
+2
-2
expansions/script/c17050928.lua
expansions/script/c17050928.lua
+4
-4
expansions/script/c17050929.lua
expansions/script/c17050929.lua
+3
-3
expansions/script/c17050930.lua
expansions/script/c17050930.lua
+3
-3
expansions/script/c17050931.lua
expansions/script/c17050931.lua
+2
-2
expansions/script/c17050932.lua
expansions/script/c17050932.lua
+2
-2
expansions/script/c17050936.lua
expansions/script/c17050936.lua
+1
-1
expansions/script/c17051927.lua
expansions/script/c17051927.lua
+2
-2
expansions/script/c17052927.lua
expansions/script/c17052927.lua
+2
-2
expansions/script/c17060876.lua
expansions/script/c17060876.lua
+4
-4
expansions/script/c17090009.lua
expansions/script/c17090009.lua
+1
-1
expansions/script/c17090010.lua
expansions/script/c17090010.lua
+1
-1
expansions/script/c17090011.lua
expansions/script/c17090011.lua
+1
-1
expansions/script/c17090012.lua
expansions/script/c17090012.lua
+1
-1
expansions/script/c17090013.lua
expansions/script/c17090013.lua
+1
-1
expansions/script/c17090015.lua
expansions/script/c17090015.lua
+1
-1
expansions/script/c17090017.lua
expansions/script/c17090017.lua
+1
-1
expansions/script/c33330001.lua
expansions/script/c33330001.lua
+43
-6
expansions/script/c33330002.lua
expansions/script/c33330002.lua
+53
-52
expansions/script/c33330003.lua
expansions/script/c33330003.lua
+40
-38
expansions/script/c33330004.lua
expansions/script/c33330004.lua
+40
-37
expansions/script/c33330005.lua
expansions/script/c33330005.lua
+35
-27
expansions/script/c33330006.lua
expansions/script/c33330006.lua
+40
-32
expansions/script/c33330007.lua
expansions/script/c33330007.lua
+24
-18
expansions/script/c33330008.lua
expansions/script/c33330008.lua
+51
-40
expansions/script/c33330009.lua
expansions/script/c33330009.lua
+39
-32
expansions/script/c33330010.lua
expansions/script/c33330010.lua
+73
-64
expansions/script/c33330011.lua
expansions/script/c33330011.lua
+49
-38
expansions/script/c33330012.lua
expansions/script/c33330012.lua
+58
-61
expansions/script/c33330013.lua
expansions/script/c33330013.lua
+55
-49
expansions/script/c33330014.lua
expansions/script/c33330014.lua
+59
-54
expansions/script/c33330015.lua
expansions/script/c33330015.lua
+92
-83
expansions/script/c33330016.lua
expansions/script/c33330016.lua
+54
-49
expansions/script/c33330017.lua
expansions/script/c33330017.lua
+39
-62
expansions/script/c33330018.lua
expansions/script/c33330018.lua
+90
-92
expansions/script/c33330019.lua
expansions/script/c33330019.lua
+112
-93
expansions/script/c33330020.lua
expansions/script/c33330020.lua
+94
-114
expansions/script/c33330021.lua
expansions/script/c33330021.lua
+94
-111
expansions/script/c33330022.lua
expansions/script/c33330022.lua
+93
-110
expansions/script/c33330023.lua
expansions/script/c33330023.lua
+107
-112
expansions/script/c33330024.lua
expansions/script/c33330024.lua
+98
-98
expansions/script/c33330025.lua
expansions/script/c33330025.lua
+36
-31
expansions/script/c33330026.lua
expansions/script/c33330026.lua
+26
-75
expansions/script/c33330027.lua
expansions/script/c33330027.lua
+64
-61
expansions/script/c33330028.lua
expansions/script/c33330028.lua
+64
-61
expansions/script/c33330029.lua
expansions/script/c33330029.lua
+76
-76
expansions/script/c33330030.lua
expansions/script/c33330030.lua
+109
-130
expansions/script/c33330031.lua
expansions/script/c33330031.lua
+38
-32
expansions/script/c33330032.lua
expansions/script/c33330032.lua
+61
-54
expansions/script/c33330033.lua
expansions/script/c33330033.lua
+61
-55
expansions/script/c33330034.lua
expansions/script/c33330034.lua
+72
-84
No files found.
expansions/script/c17050913.lua
View file @
c878671a
...
...
@@ -49,7 +49,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
end
function
cm
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x17
01
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToHand
()
return
c
:
IsSetCard
(
0x17
f2
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToHand
()
end
function
cm
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
...
...
expansions/script/c17050927.lua
View file @
c878671a
...
...
@@ -30,7 +30,7 @@ function cm.initial_effect(c)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetRange
(
LOCATION_PZONE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e3
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x27
01
))
e3
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x27
f2
))
e3
:
SetValue
(
1
)
c
:
RegisterEffect
(
e3
)
--cannot be target
...
...
@@ -72,7 +72,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_SYNCHRO
)
end
function
cm
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x27
01
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0x27
f2
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
cm
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
...
...
expansions/script/c17050928.lua
View file @
c878671a
...
...
@@ -10,7 +10,7 @@ function cm.initial_effect(c)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e1
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x27
01
))
e1
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x27
f2
))
e1
:
SetValue
(
600
)
c
:
RegisterEffect
(
e1
)
--special summon
...
...
@@ -38,16 +38,16 @@ function cm.initial_effect(c)
c
:
RegisterEffect
(
e4
)
end
function
cm
.
ndcfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x27
01
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x27
f2
)
end
function
cm
.
indcon
(
e
)
return
Duel
.
IsExistingMatchingCard
(
cm
.
ndcfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_MZONE
,
0
,
1
,
e
:
GetHandler
())
end
function
cm
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
and
re
:
GetHandler
():
IsSetCard
(
0x27
01
)
return
re
and
re
:
GetHandler
():
IsSetCard
(
0x27
f2
)
end
function
cm
.
filter
(
c
,
e
,
tp
)
return
c
:
IsLevelBelow
(
4
)
and
c
:
IsSetCard
(
0x27
01
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsLevelBelow
(
4
)
and
c
:
IsSetCard
(
0x27
f2
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
cm
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
cm
.
filter
(
chkc
,
e
,
tp
)
end
...
...
expansions/script/c17050929.lua
View file @
c878671a
...
...
@@ -42,7 +42,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_MZONE
,
0
)
==
0
end
function
cm
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsLevelBelow
(
4
)
and
c
:
IsSetCard
(
0x27
01
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsLevelBelow
(
4
)
and
c
:
IsSetCard
(
0x27
f2
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
cm
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_DECK
)
and
cm
.
spfilter
(
chkc
,
e
,
tp
)
end
...
...
@@ -59,7 +59,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
and
re
:
GetHandler
():
IsSetCard
(
0x27
01
)
return
re
and
re
:
GetHandler
():
IsSetCard
(
0x27
f2
)
end
function
cm
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToHand
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
nil
)
end
...
...
@@ -85,7 +85,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
cfilter1
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x27
01
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x27
f2
)
end
function
cm
.
recon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
IsExistingMatchingCard
(
cm
.
cfilter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
e
:
GetHandler
())
...
...
expansions/script/c17050930.lua
View file @
c878671a
...
...
@@ -28,10 +28,10 @@ function cm.initial_effect(c)
c
:
RegisterEffect
(
e2
)
end
function
cm
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
and
re
:
GetHandler
():
IsSetCard
(
0x27
01
)
return
re
and
re
:
GetHandler
():
IsSetCard
(
0x27
f2
)
end
function
cm
.
thfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x27
01
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsAbleToHand
()
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x27
f2
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsAbleToHand
()
end
function
cm
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
)
end
...
...
@@ -47,7 +47,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
cfilter1
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x27
01
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x27
f2
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
IsExistingMatchingCard
(
cm
.
cfilter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
...
...
expansions/script/c17050931.lua
View file @
c878671a
...
...
@@ -23,7 +23,7 @@ function cm.initial_effect(c)
c
:
RegisterEffect
(
e2
)
end
function
cm
.
desfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x27
01
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x27
f2
)
end
function
cm
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
1
-
tp
)
end
...
...
@@ -42,7 +42,7 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x27
01
)
and
(
c
:
IsFaceup
()
or
not
c
:
IsLocation
(
LOCATION_EXTRA
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0x27
f2
)
and
(
c
:
IsFaceup
()
or
not
c
:
IsLocation
(
LOCATION_EXTRA
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
cm
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
...
...
expansions/script/c17050932.lua
View file @
c878671a
...
...
@@ -46,7 +46,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
end
function
cm
.
filter
(
c
,
e
,
sp
,
zone
)
return
c
:
IsSetCard
(
0x27
01
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
sp
,
false
,
false
,
zone
)
return
c
:
IsSetCard
(
0x27
f2
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
sp
,
false
,
false
,
zone
)
and
not
Duel
.
IsExistingMatchingCard
(
Card
.
IsCode
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
c
:
GetCode
())
end
function
cm
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
...
...
@@ -73,7 +73,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
,
zone
)
end
function
cm
.
cfilter
(
c
)
return
c
:
IsSetCard
(
0x27
01
)
return
c
:
IsSetCard
(
0x27
f2
)
end
function
cm
.
atkval
(
e
,
c
)
local
g
=
e
:
GetHandler
():
GetLinkedGroup
():
Filter
(
cm
.
cfilter
,
nil
)
...
...
expansions/script/c17050936.lua
View file @
c878671a
...
...
@@ -26,7 +26,7 @@ function cm.initial_effect(c)
c
:
RegisterEffect
(
e2
)
end
function
cm
.
mfilter
(
c
)
return
c
:
IsSetCard
(
0x27
01
)
return
c
:
IsSetCard
(
0x27
f2
)
end
function
cm
.
exacon
(
e
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
...
...
expansions/script/c17051927.lua
View file @
c878671a
...
...
@@ -30,7 +30,7 @@ function cm.initial_effect(c)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetRange
(
LOCATION_PZONE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e3
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x27
01
))
e3
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x27
f2
))
e3
:
SetValue
(
1
)
c
:
RegisterEffect
(
e3
)
--cannot be target
...
...
@@ -72,7 +72,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_SYNCHRO
)
end
function
cm
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x27
01
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0x27
f2
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
cm
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
...
...
expansions/script/c17052927.lua
View file @
c878671a
...
...
@@ -30,7 +30,7 @@ function cm.initial_effect(c)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetRange
(
LOCATION_PZONE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e3
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x27
01
))
e3
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x27
f2
))
e3
:
SetValue
(
1
)
c
:
RegisterEffect
(
e3
)
--cannot be target
...
...
@@ -72,7 +72,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_SYNCHRO
)
end
function
cm
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x27
01
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0x27
f2
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
cm
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
...
...
expansions/script/c17060876.lua
View file @
c878671a
...
...
@@ -42,7 +42,7 @@ function cm.initial_effect(c)
e4
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCountLimit
(
1
)
e4
:
SetCondition
(
cm
.
MaterialCheck
(
0x27
0
0
,
cm
.
discon
))
e4
:
SetCondition
(
cm
.
MaterialCheck
(
0x27
f
0
,
cm
.
discon
))
e4
:
SetTarget
(
cm
.
distg
)
e4
:
SetOperation
(
cm
.
disop
)
c
:
RegisterEffect
(
e4
)
...
...
@@ -51,7 +51,7 @@ function cm.initial_effect(c)
e5
:
SetDescription
(
aux
.
Stringid
(
17060876
,
3
))
e5
:
SetType
(
EFFECT_TYPE_SINGLE
)
e5
:
SetCode
(
EFFECT_EXTRA_ATTACK
)
e5
:
SetCondition
(
cm
.
MaterialCheck
(
0x17
0
0
))
e5
:
SetCondition
(
cm
.
MaterialCheck
(
0x17
f
0
))
e5
:
SetValue
(
cm
.
raval
)
c
:
RegisterEffect
(
e5
)
end
...
...
@@ -125,10 +125,10 @@ end
function
cm
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetMaterial
()
if
g
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0x17
0
0
)
then
if
g
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0x17
f
0
)
then
c
:
RegisterFlagEffect
(
0
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
17060876
,
1
))
end
if
g
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0x27
0
0
)
then
if
g
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0x27
f
0
)
then
c
:
RegisterFlagEffect
(
0
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
17060876
,
2
))
end
end
expansions/script/c17090009.lua
View file @
c878671a
...
...
@@ -51,7 +51,7 @@ function cm.tdop(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
rmfilter
(
c
)
return
not
c
:
IsSetCard
(
0x
3701
)
return
not
c
:
IsSetCard
(
0x
47f2
)
end
function
cm
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
rmfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
...
...
expansions/script/c17090010.lua
View file @
c878671a
...
...
@@ -57,7 +57,7 @@ function cm.limit(e,c)
return
Duel
.
GetFlagEffect
(
e
:
GetHandler
():
GetControler
(),
17090009
)
>
0
end
function
cm
.
slfilter
(
c
)
return
c
:
IsSetCard
(
0x
3701
)
or
c
:
IsCode
(
17090009
)
return
c
:
IsSetCard
(
0x
47f2
)
or
c
:
IsCode
(
17090009
)
end
function
cm
.
slcon
(
e
)
return
not
Duel
.
IsExistingMatchingCard
(
cm
.
slfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_PZONE
,
0
,
1
,
e
:
GetHandler
())
...
...
expansions/script/c17090011.lua
View file @
c878671a
...
...
@@ -62,7 +62,7 @@ function cm.limit(e,c)
return
Duel
.
GetFlagEffect
(
e
:
GetHandler
():
GetControler
(),
17090009
)
>
0
end
function
cm
.
slfilter
(
c
)
return
c
:
IsSetCard
(
0x
3701
)
or
c
:
IsCode
(
17090009
)
return
c
:
IsSetCard
(
0x
47f2
)
or
c
:
IsCode
(
17090009
)
end
function
cm
.
slcon
(
e
)
return
not
Duel
.
IsExistingMatchingCard
(
cm
.
slfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_PZONE
,
0
,
1
,
e
:
GetHandler
())
...
...
expansions/script/c17090012.lua
View file @
c878671a
...
...
@@ -62,7 +62,7 @@ function cm.limit(e,c)
return
Duel
.
GetFlagEffect
(
e
:
GetHandler
():
GetControler
(),
17090009
)
>
0
end
function
cm
.
slfilter
(
c
)
return
c
:
IsSetCard
(
0x
3701
)
or
c
:
IsCode
(
17090009
)
return
c
:
IsSetCard
(
0x
47f2
)
or
c
:
IsCode
(
17090009
)
end
function
cm
.
slcon
(
e
)
return
not
Duel
.
IsExistingMatchingCard
(
cm
.
slfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_PZONE
,
0
,
1
,
e
:
GetHandler
())
...
...
expansions/script/c17090013.lua
View file @
c878671a
...
...
@@ -64,7 +64,7 @@ function cm.limit(e,c)
return
Duel
.
GetFlagEffect
(
e
:
GetHandler
():
GetControler
(),
17090009
)
>
0
end
function
cm
.
slfilter
(
c
)
return
c
:
IsSetCard
(
0x
3701
)
or
c
:
IsCode
(
17090009
)
return
c
:
IsSetCard
(
0x
47f2
)
or
c
:
IsCode
(
17090009
)
end
function
cm
.
slcon
(
e
)
return
not
Duel
.
IsExistingMatchingCard
(
cm
.
slfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_PZONE
,
0
,
1
,
e
:
GetHandler
())
...
...
expansions/script/c17090015.lua
View file @
c878671a
...
...
@@ -60,7 +60,7 @@ function cm.limit(e,c)
return
Duel
.
GetFlagEffect
(
e
:
GetHandler
():
GetControler
(),
17090009
)
>
0
end
function
cm
.
slfilter
(
c
)
return
c
:
IsSetCard
(
0x
3701
)
or
c
:
IsCode
(
17090009
)
return
c
:
IsSetCard
(
0x
47f2
)
or
c
:
IsCode
(
17090009
)
end
function
cm
.
slcon
(
e
)
return
not
Duel
.
IsExistingMatchingCard
(
cm
.
slfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_PZONE
,
0
,
1
,
e
:
GetHandler
())
...
...
expansions/script/c17090017.lua
View file @
c878671a
...
...
@@ -63,7 +63,7 @@ function cm.limit(e,c)
return
Duel
.
GetFlagEffect
(
e
:
GetHandler
():
GetControler
(),
17090009
)
>
0
end
function
cm
.
slfilter
(
c
)
return
c
:
IsSetCard
(
0x
3701
)
or
c
:
IsCode
(
17090009
)
return
c
:
IsSetCard
(
0x
47f2
)
or
c
:
IsCode
(
17090009
)
end
function
cm
.
slcon
(
e
)
return
not
Duel
.
IsExistingMatchingCard
(
cm
.
slfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_PZONE
,
0
,
1
,
e
:
GetHandler
())
...
...
expansions/script/c33330001.lua
View file @
c878671a
...
...
@@ -2,17 +2,54 @@
local
m
=
33330001
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
--
i
ndes
--
I
ndes
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e1
:
SetValue
(
1
)
c
:
RegisterEffect
(
e1
)
--direct atk
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_DIRECT_ATTACK
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_AVOID_BATTLE_DAMAGE
)
c
:
RegisterEffect
(
e2
)
--Direct Attack
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_DIRECT_ATTACK
)
c
:
RegisterEffect
(
e3
)
--search
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
33330001
,
0
))
e4
:
SetCategory
(
CATEGORY_SEARCH
+
CATEGORY_TOHAND
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e4
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e4
:
SetCountLimit
(
1
,
m
)
e4
:
SetCost
(
c33330001
.
thcost
)
e4
:
SetTarget
(
c33330001
.
thtg
)
e4
:
SetOperation
(
c33330001
.
thop
)
c
:
RegisterEffect
(
e4
)
local
e5
=
e4
:
Clone
()
e5
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
c
:
RegisterEffect
(
e5
)
end
function
cm
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
Duel
.
DiscardHand
(
tp
,
Card
.
IsDiscardable
,
1
,
1
,
REASON_COST
+
REASON_DISCARD
)
end
function
cm
.
filter2
(
c
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsType
(
TYPE_FIELD
)
and
c
:
IsAbleToHand
()
end
function
cm
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
filter2
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
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
.
filter2
,
tp
,
LOCATION_DECK
,
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/c33330002.lua
View file @
c878671a
--深界探窟者 雷古
function
c33330002
.
initial_effect
(
c
)
--th2
local
m
=
33330002
local
cm
=
_G
[
"c"
..
m
]
cm
.
search
=
{
33330026
,
33330015
}
--检 索 的 卡
function
cm
.
initial_effect
(
c
)
--To Hand 1
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330002
,
1
))
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
,
33330102
)
e1
:
SetCost
(
c
33330002
.
cost
)
e1
:
SetTarget
(
c
33330002
.
target
)
e1
:
SetOperation
(
c
33330002
.
activate
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetCost
(
c
m
.
thcost1
)
e1
:
SetTarget
(
c
m
.
thtg1
)
e1
:
SetOperation
(
c
m
.
thop1
)
c
:
RegisterEffect
(
e1
)
--
tohand
local
e
4
=
Effect
.
CreateEffect
(
c
)
e
4
:
SetDescription
(
aux
.
Stringid
(
33330002
,
0
))
e
4
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e
4
:
SetType
(
EFFECT_TYPE_IGNITION
)
e
4
:
SetRange
(
LOCATION_MZONE
)
e
4
:
SetCountLimit
(
1
,
33330002
)
e
4
:
SetCost
(
c33330002
.
thcost
)
e
4
:
SetTarget
(
c33330002
.
thtg
)
e
4
:
SetOperation
(
c33330002
.
thop
)
c
:
RegisterEffect
(
e
4
)
--
To Hand 2
local
e
2
=
Effect
.
CreateEffect
(
c
)
e
2
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e
2
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e
2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e
2
:
SetRange
(
LOCATION_MZONE
)
e
2
:
SetCountLimit
(
1
,
m
+
100
)
e
2
:
SetCost
(
cm
.
thcost2
)
e
2
:
SetTarget
(
cm
.
thtg2
)
e
2
:
SetOperation
(
cm
.
thop2
)
c
:
RegisterEffect
(
e
2
)
end
function
c33330002
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
cm
.
card_code_list
=
cm
.
search
--To Hand 1
function
cm
.
thfilter1
(
c
)
return
c
:
IsType
(
TYPE_EQUIP
)
and
c
:
IsSetCard
(
0x556
)
and
c
:
IsAbleToHand
()
end
function
cm
.
thcost1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
Duel
.
DiscardHand
(
tp
,
Card
.
IsDiscardable
,
1
,
1
,
REASON_COST
)
end
function
cm
.
thtg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter1
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
cm
.
thop1
(
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
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
--To Hand 2
function
cm
.
thfilter2
(
c
,
code
)
return
c
:
IsCode
(
code
)
and
c
:
IsAbleToHand
()
end
function
cm
.
thcost2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
local
ct
=
g
:
GetCount
()
if
chk
==
0
then
return
e
:
GetHandler
():
IsReleasable
()
and
ct
>
0
and
g
:
FilterCount
(
Card
.
IsAbleToRemove
,
nil
)
==
ct
end
Duel
.
Release
(
e
:
GetHandler
(),
REASON_COST
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
function
c33330002
.
filter1
(
c
)
return
c
:
IsCode
(
33330026
)
and
c
:
IsAbleToHand
()
function
cm
.
thtg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter2
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
cm
.
search
[
1
])
and
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter2
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
cm
.
search
[
2
])
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
2
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
function
c33330002
.
filter2
(
c
)
return
c
:
IsCode
(
33330015
)
and
c
:
IsAbleToHand
()
end
function
c33330002
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c33330002
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
and
Duel
.
IsExistingMatchingCard
(
c33330002
.
filter2
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
function
c33330002
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g1
=
Duel
.
GetMatchingGroup
(
c33330002
.
filter1
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
g2
=
Duel
.
GetMatchingGroup
(
c33330002
.
filter2
,
tp
,
LOCATION_DECK
,
0
,
nil
)
function
cm
.
thop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g1
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
cm
.
thfilter2
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
nil
,
cm
.
search
[
1
])
local
g2
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
cm
.
thfilter2
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
nil
,
cm
.
search
[
2
])
if
g1
:
GetCount
()
>
0
and
g2
:
GetCount
()
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg1
=
g1
:
Select
(
tp
,
1
,
1
,
nil
)
...
...
@@ -54,23 +75,3 @@ function c33330002.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
ConfirmCards
(
1
-
tp
,
sg1
)
end
end
function
c33330002
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToGraveAsCost
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
Duel
.
DiscardHand
(
tp
,
Card
.
IsAbleToGraveAsCost
,
1
,
1
,
REASON_COST
)
end
function
c33330002
.
thfilter
(
c
)
return
c
:
IsType
(
TYPE_EQUIP
)
and
c
:
IsSetCard
(
0x556
)
and
c
:
IsAbleToHand
()
end
function
c33330002
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c33330002
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c33330002
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c33330002
.
thfilter
,
tp
,
LOCATION_DECK
,
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/c33330003.lua
View file @
c878671a
--深界探窟者 娜娜奇
function
c33330003
.
initial_effect
(
c
)
--search
local
m
=
33330003
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
--Special Summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330003
,
0
))
e1
:
SetCategory
(
CATEGORY_
TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetCategory
(
CATEGORY_
SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_TO_GRAVE
)
e1
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetCountLimit
(
1
,
33330003
)
e1
:
SetTarget
(
c33330003
.
thtg1
)
e1
:
SetOperation
(
c33330003
.
tgop1
)
c
:
RegisterEffect
(
e1
)
--special summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330003
,
1
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
33330103
)
e2
:
SetTarget
(
c33330003
.
sptg1
)
e2
:
SetOperation
(
c33330003
.
spop1
)
e1
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetTarget
(
cm
.
sptg
)
e1
:
SetOperation
(
cm
.
spop
)
c
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
c
:
RegisterEffect
(
e3
)
--Search
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_TO_GRAVE
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e3
:
SetCountLimit
(
1
,
m
+
100
)
e3
:
SetTarget
(
cm
.
thtg
)
e3
:
SetOperation
(
cm
.
thop
)
c
:
RegisterEffect
(
e3
)
end
function
c33330003
.
spfilter1
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x557
)
and
c
:
GetLevel
()
<=
4
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
--Special Summon
function
cm
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x557
)
and
c
:
IsLevelBelow
(
4
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c33330003
.
sptg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c33330003
.
spfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
function
cm
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetMZoneCount
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
cm
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_GRAVE
)
end
function
c
33330003
.
spop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
Get
LocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
function
c
m
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
Get
MZoneCount
(
tp
)
<
1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c
33330003
.
spfilter1
),
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c
m
.
spfilter
),
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
function
c33330003
.
thfilter1
(
c
)
--Search
function
cm
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x557
)
and
c
:
IsAbleToHand
()
end
function
c
33330003
.
thtg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
33330003
.
thfilter1
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
function
c
m
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
m
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c
33330003
.
tgop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c33330003
.
thfilter1
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
\ No newline at end of file
expansions/script/c33330004.lua
View file @
c878671a
--深界探窟者 马璐璐库
function
c33330004
.
initial_effect
(
c
)
--spsummon
local
m
=
33330004
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
--Special Summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330004
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
,
33330004
)
e1
:
SetCost
(
c
33330004
.
cost
)
e1
:
SetTarget
(
c
33330004
.
target
)
e1
:
SetOperation
(
c
33330004
.
operation
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetCost
(
c
m
.
sp
cost
)
e1
:
SetTarget
(
c
m
.
sptg
)
e1
:
SetOperation
(
c
m
.
spop
)
c
:
RegisterEffect
(
e1
)
--
tog
--
Return Grave
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330004
,
1
))
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e2
:
SetCategory
(
CATEGORY_TOGRAVE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e2
:
SetTarget
(
c
33330004
.
tgtg1
)
e2
:
SetOperation
(
c
33330004
.
tgop1
)
e2
:
SetProperty
(
EFFECT_FLAG_D
ELAY
+
EFFECT_FLAG_D
AMAGE_STEP
)
e2
:
SetTarget
(
c
m
.
tgtg
)
e2
:
SetOperation
(
c
m
.
tgop
)
c
:
RegisterEffect
(
e2
)
end
function
c33330004
.
tgtg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_REMOVED
,
LOCATION_REMOVED
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
0
,
LOCATION_REMOVED
)
--Special Summon
function
cm
.
costfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x556
)
and
Duel
.
GetMZoneCount
(
tp
,
c
)
>
0
end
function
c33330004
.
tgop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_REMOVED
,
LOCATION_REMOVED
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
+
REASON_RETURN
)
end
function
cm
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x1556
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c33330004
.
costfilter
(
c
,
ft
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x556
)
and
(
ft
>
0
or
(
c
:
IsControler
(
tp
)
and
c
:
GetSequence
()
<
5
))
end
function
c33330004
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
chk
==
0
then
return
ft
>-
1
and
Duel
.
CheckReleaseGroup
(
tp
,
c33330004
.
costfilter
,
1
,
nil
,
ft
,
tp
)
end
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c33330004
.
costfilter
,
1
,
1
,
nil
,
ft
,
tp
)
function
cm
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
cm
.
costfilter
,
1
,
nil
,
ft
,
tp
)
end
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
cm
.
costfilter
,
1
,
1
,
nil
,
ft
,
tp
)
Duel
.
Release
(
g
,
REASON_COST
)
end
function
c33330004
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x1556
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c33330004
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c33330004
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
)
end
function
cm
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
0
,
LOCATION_DECK
)
end
function
c
33330004
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
Get
LocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
function
c
m
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
Get
MZoneCount
(
tp
)
<
1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
33330004
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
m
.
sp
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
--Return Grave
function
cm
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_REMOVED
,
LOCATION_REMOVED
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
0
,
LOCATION_REMOVED
)
end
function
cm
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_REMOVED
,
LOCATION_REMOVED
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
+
REASON_RETURN
)
end
end
expansions/script/c33330005.lua
View file @
c878671a
--深界生骸 米蒂
function
c33330005
.
initial_effect
(
c
)
--search
local
m
=
33330005
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
--Special Summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330005
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_TO_GRAVE
)
e1
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e1
:
SetCountLimit
(
1
,
33330003
+
EFFECT_COUNT_CODE_DUEL
)
e1
:
SetCost
(
c33330005
.
spcost
)
e1
:
SetTarget
(
c33330005
.
target
)
e1
:
SetOperation
(
c33330005
.
operation
)
c
:
RegisterEffect
(
e1
)
Duel
.
AddCustomActivityCounter
(
33330005
,
ACTIVITY_SPSUMMON
,
c33330005
.
counterfilter
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetCountLimit
(
1
,
m
+
EFFECT_COUNT_CODE_DUEL
)
e1
:
SetCondition
(
cm
.
spcon
)
e1
:
SetCost
(
cm
.
spcost
)
e1
:
SetTarget
(
cm
.
sptg
)
e1
:
SetOperation
(
cm
.
spop
)
c
:
RegisterEffect
(
e1
)
--Cost
Duel
.
AddCustomActivityCounter
(
m
,
ACTIVITY_SPSUMMON
,
cm
.
counterfilter
)
end
function
c33330005
.
counterfilter
(
c
)
--Cost
function
cm
.
counterfilter
(
c
)
return
c
:
IsSetCard
(
0x556
)
end
function
c
33330005
.
splimit
(
e
,
c
,
sump
,
sumtype
,
sumpos
,
targetp
,
se
)
function
c
m
.
splimit
(
e
,
c
,
sump
,
sumtype
,
sumpos
,
targetp
,
se
)
return
not
c
:
IsSetCard
(
0x556
)
end
function
c
33330005
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetCustomActivityCount
(
33330005
,
tp
,
ACTIVITY_SPSUMMON
)
==
0
end
function
c
m
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetCustomActivityCount
(
m
,
tp
,
ACTIVITY_SPSUMMON
)
==
0
end
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
:
Set
Reset
(
RESET_PHASE
+
PHASE_END
)
e1
:
Set
Property
(
EFFECT_FLAG_PLAYER_TARGET
+
EFFECT_FLAG_OATH
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
Set
LabelObject
(
e
)
e1
:
Set
Target
(
c33330005
.
splimit
)
e1
:
Set
Target
(
cm
.
splimit
)
e1
:
Set
Reset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
function
c33330005
.
filter
(
c
,
e
,
tp
)
return
c
:
IsCode
(
33330005
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
--Special Summon
function
cm
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsCode
(
m
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
cm
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
end
function
c
33330005
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
Get
LocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c
33330005
.
filter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
function
c
m
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
Get
MZoneCount
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c
m
.
sp
filter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
function
c
33330005
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
Get
LocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<
=
0
then
return
end
function
c
m
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
Get
MZoneCount
(
tp
)
if
ft
<
1
then
return
end
if
ft
>
2
then
ft
=
2
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c
33330005
.
filter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
ft
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c
m
.
sp
filter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
ft
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
...
...
expansions/script/c33330006.lua
View file @
c878671a
--深界生物 血口之绳
function
c33330006
.
initial_effect
(
c
)
--special summon
local
m
=
33330006
local
cm
=
_G
[
"c"
..
m
]
cm
.
counter
=
0x1556
--指 示 物
cm
.
atk
=
500
--攻 击 力
function
cm
.
initial_effect
(
c
)
--Hand Special Summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCondition
(
c
33330006
.
spcon
)
e1
:
SetCondition
(
c
m
.
h
spcon
)
c
:
RegisterEffect
(
e1
)
--
special summon
--
Counter
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330006
,
0
))
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e2
:
SetCategory
(
CATEGORY_COUNTER
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e2
:
SetTarget
(
c
33330006
.
ctg1
)
e2
:
SetOperation
(
c
33330006
.
cop1
)
e2
:
SetTarget
(
c
m
.
cttg
)
e2
:
SetOperation
(
c
m
.
ctop
)
c
:
RegisterEffect
(
e2
)
--
--
Xyz Material
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
EVENT_BE_MATERIAL
)
e3
:
SetCondition
(
c
33330006
.
atkcon
)
e3
:
SetOperation
(
c
33330006
.
atkop
)
e3
:
SetCondition
(
c
m
.
atkcon
)
e3
:
SetOperation
(
c
m
.
atkop
)
c
:
RegisterEffect
(
e3
)
end
function
c33330006
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
r
==
REASON_XYZ
--Hand Special Summon
function
cm
.
hspfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x556
)
end
function
c33330006
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
rc
=
c
:
GetReasonCard
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
500
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
rc
:
RegisterEffect
(
e1
)
function
cm
.
hspcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
return
Duel
.
GetMZoneCount
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
cm
.
hspfilter
,
tp
,
LOCATION_FZONE
,
0
,
1
,
nil
)
end
function
c33330006
.
ctg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
--Counter
function
cm
.
cttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
~=
nil
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
nil
,
1
,
0
,
0
)
end
function
c
33330006
.
cop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
ctop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
tc
and
tc
:
IsFaceup
()
and
tc
:
IsCanAddCounter
(
0x1009
,
1
)
then
tc
:
AddCounter
(
0x1019
,
1
)
if
tc
and
tc
:
IsFaceup
()
and
tc
:
IsCanAddCounter
(
cm
.
counter
,
1
)
then
tc
:
AddCounter
(
cm
.
counter
,
1
)
end
end
function
c33330006
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x556
)
--Xyz Material
function
cm
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
r
==
REASON_XYZ
end
function
c33330006
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
return
Duel
.
GetLocationCount
(
c
:
GetControler
(),
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c33330006
.
filter
,
c
:
GetControler
(),
LOCATION_FZONE
,
0
,
1
,
nil
)
function
cm
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
rc
=
c
:
GetReasonCard
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
cm
.
atk
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
rc
:
RegisterEffect
(
e1
)
end
\ No newline at end of file
expansions/script/c33330007.lua
View file @
c878671a
--通往深界的升降机
function
c33330007
.
initial_effect
(
c
)
--special summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330007
,
0
))
e2
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_DRAW
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e2
:
SetTarget
(
c33330007
.
destg1
)
e2
:
SetOperation
(
c33330007
.
desop1
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
c
:
RegisterEffect
(
e3
)
local
m
=
33330007
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
--Destroy & Draw
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_DRAW
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetTarget
(
cm
.
destg
)
e1
:
SetOperation
(
cm
.
desop
)
c
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
c
:
RegisterEffect
(
e2
)
end
function
c33330007
.
destg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsType
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
TYPE_SPELL
+
TYPE_TRAP
)
--Destroy & Draw
function
cm
.
desfilter
(
c
)
return
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsDestructable
()
end
function
cm
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
if
chk
==
0
then
return
g
:
GetCount
()
>
0
and
Duel
.
IsPlayerCanDraw
(
tp
,
g
:
GetCount
())
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
g
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
g
:
GetCount
())
end
function
c
33330007
.
desop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsType
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
,
TYPE_SPELL
+
TYPE_TRAP
)
function
c
m
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
ct
=
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
if
ct
>
0
then
Duel
.
Draw
(
tp
,
ct
,
REASON_EFFECT
)
...
...
expansions/script/c33330008.lua
View file @
c878671a
--深界生物 泣尸鸟
function
c33330008
.
initial_effect
(
c
)
--d a
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
33330008
,
0
))
e4
:
SetCategory
(
CATEGORY_DESTROY
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetCode
(
EVENT_DAMAGE_STEP_END
)
e4
:
SetCost
(
c33330008
.
cost
)
e4
:
SetCondition
(
c33330008
.
condition
)
e4
:
SetOperation
(
c33330008
.
operation
)
c
:
RegisterEffect
(
e4
)
--rec
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
33330008
,
1
))
e3
:
SetCategory
(
CATEGORY_RECOVER
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_BATTLE_DESTROYING
)
e3
:
SetCondition
(
aux
.
bdocon
)
e3
:
SetTarget
(
c33330008
.
attg
)
e3
:
SetOperation
(
c33330008
.
atop
)
c
:
RegisterEffect
(
e3
)
local
m
=
33330008
local
cm
=
_G
[
"c"
..
m
]
cm
.
counter
=
0x1556
--指 示 物
cm
.
atk
=-
1000
--攻 击 力
function
cm
.
initial_effect
(
c
)
--Atk Down
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTargetRange
(
0
,
LOCATION_MZONE
)
e1
:
SetTarget
(
cm
.
atktg
)
e1
:
SetValue
(
cm
.
atkval
)
c
:
RegisterEffect
(
e1
)
--Atk Up
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_BATTLE_DESTROYING
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetCondition
(
aux
.
bdocon
)
e2
:
SetOperation
(
cm
.
atop
)
c
:
RegisterEffect
(
e2
)
end
function
c33330008
.
attg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetCounter
(
tp
,
LOCATION_ONFIELD
,
0
,
0x1019
)
>
0
end
Duel
.
SetTargetPlayer
(
tp
)
local
ct
=
Duel
.
GetCounter
(
tp
,
LOCATION_ONFIELD
,
0
,
0x1019
)
Duel
.
SetTargetParam
(
ct
*
100
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_RECOVER
,
nil
,
0
,
tp
,
ct
*
100
)
end
function
c33330008
.
atop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
Duel
.
Recover
(
p
,
d
,
REASON_EFFECT
)
--Atk Down
function
cm
.
atktg
(
e
,
tc
)
local
c
=
e
:
GetHandler
()
local
ph
=
Duel
.
GetCurrentPhase
()
return
(
ph
==
PHASE_DAMAGE
or
ph
==
PHASE_DAMAGE_CAL
)
and
c
:
IsRelateToBattle
()
and
tc
:
IsFaceup
()
and
c
:
GetBattleTarget
()
==
tc
end
function
c33330008
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
chk
==
0
then
return
tc
and
tc
:
IsCode
(
33330019
)
and
tc
:
IsFaceup
()
and
tc
:
IsCanAddCounter
(
0x1009
,
1
)
end
tc
:
AddCounter
(
0x1019
,
1
)
function
cm
.
atkval
(
e
,
c
)
return
Duel
.
GetCounter
(
e
:
GetHandlerPlayer
(),
LOCATION_ONFIELD
,
0
,
cm
.
counter
)
*
cm
.
atk
end
function
c33330008
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
--Atk Up
function
cm
.
atop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsChainAttackable
()
and
not
c
:
IsStatus
(
STATUS_BATTLE_DESTROYED
)
end
function
c33330008
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
ChainAttack
()
local
tc
=
c
:
GetBattleTarget
()
if
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
tc
:
GetBaseAttack
())
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_DISABLE
)
c
:
RegisterEffect
(
e1
)
if
Duel
.
GetCurrentPhase
()
>=
PHASE_BATTLE_START
and
Duel
.
GetCurrentPhase
()
<=
PHASE_BATTLE
then
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_EXTRA_ATTACK
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetValue
(
1
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_BATTLE
)
c
:
RegisterEffect
(
e2
)
end
end
end
\ No newline at end of file
expansions/script/c33330009.lua
View file @
c878671a
--深界生物 龙鬃螺鸠
function
c33330009
.
initial_effect
(
c
)
--xyz summon
aux
.
AddXyzProcedure
(
c
,
nil
,
6
,
2
)
local
m
=
33330009
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--negate activate
--Xyz Summon
aux
.
AddXyzProcedure
(
c
,
nil
,
6
,
2
)
--Negate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330009
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetCategory
(
CATEGORY_NEGATE
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
)
e1
:
SetCondition
(
c33330009
.
condition
)
e1
:
SetCost
(
c33330009
.
cost
)
e1
:
SetTarget
(
c33330009
.
target
)
e1
:
SetOperation
(
c33330009
.
operation
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
cm
.
ngcon
)
e1
:
SetCost
(
cm
.
ngcost
)
e1
:
SetTarget
(
cm
.
ngtg
)
e1
:
SetOperation
(
cm
.
ngop
)
c
:
RegisterEffect
(
e1
)
--
destroy r
eplace
--
Destroy R
eplace
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EFFECT_DESTROY_REPLACE
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetTarget
(
c
33330009
.
reptg
)
e2
:
SetTarget
(
c
m
.
reptg
)
c
:
RegisterEffect
(
e2
)
end
function
c33330009
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
2
,
REASON_EFFECT
)
end
if
Duel
.
SelectEffectYesNo
(
tp
,
e
:
GetHandler
(),
96
)
then
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
2
,
2
,
REASON_EFFECT
)
return
true
else
return
false
end
--Negate
function
cm
.
ngcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
not
e
:
GetHandler
():
IsStatus
(
STATUS_BATTLE_DESTROYED
)
and
rp
~=
tp
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
Duel
.
IsChainDisablable
(
ev
)
and
re
:
GetHandler
():
IsAbleToChangeControler
()
and
not
re
:
GetHandler
():
IsType
(
TYPE_TOKEN
)
end
function
c33330009
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
not
e
:
GetHandler
():
IsStatus
(
STATUS_BATTLE_DESTROYED
)
and
rp
~=
tp
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
Duel
.
IsChainDisablable
(
ev
)
and
re
:
GetHandler
():
IsAbleToChangeControler
()
and
not
re
:
GetHandler
():
IsType
(
TYPE_TOKEN
)
function
cm
.
ngcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
--local og=e:GetHandler():GetOverlayGroup()
-- if chk==0 then return og:GetCount()>0 and og:IsExists(Card.IsSetCard,1,nil,0x556) end
-- Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
-- local g=og:FilterSelect(tp,Card.IsSetCard,1,1,nil,0x556)
-- Duel.SendtoGrave(g,REASON_COST)
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
1
,
REASON_COST
)
end
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
end
function
c33330009
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
og
=
e
:
GetHandler
():
GetOverlayGroup
()
if
chk
==
0
then
return
og
:
GetCount
()
>
0
and
og
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0x556
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
local
g
=
og
:
FilterSelect
(
tp
,
Card
.
IsSetCard
,
1
,
1
,
nil
,
0x556
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
end
function
c33330009
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
ngtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_NEGATE
,
eg
,
1
,
0
,
0
)
if
re
:
GetHandler
():
IsDestructable
()
and
re
:
GetHandler
():
IsRelateToEffect
(
re
)
then
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
eg
,
1
,
0
,
0
)
end
end
function
c
33330009
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
ngop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
rc
=
re
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
Duel
.
NegateActivation
(
ev
)
and
rc
:
IsRelateToEffect
(
re
)
and
not
rc
:
IsType
(
TYPE_TOKEN
)
and
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
...
...
@@ -59,4 +57,13 @@ function c33330009.operation(e,tp,eg,ep,ev,re,r,rp)
end
Duel
.
Overlay
(
c
,
Group
.
FromCards
(
rc
))
end
end
--Destroy Replace
function
cm
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
not
c
:
IsReason
(
REASON_REPLACE
)
and
c
:
IsReason
(
REASON_EFFECT
)
and
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
1
,
REASON_EFFECT
)
end
if
Duel
.
SelectEffectYesNo
(
tp
,
e
:
GetHandler
(),
96
)
then
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_EFFECT
)
return
true
else
return
false
end
end
\ No newline at end of file
expansions/script/c33330010.lua
View file @
c878671a
--深界生物 宿鼠
function
c33330010
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkSetCard
,
0x556
),
2
,
2
)
local
m
=
33330010
local
cm
=
_G
[
"c"
..
m
]
cm
.
counter
=
0x1556
--指 示 物
cm
.
rec1
=
1000
--特 召 回 血 量
cm
.
rec2
=
500
--指 示 物 回 血
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--seq
--Link Summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkSetCard
,
0x556
),
2
,
2
)
--Destroy & Recover
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330010
,
1
))
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetTarget
(
c33330010
.
target
)
e1
:
SetOperation
(
c33330010
.
activate
)
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_RECOVER
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetTarget
(
cm
.
destg
)
e1
:
SetOperation
(
cm
.
desop
)
c
:
RegisterEffect
(
e1
)
--
d r
--
Move
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330010
,
0
))
e2
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_RECOVER
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
33330010
)
e2
:
SetTarget
(
c33330010
.
destg
)
e2
:
SetOperation
(
c33330010
.
desop
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetTarget
(
cm
.
mvtg
)
e2
:
SetOperation
(
cm
.
mvop
)
c
:
RegisterEffect
(
e2
)
--
rec X
--
Indes
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
EVENT_ADD_COUNTER
+
0x1019
)
e3
:
SetOperation
(
c33330010
.
rop2
)
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_GRANT
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetTargetRange
(
LOCATION_ONFIELD
,
0
)
e5
:
SetTarget
(
aux
.
TRUE
)
e5
:
SetLabelObject
(
e3
)
c
:
RegisterEffect
(
e5
)
--rec X
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
33330010
,
2
))
e4
:
SetCategory
(
CATEGORY_RECOVER
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetCode
(
EVENT_CUSTOM
+
33330010
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_PLAYER_TARGET
)
e4
:
SetTarget
(
c33330010
.
rtg
)
e4
:
SetOperation
(
c33330010
.
rop
)
c
:
RegisterEffect
(
e4
)
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
2
))
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetCode
(
EVENT_FREE_CHAIN
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCost
(
cm
.
indcost
)
e3
:
SetOperation
(
cm
.
indop
)
c
:
RegisterEffect
(
e3
)
end
function
c33330010
.
rop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
Duel
.
RaiseEvent
(
e
:
GetHandler
(),
EVENT_CUSTOM
+
33330010
,
e
,
0
,
tp
,
tp
,
0
)
end
function
c33330010
.
rtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
100
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_RECOVER
,
nil
,
0
,
tp
,
100
)
--Destroy & Recover
function
cm
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
chk
==
0
then
return
tc
~=
nil
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tc
,
1
,
tp
,
LOCATION_FZONE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_RECOVER
,
nil
,
0
,
tp
,
cm
.
rec1
)
end
function
c33330010
.
rop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
Duel
.
Recover
(
p
,
d
,
REASON_EFFECT
)
function
cm
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
tc
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
then
Duel
.
Recover
(
tp
,
cm
.
rec1
,
REASON_EFFECT
)
end
end
function
c33330010
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
--Move
function
cm
.
mvtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_CONTROL
)
>
0
end
end
function
c
33330010
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
mvop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOZONE
)
...
...
@@ -71,16 +64,32 @@ function c33330010.activate(e,tp,eg,ep,ev,re,r,rp)
local
nseq
=
math.log
(
s
,
2
)
Duel
.
MoveSequence
(
c
,
nseq
)
end
function
c33330010
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
chk
==
0
then
return
tc
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tc
,
1
,
tp
,
LOCATION_FZONE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_RECOVER
,
nil
,
0
,
tp
,
500
)
--Indes
function
cm
.
indfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsCanRemoveCounter
(
tp
,
cm
.
counter
,
1
,
REASON_COST
)
end
function
c33330010
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
tc
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
then
Duel
.
Recover
(
tp
,
500
,
REASON_EFFECT
)
function
cm
.
indcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
indfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
nil
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
indfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
nil
,
tp
)
local
tc
=
g
:
GetFirst
()
tc
:
RemoveCounter
(
tp
,
cm
.
counter
,
1
,
REASON_COST
)
Duel
.
SetTargetCard
(
tc
)
end
function
cm
.
indop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
3
))
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_IMMUNE_EFFECT
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
+
EFFECT_FLAG_CLIENT_HINT
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetValue
(
cm
.
efilter
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
end
end
function
cm
.
efilter
(
e
,
te
)
return
te
:
GetHandlerPlayer
()
~=
e
:
GetHandlerPlayer
()
end
\ No newline at end of file
expansions/script/c33330011.lua
View file @
c878671a
--深界生物 毯毯鼠
function
c33330011
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkSetCard
,
0x556
),
1
,
1
)
c
:
EnableReviveLimit
()
--d r
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330011
,
0
))
e2
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_RECOVER
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
33330011
)
e2
:
SetTarget
(
c33330011
.
destg
)
e2
:
SetOperation
(
c33330011
.
desop
)
c
:
RegisterEffect
(
e2
)
--disable attack
local
m
=
33330011
local
cm
=
_G
[
"c"
..
m
]
cm
.
counter
=
0x1556
--指 示 物
cm
.
count
=
1
--放 置 数 量
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
EnableCounterPermit
(
cm
.
counter
)
--Link Summon
aux
.
AddLinkProcedure
(
c
,
cm
.
mfilter
,
1
,
1
)
--Destroy & Counter
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330011
,
0
))
e1
:
Set
Type
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
Set
Range
(
LOCATION_MZONE
)
e1
:
SetCode
(
EVENT_
ATTACK_ANNOUNCE
)
e1
:
Set
Cost
(
c33330011
.
atkcost
)
e1
:
Set
Condition
(
c33330011
.
atkcon
)
e1
:
SetOperation
(
c
33330011
.
atk
op
)
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
Set
Category
(
CATEGORY_DESTROY
+
CATEGORY_COUNTER
)
e1
:
Set
Type
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_
SPSUMMON_SUCCESS
)
e1
:
Set
Property
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
Set
Target
(
cm
.
destg
)
e1
:
SetOperation
(
c
m
.
des
op
)
c
:
RegisterEffect
(
e1
)
--Negate Attack
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_ATTACK_ANNOUNCE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
,
m
)
e2
:
SetCost
(
cm
.
atkcost
)
e2
:
SetCondition
(
cm
.
atkcon
)
e2
:
SetOperation
(
cm
.
atkop
)
c
:
RegisterEffect
(
e2
)
end
function
c33330011
.
atkcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsCanRemoveCounter
(
tp
,
0x1019
,
1
,
REASON_COST
)
end
e
:
GetHandler
():
RemoveCounter
(
tp
,
0x1019
,
1
,
REASON_COST
)
end
function
c33330011
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
NegateAttack
()
end
function
c33330011
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
~=
tp
--Link Summon
function
cm
.
mfilter
(
c
)
return
not
c
:
IsCode
(
m
)
and
c
:
IsLinkSetCard
(
0x556
)
end
function
c33330011
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
--Destroy & Counter
function
cm
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
chk
==
0
then
return
tc
and
e
:
GetHandler
():
IsCanAddCounter
(
0x1019
,
1
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tc
,
1
,
tp
,
LOCATION_FZONE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
nil
,
1
,
0
,
0
)
if
chk
==
0
then
return
tc
and
e
:
GetHandler
():
IsCanAddCounter
(
cm
.
counter
,
1
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tc
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
e
:
GetHandler
()
,
1
,
0
,
0
)
end
function
c
33330011
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
tc
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
and
e
:
GetHandler
():
IsRelateToEffect
(
e
)
and
e
:
GetHandler
():
IsFaceup
()
then
e
:
GetHandler
():
AddCounter
(
0x1019
,
1
)
e
:
GetHandler
():
AddCounter
(
cm
.
counter
,
1
)
end
end
--Negate Attack
function
cm
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
GetFirst
():
IsControler
(
1
-
tp
)
end
function
cm
.
atkcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsCanRemoveCounter
(
tp
,
cm
.
counter
,
1
,
REASON_COST
)
end
e
:
GetHandler
():
RemoveCounter
(
tp
,
cm
.
counter
,
1
,
REASON_COST
)
end
function
cm
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
NegateAttack
()
end
\ No newline at end of file
expansions/script/c33330012.lua
View file @
c878671a
--生骸公主 ファプタ
function
c33330012
.
initial_effect
(
c
)
local
m
=
33330012
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkSetCard
,
0x556
),
2
,
2
)
c
:
EnableReviveLimit
()
--seq
--Destroy & Draw
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330012
,
1
))
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetTarget
(
c33330012
.
target
)
e1
:
SetOperation
(
c33330012
.
activate
)
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_DRAW
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetTarget
(
cm
.
destg
)
e1
:
SetOperation
(
cm
.
desop
)
c
:
RegisterEffect
(
e1
)
--
d r
--
Move
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330012
,
0
))
e2
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_DRAW
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
33330012
)
e2
:
SetTarget
(
c33330012
.
destg
)
e2
:
SetOperation
(
c33330012
.
desop
)
c
:
RegisterEffect
(
e2
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetTarget
(
cm
.
mvtg
)
e2
:
SetOperation
(
cm
.
mvop
)
c
:
RegisterEffect
(
e2
)
--Special Summon
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
33330012
,
2
))
e4
:
SetType
(
EFFECT_TYPE_TRIGGER_O
+
EFFECT_TYPE_SINGLE
)
e4
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e4
:
SetCode
(
EVENT_LEAVE_FIELD
)
e4
:
SetCondition
(
c33330012
.
sumcon
)
e4
:
SetTarget
(
c33330012
.
sumtg
)
e4
:
SetOperation
(
c33330012
.
sumop
)
c
:
RegisterEffect
(
e4
)
end
function
c33330012
.
sumcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousPosition
(
POS_FACEUP
)
end
function
c33330012
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsRankBelow
(
4
)
and
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
true
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
2
))
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD
)
e3
:
SetTarget
(
cm
.
sptg
)
e3
:
SetOperation
(
cm
.
spop
)
c
:
RegisterEffect
(
e3
)
end
function
c33330012
.
sumtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c33330012
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetTargetCard
(
e
:
GetHandler
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
--Destroy & Draw
function
cm
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
chk
==
0
then
return
tc
and
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tc
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
end
function
c33330012
.
sumop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c33330012
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
if
tc
and
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
and
c
:
IsRelateToEffect
(
e
)
then
Duel
.
Overlay
(
tc
,
Group
.
FromCards
(
c
))
function
cm
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
tc
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
function
c33330012
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
--Move
function
cm
.
mvtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_CONTROL
)
>
0
end
end
function
c
33330012
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
mvop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOZONE
)
...
...
@@ -68,16 +61,20 @@ function c33330012.activate(e,tp,eg,ep,ev,re,r,rp)
local
nseq
=
math.log
(
s
,
2
)
Duel
.
MoveSequence
(
c
,
nseq
)
end
function
c33330012
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
chk
==
0
then
return
tc
and
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tc
,
1
,
tp
,
LOCATION_FZONE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
--Special Summon
function
cm
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsRankBelow
(
4
)
and
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c33330012
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
tc
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
function
cm
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
cm
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
cm
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCountFromEx
(
tp
)
<
1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
and
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
and
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
Duel
.
Overlay
(
g
:
GetFirst
(),
e
:
GetHandler
())
end
end
\ No newline at end of file
expansions/script/c33330013.lua
View file @
c878671a
--破晓之花 プルシュカ
function
c33330013
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkSetCard
,
0x556
),
2
,
2
)
local
m
=
33330013
local
cm
=
_G
[
"c"
..
m
]
cm
.
atk
=
500
--攻 击 上 升
cm
.
search
=
{
33330034
}
--检 索 的 卡
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--seq
--Link Summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkSetCard
,
0x556
),
2
,
2
)
--Destroy & Search
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330013
,
1
))
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetTarget
(
c33330013
.
target
)
e1
:
SetOperation
(
c33330013
.
activate
)
c
:
RegisterEffect
(
e1
)
--d r
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetTarget
(
cm
.
destg
)
e1
:
SetOperation
(
cm
.
desop
)
c
:
RegisterEffect
(
e1
)
--Move
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330013
,
0
))
e2
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_SEARCH
+
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
33330013
)
e2
:
SetTarget
(
c33330013
.
destg
)
e2
:
SetOperation
(
c33330013
.
desop
)
c
:
RegisterEffect
(
e2
)
--atk/def
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetTarget
(
cm
.
mvtg
)
e2
:
SetOperation
(
cm
.
mvop
)
c
:
RegisterEffect
(
e2
)
--Atk Up
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
(
c
33330013
.
atktg
)
e3
:
SetValue
(
500
)
e3
:
SetTarget
(
c
m
.
atktg
)
e3
:
SetValue
(
cm
.
atk
)
c
:
RegisterEffect
(
e3
)
end
function
c33330013
.
atktg
(
e
,
c
)
return
c
:
GetMutualLinkedGroupCount
()
>
0
and
c
:
IsSetCard
(
0x556
)
cm
.
card_code_list
=
cm
.
search
--Destroy & Search
function
cm
.
thfilter
(
c
)
return
c
:
IsAbleToHand
()
and
c
:
IsCode
(
cm
.
search
[
1
])
end
function
cm
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
chk
==
0
then
return
tc
and
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tc
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
tc
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
function
cm
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
tc
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
and
Duel
.
IsExistingMatchingCard
(
aux
.
NecroValleyFilter
(
cm
.
thfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
thfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
function
c33330013
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
--Move
function
cm
.
mvtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_CONTROL
)
>
0
end
end
function
c
33330013
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
mvop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOZONE
)
...
...
@@ -47,24 +70,7 @@ function c33330013.activate(e,tp,eg,ep,ev,re,r,rp)
local
nseq
=
math.log
(
s
,
2
)
Duel
.
MoveSequence
(
c
,
nseq
)
end
function
c33330013
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
chk
==
0
then
return
tc
and
Duel
.
IsExistingMatchingCard
(
c33330013
.
thfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tc
,
1
,
tp
,
LOCATION_FZONE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
tc
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
function
c33330013
.
thfilter
(
c
)
return
c
:
IsAbleToHand
()
and
c
:
IsCode
(
33330034
)
end
function
c33330013
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
tc
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
and
Duel
.
IsExistingMatchingCard
(
aux
.
NecroValleyFilter
(
c33330013
.
thfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330013
.
thfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
SendtoHand
(
tg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
tg
)
end
end
--Atk Up
function
cm
.
atktg
(
e
,
c
)
return
c
:
GetMutualLinkedGroupCount
()
>
0
and
c
:
IsSetCard
(
0x556
)
end
\ No newline at end of file
expansions/script/c33330014.lua
View file @
c878671a
--深界的至宝 雷古
function
c33330014
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkSetCard
,
0x556
),
1
)
local
m
=
33330014
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--seq
--Link Summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkSetCard
,
0x556
),
2
)
--Destroy & Search
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330014
,
1
))
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetTarget
(
c33330014
.
target
)
e1
:
SetOperation
(
c33330014
.
activate
)
c
:
RegisterEffect
(
e1
)
--d r
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetTarget
(
cm
.
destg
)
e1
:
SetOperation
(
cm
.
desop
)
c
:
RegisterEffect
(
e1
)
--Move
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330014
,
0
))
e2
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_SEARCH
+
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
33330014
)
e2
:
SetTarget
(
c33330014
.
destg
)
e2
:
SetOperation
(
c33330014
.
desop
)
c
:
RegisterEffect
(
e2
)
--special summon
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetTarget
(
cm
.
mvtg
)
e2
:
SetOperation
(
cm
.
mvop
)
c
:
RegisterEffect
(
e2
)
--Special Summon
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
33330014
,
2
))
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
2
))
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetTarget
(
c
33330014
.
sptg
)
e3
:
SetOperation
(
c
33330014
.
spop
)
e3
:
SetTarget
(
c
m
.
sptg
)
e3
:
SetOperation
(
c
m
.
spop
)
c
:
RegisterEffect
(
e3
)
end
function
c33330014
.
filter
(
c
,
e
,
tp
,
zone
)
--Destroy & Search
function
cm
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
chk
==
0
then
return
tc
or
Duel
.
IsExistingMatchingCard
(
Card
.
IsType
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
,
TYPE_SPELL
+
TYPE_TRAP
)
end
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsType
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
,
TYPE_SPELL
+
TYPE_TRAP
)
if
tc
then
g
:
AddCard
(
tc
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
g
:
GetCount
(),
0
,
LOCATION_ONFIELD
)
end
function
cm
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsType
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
,
TYPE_SPELL
+
TYPE_TRAP
)
if
tc
then
g
:
AddCard
(
tc
)
end
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
end
--Move
function
cm
.
mvtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_CONTROL
)
>
0
end
end
function
cm
.
mvop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOZONE
)
local
s
=
Duel
.
SelectDisableField
(
tp
,
1
,
LOCATION_MZONE
,
0
,
0
)
local
nseq
=
math.log
(
s
,
2
)
Duel
.
MoveSequence
(
c
,
nseq
)
end
--Special Summon
function
cm
.
spfilter
(
c
,
e
,
tp
,
zone
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
,
tp
,
zone
)
end
function
c
33330014
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
zone
=
e
:
GetHandler
():
GetLinkedZone
(
tp
)
return
zone
~=
0
and
Duel
.
IsExistingMatchingCard
(
c
33330014
.
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
,
zone
)
return
zone
~=
0
and
Duel
.
IsExistingMatchingCard
(
c
m
.
sp
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
,
zone
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c
33330014
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
zone
=
e
:
GetHandler
():
GetLinkedZone
(
tp
)
if
zone
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
33330014
.
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
,
zone
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
m
.
sp
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
,
zone
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
,
zone
)
end
end
function
c33330014
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_CONTROL
)
>
0
end
end
function
c33330014
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOZONE
)
local
s
=
Duel
.
SelectDisableField
(
tp
,
1
,
LOCATION_MZONE
,
0
,
0
)
local
nseq
=
math.log
(
s
,
2
)
Duel
.
MoveSequence
(
c
,
nseq
)
end
function
c33330014
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
chk
==
0
then
return
tc
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsType
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
,
TYPE_SPELL
+
TYPE_TRAP
)
end
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsType
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
,
TYPE_SPELL
+
TYPE_TRAP
)
g
:
AddCard
(
tc
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
g
:
GetCount
(),
0
,
LOCATION_ONFIELD
)
end
function
c33330014
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsType
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
,
TYPE_SPELL
+
TYPE_TRAP
)
if
tc
then
g
:
AddCard
(
tc
)
end
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
end
\ No newline at end of file
expansions/script/c33330015.lua
View file @
c878671a
--深界的黑暗面 雷古
function
c33330015
.
initial_effect
(
c
)
local
m
=
33330015
local
cm
=
_G
[
"c"
..
m
]
cm
.
atk
=
1500
--攻 击 上 升
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--
spsummon condition
--
Special Summon Limit
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e1
:
SetValue
(
aux
.
ritlimit
)
c
:
RegisterEffect
(
e1
)
--
r d
--
Destroy & Remove
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330015
,
0
))
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_REMOVE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_D
AMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e2
:
SetTarget
(
c
33330015
.
destg
)
e2
:
SetOperation
(
c
33330015
.
desop
)
e2
:
SetProperty
(
EFFECT_FLAG_D
ELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e2
:
SetTarget
(
c
m
.
destg
)
e2
:
SetOperation
(
c
m
.
desop
)
c
:
RegisterEffect
(
e2
)
--
reflect battle dam
--
Reflect
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_REFLECT_BATTLE_DAMAGE
)
e3
:
SetValue
(
1
)
c
:
RegisterEffect
(
e3
)
--atk up
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e6
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetCode
(
EVENT_PRE_DAMAGE_CALCULATE
)
e6
:
SetCondition
(
c33330015
.
atkcon
)
e6
:
SetTarget
(
c33330015
.
atktg
)
e6
:
SetOperation
(
c33330015
.
atkop
)
c
:
RegisterEffect
(
e6
)
--Atk Up
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e4
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e4
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e4
:
SetCode
(
EVENT_PRE_DAMAGE_CALCULATE
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCondition
(
cm
.
atkcon
)
e4
:
SetTarget
(
cm
.
atktg
)
e4
:
SetOperation
(
cm
.
atkop
)
c
:
RegisterEffect
(
e4
)
end
function
c33330015
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
==
Duel
.
GetAttacker
()
or
c
==
Duel
.
GetAttackTarget
()
end
function
c33330015
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
ct
=
Duel
.
GetMatchingGroupCount
(
Card
.
IsType
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
TYPE_FIELD
)
return
ct
>
0
and
c
:
GetFlagEffect
(
33330015
)
==
0
end
c
:
RegisterFlagEffect
(
33330015
,
RESET_CHAIN
,
0
,
1
)
end
function
c33330015
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
ct
=
Duel
.
GetMatchingGroupCount
(
Card
.
IsType
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
TYPE_FIELD
)
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
and
ct
>
0
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetReset
(
RESET_EVENT
+
RESET_CHAIN
)
e1
:
SetValue
(
ct
*
1500
)
c
:
RegisterEffect
(
e1
)
end
end
function
c33330015
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
--Destroy & Remove
function
cm
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
chk
==
0
then
return
tc
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToRemove
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
end
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemove
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tc
,
1
,
tp
,
LOCATION_FZONE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tc
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
g
:
GetCount
(),
1
-
tp
,
LOCATION_MZONE
)
end
function
c
33330015
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
tc
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
then
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemove
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
if
g
:
GetCount
()
<=
0
then
return
end
if
Duel
.
Remove
(
g
,
0
,
REASON_EFFECT
+
REASON_TEMPORARY
)
~=
0
then
local
fid
=
c
:
GetFieldID
()
local
rct
=
1
local
og
=
Duel
.
GetOperatedGroup
()
local
oc
=
og
:
GetFirst
()
while
oc
do
oc
:
RegisterFlagEffect
(
33330015
,
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
,
0
,
1
,
fid
)
oc
=
og
:
GetNext
()
end
og
:
KeepAlive
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e1
:
SetCountLimit
(
1
)
e1
:
SetLabel
(
fid
)
e1
:
SetLabelObject
(
og
)
e1
:
SetCondition
(
c33330015
.
retcon
)
e1
:
SetOperation
(
c33330015
.
retop
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetValue
(
Duel
.
GetTurnCount
())
Duel
.
RegisterEffect
(
e1
,
tp
)
end
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemove
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
if
g
:
GetCount
()
<
1
then
return
end
if
Duel
.
Remove
(
g
,
0
,
REASON_EFFECT
+
REASON_TEMPORARY
)
~=
0
then
local
fid
=
c
:
GetFieldID
()
local
rct
=
1
local
og
=
Duel
.
GetOperatedGroup
()
local
oc
=
og
:
GetFirst
()
while
oc
do
oc
:
RegisterFlagEffect
(
m
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
0
,
1
,
fid
)
oc
=
og
:
GetNext
()
end
og
:
KeepAlive
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e1
:
SetCountLimit
(
1
)
e1
:
SetLabel
(
fid
)
e1
:
SetLabelObject
(
og
)
e1
:
SetCondition
(
cm
.
retcon
)
e1
:
SetOperation
(
cm
.
retop
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetValue
(
Duel
.
GetTurnCount
())
Duel
.
RegisterEffect
(
e1
,
tp
)
end
end
end
function
c
33330015
.
retfilter
(
c
,
fid
)
return
c
:
GetFlagEffectLabel
(
33330015
)
==
fid
function
c
m
.
retfilter
(
c
,
fid
)
return
c
:
GetFlagEffectLabel
(
m
)
==
fid
end
function
c
33330015
.
retcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
retcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetTurnCount
()
==
e
:
GetValue
()
then
return
false
end
local
g
=
e
:
GetLabelObject
()
if
not
g
:
IsExists
(
c
33330015
.
retfilter
,
1
,
nil
,
e
:
GetLabel
())
then
if
not
g
:
IsExists
(
c
m
.
retfilter
,
1
,
nil
,
e
:
GetLabel
())
then
g
:
DeleteGroup
()
e
:
Reset
()
return
false
else
return
true
end
end
function
c
33330015
.
retop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
retop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
e
:
GetLabelObject
()
local
sg
=
g
:
Filter
(
c
33330015
.
retfilter
,
nil
,
e
:
GetLabel
())
local
sg
=
g
:
Filter
(
c
m
.
retfilter
,
nil
,
e
:
GetLabel
())
g
:
DeleteGroup
()
local
ct
,
tg
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
),
Group
.
CreateGroup
(
)
local
ct
,
rg
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
sg
:
GetCount
()
>
ct
and
ct
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
tg
=
sg
:
Select
(
tp
,
ct1
,
ct1
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
rg
=
sg
:
Select
(
tp
,
ct
,
ct
,
nil
)
else
rg
=
sg
end
sg
:
Sub
(
tg
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
rg
:
GetFirst
()
while
tc
do
Duel
.
ReturnToField
(
tc
)
tc
=
t
g
:
GetNext
()
tc
=
r
g
:
GetNext
()
end
sg
:
Sub
(
rg
)
tc
=
sg
:
GetFirst
()
while
tc
do
Duel
.
ReturnToField
(
tc
)
tc
=
sg
:
GetNext
()
tc
=
sg
:
GetNext
()
end
end
--Atk Up
function
cm
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
==
Duel
.
GetAttacker
()
or
c
==
Duel
.
GetAttackTarget
()
end
function
cm
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
ct
=
Duel
.
GetMatchingGroupCount
(
Card
.
IsType
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
TYPE_FIELD
)
return
ct
>
0
and
c
:
GetFlagEffect
(
m
)
==
0
end
c
:
RegisterFlagEffect
(
m
,
RESET_CHAIN
,
0
,
1
)
end
function
cm
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
ct
=
Duel
.
GetMatchingGroupCount
(
Card
.
IsType
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
TYPE_FIELD
)
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
and
ct
>
0
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
ct
*
cm
.
atk
)
e1
:
SetReset
(
RESET_EVENT
+
RESET_CHAIN
)
c
:
RegisterEffect
(
e1
)
end
end
expansions/script/c33330016.lua
View file @
c878671a
--白笛 歼灭之莱莎
function
c33330016
.
initial_effect
(
c
)
--link summon
local
m
=
33330016
local
cm
=
_G
[
"c"
..
m
]
cm
.
atk
=
500
--攻 击 上 升
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--Link Summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkSetCard
,
0x556
),
2
)
c
:
EnableReviveLimit
()
--seq
--Destroy & Search
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330016
,
1
))
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetTarget
(
c33330016
.
target
)
e1
:
SetOperation
(
c33330016
.
activate
)
c
:
RegisterEffect
(
e1
)
--d r
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetTarget
(
cm
.
destg
)
e1
:
SetOperation
(
cm
.
desop
)
c
:
RegisterEffect
(
e1
)
--Move
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330016
,
0
))
e2
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_SEARCH
+
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
33330016
)
e2
:
SetTarget
(
c33330016
.
destg
)
e2
:
SetOperation
(
c33330016
.
desop
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetTarget
(
cm
.
mvtg
)
e2
:
SetOperation
(
cm
.
mvop
)
c
:
RegisterEffect
(
e2
)
--
atk
--
Atk Up
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e3
:
SetTarget
(
c
33330016
.
ind
tg
)
e3
:
SetValue
(
500
)
e3
:
SetTarget
(
c
m
.
buff
tg
)
e3
:
SetValue
(
cm
.
atk
)
c
:
RegisterEffect
(
e3
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
)
--Indes
local
e4
=
e3
:
Clone
(
)
e4
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e4
:
SetProperty
(
EFFECT_FLAG_SET_AVAILABLE
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e4
:
SetTarget
(
c33330016
.
indtg
)
e4
:
SetValue
(
1
)
c
:
RegisterEffect
(
e4
)
end
function
c33330016
.
indtg
(
e
,
c
)
return
e
:
GetHandler
():
GetLinkedGroup
():
IsContains
(
c
)
--Destroy & Search
function
cm
.
thfilter
(
c
)
return
c
:
IsAbleToHand
()
and
c
:
IsCode
(
cm
.
search
[
1
])
end
function
cm
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
chk
==
0
then
return
tc
and
Duel
.
IsExistingMatchingCard
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tc
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
nil
,
1
,
1
-
tp
,
LOCATION_ONFIELD
)
end
function
cm
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
tc
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
and
Duel
.
IsExistingMatchingCard
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
g
)
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
end
end
function
c33330016
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
--Move
function
cm
.
mvtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_CONTROL
)
>
0
end
end
function
c
33330016
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
mvop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOZONE
)
...
...
@@ -56,20 +74,7 @@ function c33330016.activate(e,tp,eg,ep,ev,re,r,rp)
local
nseq
=
math.log
(
s
,
2
)
Duel
.
MoveSequence
(
c
,
nseq
)
end
function
c33330016
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
chk
==
0
then
return
tc
and
Duel
.
IsExistingMatchingCard
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tc
,
2
,
0
,
LOCATION_ONFIELD
)
end
function
c33330016
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
tc
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
and
Duel
.
IsExistingMatchingCard
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
tg
)
Duel
.
Destroy
(
tg
,
REASON_EFFECT
)
end
end
--Atk Up
function
cm
.
bufftg
(
e
,
c
)
return
e
:
GetHandler
():
GetLinkedGroup
():
IsContains
(
c
)
end
\ No newline at end of file
expansions/script/c33330017.lua
View file @
c878671a
--白笛 不动如山之奥森
function
c33330017
.
initial_effect
(
c
)
--xyz summon
aux
.
AddXyzProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsSetCard
,
0x556
),
4
,
3
)
local
m
=
33330017
local
cm
=
_G
[
"c"
..
m
]
cm
.
mat
=
{
33330004
}
--素 材 要 求
cm
.
counter
=
0x1556
--指 示 物
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
)
e4
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e4
:
SetValue
(
c33330017
.
indesval
)
e4
:
SetCondition
(
c33330017
.
con
)
c
:
RegisterEffect
(
e4
)
--Xyz Summon
aux
.
AddXyzProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsSetCard
,
0x556
),
4
,
2
)
--Remove
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
E
FFECT_EXTRA_ATTACK
)
e1
:
SetCondition
(
c
33330017
.
con
)
e1
:
Set
Value
(
c33330017
.
atkval
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
E
VENT_DAMAGE_STEP_END
)
e1
:
SetCondition
(
c
m
.
rm
con
)
e1
:
Set
Operation
(
cm
.
rmop
)
c
:
RegisterEffect
(
e1
)
--
to grav
e
--
Destroy Replac
e
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
13893596
,
0
))
e2
:
SetCategory
(
CATEGORY_ATKCHANGE
+
CATEGORY_COUNTER
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e2
:
SetCode
(
EVENT_ATTACK_ANNOUNCE
)
e2
:
SetTarget
(
c33330017
.
ctg
)
e2
:
SetOperation
(
c33330017
.
cop
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EFFECT_DESTROY_REPLACE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
2
)
e2
:
SetTarget
(
cm
.
reptg
)
e2
:
SetOperation
(
cm
.
repop
)
e2
:
SetValue
(
cm
.
repval
)
c
:
RegisterEffect
(
e2
)
--des
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e5
:
SetCode
(
EVENT_DAMAGE_STEP_END
)
e5
:
SetOperation
(
c33330017
.
desop
)
c
:
RegisterEffect
(
e5
)
end
function
c33330017
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
e
:
GetHandler
():
GetCounter
(
0x1009
)
>=
3
then
Duel
.
Hint
(
HINT_CARD
,
0
,
33330017
)
Duel
.
Destroy
(
e
:
GetHandler
(),
REASON_EFFECT
)
end
cm
.
card_code_list
=
cm
.
mat
--Remove
function
cm
.
rmcon
(
e
)
return
e
:
GetHandler
():
GetOverlayGroup
():
IsExists
(
Card
.
IsCode
,
1
,
nil
,
cm
.
mat
[
1
])
and
aux
.
bdocon
(
e
)
end
function
c33330017
.
ctg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsCanAddCounter
(
0x1019
,
1
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
nil
,
1
,
0
,
0
)
function
cm
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetAttacker
()
if
tc
==
e
:
GetHandler
()
then
tc
=
Duel
.
GetAttackTarget
()
end
if
tc
then
Duel
.
Remove
(
tc
,
POS_FACEUP
,
REASON_RULE
)
end
end
function
c33330017
.
cop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
and
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
and
c
:
IsCanAddCounter
(
0x1009
,
1
)
then
c
:
AddCounter
(
0x1019
,
1
)
local
g
=
Duel
.
GetMatchingGroup
(
c33330017
.
adfilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
if
g
:
GetCount
()
>
0
then
for
tc
in
aux
.
Next
(
g
)
do
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
e1
:
SetValue
(
-
300
)
tc
:
RegisterEffect
(
e1
)
end
end
end
--Destroy Replace
function
cm
.
repfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x556
)
and
c
:
IsControler
(
tp
)
and
c
:
IsReason
(
REASON_EFFECT
+
REASON_BATTLE
)
and
not
c
:
IsReason
(
REASON_REPLACE
)
end
function
c33330017
.
adfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSummonType
(
SUMMON_TYPE_SPECIAL
)
function
cm
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
eg
:
IsExists
(
cm
.
repfilter
,
1
,
nil
,
tp
)
and
Duel
.
IsCanRemoveCounter
(
tp
,
1
,
0
,
cm
.
counter
,
1
,
REASON_COST
)
end
return
Duel
.
SelectEffectYesNo
(
tp
,
e
:
GetHandler
(),
96
)
end
function
c
33330017
.
atkval
(
e
)
return
e
:
GetHandler
():
GetOverlayCount
()
-
1
function
c
m
.
repop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RemoveCounter
(
tp
,
1
,
0
,
cm
.
counter
,
1
,
REASON_COST
)
end
function
c33330017
.
indesval
(
e
,
re
,
rp
)
return
re
:
GetHandler
()
~=
e
:
GetHandler
()
end
function
c33330017
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetOverlayGroup
():
IsExists
(
Card
.
IsCode
,
1
,
nil
,
33330004
)
function
cm
.
repval
(
e
,
c
)
return
cm
.
repfilter
(
c
,
e
:
GetHandlerPlayer
())
end
\ No newline at end of file
expansions/script/c33330018.lua
View file @
c878671a
--白笛 崭新之波多尔多
function
c33330018
.
initial_effect
(
c
)
--xyz summon
aux
.
AddXyzProcedure
(
c
,
nil
,
8
,
2
)
local
m
=
33330018
local
cm
=
_G
[
"c"
..
m
]
cm
.
token
=
{
33330035
}
--衍 生 物
cm
.
counter
=
0x1556
--指 示 物
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--direct
--Xyz Summon
aux
.
AddXyzProcedure
(
c
,
nil
,
8
,
2
)
--Activate Limit
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTargetRange
(
0
,
1
)
e1
:
SetCondition
(
cm
.
actcon
)
e1
:
SetValue
(
cm
.
aclimit
)
c
:
RegisterEffect
(
e1
)
--Token
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330018
,
0
))
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCondition
(
c33330018
.
condition
)
e2
:
SetCost
(
c33330018
.
cost
)
e2
:
SetOperation
(
c33330018
.
operation
)
c
:
RegisterEffect
(
e2
)
--actlimit
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_TOKEN
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_DAMAGE_STEP_END
)
e2
:
SetCondition
(
aux
.
bdcon
)
e2
:
SetCost
(
cm
.
tkcost
)
e2
:
SetTarget
(
cm
.
tktg
)
e2
:
SetOperation
(
cm
.
tkop
)
c
:
RegisterEffect
(
e2
)
--Direct Attack
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
+
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetTargetRange
(
0
,
1
)
e3
:
SetValue
(
c33330018
.
aclimit
)
e3
:
SetCondition
(
c33330018
.
actcon
)
c
:
RegisterEffect
(
e3
)
--token
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
33330018
,
1
))
e5
:
SetCategory
(
CATEGORY_TOKEN
+
CATEGORY_SPECIAL_SUMMON
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e5
:
SetCode
(
EVENT_DAMAGE_STEP_END
)
e5
:
SetCost
(
c33330018
.
rcost
)
e5
:
SetCondition
(
c33330018
.
actcon
)
e5
:
SetTarget
(
c33330018
.
tktg
)
e5
:
SetOperation
(
c33330018
.
tkop
)
c
:
RegisterEffect
(
e5
)
--search
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330018
,
2
))
e1
:
SetCategory
(
CATEGORY_RECOVER
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_TO_GRAVE
)
e1
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetCost
(
c33330018
.
recost
)
e1
:
SetTarget
(
c33330018
.
retg
)
e1
:
SetOperation
(
c33330018
.
reop
)
c
:
RegisterEffect
(
e1
)
e3
:
SetCondition
(
cm
.
drcon
)
e3
:
SetCost
(
cm
.
drcost
)
e3
:
SetOperation
(
cm
.
drop
)
c
:
RegisterEffect
(
e3
)
end
--Activate Limit
function
cm
.
actcon
(
e
)
return
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
function
cm
.
aclimit
(
e
,
re
,
tp
)
return
not
re
:
GetHandler
():
IsImmuneToEffect
(
e
)
end
--Token
function
cm
.
tkfilter
(
c
,
tp
)
return
Duel
.
GetMZoneCount
(
tp
,
c
)
>
0
end
function
cm
.
tkcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
cm
.
tkfilter
,
1
,
nil
,
tp
)
end
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
cm
.
tkfilter
,
1
,
1
,
nil
,
tp
)
Duel
.
Release
(
g
,
REASON_COST
)
end
function
cm
.
tktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
cm
.
token
[
1
],
0
,
0x4011
,
2000
,
2000
,
8
,
RACE_ZOMBIE
,
ATTRIBUTE_DARK
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
0
,
0
)
end
function
cm
.
tkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetMZoneCount
(
tp
)
<
1
then
return
end
if
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
cm
.
token
[
1
],
0
,
0x4011
,
2000
,
2000
,
8
,
RACE_ZOMBIE
,
ATTRIBUTE_DARK
)
then
local
token
=
Duel
.
CreateToken
(
tp
,
cm
.
token
[
1
])
Duel
.
SpecialSummon
(
token
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
2
))
e1
:
SetCategory
(
CATEGORY_DESTROY
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetProperty
(
EFFECT_FLAG_CLIENT_HINT
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCost
(
cm
.
descost
)
e1
:
SetTarget
(
cm
.
destg
)
e1
:
SetOperation
(
cm
.
desop
)
token
:
RegisterEffect
(
e1
)
end
end
function
c33330018
.
recost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsCanRemoveCounter
(
tp
,
1
,
0
,
0x1019
,
1
,
REASON_COST
)
end
local
ct
=
Duel
.
GetCounter
(
tp
,
1
,
0
,
0x1019
)
Duel
.
RemoveCounter
(
tp
,
1
,
0
,
0x1019
,
ct
,
REASON_COST
)
e
:
SetLabel
(
ct
)
function
cm
.
descost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsCanRemoveCounter
(
tp
,
1
,
0
,
cm
.
counter
,
1
,
REASON_COST
)
end
Duel
.
RemoveCounter
(
tp
,
1
,
0
,
cm
.
counter
,
1
,
REASON_COST
)
end
function
c33330018
.
retg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ct
=
e
:
GetLabel
()
if
chk
==
0
then
return
true
end
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
ct
*
300
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_RECOVER
,
nil
,
0
,
tp
,
ct
*
300
)
function
cm
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsDestructable
()
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c33330018
.
reop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
Duel
.
Recover
(
p
,
d
,
REASON_EFFECT
)
function
cm
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
Duel
.
Destroy
(
e
:
GetHandler
(),
REASON_EFFECT
)
end
end
function
c33330018
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
--Direct Attack
function
cm
.
drcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
IsAbleToEnterBP
()
and
not
e
:
GetHandler
():
IsHasEffect
(
EFFECT_DIRECT_ATTACK
)
end
function
c
33330018
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
dr
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
1
,
REASON_COST
)
end
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
end
function
c
33330018
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
drop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_DIRECT_ATTACK
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
e1
:
SetValue
(
1
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_DISABLE
+
RESET_PHASE
+
PHASE_END
)
c
:
RegisterEffect
(
e1
)
end
end
function
c33330018
.
costfilter
(
c
,
ft
,
tp
)
return
(
ft
>
0
or
(
c
:
IsControler
(
tp
)
and
c
:
GetSequence
()
<
5
))
end
function
c33330018
.
rcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
chk
==
0
then
return
ft
>-
1
and
Duel
.
CheckReleaseGroup
(
tp
,
c33330018
.
costfilter
,
1
,
nil
,
ft
,
tp
)
end
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c33330018
.
costfilter
,
1
,
1
,
nil
,
ft
,
tp
)
Duel
.
Release
(
g
,
REASON_COST
)
end
function
c33330018
.
tktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
33330035
,
0
,
0x4011
,
2000
,
2000
,
8
,
RACE_ZOMBIE
,
ATTRIBUTE_DARK
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
0
,
0
)
end
function
c33330018
.
tkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
33330035
,
0
,
0x4011
,
2000
,
2000
,
8
,
RACE_ZOMBIE
,
ATTRIBUTE_DARK
)
then
local
token
=
Duel
.
CreateToken
(
tp
,
33330035
)
Duel
.
SpecialSummon
(
token
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
end
function
c33330018
.
aclimit
(
e
,
re
,
tp
)
return
not
re
:
GetHandler
():
IsImmuneToEffect
(
e
)
end
function
c33330018
.
actcon
(
e
)
return
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
end
\ No newline at end of file
expansions/script/c33330019.lua
View file @
c878671a
--深界一层-阿比斯之渊
function
c33330019
.
initial_effect
(
c
)
local
m
=
33330019
local
cm
=
_G
[
"c"
..
m
]
cm
.
search
=
{
33330002
,
33330038
,
33330020
}
--检 索 对 象
cm
.
counter
=
0x1556
--指 示 物
cm
.
damage
=
100
--伤 害 倍 数
function
cm
.
initial_effect
(
c
)
c
:
EnableCounterPermit
(
cm
.
counter
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetTarget
(
cm
.
target
)
e1
:
SetOperation
(
cm
.
activate
)
c
:
RegisterEffect
(
e1
)
--indestructable
local
e21
=
Effect
.
CreateEffect
(
c
)
e21
:
SetType
(
EFFECT_TYPE_FIELD
)
e21
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e21
:
SetRange
(
LOCATION_SZONE
)
e21
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e21
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x556
))
e21
:
SetValue
(
1
)
c
:
RegisterEffect
(
e21
)
--Pos Change
--Search
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_SET_POSITION
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e2
:
SetProperty
(
EFFECT_FLAG_SET_AVAILABLE
+
EFFECT_FLAG_IGNORE_RANGE
)
e2
:
SetValue
(
POS_FACEUP_ATTACK
)
c
:
RegisterEffect
(
e2
)
--damage reduce
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
)
e4
:
SetCode
(
EFFECT_CHANGE_DAMAGE
)
e4
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e4
:
SetRange
(
LOCATION_SZONE
)
e4
:
SetTargetRange
(
1
,
0
)
e4
:
SetValue
(
c33330019
.
damval
)
c
:
RegisterEffect
(
e4
)
--search
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_DAMAGE
)
e5
:
SetDescription
(
aux
.
Stringid
(
33330019
,
0
))
e5
:
SetType
(
EFFECT_TYPE_IGNITION
)
e5
:
SetRange
(
LOCATION_SZONE
)
e5
:
SetCountLimit
(
1
)
e5
:
SetCost
(
c33330019
.
cost
)
e5
:
SetTarget
(
c33330019
.
tg
)
e5
:
SetOperation
(
c33330019
.
op
)
c
:
RegisterEffect
(
e5
)
--xxxx
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetCategory
(
CATEGORY_HANDES
+
CATEGORY_COUNTER
+
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_FZONE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetTarget
(
cm
.
thtg
)
e2
:
SetOperation
(
cm
.
thop
)
c
:
RegisterEffect
(
e2
)
--Change Field
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
33330019
,
1
))
e3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_DAMAGE
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e3
:
SetCode
(
EVENT_DESTROY
)
e3
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e3
:
SetCondition
(
c33330019
.
con2
)
e3
:
SetTarget
(
c33330019
.
tg2
)
e3
:
SetOperation
(
c33330019
.
op2
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD_P
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetOperation
(
cm
.
ctop
)
c
:
RegisterEffect
(
e3
)
--count
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e7
:
SetCode
(
EVENT_LEAVE_FIELD_P
)
e7
:
SetOperation
(
c33330019
.
contop
)
c
:
RegisterEffect
(
e7
)
e3
:
SetLabelObject
(
e7
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e4
:
SetCode
(
EVENT_LEAVE_FIELD
)
e4
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e4
:
SetLabelObject
(
e3
)
e4
:
SetCondition
(
cm
.
fdcon
)
e4
:
SetTarget
(
cm
.
fdtg
)
e4
:
SetOperation
(
cm
.
fdop
)
c
:
RegisterEffect
(
e4
)
end
function
c33330019
.
contop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
e
:
GetHandler
():
GetCounter
(
0x1019
))
cm
.
card_code_list
=
cm
.
search
--Activate
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0x3556
)
and
c
:
IsAbleToHand
()
end
function
c
33330019
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsReason
(
REASON_EFFECT
)
function
c
m
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c33330019
.
tg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
true
end
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
tp
,
ct
*
1000
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
function
c33330019
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
function
cm
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330019
.
filter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
Damage
(
tp
,
ct
*
1000
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
function
c33330019
.
filter
(
c
)
return
c
:
IsCode
(
33330019
)
and
c
:
IsAbleToHand
()
--Search
function
cm
.
thfilter
(
c
)
return
c
:
IsCode
(
cm
.
search
[
1
])
and
c
:
IsAbleToHand
()
end
function
c33330019
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsCanRemoveCounter
(
tp
,
0x1019
,
3
,
REASON_COST
)
end
e
:
GetHandler
():
RemoveCounter
(
tp
,
0x1019
,
3
,
REASON_COST
)
function
cm
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
and
e
:
GetHandler
():
IsCanAddCounter
(
cm
.
counter
,
1
)
and
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_HANDES
,
nil
,
0
,
tp
,
1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
e
:
GetHandler
(),
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c33330019
.
filter2
(
c
)
return
c
:
IsCode
(
33330020
)
and
c
:
IsAbleToHand
()
function
cm
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
if
Duel
.
DiscardHand
(
tp
,
Card
.
IsDiscardable
,
1
,
1
,
REASON_EFFECT
+
REASON_DISCARD
)
~=
0
and
e
:
GetHandler
():
AddCounter
(
cm
.
counter
,
1
)
then
local
tc
=
Duel
.
GetFirstMatchingCard
(
cm
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
tc
then
Duel
.
BreakEffect
()
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
end
end
end
function
c33330019
.
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c33330019
.
filter2
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
tp
,
500
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
--Change Field
function
cm
.
ctop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
e
:
GetHandler
():
GetCounter
(
cm
.
counter
))
end
function
c33330019
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
or
Duel
.
Damage
(
tp
,
500
,
REASON_EFFECT
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330019
.
filter2
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
function
cm
.
fdfilter1
(
c
)
return
c
:
IsCode
(
cm
.
search
[
2
])
and
c
:
IsAbleToHand
()
end
function
cm
.
fdfilter2
(
c
,
tp
)
return
c
:
IsCode
(
cm
.
search
[
3
])
and
c
:
GetActivateEffect
():
IsActivatable
(
tp
)
end
function
cm
.
fdcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousPosition
(
POS_FACEUP
)
end
function
cm
.
fdtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
local
sel
=
0
if
Duel
.
IsExistingMatchingCard
(
cm
.
fdfilter2
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
tp
)
then
sel
=
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
m
,
2
),
aux
.
Stringid
(
m
,
3
))
+
1
else
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
m
,
2
))
sel
=
1
e
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_DAMAGE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
1
,
tp
,
ct
*
cm
.
damage
)
end
e
:
SetLabel
(
sel
)
end
function
c33330019
.
damval
(
e
,
re
,
val
,
r
,
rp
,
rc
)
if
bit
.
band
(
r
,
REASON_BATTLE
)
~=
0
then
e
:
GetHandler
():
AddCounter
(
0x1019
,
1
)
return
0
function
cm
.
fdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
sel
=
e
:
GetLabel
()
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
e
:
GetLabelObject
():
SetLabel
(
0
)
if
sel
==
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
fdfilter1
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
Duel
.
Damage
(
tp
,
ct
*
cm
.
damage
,
REASON_EFFECT
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
fdfilter2
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
tp
)
local
tc
=
g
:
GetFirst
()
Duel
.
MoveToField
(
tc
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
local
te
=
tc
:
GetActivateEffect
()
local
tep
=
tc
:
GetControler
()
local
cost
=
te
:
GetCost
()
if
cost
then
cost
(
te
,
tep
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
end
tc
:
AddCounter
(
cm
.
counter
,
ct
)
end
return
val
end
\ No newline at end of file
expansions/script/c33330020.lua
View file @
c878671a
--深界二层-诱惑之森
function
c33330020
.
initial_effect
(
c
)
local
m
=
33330020
local
cm
=
_G
[
"c"
..
m
]
cm
.
search
=
{
33330004
,
33330038
,
33330021
}
--检 索 对 象
cm
.
counter
=
0x1556
--指 示 物
cm
.
damage
=
200
--伤 害 倍 数
function
cm
.
initial_effect
(
c
)
c
:
EnableCounterPermit
(
cm
.
counter
)
--Activate
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetDescription
(
aux
.
Stringid
(
33330020
,
0
))
e0
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e0
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e0
)
--search
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330020
,
1
))
e1
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCost
(
c33330020
.
tcost
)
e1
:
SetTarget
(
c33330020
.
ttg
)
e1
:
SetOperation
(
c33330020
.
top
)
c
:
RegisterEffect
(
e1
)
--search
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_COUNTER
)
e5
:
SetDescription
(
aux
.
Stringid
(
33330020
,
3
))
e5
:
SetType
(
EFFECT_TYPE_IGNITION
)
e5
:
SetRange
(
LOCATION_FZONE
)
e5
:
SetCountLimit
(
1
)
e5
:
SetTarget
(
c33330020
.
tg
)
e5
:
SetOperation
(
c33330020
.
op
)
c
:
RegisterEffect
(
e5
)
--xxxx
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
33330020
,
4
))
e3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_DAMAGE
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD
)
e3
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e3
:
SetCondition
(
c33330020
.
con2
)
e3
:
SetTarget
(
c33330020
.
tg2
)
e3
:
SetOperation
(
c33330020
.
op2
)
c
:
RegisterEffect
(
e3
)
--count
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e7
:
SetCode
(
EVENT_LEAVE_FIELD_P
)
e7
:
SetOperation
(
c33330020
.
contop
)
c
:
RegisterEffect
(
e7
)
e3
:
SetLabelObject
(
e7
)
--atk change
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
--Search
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330020
,
2
))
e2
:
SetCategory
(
CATEGORY_COUNTER
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_ATTACK_ANNOUNCE
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetCategory
(
CATEGORY_COUNTER
+
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_FZONE
)
e2
:
SetCo
ndition
(
c33330020
.
atkcon
)
e2
:
SetTarget
(
c
33330020
.
atktg2
)
e2
:
SetOperation
(
c
33330020
.
atk
op
)
e2
:
SetCo
untLimit
(
1
)
e2
:
SetTarget
(
c
m
.
thtg
)
e2
:
SetOperation
(
c
m
.
th
op
)
c
:
RegisterEffect
(
e2
)
--Change Field
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD_P
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetOperation
(
cm
.
ctop
)
c
:
RegisterEffect
(
e3
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e4
:
SetCode
(
EVENT_LEAVE_FIELD
)
e4
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e4
:
SetLabelObject
(
e3
)
e4
:
SetCondition
(
cm
.
fdcon
)
e4
:
SetTarget
(
cm
.
fdtg
)
e4
:
SetOperation
(
cm
.
fdop
)
c
:
RegisterEffect
(
e4
)
end
function
c33330020
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
tp
==
Duel
.
GetTurnPlayer
()
and
Duel
.
GetAttacker
():
IsSetCard
(
0x556
)
end
function
c33330020
.
atktg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsCanRemoveCounter
(
tp
,
0x1019
,
1
,
REASON_EFFECT
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
nil
,
0
,
tp
,
1
)
end
function
c33330020
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
or
e
:
GetHandler
():
IsFacedown
()
or
not
e
:
GetHandler
():
IsCanRemoveCounter
(
tp
,
0x1019
,
1
,
REASON_EFFECT
)
then
return
end
e
:
GetHandler
():
RemoveCounter
(
tp
,
0x1019
,
1
,
REASON_EFFECT
)
end
function
c33330020
.
contop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
e
:
GetHandler
():
GetCounter
(
0x1019
))
end
function
c33330020
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsReason
(
REASON_EFFECT
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
cm
.
card_code_list
=
cm
.
search
--Search
function
cm
.
thfilter
(
c
)
return
c
:
IsCode
(
cm
.
search
[
1
])
and
c
:
IsAbleToHand
()
end
function
c
33330020
.
tg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
true
end
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
Duel
.
SetOperationInfo
(
0
,
CATEGORY_
DAMAGE
,
nil
,
0
,
tp
,
ct
*
50
0
)
function
c
m
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsCanAddCounter
(
cm
.
counter
,
1
)
and
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_
COUNTER
,
e
:
GetHandler
(),
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
function
c
33330020
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
if
Duel
.
Damage
(
tp
,
ct
*
500
,
REASON_EFFECT
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330020
.
filter3
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
function
c
m
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
if
e
:
GetHandler
():
AddCounter
(
cm
.
counter
,
1
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
thfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
end
function
c33330020
.
filter3
(
c
)
return
c
:
IsCode
(
33330021
)
and
c
:
IsAbleToHand
()
end
function
c33330020
.
filter2
(
c
)
return
c
:
IsCode
(
33330004
)
and
c
:
IsAbleToHand
()
--Change Field
function
cm
.
ctop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
e
:
GetHandler
():
GetCounter
(
cm
.
counter
))
end
function
c33330020
.
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsCanAddCounter
(
0x1019
,
1
)
and
Duel
.
IsExistingMatchingCard
(
c33330020
.
filter2
,
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
nil
,
1
,
tp
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
)
end
function
c33330020
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsFacedown
()
then
return
end
c
:
AddCounter
(
0x1019
,
1
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330020
.
filter2
),
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
function
cm
.
fdfilter1
(
c
)
return
c
:
IsCode
(
cm
.
search
[
2
])
and
c
:
IsAbleToHand
()
end
function
c33330020
.
tcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
)
function
cm
.
fdfilter2
(
c
,
tp
)
return
c
:
IsCode
(
cm
.
search
[
3
])
and
c
:
GetActivateEffect
():
IsActivatable
(
tp
)
end
function
c
33330020
.
filter
(
c
)
return
c
:
IsCode
(
33330019
)
and
c
:
IsAbleToHand
(
)
function
c
m
.
fdcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousPosition
(
POS_FACEUP
)
end
function
c33330020
.
ttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c33330020
.
filter
,
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
)
function
cm
.
fdtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
local
sel
=
0
if
Duel
.
IsExistingMatchingCard
(
cm
.
fdfilter2
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
tp
)
then
sel
=
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
m
,
2
),
aux
.
Stringid
(
m
,
3
))
+
1
else
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
m
,
2
))
sel
=
1
e
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_DAMAGE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
1
,
tp
,
ct
*
cm
.
damage
)
end
e
:
SetLabel
(
sel
)
end
function
c33330020
.
top
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330020
.
filter
),
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
function
cm
.
fdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
sel
=
e
:
GetLabel
()
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
e
:
GetLabelObject
():
SetLabel
(
0
)
if
sel
==
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
fdfilter1
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
Duel
.
Damage
(
tp
,
ct
*
cm
.
damage
,
REASON_EFFECT
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
fdfilter2
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
tp
)
local
tc
=
g
:
GetFirst
()
Duel
.
MoveToField
(
tc
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
local
te
=
tc
:
GetActivateEffect
()
local
tep
=
tc
:
GetControler
()
local
cost
=
te
:
GetCost
()
if
cost
then
cost
(
te
,
tep
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
end
tc
:
AddCounter
(
cm
.
counter
,
ct
)
end
end
\ No newline at end of file
expansions/script/c33330021.lua
View file @
c878671a
--深界三层-大断层
function
c33330021
.
initial_effect
(
c
)
local
m
=
33330021
local
cm
=
_G
[
"c"
..
m
]
cm
.
search
=
{
33330006
,
33330038
,
33330022
}
--检 索 对 象
cm
.
counter
=
0x1556
--指 示 物
cm
.
damage
=
300
--伤 害 倍 数
function
cm
.
initial_effect
(
c
)
c
:
EnableCounterPermit
(
cm
.
counter
)
--Activate
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetDescription
(
aux
.
Stringid
(
33330021
,
0
))
e0
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e0
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e0
)
--search
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330021
,
1
))
e1
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCost
(
c33330021
.
tcost
)
e1
:
SetTarget
(
c33330021
.
ttg
)
e1
:
SetOperation
(
c33330021
.
top
)
c
:
RegisterEffect
(
e1
)
--cannot be target
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
--Search
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetCategory
(
CATEGORY_COUNTER
+
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_FZONE
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e2
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x556
))
e2
:
SetValue
(
c33330021
.
indesval
)
c
:
RegisterEffect
(
e2
)
--s c
e2
:
SetCountLimit
(
1
)
e2
:
SetTarget
(
cm
.
thtg
)
e2
:
SetOperation
(
cm
.
thop
)
c
:
RegisterEffect
(
e2
)
--Change Field
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD_P
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetOperation
(
cm
.
ctop
)
c
:
RegisterEffect
(
e3
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
33330021
,
2
))
e4
:
SetCategory
(
CATEGORY_SEARCH
+
CATEGORY_TOHAND
+
CATEGORY_COUNTER
)
e4
:
SetType
(
EFFECT_TYPE_IGNITION
)
e4
:
SetRange
(
LOCATION_FZONE
)
e4
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e4
:
SetCode
(
EVENT_LEAVE_FIELD
)
e4
:
SetCountLimit
(
1
,
33330021
)
e4
:
SetTarget
(
c33330021
.
stg
)
e4
:
SetOperation
(
c33330021
.
sop
)
e4
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e4
:
SetLabelObject
(
e3
)
e4
:
SetCondition
(
cm
.
fdcon
)
e4
:
SetTarget
(
cm
.
fdtg
)
e4
:
SetOperation
(
cm
.
fdop
)
c
:
RegisterEffect
(
e4
)
--xxxx
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
33330021
,
3
))
e3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_DAMAGE
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD
)
e3
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e3
:
SetCondition
(
c33330021
.
con2
)
e3
:
SetTarget
(
c33330021
.
tg2
)
e3
:
SetOperation
(
c33330021
.
op2
)
c
:
RegisterEffect
(
e3
)
--count
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e7
:
SetCode
(
EVENT_LEAVE_FIELD_P
)
e7
:
SetOperation
(
c33330021
.
contop
)
c
:
RegisterEffect
(
e7
)
e3
:
SetLabelObject
(
e7
)
end
function
c33330021
.
contop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
e
:
GetHandler
():
GetCounter
(
0x1019
))
cm
.
card_code_list
=
cm
.
search
--Search
function
cm
.
thfilter
(
c
)
return
c
:
IsCode
(
cm
.
search
[
1
])
and
c
:
IsAbleToHand
()
end
function
c33330021
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsPreviousPosition
(
POS_FACEUP
)
function
cm
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsCanAddCounter
(
cm
.
counter
,
1
)
and
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
e
:
GetHandler
(),
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c33330021
.
tg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
true
end
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
tp
,
ct
*
500
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
function
c33330021
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
if
Duel
.
Damage
(
tp
,
ct
*
500
,
REASON_EFFECT
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330021
.
filter3
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
function
cm
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
if
e
:
GetHandler
():
AddCounter
(
cm
.
counter
,
1
)
then
local
tc
=
Duel
.
GetFirstMatchingCard
(
cm
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
tc
and
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
end
end
end
function
c33330021
.
filter3
(
c
)
return
c
:
IsCode
(
33330022
)
and
c
:
IsAbleToHand
()
--Change Field
function
cm
.
ctop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
e
:
GetHandler
():
GetCounter
(
cm
.
counter
))
end
function
c
33330021
.
sfilter
(
c
)
return
c
:
Is
AbleToHand
()
and
c
:
IsCode
(
33330006
)
function
c
m
.
fdfilter1
(
c
)
return
c
:
Is
Code
(
cm
.
search
[
2
])
and
c
:
IsAbleToHand
(
)
end
function
c33330021
.
stg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsCanAddCounter
(
0x1019
,
1
)
and
Duel
.
IsExistingMatchingCard
(
c33330021
.
sfilter
,
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
nil
,
1
,
tp
,
0
)
function
cm
.
fdfilter2
(
c
,
tp
)
return
c
:
IsCode
(
cm
.
search
[
3
])
and
c
:
GetActivateEffect
():
IsActivatable
(
tp
)
end
function
c33330021
.
sop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsFacedown
()
then
return
end
c
:
AddCounter
(
0x1019
,
1
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330021
.
sfilter
),
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
function
cm
.
fdcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousPosition
(
POS_FACEUP
)
end
function
c33330021
.
indesval
(
e
,
re
,
rp
)
return
re
:
IsActiveType
(
TYPE_MONSTER
)
end
function
c33330021
.
tcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
)
end
function
c33330021
.
filter
(
c
)
return
c
:
IsCode
(
33330019
)
and
c
:
IsAbleToHand
()
end
function
c33330021
.
ttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c33330021
.
filter
,
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
)
end
function
c33330021
.
top
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330021
.
filter
),
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
function
cm
.
fdtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
local
sel
=
0
if
Duel
.
IsExistingMatchingCard
(
cm
.
fdfilter2
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
tp
)
then
sel
=
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
m
,
2
),
aux
.
Stringid
(
m
,
3
))
+
1
else
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
m
,
2
))
sel
=
1
e
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_DAMAGE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
1
,
tp
,
ct
*
cm
.
damage
)
end
e
:
SetLabel
(
sel
)
end
function
cm
.
fdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
sel
=
e
:
GetLabel
()
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
e
:
GetLabelObject
():
SetLabel
(
0
)
if
sel
==
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
fdfilter1
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
Duel
.
Damage
(
tp
,
ct
*
cm
.
damage
,
REASON_EFFECT
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
fdfilter2
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
tp
)
local
tc
=
g
:
GetFirst
()
Duel
.
MoveToField
(
tc
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
local
te
=
tc
:
GetActivateEffect
()
local
tep
=
tc
:
GetControler
()
local
cost
=
te
:
GetCost
()
if
cost
then
cost
(
te
,
tep
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
end
tc
:
AddCounter
(
cm
.
counter
,
ct
)
end
end
\ No newline at end of file
expansions/script/c33330022.lua
View file @
c878671a
--深界三层-大断层
function
c33330022
.
initial_effect
(
c
)
local
m
=
33330022
local
cm
=
_G
[
"c"
..
m
]
cm
.
search
=
{
33330038
,
33330023
}
--检 索 对 象
cm
.
counter
=
0x1556
--指 示 物
cm
.
damage
=
500
--伤 害 倍 数
function
cm
.
initial_effect
(
c
)
c
:
EnableCounterPermit
(
cm
.
counter
)
--Activate
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetDescription
(
aux
.
Stringid
(
33330022
,
0
))
e0
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e0
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e0
)
--search
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330022
,
1
))
e1
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCost
(
c33330022
.
tcost
)
e1
:
SetTarget
(
c33330022
.
ttg
)
e1
:
SetOperation
(
c33330022
.
top
)
c
:
RegisterEffect
(
e1
)
--cannot be target
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
--Special Summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_COUNTER
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_FZONE
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e2
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x556
))
e2
:
SetValue
(
c33330022
.
indesval
)
c
:
RegisterEffect
(
e2
)
--s c
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
33330022
,
2
))
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_COUNTER
)
e4
:
SetType
(
EFFECT_TYPE_IGNITION
)
e4
:
SetRange
(
LOCATION_FZONE
)
e4
:
SetCountLimit
(
2
)
e4
:
SetTarget
(
c33330022
.
stg
)
e4
:
SetOperation
(
c33330022
.
sop
)
c
:
RegisterEffect
(
e4
)
--xxxx
e2
:
SetCountLimit
(
2
)
e2
:
SetTarget
(
cm
.
sptg
)
e2
:
SetOperation
(
cm
.
spop
)
c
:
RegisterEffect
(
e2
)
--Change Field
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
33330022
,
3
))
e3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_DAMAGE
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD
)
e3
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e3
:
SetCondition
(
c33330022
.
con2
)
e3
:
SetTarget
(
c33330022
.
tg2
)
e3
:
SetOperation
(
c33330022
.
op2
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD_P
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetOperation
(
cm
.
ctop
)
c
:
RegisterEffect
(
e3
)
--count
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e7
:
SetCode
(
EVENT_LEAVE_FIELD_P
)
e7
:
SetOperation
(
c33330022
.
contop
)
c
:
RegisterEffect
(
e7
)
e3
:
SetLabelObject
(
e7
)
end
function
c33330022
.
contop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
e
:
GetHandler
():
GetCounter
(
0x1019
))
end
function
c33330022
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsPreviousPosition
(
POS_FACEUP
)
end
function
c33330022
.
tg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
true
end
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
tp
,
ct
*
500
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
function
c33330022
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
if
Duel
.
Damage
(
tp
,
ct
*
500
,
REASON_EFFECT
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330022
.
filter3
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
function
c33330022
.
filter3
(
c
)
return
c
:
IsCode
(
33330023
)
and
c
:
IsAbleToHand
()
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e4
:
SetCode
(
EVENT_LEAVE_FIELD
)
e4
:
SetCountLimit
(
1
,
m
)
e4
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e4
:
SetLabelObject
(
e3
)
e4
:
SetCondition
(
cm
.
fdcon
)
e4
:
SetTarget
(
cm
.
fdtg
)
e4
:
SetOperation
(
cm
.
fdop
)
c
:
RegisterEffect
(
e4
)
end
function
c33330022
.
sfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
cm
.
card_code_list
=
cm
.
search
--Special Summon
function
cm
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c
33330022
.
s
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsCanAddCounter
(
0x1019
,
1
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c
33330022
.
s
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
function
c
m
.
sp
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetMZoneCount
(
tp
)
>
0
and
e
:
GetHandler
():
IsCanAddCounter
(
cm
.
counter
,
1
)
and
Duel
.
IsExistingMatchingCard
(
c
m
.
sp
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
nil
,
1
,
tp
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c33330022
.
sop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsFacedown
()
then
return
end
c
:
AddCounter
(
0x1019
,
1
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
function
cm
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetMZoneCount
(
tp
)
<
1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
33330022
.
s
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
m
.
sp
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
and
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
g
:
GetFirst
():
AddCounter
(
0x1019
,
1
)
e
:
GetHandler
():
AddCounter
(
cm
.
counter
,
1
)
g
:
GetFirst
():
AddCounter
(
cm
.
counter
,
1
)
end
end
function
c33330022
.
indesval
(
e
,
re
,
rp
)
return
re
:
IsActiveType
(
TYPE_SPELL
+
TYPE_TRAP
)
--Change Field
function
cm
.
ctop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
e
:
GetHandler
():
GetCounter
(
cm
.
counter
))
end
function
c33330022
.
tcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
)
function
cm
.
fdfilter1
(
c
)
return
c
:
IsCode
(
cm
.
search
[
1
])
and
c
:
IsAbleToHand
()
end
function
c
33330022
.
filter
(
c
)
return
c
:
IsCode
(
33330019
)
and
c
:
IsAbleToHand
(
)
function
c
m
.
fdfilter2
(
c
,
tp
)
return
c
:
IsCode
(
cm
.
search
[
2
])
and
c
:
GetActivateEffect
():
IsActivatable
(
tp
)
end
function
c33330022
.
ttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c33330022
.
filter
,
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
)
function
cm
.
fdcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousPosition
(
POS_FACEUP
)
end
function
c33330022
.
top
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330022
.
filter
),
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
function
cm
.
fdtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
local
sel
=
0
if
Duel
.
IsExistingMatchingCard
(
cm
.
fdfilter2
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
tp
)
then
sel
=
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
m
,
2
),
aux
.
Stringid
(
m
,
3
))
+
1
else
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
m
,
2
))
sel
=
1
e
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_DAMAGE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
1
,
tp
,
ct
*
cm
.
damage
)
end
e
:
SetLabel
(
sel
)
end
function
cm
.
fdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
sel
=
e
:
GetLabel
()
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
e
:
GetLabelObject
():
SetLabel
(
0
)
if
sel
==
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
fdfilter1
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
Duel
.
Damage
(
tp
,
ct
*
cm
.
damage
,
REASON_EFFECT
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
fdfilter2
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
tp
)
local
tc
=
g
:
GetFirst
()
Duel
.
MoveToField
(
tc
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
local
te
=
tc
:
GetActivateEffect
()
local
tep
=
tc
:
GetControler
()
local
cost
=
te
:
GetCost
()
if
cost
then
cost
(
te
,
tep
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
end
tc
:
AddCounter
(
cm
.
counter
,
ct
)
end
end
\ No newline at end of file
expansions/script/c33330023.lua
View file @
c878671a
--深界三层-大断层
function
c33330023
.
initial_effect
(
c
)
local
m
=
33330023
local
cm
=
_G
[
"c"
..
m
]
cm
.
search
=
{
33330038
,
33330000
}
--检 索 对 象
cm
.
counter
=
0x1556
--指 示 物
cm
.
damage
=
1250
--伤 害 倍 数
function
cm
.
initial_effect
(
c
)
c
:
EnableCounterPermit
(
cm
.
counter
)
--Activate
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetDescription
(
aux
.
Stringid
(
33330023
,
0
))
e0
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e0
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e0
)
--search
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330023
,
1
))
e1
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCost
(
c33330023
.
tcost
)
e1
:
SetTarget
(
c33330023
.
ttg
)
e1
:
SetOperation
(
c33330023
.
top
)
c
:
RegisterEffect
(
e1
)
--cannot be target
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
--Special Summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_CANNOT_REMOVE
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetCategory
(
CATEGORY_COUNTER
+
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_DAMAGE
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_FZONE
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e2
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x556
))
e2
:
SetValue
(
1
)
c
:
RegisterEffect
(
e2
)
--s c
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
33330023
,
2
))
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_COUNTER
)
e4
:
SetType
(
EFFECT_TYPE_IGNITION
)
e4
:
SetRange
(
LOCATION_FZONE
)
e4
:
SetCountLimit
(
1
,
33330023
)
e4
:
SetTarget
(
c33330023
.
stg
)
e4
:
SetOperation
(
c33330023
.
sop
)
c
:
RegisterEffect
(
e4
)
--xxxx
e2
:
SetCountLimit
(
1
)
e2
:
SetTarget
(
cm
.
sptg
)
e2
:
SetOperation
(
cm
.
spop
)
c
:
RegisterEffect
(
e2
)
--Change Field
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
33330023
,
3
))
e3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_DAMAGE
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD
)
e3
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e3
:
SetCondition
(
c33330023
.
con2
)
e3
:
SetTarget
(
c33330023
.
tg2
)
e3
:
SetOperation
(
c33330023
.
op2
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD_P
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetOperation
(
cm
.
ctop
)
c
:
RegisterEffect
(
e3
)
--count
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e7
:
SetCode
(
EVENT_LEAVE_FIELD_P
)
e7
:
SetOperation
(
c33330023
.
contop
)
c
:
RegisterEffect
(
e7
)
e3
:
SetLabelObject
(
e7
)
end
function
c33330023
.
contop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
e
:
GetHandler
():
GetCounter
(
0x1019
))
end
function
c33330023
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsPreviousPosition
(
POS_FACEUP
)
end
function
c33330023
.
tg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
true
end
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
tp
,
ct
*
2000
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
function
c33330023
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
if
Duel
.
Damage
(
tp
,
ct
*
2000
,
REASON_EFFECT
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330023
.
filter3
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
function
c33330023
.
filter3
(
c
)
return
c
:
IsCode
(
33330024
)
and
c
:
IsAbleToHand
()
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e4
:
SetCode
(
EVENT_LEAVE_FIELD
)
e4
:
SetCountLimit
(
1
,
m
)
e4
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e4
:
SetLabelObject
(
e3
)
e4
:
SetCondition
(
cm
.
fdcon
)
e4
:
SetTarget
(
cm
.
fdtg
)
e4
:
SetOperation
(
cm
.
fdop
)
c
:
RegisterEffect
(
e4
)
end
function
c33330023
.
sfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
cm
.
card_code_list
=
cm
.
search
--Special Summon
function
cm
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c
33330023
.
s
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsCanAddCounter
(
0x1019
,
1
)
and
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c
33330023
.
s
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
function
c
m
.
sp
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
e
:
GetHandler
():
IsCanAddCounter
(
cm
.
counter
,
1
)
and
Duel
.
IsExistingMatchingCard
(
c
m
.
sp
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
nil
,
1
,
tp
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
e
:
GetHandler
(),
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
tp
,
0
)
end
function
c33330023
.
sop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsFacedown
()
then
return
end
c
:
AddCounter
(
0x1019
,
1
)
if
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c33330023
.
sfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
and
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
g
:
GetFirst
():
AddCounter
(
0x1019
,
1
)
function
cm
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
e
:
GetHandler
():
AddCounter
(
cm
.
counter
,
1
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
and
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
Duel
.
Damage
(
tp
,
g
:
GetFirst
():
GetBaseAttack
(),
REASON_EFFECT
)
end
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
cm
.
splimit
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
function
cm
.
splimit
(
e
,
c
)
return
not
c
:
IsSetCard
(
0x556
)
end
function
c33330023
.
indesval
(
e
,
re
,
rp
)
return
re
:
IsActiveType
(
TYPE_SPELL
+
TYPE_TRAP
)
--Change Field
function
cm
.
ctop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
e
:
GetHandler
():
GetCounter
(
cm
.
counter
))
end
function
c33330023
.
tcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
)
function
cm
.
fdfilter1
(
c
)
return
c
:
IsCode
(
cm
.
search
[
1
])
and
c
:
IsAbleToHand
()
end
function
c
33330023
.
filter
(
c
)
return
c
:
IsCode
(
33330019
)
and
c
:
IsAbleToHand
(
)
function
c
m
.
fdfilter2
(
c
,
tp
)
return
c
:
IsCode
(
cm
.
search
[
2
])
and
c
:
GetActivateEffect
():
IsActivatable
(
tp
)
end
function
c33330023
.
ttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c33330023
.
filter
,
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
)
function
cm
.
fdcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousPosition
(
POS_FACEUP
)
end
function
c33330023
.
top
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330023
.
filter
),
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
function
cm
.
fdtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
local
sel
=
0
if
Duel
.
IsExistingMatchingCard
(
cm
.
fdfilter2
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
tp
)
then
sel
=
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
m
,
2
),
aux
.
Stringid
(
m
,
3
))
+
1
else
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
m
,
2
))
sel
=
1
e
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_DAMAGE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
1
,
tp
,
ct
*
cm
.
damage
)
end
e
:
SetLabel
(
sel
)
end
function
cm
.
fdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
sel
=
e
:
GetLabel
()
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
e
:
GetLabelObject
():
SetLabel
(
0
)
if
sel
==
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
fdfilter1
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
Duel
.
Damage
(
tp
,
ct
*
cm
.
damage
,
REASON_EFFECT
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
fdfilter2
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
tp
)
local
tc
=
g
:
GetFirst
()
Duel
.
MoveToField
(
tc
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
local
te
=
tc
:
GetActivateEffect
()
local
tep
=
tc
:
GetControler
()
local
cost
=
te
:
GetCost
()
if
cost
then
cost
(
te
,
tep
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
end
tc
:
AddCounter
(
cm
.
counter
,
ct
)
end
end
\ No newline at end of file
expansions/script/c33330024.lua
View file @
c878671a
--深界三层-大断层
function
c33330024
.
initial_effect
(
c
)
local
m
=
33330024
local
cm
=
_G
[
"c"
..
m
]
cm
.
search
=
{
33330038
,
33330025
}
--检 索 对 象
cm
.
counter
=
0x1556
--指 示 物
cm
.
atk
=
500
--攻 击 上 升
cm
.
damage
=
1000
--伤 害 倍 数
function
cm
.
initial_effect
(
c
)
c
:
EnableCounterPermit
(
cm
.
counter
)
--Activate
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetDescription
(
aux
.
Stringid
(
33330024
,
0
))
e0
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e0
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e0
)
--search
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
33330024
,
1
))
e1
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCost
(
c33330024
.
tcost
)
e1
:
SetTarget
(
c33330024
.
ttg
)
e1
:
SetOperation
(
c33330024
.
top
)
c
:
RegisterEffect
(
e1
)
--Atk
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
--Search
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e2
:
SetRange
(
LOCATION_FZONE
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e2
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x556
))
e2
:
SetValue
(
500
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e2
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_HAND
)
e2
:
SetCost
(
cm
.
thcost
)
e2
:
SetTarget
(
cm
.
thtg
)
e2
:
SetOperation
(
cm
.
thop
)
c
:
RegisterEffect
(
e2
)
--s c
--Atk Up
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e3
:
SetRange
(
LOCATION_FZONE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e3
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x556
))
e3
:
SetValue
(
cm
.
atk
)
c
:
RegisterEffect
(
e3
)
--Draw
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
33330024
,
2
))
e4
:
SetDescription
(
aux
.
Stringid
(
m
,
2
))
e4
:
SetCategory
(
CATEGORY_TOGRAVE
+
CATEGORY_COUNTER
+
CATEGORY_DRAW
)
e4
:
SetType
(
EFFECT_TYPE_IGNITION
)
e4
:
SetRange
(
LOCATION_FZONE
)
e4
:
SetCountLimit
(
1
,
33330024
)
e4
:
SetTarget
(
c
33330024
.
s
tg
)
e4
:
SetOperation
(
c
33330024
.
s
op
)
c
:
RegisterEffect
(
e4
)
--
xxxx
local
e
3
=
Effect
.
CreateEffect
(
c
)
e
3
:
SetDescription
(
aux
.
Stringid
(
33330024
,
3
)
)
e
3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_DAMAGE
)
e
3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD
)
e3
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e3
:
SetCondition
(
c33330024
.
con2
)
e
3
:
SetTarget
(
c33330024
.
tg2
)
e
3
:
SetOperation
(
c33330024
.
op2
)
c
:
RegisterEffect
(
e3
)
--count
local
e7
=
Effect
.
CreateEffect
(
c
)
e
7
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e
7
:
SetCode
(
EVENT_LEAVE_FIELD_P
)
e
7
:
SetOperation
(
c33330024
.
contop
)
c
:
RegisterEffect
(
e7
)
e3
:
SetLabelObject
(
e7
)
e4
:
SetCountLimit
(
1
)
e4
:
SetTarget
(
c
m
.
dr
tg
)
e4
:
SetOperation
(
c
m
.
dr
op
)
c
:
RegisterEffect
(
e4
)
--
Count
local
e
5
=
Effect
.
CreateEffect
(
c
)
e
5
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e
5
:
SetCode
(
EVENT_LEAVE_FIELD_P
)
e
5
:
SetOperation
(
cm
.
ctop
)
c
:
RegisterEffect
(
e5
)
--To Hand
local
e6
=
Effect
.
CreateEffect
(
c
)
e
6
:
SetDescription
(
aux
.
Stringid
(
m
,
3
)
)
e
6
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_DAMAGE
)
e6
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e6
:
SetCode
(
EVENT_LEAVE_FIELD
)
e6
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e
6
:
SetLabelObject
(
e5
)
e
6
:
SetCondition
(
cm
.
sccon
)
e
6
:
SetTarget
(
cm
.
sctg
)
e6
:
SetOperation
(
cm
.
scop
)
c
:
RegisterEffect
(
e6
)
end
function
c33330024
.
contop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
e
:
GetHandler
():
GetCounter
(
0x1019
))
cm
.
card_code_list
=
cm
.
search
--Search
function
cm
.
thfilter
(
c
)
return
c
:
IsCode
(
cm
.
search
[
1
])
and
c
:
IsAbleToHand
()
end
function
c
33330024
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsPreviousPosition
(
POS_FACEUP
)
function
c
m
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
)
end
function
c33330024
.
tg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
true
end
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
1
-
tp
,
ct
*
1000
)
function
cm
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
function
c33330024
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
if
Duel
.
Damage
(
1
-
tp
,
ct
*
1000
,
REASON_EFFECT
)
<=
0
then
return
end
function
cm
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330024
.
filter3
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
thfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
function
c33330024
.
filter3
(
c
)
return
c
:
IsCode
(
33330025
)
and
c
:
IsAbleToHand
()
end
function
c33330024
.
sfilter
(
c
)
--Draw
function
cm
.
drfilter
(
c
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsAbleToGrave
()
end
function
c
33330024
.
s
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsCanAddCounter
(
0x1019
,
1
)
and
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
and
Duel
.
IsExistingMatchingCard
(
c33330024
.
sfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
function
c
m
.
dr
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsCanAddCounter
(
cm
.
counter
,
1
)
and
Duel
.
IsExistingMatchingCard
(
cm
.
drfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
)
and
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
nil
,
1
,
tp
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
end
function
c
33330024
.
s
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
dr
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsFacedown
()
then
return
end
c
:
AddCounter
(
0x1019
,
1
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c33330024
.
sfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsFacedown
()
or
not
c
:
AddCounter
(
cm
.
counter
,
1
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
drfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
~=
0
then
Duel
.
BreakEffect
()
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
function
c33330024
.
indesval
(
e
,
re
,
rp
)
return
re
:
IsActiveType
(
TYPE_SPELL
+
TYPE_TRAP
)
--Count
function
cm
.
ctop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
e
:
GetHandler
():
GetCounter
(
cm
.
counter
))
end
function
c33330024
.
tcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
)
--To Hand
function
cm
.
scfilter
(
c
)
return
c
:
IsCode
(
cm
.
search
[
2
])
and
c
:
IsAbleToHand
(
)
end
function
c
33330024
.
filter
(
c
)
return
c
:
IsCode
(
33330019
)
and
c
:
IsAbleToHand
(
)
function
c
m
.
sccon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousPosition
(
POS_FACEUP
)
end
function
c33330024
.
ttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c33330024
.
filter
,
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
)
function
cm
.
sctg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
true
end
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
tp
,
ct
*
cm
.
damage
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
function
c33330024
.
top
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
scop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
e
:
GetLabelObject
():
GetLabel
()
if
Duel
.
Damage
(
tp
,
ct
*
cm
.
damage
,
REASON_EFFECT
)
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330024
.
filter
),
tp
,
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
scfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
tp
,
g
)
end
end
end
\ No newline at end of file
expansions/script/c33330025.lua
View file @
c878671a
--绝界行
function
c33330025
.
initial_effect
(
c
)
local
m
=
33330025
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
--
extra s
ummon
--
Extra S
ummon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_EXTRA_SUMMON_COUNT
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetTargetRange
(
LOCATION_HAND
+
LOCATION_MZONE
,
0
)
e2
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x556
))
c
:
RegisterEffect
(
e2
)
--lock draw
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetDescription
(
aux
.
Stringid
(
33330025
,
0
))
e7
:
SetCategory
(
CATEGORY_TODECK
)
e7
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e7
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e7
:
SetCode
(
EVENT_TO_GRAVE
)
e7
:
SetCondition
(
c33330025
.
drcon
)
e7
:
SetTarget
(
c33330025
.
drtg
)
e7
:
SetOperation
(
c33330025
.
drop
)
c
:
RegisterEffect
(
e7
)
--Send Deck Top
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e3
:
SetCategory
(
CATEGORY_TODECK
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_TO_GRAVE
)
e3
:
SetCondition
(
cm
.
tdcon
)
e3
:
SetTarget
(
cm
.
tdtg
)
e3
:
SetOperation
(
cm
.
tdop
)
c
:
RegisterEffect
(
e3
)
end
function
c33330025
.
drcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
--Send Deck Top
function
cm
.
tdfilter
(
c
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsType
(
TYPE_FIELD
)
and
c
:
IsAbleToDeck
()
end
function
c
33330025
.
tdfilter
(
c
)
return
c
:
IsType
(
TYPE_FIELD
)
and
c
:
IsSetCard
(
0x556
)
and
c
:
IsAbleToDeck
(
)
function
c
m
.
tdcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
end
function
c
33330025
.
dr
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
33330025
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
local
g
=
Duel
.
GetMatchingGroup
(
c
33330025
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
g
:
GetCount
(),
tp
,
LOCATION_GRAVE
)
function
c
m
.
td
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
m
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
local
g
=
Duel
.
GetMatchingGroup
(
c
m
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
g
:
GetCount
(),
0
,
0
)
end
function
c33330025
.
drop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c33330025
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
if
g
:
GetCount
()
<=
0
then
return
end
if
Duel
.
SendtoDeck
(
g
,
1
-
tp
,
0
,
REASON_EFFECT
)
==
0
then
return
end
local
sg
=
Duel
.
GetOperatedGroup
()
for
tc
in
aux
.
Next
(
sg
)
do
if
tc
:
IsLocation
(
LOCATION_DECK
)
then
tc
:
ReverseInDeck
()
function
cm
.
tdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoDeck
(
g
,
1
-
tp
,
0
,
REASON_EFFECT
)
~=
0
then
local
sg
=
Duel
.
GetOperatedGroup
()
local
ct
=
0
for
tc
in
aux
.
Next
(
sg
)
do
if
tc
:
IsLocation
(
LOCATION_DECK
)
then
tc
:
ReverseInDeck
()
ct
=
ct
+
1
end
end
Duel
.
SortDecktop
(
tp
,
1
-
tp
,
ct
)
end
end
end
\ No newline at end of file
expansions/script/c33330026.lua
View file @
c878671a
--深界的诅咒
function
c33330026
.
initial_effect
(
c
)
local
m
=
33330026
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetTarget
(
c33330026
.
target
)
e1
:
SetOperation
(
c33330026
.
activate
)
c
:
RegisterEffect
(
e1
)
--destroy replace
local
e1
=
aux
.
AddRitualProcGreater2
(
c
,
cm
.
ritual_filter
,
LOCATION_HAND
+
LOCATION_DECK
)
e1
:
SetCountLimit
(
1
,
m
+
EFFECT_COUNT_CODE_OATH
)
--Destroy Replace
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EFFECT_DESTROY_REPLACE
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetTarget
(
c33330026
.
reptg
)
e2
:
SetValue
(
c33330026
.
repval
)
e2
:
SetOperation
(
c33330026
.
repop
)
c
:
RegisterEffect
(
e2
)
end
c33330026
.
fit_monster
=
{
33330015
}
function
c33330026
.
repfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsControler
(
tp
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsSetCard
(
0x556
)
and
c
:
IsReason
(
REASON_EFFECT
+
REASON_BATTLE
)
end
function
c33330026
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToRemove
()
and
eg
:
IsExists
(
c33330026
.
repfilter
,
1
,
nil
,
tp
)
end
e2
:
SetTarget
(
cm
.
reptg
)
e2
:
SetValue
(
cm
.
repval
)
e2
:
SetOperation
(
cm
.
repop
)
c
:
RegisterEffect
(
e2
)
end
--Activate
function
cm
.
ritual_filter
(
c
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_MONSTER
)
end
--Destroy Replace
function
cm
.
repfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x556
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsControler
(
tp
)
and
c
:
IsReason
(
REASON_EFFECT
+
REASON_BATTLE
)
and
not
c
:
IsReason
(
REASON_REPLACE
)
end
function
cm
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToRemove
()
and
eg
:
IsExists
(
cm
.
repfilter
,
1
,
nil
,
tp
)
end
return
Duel
.
SelectEffectYesNo
(
tp
,
e
:
GetHandler
(),
96
)
end
function
c
33330026
.
repval
(
e
,
c
)
return
c
33330026
.
repfilter
(
c
,
e
:
GetHandlerPlayer
())
function
c
m
.
repval
(
e
,
c
)
return
c
m
.
repfilter
(
c
,
e
:
GetHandlerPlayer
())
end
function
c
33330026
.
repop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
repop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Remove
(
e
:
GetHandler
(),
POS_FACEUP
,
REASON_EFFECT
)
end
function
c33330026
.
filter
(
c
,
e
,
tp
,
m
,
ft
)
if
not
c
:
IsCode
(
33330015
)
or
not
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_RITUAL
,
tp
,
false
,
true
)
then
return
false
end
local
mg
=
m
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
c
,
c
)
if
ft
>
0
then
return
mg
:
CheckWithSumGreater
(
Card
.
GetRitualLevel
,
10
,
c
)
else
return
mg
:
IsExists
(
c33330026
.
mfilterf
,
1
,
nil
,
tp
,
mg
,
c
)
end
end
function
c33330026
.
mfilterf
(
c
,
tp
,
mg
,
rc
)
if
c
:
IsControler
(
tp
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
GetSequence
()
<
5
then
Duel
.
SetSelectedCard
(
c
)
return
mg
:
CheckWithSumGreater
(
Card
.
GetRitualLevel
,
10
,
rc
)
else
return
false
end
end
function
c33330026
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
mg
=
Duel
.
GetRitualMaterial
(
tp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
return
ft
>-
1
and
Duel
.
IsExistingMatchingCard
(
c33330026
.
filter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
ft
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c33330026
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
mg
=
Duel
.
GetRitualMaterial
(
tp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
c33330026
.
filter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
,
mg
,
ft
)
local
tc
=
tg
:
GetFirst
()
if
tc
then
mg
=
mg
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
local
mat
=
nil
if
ft
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
mat
=
mg
:
SelectWithSumGreater
(
tp
,
Card
.
GetRitualLevel
,
12
,
tc
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
mat
=
mg
:
FilterSelect
(
tp
,
c33330026
.
mfilterf
,
1
,
1
,
nil
,
tp
,
mg
,
tc
)
Duel
.
SetSelectedCard
(
mat
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
local
mat2
=
mg
:
SelectWithSumGreater
(
tp
,
Card
.
GetRitualLevel
,
12
,
tc
)
mat
:
Merge
(
mat2
)
end
tc
:
SetMaterial
(
mat
)
Duel
.
ReleaseRitualMaterial
(
mat
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
tc
:
CompleteProcedure
()
end
end
end
\ No newline at end of file
expansions/script/c33330027.lua
View file @
c878671a
--深界遗物-免除诅咒之笼
function
c33330027
.
initial_effect
(
c
)
local
m
=
33330027
local
cm
=
_G
[
"c"
..
m
]
cm
.
def
=
500
--守 备 力
function
cm
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetTarget
(
c33330027
.
target
)
e1
:
SetOperation
(
c33330027
.
operation
)
c
:
RegisterEffect
(
e1
)
--Def up
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_EQUIP
)
e4
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
e4
:
SetValue
(
500
)
c
:
RegisterEffect
(
e4
)
--Untargetable
e1
:
SetTarget
(
cm
.
target
)
e1
:
SetOperation
(
cm
.
operation
)
c
:
RegisterEffect
(
e1
)
--Equip Limit
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_EQUIP
)
e2
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e2
:
SetValue
(
1
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetValue
(
cm
.
eqlimit
)
c
:
RegisterEffect
(
e2
)
--
Equip limit
--
Def Up
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetValue
(
c33330027
.
eqlimit
)
c
:
RegisterEffect
(
e3
)
--search
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetDescription
(
aux
.
Stringid
(
33330027
,
0
))
e6
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e6
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e6
:
SetCode
(
EVENT_LEAVE_FIELD
)
e6
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e6
:
SetCondition
(
c33330027
.
thcon
)
e6
:
SetTarget
(
c33330027
.
thtg
)
e6
:
SetOperation
(
c33330027
.
thop
)
c
:
RegisterEffect
(
e6
)
end
function
c33330027
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
and
e
:
GetHandler
():
IsPreviousPosition
(
POS_FACEUP
)
end
function
c33330027
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x3556
)
and
c
:
IsAbleToHand
()
end
function
c33330027
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c33330027
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c33330027
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c33330027
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
function
c33330027
.
eqlimit
(
e
,
c
)
return
c
:
IsSetCard
(
0x556
)
e3
:
SetType
(
EFFECT_TYPE_EQUIP
)
e3
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
e3
:
SetValue
(
cm
.
def
)
c
:
RegisterEffect
(
e3
)
--Indes
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_EQUIP
)
e4
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e4
:
SetValue
(
1
)
c
:
RegisterEffect
(
e4
)
--Search
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e5
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetCode
(
EVENT_LEAVE_FIELD
)
e5
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e5
:
SetCondition
(
cm
.
thcon
)
e5
:
SetTarget
(
cm
.
thtg
)
e5
:
SetOperation
(
cm
.
thop
)
c
:
RegisterEffect
(
e5
)
end
function
c33330027
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x556
)
--Activate
function
cm
.
filter
(
c
,
e
)
return
c
:
IsFaceup
()
and
cm
.
eqlimit
(
e
,
c
)
end
function
c
33330027
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
GetLocation
()
==
LOCATION_MZONE
and
c33330027
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c
33330027
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
function
c
m
.
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
(
c
m
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
,
e
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
SelectTarget
(
tp
,
c
33330027
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SelectTarget
(
tp
,
c
m
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
,
e
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c
33330027
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
e
:
GetHandler
():
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
Duel
.
Equip
(
tp
,
e
:
GetHandler
(),
tc
)
end
end
--Equip Limit
function
cm
.
eqlimit
(
e
,
c
)
return
c
:
IsSetCard
(
0x556
)
end
--Search
function
cm
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x3556
)
and
c
:
IsAbleToHand
()
end
function
cm
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
end
function
cm
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
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
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
\ No newline at end of file
expansions/script/c33330028.lua
View file @
c878671a
--深界遗物-免除诅咒之笼
function
c33330028
.
initial_effect
(
c
)
local
m
=
33330028
local
cm
=
_G
[
"c"
..
m
]
cm
.
atk
=
500
--攻 击 力
function
cm
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetTarget
(
c33330028
.
target
)
e1
:
SetOperation
(
c33330028
.
operation
)
c
:
RegisterEffect
(
e1
)
--Def up
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_EQUIP
)
e4
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e4
:
SetValue
(
500
)
c
:
RegisterEffect
(
e4
)
--Untargetable
e1
:
SetTarget
(
cm
.
target
)
e1
:
SetOperation
(
cm
.
operation
)
c
:
RegisterEffect
(
e1
)
--Equip Limit
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_EQUIP
)
e2
:
SetCode
(
EFFECT_UPDATE_LEVEL
)
e2
:
SetValue
(
4
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetValue
(
cm
.
eqlimit
)
c
:
RegisterEffect
(
e2
)
--
Equip limit
--
Atk Up
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetValue
(
c33330028
.
eqlimit
)
c
:
RegisterEffect
(
e3
)
--search
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetDescription
(
aux
.
Stringid
(
33330028
,
0
))
e6
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e6
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e6
:
SetCode
(
EVENT_LEAVE_FIELD
)
e6
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e6
:
SetCondition
(
c33330028
.
thcon
)
e6
:
SetTarget
(
c33330028
.
thtg
)
e6
:
SetOperation
(
c33330028
.
thop
)
c
:
RegisterEffect
(
e6
)
end
function
c33330028
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
and
e
:
GetHandler
():
IsPreviousPosition
(
POS_FACEUP
)
end
function
c33330028
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x3556
)
and
c
:
IsAbleToHand
()
end
function
c33330028
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c33330028
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c33330028
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c33330028
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
function
c33330028
.
eqlimit
(
e
,
c
)
return
c
:
IsSetCard
(
0x556
)
e3
:
SetType
(
EFFECT_TYPE_EQUIP
)
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e3
:
SetValue
(
cm
.
atk
)
c
:
RegisterEffect
(
e3
)
--Level Up
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_EQUIP
)
e4
:
SetCode
(
EFFECT_UPDATE_LEVEL
)
e4
:
SetValue
(
4
)
c
:
RegisterEffect
(
e4
)
--Search
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e5
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetCode
(
EVENT_LEAVE_FIELD
)
e5
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e5
:
SetCondition
(
cm
.
thcon
)
e5
:
SetTarget
(
cm
.
thtg
)
e5
:
SetOperation
(
cm
.
thop
)
c
:
RegisterEffect
(
e5
)
end
function
c33330028
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x556
)
--Activate
function
cm
.
filter
(
c
,
e
)
return
c
:
IsFaceup
()
and
cm
.
eqlimit
(
e
,
c
)
end
function
c
33330028
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
GetLocation
()
==
LOCATION_MZONE
and
c33330028
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c
33330028
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
function
c
m
.
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
(
c
m
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
,
e
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
SelectTarget
(
tp
,
c
33330028
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SelectTarget
(
tp
,
c
m
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
,
e
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c
33330028
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
e
:
GetHandler
():
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
Duel
.
Equip
(
tp
,
e
:
GetHandler
(),
tc
)
end
end
--Equip Limit
function
cm
.
eqlimit
(
e
,
c
)
return
c
:
IsSetCard
(
0x556
)
end
--Search
function
cm
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x3556
)
and
c
:
IsAbleToHand
()
end
function
cm
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
end
function
cm
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
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
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
\ No newline at end of file
expansions/script/c33330029.lua
View file @
c878671a
--深界遗物-免除诅咒之笼
function
c33330029
.
initial_effect
(
c
)
local
m
=
33330029
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetTarget
(
c33330029
.
target
)
e1
:
SetOperation
(
c33330029
.
operation
)
c
:
RegisterEffect
(
e1
)
--Def up
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_EQUIP
)
e4
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e4
:
SetValue
(
-
500
)
c
:
RegisterEffect
(
e4
)
--atk
e1
:
SetTarget
(
cm
.
target
)
e1
:
SetOperation
(
cm
.
operation
)
c
:
RegisterEffect
(
e1
)
--Equip Limit
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330029
,
0
))
e2
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e2
:
SetCode
(
EVENT_ATTACK_ANNOUNCE
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetCondition
(
c33330029
.
ctcon
)
e2
:
SetOperation
(
c33330029
.
ctop
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetValue
(
cm
.
eqlimit
)
c
:
RegisterEffect
(
e2
)
--Equip limit
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetValue
(
c33330029
.
eqlimit
)
c
:
RegisterEffect
(
e3
)
--search
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetDescription
(
aux
.
Stringid
(
33330029
,
1
))
e6
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e6
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e6
:
SetCode
(
EVENT_LEAVE_FIELD
)
e6
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e6
:
SetCondition
(
c33330029
.
thcon
)
e6
:
SetTarget
(
c33330029
.
thtg
)
e6
:
SetOperation
(
c33330029
.
thop
)
c
:
RegisterEffect
(
e6
)
--To Hand
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e4
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetCode
(
EVENT_BATTLE_DAMAGE
)
e4
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e4
:
SetRange
(
LOCATION_SZONE
)
e4
:
SetCondition
(
cm
.
sccon
)
e4
:
SetTarget
(
cm
.
sctg
)
e4
:
SetOperation
(
cm
.
scop
)
c
:
RegisterEffect
(
e4
)
--Search
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e5
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetCode
(
EVENT_LEAVE_FIELD
)
e5
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e5
:
SetCondition
(
cm
.
thcon
)
e5
:
SetTarget
(
cm
.
thtg
)
e5
:
SetOperation
(
cm
.
thop
)
c
:
RegisterEffect
(
e5
)
end
--Activate
function
cm
.
filter
(
c
,
e
)
return
c
:
IsFaceup
()
and
cm
.
eqlimit
(
e
,
c
)
end
function
c33330029
.
ctcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetHandler
():
GetEquipTarget
()
return
Duel
.
GetAttacker
()
==
tc
and
tc
:
GetBattleTarget
()
and
tc
:
GetBattleTarget
():
IsControler
(
1
-
tp
)
and
tc
:
GetBattleTarget
():
IsAttackAbove
(
1
)
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
,
e
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
SelectTarget
(
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
,
e
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c33330029
.
ctop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetHandler
():
GetEquipTarget
()
local
bc
=
tc
:
GetBattleTarget
()
if
e
:
GetHandler
():
IsRelateToEffect
(
e
)
and
bc
:
IsControler
(
1
-
tp
)
and
bc
:
IsRelateToBattle
()
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
e1
:
SetValue
(
-
200
)
bc
:
RegisterEffect
(
e1
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
e
:
GetHandler
():
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
Duel
.
Equip
(
tp
,
e
:
GetHandler
(),
tc
)
end
end
function
c33330029
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
and
e
:
GetHandler
():
IsPreviousPosition
(
POS_FACEUP
)
--Equip Limit
function
cm
.
eqlimit
(
e
,
c
)
return
c
:
IsSetCard
(
0x556
)
end
function
c33330029
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x3556
)
and
c
:
IsAbleToHand
()
--To Hand
function
cm
.
scfilter
(
c
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsAbleToHand
()
end
function
cm
.
sccon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
ep
~=
tp
and
eg
:
GetFirst
()
==
e
:
GetHandler
():
GetEquipTarget
()
end
function
c
33330029
.
th
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
33330029
.
th
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
function
c
m
.
sc
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
m
.
sc
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c
33330029
.
th
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
sc
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c33330029
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
scfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
function
c33330029
.
eqlimit
(
e
,
c
)
return
c
:
IsSetCard
(
0x556
)
--Search
function
cm
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x3556
)
and
c
:
IsAbleToHand
()
end
function
c
33330029
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x556
)
function
c
m
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
end
function
c33330029
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
GetLocation
()
==
LOCATION_MZONE
and
c33330029
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c33330029
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
SelectTarget
(
tp
,
c33330029
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
e
:
GetHandler
(),
1
,
0
,
0
)
function
cm
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c33330029
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
e
:
GetHandler
():
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
Duel
.
Equip
(
tp
,
e
:
GetHandler
(),
tc
)
function
cm
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
end
\ No newline at end of file
expansions/script/c33330030.lua
View file @
c878671a
This diff is collapsed.
Click to expand it.
expansions/script/c33330031.lua
View file @
c878671a
--深界之怒-火葬炮
function
c33330031
.
initial_effect
(
c
)
local
m
=
33330031
local
cm
=
_G
[
"c"
..
m
]
cm
.
check
=
{
33330028
}
--发 动 要 求
function
cm
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_TOGRAVE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetHintTiming
(
0
,
TIMING_MAIN_END
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCondition
(
c33330031
.
condition
)
e1
:
SetTarget
(
c33330031
.
target
)
e1
:
SetOperation
(
c33330031
.
activate
)
e1
:
SetCondition
(
cm
.
condition
)
e1
:
SetTarget
(
cm
.
target
)
e1
:
SetOperation
(
cm
.
activate
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
c
:
RegisterEffect
(
e1
)
--
to g
rave
--
To G
rave
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330031
,
0
))
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetCategory
(
CATEGORY_TOGRAVE
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCost
(
aux
.
bfgcost
)
e2
:
SetTarget
(
c
33330031
.
tgtg
)
e2
:
SetOperation
(
c
33330031
.
tgop
)
e2
:
SetTarget
(
c
m
.
tgtg
)
e2
:
SetOperation
(
c
m
.
tgop
)
c
:
RegisterEffect
(
e2
)
end
function
c33330031
.
tgfilter
(
c
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToGrave
()
end
function
c33330031
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c33330031
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c33330031
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c33330031
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
end
end
function
c33330031
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
and
Duel
.
IsExistingMatchingCard
(
c33330031
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
nil
)
cm
.
card_code_list
=
cm
.
check
--Activate
function
cm
.
cfilter
(
c
)
return
c
:
IsCode
(
cm
.
check
[
1
])
and
c
:
IsFaceup
()
end
function
c
33330031
.
cfilter
(
c
)
return
c
:
IsCode
(
33330028
)
and
c
:
IsFaceup
(
)
function
c
m
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
and
Duel
.
IsExistingMatchingCard
(
cm
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
nil
)
end
function
c
33330031
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetFieldGroupCount
(
tp
,
0
,
LOCATION_MZONE
)
>
0
end
local
g
=
Duel
.
GetFieldGroup
(
tp
,
0
,
LOCATION_MZONE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g
,
g
:
GetCount
(),
0
,
LOCATION_MZONE
)
end
function
c
33330031
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
0
,
LOCATION_MZONE
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
g
,
REASON_RULE
)
...
...
@@ -56,10 +47,25 @@ function c33330031.activate(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
0
,
1
)
e1
:
SetValue
(
c
33330031
.
actlimit
)
e1
:
SetValue
(
c
m
.
actlimit
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
function
c
33330031
.
actlimit
(
e
,
re
,
tp
)
return
re
:
IsActiveType
(
TYPE_MONSTER
)
and
not
re
:
GetHandler
():
IsImmuneToEffect
(
e
)
function
c
m
.
actlimit
(
e
,
re
,
tp
)
return
re
:
IsActiveType
(
TYPE_MONSTER
)
end
--To Grave
function
cm
.
tgfilter
(
c
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToGrave
()
end
function
cm
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
cm
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
end
end
\ No newline at end of file
expansions/script/c33330032.lua
View file @
c878671a
--深界庇护所 娜娜奇的小屋
function
c33330032
.
initial_effect
(
c
)
--Activate(effect)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetCategory
(
CATEGORY_RECOVER
)
e4
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
+
EFFECT_FLAG_PLAYER_TARGET
)
e4
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e4
:
SetCode
(
EVENT_CHAINING
)
e4
:
SetCondition
(
c33330032
.
condition
)
e4
:
SetTarget
(
c33330032
.
target
)
e4
:
SetOperation
(
c33330032
.
activate
)
c
:
RegisterEffect
(
e4
)
--tohand
local
m
=
33330032
local
cm
=
_G
[
"c"
..
m
]
cm
.
counter
=
0x1556
--指 示 物
cm
.
recover
=
500
--回 复 倍 数
function
cm
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_RECOVER
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
+
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetCondition
(
cm
.
condition
)
e1
:
SetTarget
(
cm
.
target
)
e1
:
SetOperation
(
cm
.
activate
)
c
:
RegisterEffect
(
e1
)
--To Hand
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
33330032
,
0
))
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetCategory
(
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetCondition
(
c33330032
.
thcon
)
e2
:
SetTarget
(
c33330032
.
thtg
)
e2
:
SetOperation
(
c33330032
.
thop
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetCondition
(
cm
.
thcon
)
e2
:
SetTarget
(
cm
.
thtg
)
e2
:
SetOperation
(
cm
.
thop
)
c
:
RegisterEffect
(
e2
)
end
function
c33330032
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsReason
(
REASON_EFFECT
)
end
function
c33330032
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsAbleToHand
()
--Activate
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
IsHasCategory
(
CATEGORY_DESTROY
)
end
function
c33330032
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c33330032
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_GRAVE
)
function
cm
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetCounter
(
tp
,
1
,
0
,
cm
.
counter
)
>
0
end
local
ct
=
Duel
.
GetCounter
(
tp
,
1
,
0
,
cm
.
counter
)
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
ct
*
cm
.
recover
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_RECOVER
,
nil
,
0
,
tp
,
ct
*
cm
.
recover
)
end
function
c33330032
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c33330032
.
thfilter
),
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
function
cm
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
)
local
ct
=
Duel
.
GetCounter
(
tp
,
1
,
0
,
cm
.
counter
)
if
ct
>
0
and
Duel
.
Recover
(
tp
,
ct
*
cm
.
recover
,
REASON_EFFECT
)
~=
0
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CHANGE_DAMAGE
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
1
,
1
)
e1
:
SetValue
(
0
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_NO_EFFECT_DAMAGE
)
e2
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e2
,
tp
)
end
end
function
c33330032
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
IsHasCategory
(
CATEGORY_DESTROY
)
--To Hand
function
cm
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x556
)
and
c
:
IsAbleToHand
()
end
function
c33330032
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetCounter
(
tp
,
1
,
0
,
0x1019
)
>
0
end
local
ct
=
Duel
.
GetCounter
(
tp
,
1
,
0
,
0x1019
)
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
ct
*
500
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_RECOVER
,
nil
,
0
,
tp
,
ct
*
500
)
function
cm
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsReason
(
REASON_EFFECT
)
end
function
c33330032
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
Duel
.
GetCounter
(
tp
,
1
,
0
,
0x1019
)
if
ct
>
0
and
Duel
.
Recover
(
tp
,
ct
*
500
,
REASON_EFFECT
)
~=
0
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CHANGE_DAMAGE
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
1
,
1
)
e1
:
SetValue
(
0
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_NO_EFFECT_DAMAGE
)
e2
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e2
,
tp
)
end
function
cm
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_GRAVE
)
end
function
cm
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
cm
.
thfilter
),
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
\ No newline at end of file
expansions/script/c33330033.lua
View file @
c878671a
This diff is collapsed.
Click to expand it.
expansions/script/c33330034.lua
View file @
c878671a
This diff is collapsed.
Click to expand it.
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