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
Soulgamer
ygopro-222DIY-cards
Commits
5f42b44d
Commit
5f42b44d
authored
Nov 17, 2020
by
TanakaKotoha
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
e46fba82
Changes
27
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
431 additions
and
560 deletions
+431
-560
expansions/222DIY.cdb
expansions/222DIY.cdb
+0
-0
expansions/script/c81000000.lua
expansions/script/c81000000.lua
+40
-0
expansions/script/c81005059.lua
expansions/script/c81005059.lua
+2
-0
expansions/script/c81005066.lua
expansions/script/c81005066.lua
+2
-7
expansions/script/c81009007.lua
expansions/script/c81009007.lua
+3
-34
expansions/script/c81009008.lua
expansions/script/c81009008.lua
+17
-46
expansions/script/c81009011.lua
expansions/script/c81009011.lua
+11
-40
expansions/script/c81009015.lua
expansions/script/c81009015.lua
+27
-56
expansions/script/c81011001.lua
expansions/script/c81011001.lua
+21
-23
expansions/script/c81011066.lua
expansions/script/c81011066.lua
+1
-7
expansions/script/c81012005.lua
expansions/script/c81012005.lua
+42
-45
expansions/script/c81012008.lua
expansions/script/c81012008.lua
+19
-22
expansions/script/c81012025.lua
expansions/script/c81012025.lua
+30
-33
expansions/script/c81012026.lua
expansions/script/c81012026.lua
+35
-38
expansions/script/c81012028.lua
expansions/script/c81012028.lua
+31
-34
expansions/script/c81012053.lua
expansions/script/c81012053.lua
+33
-36
expansions/script/c81012054.lua
expansions/script/c81012054.lua
+22
-25
expansions/script/c81012063.lua
expansions/script/c81012063.lua
+36
-39
expansions/script/c81012070.lua
expansions/script/c81012070.lua
+18
-21
expansions/script/c81012074.lua
expansions/script/c81012074.lua
+30
-26
expansions/script/c81012087.lua
expansions/script/c81012087.lua
+2
-7
expansions/script/c81022005.lua
expansions/script/c81022005.lua
+2
-0
expansions/script/c81022010.lua
expansions/script/c81022010.lua
+2
-7
expansions/script/c81022025.lua
expansions/script/c81022025.lua
+2
-0
expansions/script/c81022032.lua
expansions/script/c81022032.lua
+1
-7
expansions/script/c81022044.lua
expansions/script/c81022044.lua
+1
-0
expansions/script/c81041037.lua
expansions/script/c81041037.lua
+1
-7
No files found.
expansions/222DIY.cdb
View file @
5f42b44d
No preview for this file type
expansions/script/c81000000.lua
View file @
5f42b44d
...
@@ -195,3 +195,43 @@ function Tenka.EinBattleCon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -195,3 +195,43 @@ function Tenka.EinBattleCon(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
ep
==
tp
and
c
:
IsRelateToBattle
()
return
ep
==
tp
and
c
:
IsRelateToBattle
()
end
end
--
function
Tenka
.
PyroLink
(
c
)
local
eb
=
Effect
.
CreateEffect
(
c
)
eb
:
SetType
(
EFFECT_TYPE_SINGLE
)
eb
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
eb
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
eb
:
SetValue
(
1
)
c
:
RegisterEffect
(
eb
)
end
--
function
Tenka
.
KaedeMusic
(
c
)
local
ea
=
Effect
.
CreateEffect
(
c
)
ea
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
ea
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_CANNOT_NEGATE
)
ea
:
SetCode
(
EVENT_BE_MATERIAL
)
ea
:
SetCondition
(
Tenka
.
efcon
)
ea
:
SetOperation
(
Tenka
.
efop
)
c
:
RegisterEffect
(
ea
)
end
function
Tenka
.
efcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
r
==
REASON_XYZ
end
function
Tenka
.
efop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
rc
=
c
:
GetReasonCard
()
local
e1
=
Effect
.
CreateEffect
(
rc
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_CANNOT_NEGATE
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCondition
(
Tenka
.
sumcon
)
e1
:
SetOperation
(
Tenka
.
sumsuc
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
rc
:
RegisterEffect
(
e1
,
true
)
end
function
Tenka
.
sumcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_XYZ
)
end
function
Tenka
.
sumsuc
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_MUSIC
,
0
,
aux
.
Stringid
(
81009011
,
1
))
end
expansions/script/c81005059.lua
View file @
5f42b44d
--白雪安娜·寻踪
--白雪安娜·寻踪
local
m
=
81005059
local
m
=
81005059
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
aux
.
AddLinkProcedure
(
c
,
cm
.
mfilter
,
2
)
aux
.
AddLinkProcedure
(
c
,
cm
.
mfilter
,
2
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
Tenka
.
PyroLink
(
c
)
--spsummon
--spsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
...
...
expansions/script/c81005066.lua
View file @
5f42b44d
--鲜为人知的天使护士
--鲜为人知的天使护士
local
m
=
81005066
local
m
=
81005066
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
3
,
3
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
3
,
3
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--cannot be link material
Tenka
.
PyroLink
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e1
:
SetValue
(
1
)
c
:
RegisterEffect
(
e1
)
--fusion summon
--fusion summon
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_FUSION_SUMMON
)
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_FUSION_SUMMON
)
...
...
expansions/script/c81009007.lua
View file @
5f42b44d
--幸福滋味·高垣枫
--幸福滋味·高垣枫
local
m
=
81009007
local
m
=
81009007
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
3
,
99
,
cm
.
lcheck
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
3
,
99
,
cm
.
lcheck
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--cannot link material
Tenka
.
PyroLink
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
Tenka
.
KaedeMusic
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e0
:
SetValue
(
1
)
c
:
RegisterEffect
(
e0
)
--special summon
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
@@ -40,13 +36,6 @@ function cm.initial_effect(c)
...
@@ -40,13 +36,6 @@ function cm.initial_effect(c)
e3
:
SetTarget
(
cm
.
mttg
)
e3
:
SetTarget
(
cm
.
mttg
)
e3
:
SetOperation
(
cm
.
mtop
)
e3
:
SetOperation
(
cm
.
mtop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
--effect gain
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e4
:
SetCode
(
EVENT_BE_MATERIAL
)
e4
:
SetCondition
(
cm
.
efcon
)
e4
:
SetOperation
(
cm
.
efop
)
c
:
RegisterEffect
(
e4
)
end
end
function
cm
.
lcheck
(
g
)
function
cm
.
lcheck
(
g
)
return
g
:
IsExists
(
Card
.
IsLinkType
,
1
,
nil
,
TYPE_XYZ
)
return
g
:
IsExists
(
Card
.
IsLinkType
,
1
,
nil
,
TYPE_XYZ
)
...
@@ -103,23 +92,3 @@ function cm.mtop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -103,23 +92,3 @@ function cm.mtop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Overlay
(
c
,
g
)
Duel
.
Overlay
(
c
,
g
)
end
end
end
end
function
cm
.
efcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
r
==
REASON_XYZ
end
function
cm
.
efop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
rc
=
c
:
GetReasonCard
()
local
e1
=
Effect
.
CreateEffect
(
rc
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCondition
(
cm
.
sumcon
)
e1
:
SetOperation
(
cm
.
sumsuc
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
rc
:
RegisterEffect
(
e1
,
true
)
end
function
cm
.
sumcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_XYZ
)
end
function
cm
.
sumsuc
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_MUSIC
,
0
,
aux
.
Stringid
(
81009011
,
1
))
end
expansions/script/c81009008.lua
View file @
5f42b44d
--丽之妙药·高垣枫
--丽之妙药·高垣枫
function
c81009008
.
initial_effect
(
c
)
local
m
=
81009008
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
2
,
c
81009008
.
lcheck
)
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
2
,
c
m
.
lcheck
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--cannot link material
Tenka
.
PyroLink
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
Tenka
.
KaedeMusic
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e0
:
SetValue
(
1
)
c
:
RegisterEffect
(
e0
)
--change name
--change name
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -20,36 +18,29 @@ function c81009008.initial_effect(c)
...
@@ -20,36 +18,29 @@ function c81009008.initial_effect(c)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--material
--material
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
81009008
,
0
))
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetType
(
EFFECT_TYPE_XMATERIAL
+
EFFECT_TYPE_IGNITION
)
e2
:
SetType
(
EFFECT_TYPE_XMATERIAL
+
EFFECT_TYPE_IGNITION
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetCountLimit
(
1
)
e2
:
SetTarget
(
c
81009008
.
target
)
e2
:
SetTarget
(
c
m
.
target
)
e2
:
SetOperation
(
c
81009008
.
operation
)
e2
:
SetOperation
(
c
m
.
operation
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--effect gain
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e4
:
SetCode
(
EVENT_BE_MATERIAL
)
e4
:
SetCondition
(
c81009008
.
efcon
)
e4
:
SetOperation
(
c81009008
.
efop
)
c
:
RegisterEffect
(
e4
)
end
end
function
c
81009008
.
lcheck
(
g
,
lc
)
function
c
m
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
Card
.
IsLinkType
,
1
,
nil
,
TYPE_XYZ
)
return
g
:
IsExists
(
Card
.
IsLinkType
,
1
,
nil
,
TYPE_XYZ
)
end
end
function
c
81009008
.
filter
(
c
,
tp
)
function
c
m
.
filter
(
c
,
tp
)
return
c
:
IsType
(
TYPE_LINK
)
and
(
c
:
IsControler
(
tp
)
or
c
:
IsAbleToChangeControler
())
return
c
:
IsType
(
TYPE_LINK
)
and
(
c
:
IsControler
(
tp
)
or
c
:
IsAbleToChangeControler
())
end
end
function
c
81009008
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c
m
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c
81009008
.
filter
(
chkc
,
tp
)
and
chkc
~=
e
:
GetHandler
()
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c
m
.
filter
(
chkc
,
tp
)
and
chkc
~=
e
:
GetHandler
()
end
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
and
Duel
.
IsExistingTarget
(
c
81009008
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
e
:
GetHandler
(),
tp
)
end
and
Duel
.
IsExistingTarget
(
c
m
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
e
:
GetHandler
(),
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c
81009008
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
e
:
GetHandler
(),
tp
)
Duel
.
SelectTarget
(
tp
,
c
m
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
e
:
GetHandler
(),
tp
)
end
end
function
c
81009008
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
not
tc
:
IsImmuneToEffect
(
e
)
then
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
not
tc
:
IsImmuneToEffect
(
e
)
then
...
@@ -60,23 +51,3 @@ function c81009008.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -60,23 +51,3 @@ function c81009008.operation(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Overlay
(
c
,
Group
.
FromCards
(
tc
))
Duel
.
Overlay
(
c
,
Group
.
FromCards
(
tc
))
end
end
end
end
function
c81009008
.
efcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
r
==
REASON_XYZ
end
function
c81009008
.
efop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
rc
=
c
:
GetReasonCard
()
local
e1
=
Effect
.
CreateEffect
(
rc
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCondition
(
c81009008
.
sumcon
)
e1
:
SetOperation
(
c81009008
.
sumsuc
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
rc
:
RegisterEffect
(
e1
,
true
)
end
function
c81009008
.
sumcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_XYZ
)
end
function
c81009008
.
sumsuc
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_MUSIC
,
0
,
aux
.
Stringid
(
81009011
,
1
))
end
expansions/script/c81009011.lua
View file @
5f42b44d
--恋风·高垣枫
--恋风·高垣枫
function
c81009011
.
initial_effect
(
c
)
local
m
=
81009011
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_XYZ
),
1
,
1
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_XYZ
),
1
,
1
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--effect gain
Tenka
.
PyroLink
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
Tenka
.
KaedeMusic
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e0
:
SetCode
(
EVENT_BE_MATERIAL
)
e0
:
SetCondition
(
c81009011
.
efcon
)
e0
:
SetOperation
(
c81009011
.
efop
)
c
:
RegisterEffect
(
e0
)
--cannot link material
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e1
:
SetValue
(
1
)
c
:
RegisterEffect
(
e1
)
--battle
--battle
local
e4
=
Effect
.
CreateEffect
(
c
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
81009011
,
0
))
e4
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e4
:
SetType
(
EFFECT_TYPE_XMATERIAL
+
EFFECT_TYPE_CONTINUOUS
)
e4
:
SetType
(
EFFECT_TYPE_XMATERIAL
+
EFFECT_TYPE_CONTINUOUS
)
e4
:
SetCode
(
EVENT_BATTLED
)
e4
:
SetCode
(
EVENT_BATTLED
)
e4
:
SetCondition
(
c
81009011
.
xyzcon
)
e4
:
SetCondition
(
c
m
.
xyzcon
)
e4
:
SetOperation
(
c
81009011
.
xyzop
)
e4
:
SetOperation
(
c
m
.
xyzop
)
c
:
RegisterEffect
(
e4
)
c
:
RegisterEffect
(
e4
)
end
end
function
c
81009011
.
xyzcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
xyzcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tc
=
c
:
GetBattleTarget
()
local
tc
=
c
:
GetBattleTarget
()
if
not
c
:
IsRelateToBattle
()
or
c
:
IsFacedown
()
then
return
false
end
if
not
c
:
IsRelateToBattle
()
or
c
:
IsFacedown
()
then
return
false
end
e
:
SetLabelObject
(
tc
)
e
:
SetLabelObject
(
tc
)
return
tc
and
tc
:
IsType
(
TYPE_MONSTER
)
and
tc
:
IsReason
(
REASON_BATTLE
)
and
not
tc
:
IsType
(
TYPE_TOKEN
)
return
tc
and
tc
:
IsType
(
TYPE_MONSTER
)
and
tc
:
IsReason
(
REASON_BATTLE
)
and
not
tc
:
IsType
(
TYPE_TOKEN
)
end
end
function
c
81009011
.
xyzop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
xyzop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tc
=
e
:
GetLabelObject
()
local
tc
=
e
:
GetLabelObject
()
if
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
then
if
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
then
...
@@ -44,23 +35,3 @@ function c81009011.xyzop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -44,23 +35,3 @@ function c81009011.xyzop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Overlay
(
c
,
tc
)
Duel
.
Overlay
(
c
,
tc
)
end
end
end
end
function
c81009011
.
efcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
r
==
REASON_XYZ
end
function
c81009011
.
efop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
rc
=
c
:
GetReasonCard
()
local
e1
=
Effect
.
CreateEffect
(
rc
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCondition
(
c81009011
.
sumcon
)
e1
:
SetOperation
(
c81009011
.
sumsuc
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
rc
:
RegisterEffect
(
e1
,
true
)
end
function
c81009011
.
sumcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_XYZ
)
end
function
c81009011
.
sumsuc
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_MUSIC
,
0
,
aux
.
Stringid
(
81009011
,
1
))
end
expansions/script/c81009015.lua
View file @
5f42b44d
--神秘的女神·高垣枫
--神秘的女神·高垣枫
function
c81009015
.
initial_effect
(
c
)
local
m
=
81009015
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
aux
.
AddLinkProcedure
(
c
,
nil
,
3
,
3
,
c
81009015
.
lcheck
)
aux
.
AddLinkProcedure
(
c
,
nil
,
3
,
3
,
c
m
.
lcheck
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--cannot link material
Tenka
.
PyroLink
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
Tenka
.
KaedeMusic
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e0
:
SetValue
(
1
)
c
:
RegisterEffect
(
e0
)
--Attach
--Attach
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCode
(
EVENT_TO_GRAVE
)
e1
:
SetCode
(
EVENT_TO_GRAVE
)
e1
:
SetCountLimit
(
1
,
81009015
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetCondition
(
c
81009015
.
xyzcon
)
e1
:
SetCondition
(
c
m
.
xyzcon
)
e1
:
SetTarget
(
c
81009015
.
xyztg
)
e1
:
SetTarget
(
c
m
.
xyztg
)
e1
:
SetOperation
(
c
81009015
.
xyzop
)
e1
:
SetOperation
(
c
m
.
xyzop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--change name
--change name
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
...
@@ -30,77 +28,50 @@ function c81009015.initial_effect(c)
...
@@ -30,77 +28,50 @@ function c81009015.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--material
--material
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
81009015
,
0
))
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e3
:
SetType
(
EFFECT_TYPE_XMATERIAL
+
EFFECT_TYPE_IGNITION
)
e3
:
SetType
(
EFFECT_TYPE_XMATERIAL
+
EFFECT_TYPE_IGNITION
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCountLimit
(
1
)
e3
:
SetTarget
(
c
81009015
.
mttg
)
e3
:
SetTarget
(
c
m
.
mttg
)
e3
:
SetOperation
(
c
81009015
.
mtop
)
e3
:
SetOperation
(
c
m
.
mtop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
--effect gain
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e4
:
SetCode
(
EVENT_BE_MATERIAL
)
e4
:
SetCondition
(
c81009015
.
efcon
)
e4
:
SetOperation
(
c81009015
.
efop
)
c
:
RegisterEffect
(
e4
)
end
end
function
c
81009015
.
lcheck
(
g
,
lc
)
function
c
m
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
Card
.
IsLinkType
,
1
,
nil
,
TYPE_XYZ
)
return
g
:
IsExists
(
Card
.
IsLinkType
,
1
,
nil
,
TYPE_XYZ
)
end
end
function
c
81009015
.
xyzcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
xyzcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
end
end
function
c
81009015
.
filter
(
c
)
function
c
m
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
end
end
function
c
81009015
.
xyztg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c
m
.
xyztg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c
81009015
.
filter
(
chkc
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c
m
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c
81009015
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c
m
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c
81009015
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SelectTarget
(
tp
,
c
m
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
e
:
GetHandler
(),
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
end
function
c
81009015
.
xyzop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
xyzop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
not
tc
:
IsImmuneToEffect
(
e
)
and
c
:
IsRelateToEffect
(
e
)
then
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
not
tc
:
IsImmuneToEffect
(
e
)
and
c
:
IsRelateToEffect
(
e
)
then
Duel
.
Overlay
(
tc
,
Group
.
FromCards
(
c
))
Duel
.
Overlay
(
tc
,
Group
.
FromCards
(
c
))
end
end
end
end
function
c
81009015
.
mtfilter
(
c
,
e
)
function
c
m
.
mtfilter
(
c
,
e
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
+
TYPE_LINK
)
and
not
c
:
IsImmuneToEffect
(
e
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
+
TYPE_LINK
)
and
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c
81009015
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
and
Duel
.
IsExistingMatchingCard
(
c
81009015
.
mtfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
)
end
and
Duel
.
IsExistingMatchingCard
(
c
m
.
mtfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
)
end
end
end
function
c
81009015
.
mtop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
mtop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsFacedown
()
then
return
end
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsFacedown
()
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
81009015
.
mtfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
m
.
mtfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
Overlay
(
c
,
g
)
Duel
.
Overlay
(
c
,
g
)
end
end
end
end
function
c81009015
.
efcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
r
==
REASON_XYZ
end
function
c81009015
.
efop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
rc
=
c
:
GetReasonCard
()
local
e1
=
Effect
.
CreateEffect
(
rc
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCondition
(
c81009015
.
sumcon
)
e1
:
SetOperation
(
c81009015
.
sumsuc
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
rc
:
RegisterEffect
(
e1
,
true
)
end
function
c81009015
.
sumcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_XYZ
)
end
function
c81009015
.
sumsuc
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_MUSIC
,
0
,
aux
.
Stringid
(
81009011
,
1
))
end
expansions/script/c81011001.lua
View file @
5f42b44d
--水晶艾蕾娜
--水晶艾蕾娜
function
c81011001
.
initial_effect
(
c
)
local
m
=
81011001
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--link summon
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsSummonType
,
SUMMON_TYPE_ADVANCE
),
1
,
1
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsSummonType
,
SUMMON_TYPE_ADVANCE
),
1
,
1
)
Tenka
.
PyroLink
(
c
)
--spsummon bgm
--spsummon bgm
local
e0
=
Effect
.
CreateEffect
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_CANNOT_NEGATE
)
e0
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e0
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e0
:
SetCondition
(
c
81011001
.
sumcon
)
e0
:
SetCondition
(
c
m
.
sumcon
)
e0
:
SetOperation
(
c
81011001
.
sumsuc
)
e0
:
SetOperation
(
c
m
.
sumsuc
)
c
:
RegisterEffect
(
e0
)
c
:
RegisterEffect
(
e0
)
--search
--search
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
...
@@ -16,39 +21,32 @@ function c81011001.initial_effect(c)
...
@@ -16,39 +21,32 @@ function c81011001.initial_effect(c)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetCode
(
EVENT_RELEASE
)
e2
:
SetCode
(
EVENT_RELEASE
)
e2
:
SetCountLimit
(
1
,
81011001
)
e2
:
SetCountLimit
(
1
,
m
)
e2
:
SetCondition
(
c
81011001
.
thcon
)
e2
:
SetCondition
(
c
m
.
thcon
)
e2
:
SetTarget
(
c
81011001
.
thtg
)
e2
:
SetTarget
(
c
m
.
thtg
)
e2
:
SetOperation
(
c
81011001
.
thop
)
e2
:
SetOperation
(
c
m
.
thop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--cannot be link material
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e3
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e3
:
SetValue
(
1
)
c
:
RegisterEffect
(
e3
)
end
end
function
c
81011001
.
sumcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
sumcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
end
end
function
c
81011001
.
sumsuc
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
sumsuc
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_MUSIC
,
0
,
aux
.
Stringid
(
81011001
,
0
))
Duel
.
Hint
(
HINT_MUSIC
,
0
,
aux
.
Stringid
(
m
,
0
))
end
end
function
c
81011001
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsReason
(
REASON_SUMMON
)
return
e
:
GetHandler
():
IsReason
(
REASON_SUMMON
)
end
end
function
c
81011001
.
filter
(
c
)
function
c
m
.
filter
(
c
)
return
c
:
IsLevelAbove
(
5
)
and
c
:
IsAbleToHand
()
return
c
:
IsLevelAbove
(
5
)
and
c
:
IsAbleToHand
()
end
end
function
c
81011001
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
81011001
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
m
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
end
function
c
81011001
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
81011001
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
m
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
...
...
expansions/script/c81011066.lua
View file @
5f42b44d
...
@@ -6,13 +6,7 @@ function cm.initial_effect(c)
...
@@ -6,13 +6,7 @@ function cm.initial_effect(c)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--link summon
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLevelAbove
,
7
),
1
,
1
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLevelAbove
,
7
),
1
,
1
)
--cannot be link material
Tenka
.
PyroLink
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e0
:
SetValue
(
1
)
c
:
RegisterEffect
(
e0
)
--
--
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
...
expansions/script/c81012005.lua
View file @
5f42b44d
--游戏女王·艾米莉
--游戏女王·艾米莉
function
c81012005
.
initial_effect
(
c
)
local
m
=
81012005
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
4
,
4
,
c81012005
.
lcheck
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
4
,
4
,
cm
.
lcheck
)
--cannot be link material
Tenka
.
PyroLink
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e0
:
SetValue
(
1
)
c
:
RegisterEffect
(
e0
)
--destroy replace
--destroy replace
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_DESTROY_REPLACE
)
e1
:
SetCode
(
EFFECT_DESTROY_REPLACE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTarget
(
c
81012005
.
reptg
)
e1
:
SetTarget
(
c
m
.
reptg
)
e1
:
SetValue
(
c
81012005
.
repval
)
e1
:
SetValue
(
c
m
.
repval
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--copy effect
--copy effect
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
...
@@ -24,10 +21,10 @@ function c81012005.initial_effect(c)
...
@@ -24,10 +21,10 @@ function c81012005.initial_effect(c)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCountLimit
(
1
,
81012005
)
e2
:
SetCountLimit
(
1
,
m
)
e2
:
SetCondition
(
c
81012005
.
cpcon
)
e2
:
SetCondition
(
c
m
.
cpcon
)
e2
:
SetTarget
(
c
81012005
.
cptg
)
e2
:
SetTarget
(
c
m
.
cptg
)
e2
:
SetOperation
(
c
81012005
.
cpop
)
e2
:
SetOperation
(
c
m
.
cpop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--return to deck
--return to deck
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
...
@@ -35,56 +32,56 @@ function c81012005.initial_effect(c)
...
@@ -35,56 +32,56 @@ function c81012005.initial_effect(c)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e3
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e3
:
SetCode
(
EVENT_TO_GRAVE
)
e3
:
SetCode
(
EVENT_TO_GRAVE
)
e3
:
SetCountLimit
(
1
,
81012095
)
e3
:
SetCountLimit
(
1
,
m
+
90
)
e3
:
SetCondition
(
c
81012005
.
tdcon
)
e3
:
SetCondition
(
c
m
.
tdcon
)
e3
:
SetTarget
(
c
81012005
.
tdtg
)
e3
:
SetTarget
(
c
m
.
tdtg
)
e3
:
SetOperation
(
c
81012005
.
tdop
)
e3
:
SetOperation
(
c
m
.
tdop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
function
c
81012005
.
lcheck
(
g
,
lc
)
function
c
m
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
c
81012005
.
mzfilter
,
1
,
nil
)
and
g
:
GetClassCount
(
Card
.
GetOriginalCode
)
==
g
:
GetCount
()
return
g
:
IsExists
(
c
m
.
mzfilter
,
1
,
nil
)
and
g
:
GetClassCount
(
Card
.
GetOriginalCode
)
==
g
:
GetCount
()
end
end
function
c
81012005
.
mzfilter
(
c
)
function
c
m
.
mzfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsLevelAbove
(
7
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsLevelAbove
(
7
)
end
end
function
c
81012005
.
repfilter
(
c
,
tp
)
function
c
m
.
repfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsControler
(
tp
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsReason
(
REASON_BATTLE
+
REASON_EFFECT
)
and
not
c
:
IsReason
(
REASON_REPLACE
)
return
c
:
IsFaceup
()
and
c
:
IsControler
(
tp
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsReason
(
REASON_BATTLE
+
REASON_EFFECT
)
and
not
c
:
IsReason
(
REASON_REPLACE
)
end
end
function
c
81012005
.
rmfilter
(
c
)
function
c
m
.
rmfilter
(
c
)
return
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToRemove
()
return
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToRemove
()
end
end
function
c
81012005
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
eg
:
IsExists
(
c
81012005
.
repfilter
,
1
,
nil
,
tp
)
if
chk
==
0
then
return
eg
:
IsExists
(
c
m
.
repfilter
,
1
,
nil
,
tp
)
and
Duel
.
IsExistingMatchingCard
(
c
81012005
.
rmfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
and
Duel
.
IsExistingMatchingCard
(
c
m
.
rmfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
if
Duel
.
SelectEffectYesNo
(
tp
,
e
:
GetHandler
(),
96
)
then
if
Duel
.
SelectEffectYesNo
(
tp
,
e
:
GetHandler
(),
96
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
81012005
.
rmfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
m
.
rmfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_REPLACE
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_REPLACE
)
return
true
return
true
end
end
return
false
return
false
end
end
function
c
81012005
.
repval
(
e
,
c
)
function
c
m
.
repval
(
e
,
c
)
return
c
81012005
.
repfilter
(
c
,
e
:
GetHandlerPlayer
())
return
c
m
.
repfilter
(
c
,
e
:
GetHandlerPlayer
())
end
end
function
c
81012005
.
cfilter
(
c
)
function
c
m
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
bit
.
band
(
c
:
GetType
(),
0x81
)
==
0x81
and
c
:
IsType
(
TYPE_PENDULUM
)
return
c
:
IsFaceup
()
and
bit
.
band
(
c
:
GetType
(),
0x81
)
==
0x81
and
c
:
IsType
(
TYPE_PENDULUM
)
end
end
function
c
81012005
.
cpcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
cpcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
Duel
.
IsExistingMatchingCard
(
c
81012005
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
return
not
Duel
.
IsExistingMatchingCard
(
c
m
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
end
function
c
81012005
.
cpfilter
(
c
)
function
c
m
.
cpfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToDeck
()
and
c
:
CheckActivateEffect
(
false
,
true
,
false
)
~=
nil
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToDeck
()
and
c
:
CheckActivateEffect
(
false
,
true
,
false
)
~=
nil
end
end
function
c
81012005
.
cptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c
m
.
cptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
if
chkc
then
local
te
=
e
:
GetLabelObject
()
local
te
=
e
:
GetLabelObject
()
local
tg
=
te
:
GetTarget
()
local
tg
=
te
:
GetTarget
()
return
tg
and
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
,
chkc
)
return
tg
and
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
,
chkc
)
end
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c
81012005
.
cpfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c
m
.
cpfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c
81012005
.
cpfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c
m
.
cpfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
g
:
GetFirst
():
CheckActivateEffect
(
false
,
true
,
true
)
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
g
:
GetFirst
():
CheckActivateEffect
(
false
,
true
,
true
)
Duel
.
ClearTargetCard
()
Duel
.
ClearTargetCard
()
g
:
GetFirst
():
CreateEffectRelation
(
e
)
g
:
GetFirst
():
CreateEffectRelation
(
e
)
...
@@ -95,7 +92,7 @@ function c81012005.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -95,7 +92,7 @@ function c81012005.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
nil
,
0
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
nil
,
0
,
0
,
0
)
end
end
function
c
81012005
.
cpop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
cpop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
te
=
e
:
GetLabelObject
()
local
te
=
e
:
GetLabelObject
()
if
not
te
then
return
end
if
not
te
then
return
end
if
not
te
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
if
not
te
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
...
@@ -105,19 +102,19 @@ function c81012005.cpop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -105,19 +102,19 @@ function c81012005.cpop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Remove
(
te
:
GetHandler
(),
POS_FACEUP
,
REASON_EFFECT
)
Duel
.
Remove
(
te
:
GetHandler
(),
POS_FACEUP
,
REASON_EFFECT
)
end
end
function
c
81012005
.
tdcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
tdcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
end
end
function
c
81012005
.
tdfilter
(
c
)
function
c
m
.
tdfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
(
c
:
IsType
(
TYPE_PENDULUM
)
or
c
:
IsType
(
TYPE_SPELL
))
and
c
:
IsAbleToDeck
()
return
c
:
IsType
(
TYPE_RITUAL
)
and
(
c
:
IsType
(
TYPE_PENDULUM
)
or
c
:
IsType
(
TYPE_SPELL
))
and
c
:
IsAbleToDeck
()
end
end
function
c
81012005
.
tdtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
tdtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
81012005
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
m
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
end
local
g
=
Duel
.
GetMatchingGroup
(
c
81012005
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c
m
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
g
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
g
:
GetCount
(),
0
,
0
)
end
end
function
c
81012005
.
tdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
tdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c
81012005
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c
m
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_EFFECT
)
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_EFFECT
)
end
end
...
...
expansions/script/c81012008.lua
View file @
5f42b44d
--漫读·艾米莉
--漫读·艾米莉
function
c81012008
.
initial_effect
(
c
)
local
m
=
81012008
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
c81012008
.
matfilter
,
1
,
1
)
aux
.
AddLinkProcedure
(
c
,
cm
.
matfilter
,
1
,
1
)
--cannot link material
Tenka
.
PyroLink
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e1
:
SetValue
(
1
)
c
:
RegisterEffect
(
e1
)
--set
--set
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetCountLimit
(
1
,
81012008
)
e2
:
SetCountLimit
(
1
,
m
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCondition
(
c
81012008
.
setcon
)
e2
:
SetCondition
(
c
m
.
setcon
)
e2
:
SetTarget
(
c
81012008
.
settg
)
e2
:
SetTarget
(
c
m
.
settg
)
e2
:
SetOperation
(
c
81012008
.
setop
)
e2
:
SetOperation
(
c
m
.
setop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c
81012008
.
matfilter
(
c
)
function
c
m
.
matfilter
(
c
)
return
c
:
IsLinkType
(
TYPE_RITUAL
)
and
c
:
IsLinkType
(
TYPE_PENDULUM
)
return
c
:
IsLinkType
(
TYPE_RITUAL
)
and
c
:
IsLinkType
(
TYPE_PENDULUM
)
end
end
function
c
81012008
.
cfilter
(
c
,
lg
)
function
c
m
.
cfilter
(
c
,
lg
)
return
c
:
IsSummonType
(
SUMMON_TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
lg
:
IsContains
(
c
)
return
c
:
IsSummonType
(
SUMMON_TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
lg
:
IsContains
(
c
)
end
end
function
c
81012008
.
setcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
setcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
return
eg
:
IsExists
(
c
81012008
.
cfilter
,
1
,
nil
,
lg
)
return
eg
:
IsExists
(
c
m
.
cfilter
,
1
,
nil
,
lg
)
end
end
function
c
81012008
.
setfilter
(
c
)
function
c
m
.
setfilter
(
c
)
return
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsSSetable
()
return
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsSSetable
()
end
end
function
c
81012008
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c
m
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c
81012008
.
setfilter
(
chkc
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c
m
.
setfilter
(
chkc
)
end
if
chk
==
0
then
return
true
end
if
chk
==
0
then
return
true
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c
81012008
.
setfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c
m
.
setfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
g
,
1
,
0
,
0
)
end
end
function
c
81012008
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsSSetable
()
then
if
tc
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsSSetable
()
then
Duel
.
SSet
(
tp
,
tc
)
Duel
.
SSet
(
tp
,
tc
)
...
...
expansions/script/c81012025.lua
View file @
5f42b44d
--樱花树下·爱米莉
--樱花树下·爱米莉
function
c81012025
.
initial_effect
(
c
)
local
m
=
81012025
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
2
,
2
,
c81012025
.
lcheck
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
2
,
2
,
cm
.
lcheck
)
--cannot be link material
Tenka
.
PyroLink
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e0
:
SetValue
(
1
)
c
:
RegisterEffect
(
e0
)
--tohand
--tohand
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCountLimit
(
1
,
81012025
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetCondition
(
c
81012025
.
thcon
)
e1
:
SetCondition
(
c
m
.
thcon
)
e1
:
SetTarget
(
c
81012025
.
thtg
)
e1
:
SetTarget
(
c
m
.
thtg
)
e1
:
SetOperation
(
c
81012025
.
thop
)
e1
:
SetOperation
(
c
m
.
thop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--special summon
--special summon
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
...
@@ -25,48 +22,48 @@ function c81012025.initial_effect(c)
...
@@ -25,48 +22,48 @@ function c81012025.initial_effect(c)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetCountLimit
(
1
,
81012925
)
e3
:
SetCountLimit
(
1
,
m
+
900
)
e3
:
SetCost
(
aux
.
bfgcost
)
e3
:
SetCost
(
aux
.
bfgcost
)
e3
:
SetTarget
(
c
81012025
.
sptg2
)
e3
:
SetTarget
(
c
m
.
sptg2
)
e3
:
SetOperation
(
c
81012025
.
spop2
)
e3
:
SetOperation
(
c
m
.
spop2
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
function
c
81012025
.
lcheck
(
g
,
lc
)
function
c
m
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
c
81012025
.
mzfilter
,
1
,
nil
)
return
g
:
IsExists
(
c
m
.
mzfilter
,
1
,
nil
)
end
end
function
c
81012025
.
mzfilter
(
c
)
function
c
m
.
mzfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
end
end
function
c
81012025
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
end
end
function
c
81012025
.
filter
(
c
)
function
c
m
.
filter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
(
c
:
IsType
(
TYPE_PENDULUM
)
or
c
:
IsType
(
TYPE_SPELL
))
and
c
:
IsAbleToHand
()
return
c
:
IsType
(
TYPE_RITUAL
)
and
(
c
:
IsType
(
TYPE_PENDULUM
)
or
c
:
IsType
(
TYPE_SPELL
))
and
c
:
IsAbleToHand
()
end
end
function
c
81012025
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
81012025
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
m
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
end
function
c
81012025
.
thop
(
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
81012025
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
m
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
end
end
function
c
81012025
.
spfilter2
(
c
,
e
,
tp
)
function
c
m
.
spfilter2
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_PYRO
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
not
c
:
IsCode
(
81012025
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_PYRO
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
not
c
:
IsCode
(
81012025
)
end
end
function
c
81012025
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c
m
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_REMOVED
)
and
chkc
:
IsControler
(
tp
)
and
c
81012025
.
spfilter2
(
chkc
,
e
,
tp
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_REMOVED
)
and
chkc
:
IsControler
(
tp
)
and
c
m
.
spfilter2
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c
81012025
.
spfilter2
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c
m
.
spfilter2
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c
81012025
.
spfilter2
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c
m
.
spfilter2
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
end
end
function
c
81012025
.
spop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
spop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
if
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
...
@@ -76,10 +73,10 @@ function c81012025.spop2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -76,10 +73,10 @@ function c81012025.spop2(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
c
81012025
.
splimit
)
e1
:
SetTarget
(
c
m
.
splimit
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
end
function
c
81012025
.
splimit
(
e
,
c
)
function
c
m
.
splimit
(
e
,
c
)
return
not
c
:
IsRace
(
RACE_PYRO
)
and
c
:
IsLocation
(
LOCATION_EXTRA
)
return
not
c
:
IsRace
(
RACE_PYRO
)
and
c
:
IsLocation
(
LOCATION_EXTRA
)
end
end
expansions/script/c81012026.lua
View file @
5f42b44d
--粉红沙冰·爱米莉
--粉红沙冰·爱米莉
function
c81012026
.
initial_effect
(
c
)
local
m
=
81012026
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
3
,
3
,
c81012026
.
lcheck
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
3
,
3
,
cm
.
lcheck
)
--cannot be link material
Tenka
.
PyroLink
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e0
:
SetValue
(
1
)
c
:
RegisterEffect
(
e0
)
--act limit
--act limit
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetOperation
(
c
81012026
.
chainop
)
e1
:
SetOperation
(
c
m
.
chainop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--cannot be target
--cannot be target
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
...
@@ -23,7 +20,7 @@ function c81012026.initial_effect(c)
...
@@ -23,7 +20,7 @@ function c81012026.initial_effect(c)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e2
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e2
:
SetTarget
(
c
81012026
.
tgtg
)
e2
:
SetTarget
(
c
m
.
tgtg
)
e2
:
SetValue
(
aux
.
tgoval
)
e2
:
SetValue
(
aux
.
tgoval
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--remove
--remove
...
@@ -33,76 +30,76 @@ function c81012026.initial_effect(c)
...
@@ -33,76 +30,76 @@ function c81012026.initial_effect(c)
e3
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e3
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
+
EFFECT_FLAG_DELAY
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
+
EFFECT_FLAG_DELAY
)
e3
:
SetCountLimit
(
1
,
81012026
)
e3
:
SetCountLimit
(
1
,
m
)
e3
:
SetCondition
(
c
81012026
.
rmcon
)
e3
:
SetCondition
(
c
m
.
rmcon
)
e3
:
SetTarget
(
c
81012026
.
rmtg
)
e3
:
SetTarget
(
c
m
.
rmtg
)
e3
:
SetOperation
(
c
81012026
.
rmop
)
e3
:
SetOperation
(
c
m
.
rmop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
--set
--set
local
e5
=
Effect
.
CreateEffect
(
c
)
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e5
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e5
:
SetCode
(
EVENT_DESTROYED
)
e5
:
SetCode
(
EVENT_DESTROYED
)
e5
:
SetCountLimit
(
1
,
81012926
)
e5
:
SetCountLimit
(
1
,
m
+
900
)
e5
:
SetCondition
(
c
81012026
.
setcon
)
e5
:
SetCondition
(
c
m
.
setcon
)
e5
:
SetTarget
(
c
81012026
.
settg
)
e5
:
SetTarget
(
c
m
.
settg
)
e5
:
SetOperation
(
c
81012026
.
setop
)
e5
:
SetOperation
(
c
m
.
setop
)
c
:
RegisterEffect
(
e5
)
c
:
RegisterEffect
(
e5
)
end
end
function
c
81012026
.
lcheck
(
g
,
lc
)
function
c
m
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
c
81012026
.
mzfilter
,
1
,
nil
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
==
g
:
GetCount
()
return
g
:
IsExists
(
c
m
.
mzfilter
,
1
,
nil
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
==
g
:
GetCount
()
end
end
function
c
81012026
.
mzfilter
(
c
)
function
c
m
.
mzfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsLevelAbove
(
4
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsLevelAbove
(
4
)
end
end
function
c
81012026
.
chainop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
chainop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
rc
=
re
:
GetHandler
()
local
rc
=
re
:
GetHandler
()
if
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
ep
==
tp
and
re
:
IsActiveType
(
TYPE_RITUAL
)
then
if
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
ep
==
tp
and
re
:
IsActiveType
(
TYPE_RITUAL
)
then
Duel
.
SetChainLimit
(
c
81012026
.
chainlm
)
Duel
.
SetChainLimit
(
c
m
.
chainlm
)
end
end
end
end
function
c
81012026
.
chainlm
(
e
,
rp
,
tp
)
function
c
m
.
chainlm
(
e
,
rp
,
tp
)
return
tp
==
rp
return
tp
==
rp
end
end
function
c
81012026
.
tgtg
(
e
,
c
)
function
c
m
.
tgtg
(
e
,
c
)
return
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsType
(
TYPE_RITUAL
)
return
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsType
(
TYPE_RITUAL
)
end
end
function
c
81012026
.
cfilter
(
c
,
tp
)
function
c
m
.
cfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsSummonType
(
SUMMON_TYPE_RITUAL
)
and
lg
:
IsContains
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsSummonType
(
SUMMON_TYPE_RITUAL
)
and
lg
:
IsContains
(
c
)
end
end
function
c
81012026
.
rmcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
rmcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
return
eg
:
IsExists
(
c
81012026
.
cfilter
,
1
,
nil
,
lg
)
return
eg
:
IsExists
(
c
m
.
cfilter
,
1
,
nil
,
lg
)
end
end
function
c
81012026
.
rmtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c
m
.
rmtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsAbleToRemove
()
end
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsAbleToRemove
()
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
Card
.
IsAbleToRemove
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
Card
.
IsAbleToRemove
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsAbleToRemove
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsAbleToRemove
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
1
,
0
,
0
)
end
end
function
c
81012026
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
if
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
Remove
(
tc
,
POS_FACEUP
,
REASON_EFFECT
)
Duel
.
Remove
(
tc
,
POS_FACEUP
,
REASON_EFFECT
)
end
end
end
end
function
c
81012026
.
setcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
setcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
rp
==
1
-
tp
and
c
:
GetPreviousControler
()
==
tp
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
return
rp
==
1
-
tp
and
c
:
GetPreviousControler
()
==
tp
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
end
end
function
c
81012026
.
setfilter
(
c
)
function
c
m
.
setfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsSSetable
()
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsSSetable
()
end
end
function
c
81012026
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c
m
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c
81012026
.
setfilter
(
chkc
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c
m
.
setfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c
81012026
.
setfilter
,
tp
,
LOCATION_GRAVE
,
LOCATION_GRAVE
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c
m
.
setfilter
,
tp
,
LOCATION_GRAVE
,
LOCATION_GRAVE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c
81012026
.
setfilter
,
tp
,
LOCATION_GRAVE
,
LOCATION_GRAVE
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c
m
.
setfilter
,
tp
,
LOCATION_GRAVE
,
LOCATION_GRAVE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
g
,
1
,
0
,
0
)
end
end
function
c
81012026
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsSSetable
()
then
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsSSetable
()
then
Duel
.
SSet
(
tp
,
tc
)
Duel
.
SSet
(
tp
,
tc
)
...
...
expansions/script/c81012028.lua
View file @
5f42b44d
--只是早餐·爱米莉
--只是早餐·爱米莉
function
c81012028
.
initial_effect
(
c
)
local
m
=
81012028
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_PENDULUM
),
3
,
3
,
c
81012028
.
lcheck
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_PENDULUM
),
3
,
3
,
c
m
.
lcheck
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--cannot be link material
Tenka
.
PyroLink
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e0
:
SetValue
(
1
)
c
:
RegisterEffect
(
e0
)
--draw
--draw
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_DRAW
)
e1
:
SetCategory
(
CATEGORY_DRAW
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCondition
(
c
81012028
.
drcon
)
e1
:
SetCondition
(
c
m
.
drcon
)
e1
:
SetTarget
(
c
81012028
.
drtg
)
e1
:
SetTarget
(
c
m
.
drtg
)
e1
:
SetOperation
(
c
81012028
.
drop
)
e1
:
SetOperation
(
c
m
.
drop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--spsummon
--spsummon
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
...
@@ -26,55 +23,55 @@ function c81012028.initial_effect(c)
...
@@ -26,55 +23,55 @@ function c81012028.initial_effect(c)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetCountLimit
(
1
,
81012928
)
e3
:
SetCountLimit
(
1
,
m
+
900
)
e3
:
SetTarget
(
c
81012028
.
sptg
)
e3
:
SetTarget
(
c
m
.
sptg
)
e3
:
SetOperation
(
c
81012028
.
spop
)
e3
:
SetOperation
(
c
m
.
spop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
function
c
81012028
.
lcheck
(
g
,
lc
)
function
c
m
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
c
81012028
.
mzfilter
,
1
,
nil
)
return
g
:
IsExists
(
c
m
.
mzfilter
,
1
,
nil
)
end
end
function
c
81012028
.
mzfilter
(
c
)
function
c
m
.
mzfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
end
end
function
c
81012028
.
cfilter
(
c
,
lg
,
tp
)
function
c
m
.
cfilter
(
c
,
lg
,
tp
)
return
c
:
IsRace
(
RACE_PYRO
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsSummonType
(
SUMMON_TYPE_RITUAL
)
and
lg
:
IsContains
(
c
)
return
c
:
IsRace
(
RACE_PYRO
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsSummonType
(
SUMMON_TYPE_RITUAL
)
and
lg
:
IsContains
(
c
)
and
not
Duel
.
IsExistingMatchingCard
(
c
81012028
.
drfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
c
,
c
:
GetCode
())
and
not
Duel
.
IsExistingMatchingCard
(
c
m
.
drfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
c
,
c
:
GetCode
())
end
end
function
c
81012028
.
drfilter
(
c
,
code
)
function
c
m
.
drfilter
(
c
,
code
)
return
c
:
IsFaceup
()
and
c
:
IsCode
(
code
)
return
c
:
IsFaceup
()
and
c
:
IsCode
(
code
)
end
end
function
c
81012028
.
drcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
drcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
return
eg
:
IsExists
(
c
81012028
.
cfilter
,
1
,
nil
,
lg
,
tp
)
return
eg
:
IsExists
(
c
m
.
cfilter
,
1
,
nil
,
lg
,
tp
)
end
end
function
c
81012028
.
drtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
drtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
if
chk
==
0
then
return
true
end
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
1
)
Duel
.
SetTargetParam
(
1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
end
end
function
c
81012028
.
drop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
drop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
Duel
.
Draw
(
p
,
d
,
REASON_EFFECT
)
Duel
.
Draw
(
p
,
d
,
REASON_EFFECT
)
end
end
function
c
81012028
.
counterfilter
(
c
)
function
c
m
.
counterfilter
(
c
)
return
c
:
IsRace
(
RACE_PYRO
)
return
c
:
IsRace
(
RACE_PYRO
)
end
end
function
c
81012028
.
filter
(
c
,
e
,
tp
,
zone
)
function
c
m
.
filter
(
c
,
e
,
tp
,
zone
)
return
c
:
IsRace
(
RACE_PYRO
)
and
not
c
:
IsType
(
TYPE_LINK
)
return
c
:
IsRace
(
RACE_PYRO
)
and
not
c
:
IsType
(
TYPE_LINK
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
,
tp
,
zone
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
,
tp
,
zone
)
end
end
function
c
81012028
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c
m
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
zone
=
bit
.
band
(
e
:
GetHandler
():
GetLinkedZone
(
tp
),
0x1f
)
local
zone
=
bit
.
band
(
e
:
GetHandler
():
GetLinkedZone
(
tp
),
0x1f
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c
81012028
.
filter
(
chkc
,
e
,
tp
,
zone
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c
m
.
filter
(
chkc
,
e
,
tp
,
zone
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c
81012028
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
,
zone
)
end
and
Duel
.
IsExistingTarget
(
c
m
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
,
zone
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c
81012028
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
,
zone
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c
m
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
,
zone
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
end
end
function
c
81012028
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
local
zone
=
bit
.
band
(
e
:
GetHandler
():
GetLinkedZone
(
tp
),
0x1f
)
local
zone
=
bit
.
band
(
e
:
GetHandler
():
GetLinkedZone
(
tp
),
0x1f
)
if
tc
:
IsRelateToEffect
(
e
)
and
zone
~=
0
then
if
tc
:
IsRelateToEffect
(
e
)
and
zone
~=
0
then
...
@@ -85,10 +82,10 @@ function c81012028.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -85,10 +82,10 @@ function c81012028.spop(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
c
81012028
.
splimit
)
e1
:
SetTarget
(
c
m
.
splimit
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
end
function
c
81012028
.
splimit
(
e
,
c
)
function
c
m
.
splimit
(
e
,
c
)
return
not
c
:
IsRace
(
RACE_PYRO
)
return
not
c
:
IsRace
(
RACE_PYRO
)
end
end
expansions/script/c81012053.lua
View file @
5f42b44d
--实习女仆·双叶
--实习女仆·双叶
function
c81012053
.
initial_effect
(
c
)
local
m
=
81012053
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
2
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
2
)
Tenka
.
PyroLink
(
c
)
--set
--set
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
81012053
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCountLimit
(
1
,
81012053
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetCondition
(
c
81012053
.
setcon
)
e1
:
SetCondition
(
c
m
.
setcon
)
e1
:
SetTarget
(
c
81012053
.
settg
)
e1
:
SetTarget
(
c
m
.
settg
)
e1
:
SetOperation
(
c
81012053
.
setop
)
e1
:
SetOperation
(
c
m
.
setop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--cannot be link material
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e2
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e2
:
SetValue
(
1
)
c
:
RegisterEffect
(
e2
)
--to hand
--to hand
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
81012053
,
1
))
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
,
81012953
)
e3
:
SetCountLimit
(
1
,
81012953
)
e3
:
SetCondition
(
c
81012053
.
thcon
)
e3
:
SetCondition
(
c
m
.
thcon
)
e3
:
SetTarget
(
c
81012053
.
thtg
)
e3
:
SetTarget
(
c
m
.
thtg
)
e3
:
SetOperation
(
c
81012053
.
thop
)
e3
:
SetOperation
(
c
m
.
thop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
function
c
81012053
.
setcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
setcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
end
end
function
c
81012053
.
setfilter1
(
c
,
tp
)
function
c
m
.
setfilter1
(
c
,
tp
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
not
c
:
IsForbidden
()
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
not
c
:
IsForbidden
()
and
Duel
.
IsExistingMatchingCard
(
c
81012053
.
setfilter2
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
c
:
GetCode
())
and
Duel
.
IsExistingMatchingCard
(
c
m
.
setfilter2
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
c
:
GetCode
())
end
end
function
c
81012053
.
setfilter2
(
c
,
code
)
function
c
m
.
setfilter2
(
c
,
code
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
not
c
:
IsCode
(
code
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
not
c
:
IsForbidden
()
return
c
:
IsType
(
TYPE_RITUAL
)
and
not
c
:
IsCode
(
code
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
not
c
:
IsForbidden
()
end
end
function
c
81012053
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
0
)
and
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
1
)
if
chk
==
0
then
return
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
0
)
and
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
1
)
and
Duel
.
IsExistingMatchingCard
(
c
81012053
.
setfilter1
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
tp
)
end
and
Duel
.
IsExistingMatchingCard
(
c
m
.
setfilter1
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
tp
)
end
end
end
function
c
81012053
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
0
)
or
not
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
1
)
then
return
end
if
not
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
0
)
or
not
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
1
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
c
81012053
.
setfilter1
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
tp
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
c
m
.
setfilter1
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
tp
)
local
tc1
=
g1
:
GetFirst
()
local
tc1
=
g1
:
GetFirst
()
if
not
tc1
then
return
end
if
not
tc1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
c
81012053
.
setfilter2
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
tc1
:
GetCode
())
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
c
m
.
setfilter2
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
tc1
:
GetCode
())
local
tc2
=
g2
:
GetFirst
()
local
tc2
=
g2
:
GetFirst
()
Duel
.
MoveToField
(
tc1
,
tp
,
tp
,
LOCATION_PZONE
,
POS_FACEUP
,
true
)
Duel
.
MoveToField
(
tc1
,
tp
,
tp
,
LOCATION_PZONE
,
POS_FACEUP
,
true
)
Duel
.
MoveToField
(
tc2
,
tp
,
tp
,
LOCATION_PZONE
,
POS_FACEUP
,
true
)
Duel
.
MoveToField
(
tc2
,
tp
,
tp
,
LOCATION_PZONE
,
POS_FACEUP
,
true
)
...
@@ -65,30 +62,30 @@ function c81012053.setop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -65,30 +62,30 @@ function c81012053.setop(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
c
81012053
.
splimit
)
e1
:
SetTarget
(
c
m
.
splimit
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
end
function
c
81012053
.
splimit
(
e
,
c
)
function
c
m
.
splimit
(
e
,
c
)
return
not
c
:
IsRace
(
RACE_PYRO
)
return
not
c
:
IsRace
(
RACE_PYRO
)
end
end
function
c
81012053
.
cfilter
(
c
,
lg
)
function
c
m
.
cfilter
(
c
,
lg
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
lg
:
IsContains
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
lg
:
IsContains
(
c
)
end
end
function
c
81012053
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
return
eg
:
IsExists
(
c
81012053
.
cfilter
,
1
,
nil
,
lg
)
return
eg
:
IsExists
(
c
m
.
cfilter
,
1
,
nil
,
lg
)
end
end
function
c
81012053
.
thfilter
(
c
)
function
c
m
.
thfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToHand
()
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToHand
()
end
end
function
c
81012053
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
81012053
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
end
function
c
81012053
.
thop
(
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
81012053
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
m
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
...
...
expansions/script/c81012054.lua
View file @
5f42b44d
--害羞女仆·理子
--害羞女仆·理子
function
c81012054
.
initial_effect
(
c
)
local
m
=
81012054
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
aux
.
AddLinkProcedure
(
c
,
c
81012054
.
mfilter
,
2
)
aux
.
AddLinkProcedure
(
c
,
c
m
.
mfilter
,
2
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
Tenka
.
PyroLink
(
c
)
--spsummon
--spsummon
local
e0
=
aux
.
AddRitualProcEqual2
(
c
,
c
81012054
.
filter
,
LOCATION_REMOVED
,
nil
,
c81012054
.
psfilter
)
local
e0
=
aux
.
AddRitualProcEqual2
(
c
,
c
m
.
filter
,
LOCATION_REMOVED
,
nil
,
cm
.
psfilter
)
e0
:
SetType
(
EFFECT_TYPE_IGNITION
)
e0
:
SetType
(
EFFECT_TYPE_IGNITION
)
e0
:
SetCode
(
0
)
e0
:
SetCode
(
0
)
e0
:
SetCountLimit
(
1
,
81012054
)
e0
:
SetCountLimit
(
1
,
m
)
e0
:
SetRange
(
LOCATION_MZONE
)
e0
:
SetRange
(
LOCATION_MZONE
)
e0
:
SetCost
(
c
81012054
.
cost
)
e0
:
SetCost
(
c
m
.
cost
)
--spsummon
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
@@ -18,44 +22,37 @@ function c81012054.initial_effect(c)
...
@@ -18,44 +22,37 @@ function c81012054.initial_effect(c)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCountLimit
(
1
,
81012954
)
e2
:
SetCountLimit
(
1
,
81012954
)
e2
:
SetCondition
(
c
81012054
.
spcon
)
e2
:
SetCondition
(
c
m
.
spcon
)
e2
:
SetTarget
(
c
81012054
.
sptg
)
e2
:
SetTarget
(
c
m
.
sptg
)
e2
:
SetOperation
(
c
81012054
.
spop
)
e2
:
SetOperation
(
c
m
.
spop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--cannot be link material
end
local
e3
=
Effect
.
CreateEffect
(
c
)
function
cm
.
mfilter
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e3
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e3
:
SetValue
(
1
)
c
:
RegisterEffect
(
e3
)
end
function
c81012054
.
mfilter
(
c
)
return
c
:
IsLinkType
(
TYPE_PENDULUM
)
and
c
:
IsLinkRace
(
RACE_PYRO
)
return
c
:
IsLinkType
(
TYPE_PENDULUM
)
and
c
:
IsLinkRace
(
RACE_PYRO
)
end
end
function
c
81012054
.
filter
(
c
)
function
c
m
.
filter
(
c
)
return
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsType
(
TYPE_RITUAL
)
return
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsType
(
TYPE_RITUAL
)
end
end
function
c
81012054
.
psfilter
(
c
,
e
,
tp
)
function
c
m
.
psfilter
(
c
,
e
,
tp
)
return
c
~=
e
:
GetHandler
()
return
c
~=
e
:
GetHandler
()
end
end
function
c
81012054
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsReleasable
()
end
if
chk
==
0
then
return
e
:
GetHandler
():
IsReleasable
()
end
Duel
.
Release
(
e
:
GetHandler
(),
REASON_COST
)
Duel
.
Release
(
e
:
GetHandler
(),
REASON_COST
)
end
end
function
c
81012054
.
spcfilter
(
c
,
tp
)
function
c
m
.
spcfilter
(
c
,
tp
)
return
c
:
IsSummonType
(
SUMMON_TYPE_RITUAL
)
and
c
:
IsReason
(
REASON_BATTLE
+
REASON_EFFECT
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
GetPreviousControler
()
==
tp
return
c
:
IsSummonType
(
SUMMON_TYPE_RITUAL
)
and
c
:
IsReason
(
REASON_BATTLE
+
REASON_EFFECT
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
GetPreviousControler
()
==
tp
end
end
function
c
81012054
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c
81012054
.
spcfilter
,
1
,
nil
,
tp
)
return
eg
:
IsExists
(
c
m
.
spcfilter
,
1
,
nil
,
tp
)
end
end
function
c
81012054
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
end
end
function
c
81012054
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
then
if
c
:
IsRelateToEffect
(
e
)
then
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
...
...
expansions/script/c81012063.lua
View file @
5f42b44d
--特别礼物·爱米莉
--特别礼物·爱米莉
function
c81012063
.
initial_effect
(
c
)
local
m
=
81012063
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
c81012063
.
matfilter
,
4
,
4
)
aux
.
AddLinkProcedure
(
c
,
cm
.
matfilter
,
4
,
4
)
Tenka
.
PyroLink
(
c
)
--immune
--immune
local
e0
=
Effect
.
CreateEffect
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetCode
(
EFFECT_IMMUNE_EFFECT
)
e0
:
SetCode
(
EFFECT_IMMUNE_EFFECT
)
e0
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e0
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e0
:
SetRange
(
LOCATION_MZONE
)
e0
:
SetRange
(
LOCATION_MZONE
)
e0
:
SetCondition
(
c
81012063
.
tgcon
)
e0
:
SetCondition
(
c
m
.
tgcon
)
e0
:
SetValue
(
c
81012063
.
efilter
)
e0
:
SetValue
(
c
m
.
efilter
)
c
:
RegisterEffect
(
e0
)
c
:
RegisterEffect
(
e0
)
--summon success
--summon success
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCondition
(
c
81012063
.
regcon
)
e1
:
SetCondition
(
c
m
.
regcon
)
e1
:
SetOperation
(
c
81012063
.
regop
)
e1
:
SetOperation
(
c
m
.
regop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_MATERIAL_CHECK
)
e2
:
SetCode
(
EFFECT_MATERIAL_CHECK
)
e2
:
SetValue
(
c
81012063
.
valcheck
)
e2
:
SetValue
(
c
m
.
valcheck
)
e2
:
SetLabelObject
(
e1
)
e2
:
SetLabelObject
(
e1
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--spsummon
--spsummon
local
e3
=
aux
.
AddRitualProcGreater2
(
c
,
c
81012063
.
filter
,
LOCATION_DECK
)
local
e3
=
aux
.
AddRitualProcGreater2
(
c
,
c
m
.
filter
,
LOCATION_DECK
)
e3
:
SetDescription
(
aux
.
Stringid
(
81012063
,
0
))
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetCode
(
0
)
e3
:
SetCode
(
0
)
e3
:
SetCountLimit
(
1
,
81012063
)
e3
:
SetCountLimit
(
1
,
m
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetRange
(
LOCATION_MZONE
)
--cannot be link material
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
)
e4
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e4
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e4
:
SetValue
(
1
)
c
:
RegisterEffect
(
e4
)
--activate limit
--activate limit
local
e6
=
Effect
.
CreateEffect
(
c
)
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetDescription
(
aux
.
Stringid
(
81012063
,
1
))
e6
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e6
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e6
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e6
:
SetCode
(
EVENT_FREE_CHAIN
)
e6
:
SetCode
(
EVENT_FREE_CHAIN
)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetHintTiming
(
0
,
TIMING_DRAW_PHASE
)
e6
:
SetHintTiming
(
0
,
TIMING_DRAW_PHASE
)
e6
:
SetCountLimit
(
1
,
81012963
)
e6
:
SetCountLimit
(
1
,
m
+
900
)
e6
:
SetCost
(
c
81012063
.
actcost
)
e6
:
SetCost
(
c
m
.
actcost
)
e6
:
SetOperation
(
c
81012063
.
actop
)
e6
:
SetOperation
(
c
m
.
actop
)
c
:
RegisterEffect
(
e6
)
c
:
RegisterEffect
(
e6
)
end
end
function
c
81012063
.
matfilter
(
c
)
function
c
m
.
matfilter
(
c
)
return
c
:
IsLinkRace
(
RACE_PYRO
)
and
c
:
IsLinkType
(
TYPE_PENDULUM
)
and
c
:
IsLevelAbove
(
8
)
return
c
:
IsLinkRace
(
RACE_PYRO
)
and
c
:
IsLinkType
(
TYPE_PENDULUM
)
and
c
:
IsLevelAbove
(
8
)
end
end
function
c
81012063
.
regcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
regcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
and
e
:
GetLabel
()
==
1
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
and
e
:
GetLabel
()
==
1
end
end
function
c
81012063
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
GetHandler
():
RegisterFlagEffect
(
81012063
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
81012063
,
2
))
e
:
GetHandler
():
RegisterFlagEffect
(
m
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
m
,
2
))
end
end
function
c
81012063
.
valfilter
(
c
)
function
c
m
.
valfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
end
end
function
c
81012063
.
valcheck
(
e
,
c
)
function
c
m
.
valcheck
(
e
,
c
)
local
g
=
c
:
GetMaterial
()
local
g
=
c
:
GetMaterial
()
if
g
:
IsExists
(
c
81012063
.
valfilter
,
1
,
nil
)
then
if
g
:
IsExists
(
c
m
.
valfilter
,
1
,
nil
)
then
e
:
GetLabelObject
():
SetLabel
(
1
)
e
:
GetLabelObject
():
SetLabel
(
1
)
else
else
e
:
GetLabelObject
():
SetLabel
(
0
)
e
:
GetLabelObject
():
SetLabel
(
0
)
end
end
end
end
function
c
81012063
.
tgcon
(
e
)
function
c
m
.
tgcon
(
e
)
return
e
:
GetHandler
():
GetFlagEffect
(
81012063
)
>
0
return
e
:
GetHandler
():
GetFlagEffect
(
m
)
>
0
end
end
function
c
81012063
.
efilter
(
e
,
te
)
function
c
m
.
efilter
(
e
,
te
)
return
te
:
GetOwner
()
~=
e
:
GetOwner
()
return
te
:
GetOwner
()
~=
e
:
GetOwner
()
end
end
function
c
81012063
.
filter
(
c
)
function
c
m
.
filter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsRace
(
RACE_PYRO
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsRace
(
RACE_PYRO
)
end
end
function
c
81012063
.
cfilter
(
c
)
function
c
m
.
cfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
end
end
function
c
81012063
.
actcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
actcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
c
81012063
.
cfilter
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
c
m
.
cfilter
,
1
,
nil
)
end
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c
81012063
.
cfilter
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c
m
.
cfilter
,
1
,
1
,
nil
)
Duel
.
Release
(
g
,
REASON_COST
)
Duel
.
Release
(
g
,
REASON_COST
)
end
end
function
c
81012063
.
actop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
actop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e2
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e2
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e2
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e2
:
SetTargetRange
(
0
,
1
)
e2
:
SetTargetRange
(
0
,
1
)
e2
:
SetValue
(
c
81012063
.
aclimit
)
e2
:
SetValue
(
c
m
.
aclimit
)
e2
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e2
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e2
,
tp
)
Duel
.
RegisterEffect
(
e2
,
tp
)
end
end
function
c
81012063
.
aclimit
(
e
,
re
,
tp
)
function
c
m
.
aclimit
(
e
,
re
,
tp
)
local
loc
=
re
:
GetActivateLocation
()
local
loc
=
re
:
GetActivateLocation
()
return
(
loc
==
LOCATION_SZONE
and
not
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
))
or
(
loc
==
LOCATION_MZONE
and
re
:
IsActiveType
(
TYPE_MONSTER
))
return
(
loc
==
LOCATION_SZONE
and
not
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
))
or
(
loc
==
LOCATION_MZONE
and
re
:
IsActiveType
(
TYPE_MONSTER
))
end
end
expansions/script/c81012070.lua
View file @
5f42b44d
--假日散步·双叶
--假日散步·双叶
function
c81012070
.
initial_effect
(
c
)
local
m
=
81012070
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
c81012070
.
matfilter
,
1
,
1
)
aux
.
AddLinkProcedure
(
c
,
cm
.
matfilter
,
1
,
1
)
--cannot be link material
Tenka
.
PyroLink
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e0
:
SetValue
(
1
)
c
:
RegisterEffect
(
e0
)
--extra pendulum
--extra pendulum
local
e5
=
Effect
.
CreateEffect
(
c
)
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_IGNITION
)
e5
:
SetType
(
EFFECT_TYPE_IGNITION
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetCountLimit
(
1
,
81012070
+
EFFECT_COUNT_CODE_DUEL
)
e5
:
SetCountLimit
(
1
,
m
+
EFFECT_COUNT_CODE_DUEL
)
e5
:
SetCost
(
c
81012070
.
expcost
)
e5
:
SetCost
(
c
m
.
expcost
)
e5
:
SetOperation
(
c
81012070
.
expop
)
e5
:
SetOperation
(
c
m
.
expop
)
c
:
RegisterEffect
(
e5
)
c
:
RegisterEffect
(
e5
)
end
end
function
c
81012070
.
matfilter
(
c
)
function
c
m
.
matfilter
(
c
)
return
c
:
IsLinkType
(
TYPE_RITUAL
)
and
c
:
IsLinkType
(
TYPE_PENDULUM
)
and
c
:
GetOriginalLevel
()
>
7
return
c
:
IsLinkType
(
TYPE_RITUAL
)
and
c
:
IsLinkType
(
TYPE_PENDULUM
)
and
c
:
GetOriginalLevel
()
>
7
end
end
function
c
81012070
.
costfilter
(
c
,
tp
,
mc
)
function
c
m
.
costfilter
(
c
,
tp
,
mc
)
local
lg
=
mc
:
GetLinkedGroup
()
local
lg
=
mc
:
GetLinkedGroup
()
return
lg
:
IsContains
(
c
)
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
return
lg
:
IsContains
(
c
)
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
end
end
function
c
81012070
.
expcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
expcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
81012070
.
costfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
c
,
tp
,
c
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
m
.
costfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
c
,
tp
,
c
)
and
c
:
IsAbleToRemoveAsCost
()
end
and
c
:
IsAbleToRemoveAsCost
()
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
81012070
.
costfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
c
,
tp
,
c
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
m
.
costfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
c
,
tp
,
c
)
g
:
AddCard
(
c
)
g
:
AddCard
(
c
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
end
function
c
81012070
.
expop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
expop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
81012070
,
4
))
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
4
))
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_EXTRA_PENDULUM_SUMMON
)
e1
:
SetCode
(
EFFECT_EXTRA_PENDULUM_SUMMON
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetValue
(
c
81012070
.
pendvalue
)
e1
:
SetValue
(
c
m
.
pendvalue
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
end
function
c
81012070
.
pendvalue
(
e
,
c
)
function
c
m
.
pendvalue
(
e
,
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
end
end
expansions/script/c81012074.lua
View file @
5f42b44d
--青梅竹马·爱米莉
--青梅竹马·爱米莉
function
c81012074
.
initial_effect
(
c
)
local
m
=
81012074
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
2
,
2
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
2
,
2
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
Tenka
.
PyroLink
(
c
)
--remove
--remove
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
81012074
,
0
))
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetCategory
(
CATEGORY_REMOVE
)
e2
:
SetCategory
(
CATEGORY_REMOVE
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetCountLimit
(
1
,
81012074
)
e2
:
SetCountLimit
(
1
,
m
)
e2
:
SetTarget
(
c
81012074
.
target
)
e2
:
SetTarget
(
c
m
.
target
)
e2
:
SetOperation
(
c
81012074
.
operation
)
e2
:
SetOperation
(
c
m
.
operation
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--atkup
--atkup
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
81012074
,
1
))
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e3
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e3
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_BATTLE_START
)
e3
:
SetCode
(
EVENT_BATTLE_START
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
,
81012974
)
e3
:
SetCountLimit
(
1
,
m
+
900
)
e3
:
SetCondition
(
c
81012074
.
atkcon
)
e3
:
SetCondition
(
c
m
.
atkcon
)
e3
:
SetCost
(
c
81012074
.
atkcost
)
e3
:
SetCost
(
c
m
.
atkcost
)
e3
:
SetOperation
(
c
81012074
.
atkop
)
e3
:
SetOperation
(
c
m
.
atkop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
function
c
81012074
.
rmfilter
(
c
)
function
c
m
.
rmfilter
(
c
)
return
c
:
IsRace
(
RACE_PYRO
)
and
c
:
IsAbleToRemove
()
return
c
:
IsRace
(
RACE_PYRO
)
and
c
:
IsAbleToRemove
()
end
end
function
c
81012074
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c
m
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c
81012074
.
rmfilter
(
chkc
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c
m
.
rmfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c
81012074
.
rmfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c
m
.
rmfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c
81012074
.
rmfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c
m
.
rmfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
1
,
0
,
0
)
end
end
function
c
81012074
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
Remove
(
tc
,
0
,
REASON_EFFECT
+
REASON_TEMPORARY
)
~=
0
then
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
Remove
(
tc
,
0
,
REASON_EFFECT
+
REASON_TEMPORARY
)
~=
0
then
...
@@ -50,8 +54,8 @@ function c81012074.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -50,8 +54,8 @@ function c81012074.operation(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_STANDBY
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_STANDBY
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCountLimit
(
1
)
e1
:
SetLabelObject
(
tc
)
e1
:
SetLabelObject
(
tc
)
e1
:
SetCondition
(
c
81012074
.
retcon
)
e1
:
SetCondition
(
c
m
.
retcon
)
e1
:
SetOperation
(
c
81012074
.
retop
)
e1
:
SetOperation
(
c
m
.
retop
)
if
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetCurrentPhase
()
==
PHASE_STANDBY
then
if
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetCurrentPhase
()
==
PHASE_STANDBY
then
e1
:
SetReset
(
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
,
2
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
,
2
)
e1
:
SetValue
(
Duel
.
GetTurnCount
())
e1
:
SetValue
(
Duel
.
GetTurnCount
())
...
@@ -63,31 +67,31 @@ function c81012074.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -63,31 +67,31 @@ function c81012074.operation(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterFlagEffect
(
81012975
,
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
,
0
,
ct
)
tc
:
RegisterFlagEffect
(
81012975
,
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
,
0
,
ct
)
end
end
end
end
function
c
81012074
.
retcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
retcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetTurnPlayer
()
~=
tp
or
Duel
.
GetTurnCount
()
==
e
:
GetValue
()
then
return
false
end
if
Duel
.
GetTurnPlayer
()
~=
tp
or
Duel
.
GetTurnCount
()
==
e
:
GetValue
()
then
return
false
end
return
e
:
GetLabelObject
():
GetFlagEffect
(
81012975
)
~=
0
return
e
:
GetLabelObject
():
GetFlagEffect
(
81012975
)
~=
0
end
end
function
c
81012074
.
retop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
retop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetLabelObject
()
local
tc
=
e
:
GetLabelObject
()
Duel
.
ReturnToField
(
tc
)
Duel
.
ReturnToField
(
tc
)
end
end
function
c
81012074
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetAttacker
()
local
tc
=
Duel
.
GetAttacker
()
if
tc
:
IsControler
(
1
-
tp
)
then
tc
=
Duel
.
GetAttackTarget
()
end
if
tc
:
IsControler
(
1
-
tp
)
then
tc
=
Duel
.
GetAttackTarget
()
end
e
:
SetLabelObject
(
tc
)
e
:
SetLabelObject
(
tc
)
return
tc
and
tc
:
IsControler
(
tp
)
and
tc
:
IsRace
(
RACE_PYRO
)
and
tc
:
IsRelateToBattle
()
and
Duel
.
GetAttackTarget
()
~=
nil
return
tc
and
tc
:
IsControler
(
tp
)
and
tc
:
IsRace
(
RACE_PYRO
)
and
tc
:
IsRelateToBattle
()
and
Duel
.
GetAttackTarget
()
~=
nil
end
end
function
c
81012074
.
atkfilter
(
c
)
function
c
m
.
atkfilter
(
c
)
return
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
GetAttack
()
>
0
and
c
:
IsDiscardable
()
return
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
GetAttack
()
>
0
and
c
:
IsDiscardable
()
end
end
function
c
81012074
.
atkcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
m
.
atkcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
81012074
.
atkfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
m
.
atkfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
81012074
.
atkfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
m
.
atkfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
)
e
:
SetLabel
(
g
:
GetFirst
():
GetAttack
())
e
:
SetLabel
(
g
:
GetFirst
():
GetAttack
())
Duel
.
SendtoGrave
(
g
,
REASON_COST
+
REASON_DISCARD
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
+
REASON_DISCARD
)
end
end
function
c
81012074
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
m
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
tc
=
e
:
GetLabelObject
()
local
tc
=
e
:
GetLabelObject
()
if
tc
:
IsRelateToBattle
()
and
tc
:
IsFaceup
()
and
tc
:
IsControler
(
tp
)
then
if
tc
:
IsRelateToBattle
()
and
tc
:
IsFaceup
()
and
tc
:
IsControler
(
tp
)
then
...
...
expansions/script/c81012087.lua
View file @
5f42b44d
--秋夜花火·爱米莉
--秋夜花火·爱米莉
local
m
=
81012087
local
m
=
81012087
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
aux
.
AddLinkProcedure
(
c
,
cm
.
mfilter
,
1
,
1
)
aux
.
AddLinkProcedure
(
c
,
cm
.
mfilter
,
1
,
1
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
Tenka
.
PyroLink
(
c
)
--
--
local
e0
=
Effect
.
CreateEffect
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -25,13 +27,6 @@ function cm.initial_effect(c)
...
@@ -25,13 +27,6 @@ function cm.initial_effect(c)
e1
:
SetTarget
(
cm
.
sptg
)
e1
:
SetTarget
(
cm
.
sptg
)
e1
:
SetOperation
(
cm
.
spop
)
e1
:
SetOperation
(
cm
.
spop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--cannot be link material
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e3
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e3
:
SetValue
(
1
)
c
:
RegisterEffect
(
e3
)
end
end
function
cm
.
mfilter
(
c
)
function
cm
.
mfilter
(
c
)
return
c
:
IsLinkType
(
TYPE_PENDULUM
)
and
c
:
IsLinkRace
(
RACE_PYRO
)
return
c
:
IsLinkType
(
TYPE_PENDULUM
)
and
c
:
IsLinkRace
(
RACE_PYRO
)
...
...
expansions/script/c81022005.lua
View file @
5f42b44d
--草莓芭菲·拉蒂
--草莓芭菲·拉蒂
local
m
=
81022005
local
m
=
81022005
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
2
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
2
)
Tenka
.
PyroLink
(
c
)
--token
--token
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
...
...
expansions/script/c81022010.lua
View file @
5f42b44d
--读书时间·理子
--读书时间·理子
local
m
=
81022010
local
m
=
81022010
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
4
,
4
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
4
,
4
)
--cannot be link material
Tenka
.
PyroLink
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e0
:
SetValue
(
1
)
c
:
RegisterEffect
(
e0
)
--spsummon
--spsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
...
...
expansions/script/c81022025.lua
View file @
5f42b44d
--到站电车·拉蒂
--到站电车·拉蒂
local
m
=
81022025
local
m
=
81022025
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
--link summon
--link summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
2
,
2
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
2
,
2
)
Tenka
.
PyroLink
(
c
)
--summon success
--summon success
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
...
...
expansions/script/c81022032.lua
View file @
5f42b44d
...
@@ -6,6 +6,7 @@ function cm.initial_effect(c)
...
@@ -6,6 +6,7 @@ function cm.initial_effect(c)
--link summon
--link summon
aux
.
AddLinkProcedure
(
c
,
cm
.
mfilter
,
2
)
aux
.
AddLinkProcedure
(
c
,
cm
.
mfilter
,
2
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
Tenka
.
PyroLink
(
c
)
--special summon
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
@@ -30,13 +31,6 @@ function cm.initial_effect(c)
...
@@ -30,13 +31,6 @@ function cm.initial_effect(c)
e2
:
SetTarget
(
cm
.
thtg
)
e2
:
SetTarget
(
cm
.
thtg
)
e2
:
SetOperation
(
cm
.
thop
)
e2
:
SetOperation
(
cm
.
thop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--cannot be link material
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e3
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e3
:
SetValue
(
1
)
c
:
RegisterEffect
(
e3
)
end
end
function
cm
.
mfilter
(
c
)
function
cm
.
mfilter
(
c
)
return
c
:
IsLinkType
(
TYPE_PENDULUM
)
and
c
:
IsLinkRace
(
RACE_PYRO
)
return
c
:
IsLinkType
(
TYPE_PENDULUM
)
and
c
:
IsLinkRace
(
RACE_PYRO
)
...
...
expansions/script/c81022044.lua
View file @
5f42b44d
...
@@ -6,6 +6,7 @@ function cm.initial_effect(c)
...
@@ -6,6 +6,7 @@ function cm.initial_effect(c)
--link summon
--link summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
2
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
2
)
Tenka
.
PyroLink
(
c
)
--spsummon
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
...
expansions/script/c81041037.lua
View file @
5f42b44d
...
@@ -7,13 +7,7 @@ function cm.initial_effect(c)
...
@@ -7,13 +7,7 @@ function cm.initial_effect(c)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
cm
.
matfilter
,
2
)
aux
.
AddLinkProcedure
(
c
,
cm
.
matfilter
,
2
)
Tenka
.
KoikakeLink
(
c
)
Tenka
.
KoikakeLink
(
c
)
--cannot link material
Tenka
.
PyroLink
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e0
:
SetValue
(
1
)
c
:
RegisterEffect
(
e0
)
--Negate
--Negate
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_NEGATE
+
CATEGORY_DESTROY
)
e1
:
SetCategory
(
CATEGORY_NEGATE
+
CATEGORY_DESTROY
)
...
...
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