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)
local
c
=
e
:
GetHandler
()
return
ep
==
tp
and
c
:
IsRelateToBattle
()
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
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
cm
.
mfilter
,
2
)
c
:
EnableReviveLimit
()
Tenka
.
PyroLink
(
c
)
--spsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
...
...
expansions/script/c81005066.lua
View file @
5f42b44d
--鲜为人知的天使护士
local
m
=
81005066
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
3
,
3
)
c
:
EnableReviveLimit
()
--cannot be 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
)
Tenka
.
PyroLink
(
c
)
--fusion summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_FUSION_SUMMON
)
...
...
expansions/script/c81009007.lua
View file @
5f42b44d
--幸福滋味·高垣枫
local
m
=
81009007
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
3
,
99
,
cm
.
lcheck
)
c
:
EnableReviveLimit
()
--cannot link material
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
)
Tenka
.
PyroLink
(
c
)
Tenka
.
KaedeMusic
(
c
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
...
@@ -40,13 +36,6 @@ function cm.initial_effect(c)
e3
:
SetTarget
(
cm
.
mttg
)
e3
:
SetOperation
(
cm
.
mtop
)
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
function
cm
.
lcheck
(
g
)
return
g
:
IsExists
(
Card
.
IsLinkType
,
1
,
nil
,
TYPE_XYZ
)
...
...
@@ -103,23 +92,3 @@ function cm.mtop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Overlay
(
c
,
g
)
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
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
2
,
c
81009008
.
lcheck
)
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
2
,
c
m
.
lcheck
)
c
:
EnableReviveLimit
()
--cannot link material
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
)
Tenka
.
PyroLink
(
c
)
Tenka
.
KaedeMusic
(
c
)
--change name
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
...
@@ -20,36 +18,29 @@ function c81009008.initial_effect(c)
c
:
RegisterEffect
(
e1
)
--material
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
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetTarget
(
c
81009008
.
target
)
e2
:
SetOperation
(
c
81009008
.
operation
)
e2
:
SetTarget
(
c
m
.
target
)
e2
:
SetOperation
(
c
m
.
operation
)
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
function
c
81009008
.
lcheck
(
g
,
lc
)
function
c
m
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
Card
.
IsLinkType
,
1
,
nil
,
TYPE_XYZ
)
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
())
end
function
c
81009008
.
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
function
c
m
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
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
)
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
.
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
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
tc
=
Duel
.
GetFirstTarget
()
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)
Duel
.
Overlay
(
c
,
Group
.
FromCards
(
tc
))
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
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_XYZ
),
1
,
1
)
c
:
EnableReviveLimit
()
--effect gain
local
e0
=
Effect
.
CreateEffect
(
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
)
Tenka
.
PyroLink
(
c
)
Tenka
.
KaedeMusic
(
c
)
--battle
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
:
SetCode
(
EVENT_BATTLED
)
e4
:
SetCondition
(
c
81009011
.
xyzcon
)
e4
:
SetOperation
(
c
81009011
.
xyzop
)
e4
:
SetCondition
(
c
m
.
xyzcon
)
e4
:
SetOperation
(
c
m
.
xyzop
)
c
:
RegisterEffect
(
e4
)
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
tc
=
c
:
GetBattleTarget
()
if
not
c
:
IsRelateToBattle
()
or
c
:
IsFacedown
()
then
return
false
end
e
:
SetLabelObject
(
tc
)
return
tc
and
tc
:
IsType
(
TYPE_MONSTER
)
and
tc
:
IsReason
(
REASON_BATTLE
)
and
not
tc
:
IsType
(
TYPE_TOKEN
)
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
tc
=
e
:
GetLabelObject
()
if
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
then
...
...
@@ -44,23 +35,3 @@ function c81009011.xyzop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Overlay
(
c
,
tc
)
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
aux
.
AddLinkProcedure
(
c
,
nil
,
3
,
3
,
c
81009015
.
lcheck
)
aux
.
AddLinkProcedure
(
c
,
nil
,
3
,
3
,
c
m
.
lcheck
)
c
:
EnableReviveLimit
()
--cannot link material
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
)
Tenka
.
PyroLink
(
c
)
Tenka
.
KaedeMusic
(
c
)
--Attach
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCode
(
EVENT_TO_GRAVE
)
e1
:
SetCountLimit
(
1
,
81009015
)
e1
:
SetCondition
(
c
81009015
.
xyzcon
)
e1
:
SetTarget
(
c
81009015
.
xyztg
)
e1
:
SetOperation
(
c
81009015
.
xyzop
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetCondition
(
c
m
.
xyzcon
)
e1
:
SetTarget
(
c
m
.
xyztg
)
e1
:
SetOperation
(
c
m
.
xyzop
)
c
:
RegisterEffect
(
e1
)
--change name
local
e2
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -30,77 +28,50 @@ function c81009015.initial_effect(c)
c
:
RegisterEffect
(
e2
)
--material
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
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetTarget
(
c
81009015
.
mttg
)
e3
:
SetOperation
(
c
81009015
.
mtop
)
e3
:
SetTarget
(
c
m
.
mttg
)
e3
:
SetOperation
(
c
m
.
mtop
)
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
function
c
81009015
.
lcheck
(
g
,
lc
)
function
c
m
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
Card
.
IsLinkType
,
1
,
nil
,
TYPE_XYZ
)
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
)
end
function
c
81009015
.
filter
(
c
)
function
c
m
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
end
function
c
81009015
.
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
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c
81009015
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
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
m
.
filter
(
chkc
)
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
.
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
)
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
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
not
tc
:
IsImmuneToEffect
(
e
)
and
c
:
IsRelateToEffect
(
e
)
then
Duel
.
Overlay
(
tc
,
Group
.
FromCards
(
c
))
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
)
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
)
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
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
()
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsFacedown
()
then
return
end
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
Duel
.
Overlay
(
c
,
g
)
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
()
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsSummonType
,
SUMMON_TYPE_ADVANCE
),
1
,
1
)
Tenka
.
PyroLink
(
c
)
--spsummon bgm
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_CANNOT_NEGATE
)
e0
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e0
:
SetCondition
(
c
81011001
.
sumcon
)
e0
:
SetOperation
(
c
81011001
.
sumsuc
)
e0
:
SetCondition
(
c
m
.
sumcon
)
e0
:
SetOperation
(
c
m
.
sumsuc
)
c
:
RegisterEffect
(
e0
)
--search
local
e2
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -16,39 +21,32 @@ function c81011001.initial_effect(c)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetCode
(
EVENT_RELEASE
)
e2
:
SetCountLimit
(
1
,
81011001
)
e2
:
SetCondition
(
c
81011001
.
thcon
)
e2
:
SetTarget
(
c
81011001
.
thtg
)
e2
:
SetOperation
(
c
81011001
.
thop
)
e2
:
SetCountLimit
(
1
,
m
)
e2
:
SetCondition
(
c
m
.
thcon
)
e2
:
SetTarget
(
c
m
.
thtg
)
e2
:
SetOperation
(
c
m
.
thop
)
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
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
)
end
function
c
81011001
.
sumsuc
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_MUSIC
,
0
,
aux
.
Stringid
(
81011001
,
0
))
function
c
m
.
sumsuc
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_MUSIC
,
0
,
aux
.
Stringid
(
m
,
0
))
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
)
end
function
c
81011001
.
filter
(
c
)
function
c
m
.
filter
(
c
)
return
c
:
IsLevelAbove
(
5
)
and
c
:
IsAbleToHand
()
end
function
c
81011001
.
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
function
c
m
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
)
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
()
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
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
...
...
expansions/script/c81011066.lua
View file @
5f42b44d
...
...
@@ -6,13 +6,7 @@ function cm.initial_effect(c)
c
:
EnableReviveLimit
()
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLevelAbove
,
7
),
1
,
1
)
--cannot be link material
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
)
Tenka
.
PyroLink
(
c
)
--
local
e1
=
Effect
.
CreateEffect
(
c
)
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
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
4
,
4
,
c81012005
.
lcheck
)
--cannot be link material
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
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
4
,
4
,
cm
.
lcheck
)
Tenka
.
PyroLink
(
c
)
--destroy replace
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_DESTROY_REPLACE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTarget
(
c
81012005
.
reptg
)
e1
:
SetValue
(
c
81012005
.
repval
)
e1
:
SetTarget
(
c
m
.
reptg
)
e1
:
SetValue
(
c
m
.
repval
)
c
:
RegisterEffect
(
e1
)
--copy effect
local
e2
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -24,10 +21,10 @@ function c81012005.initial_effect(c)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCountLimit
(
1
,
81012005
)
e2
:
SetCondition
(
c
81012005
.
cpcon
)
e2
:
SetTarget
(
c
81012005
.
cptg
)
e2
:
SetOperation
(
c
81012005
.
cpop
)
e2
:
SetCountLimit
(
1
,
m
)
e2
:
SetCondition
(
c
m
.
cpcon
)
e2
:
SetTarget
(
c
m
.
cptg
)
e2
:
SetOperation
(
c
m
.
cpop
)
c
:
RegisterEffect
(
e2
)
--return to deck
local
e3
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -35,56 +32,56 @@ function c81012005.initial_effect(c)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e3
:
SetCode
(
EVENT_TO_GRAVE
)
e3
:
SetCountLimit
(
1
,
81012095
)
e3
:
SetCondition
(
c
81012005
.
tdcon
)
e3
:
SetTarget
(
c
81012005
.
tdtg
)
e3
:
SetOperation
(
c
81012005
.
tdop
)
e3
:
SetCountLimit
(
1
,
m
+
90
)
e3
:
SetCondition
(
c
m
.
tdcon
)
e3
:
SetTarget
(
c
m
.
tdtg
)
e3
:
SetOperation
(
c
m
.
tdop
)
c
:
RegisterEffect
(
e3
)
end
function
c
81012005
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
c
81012005
.
mzfilter
,
1
,
nil
)
and
g
:
GetClassCount
(
Card
.
GetOriginalCode
)
==
g
:
GetCount
()
function
c
m
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
c
m
.
mzfilter
,
1
,
nil
)
and
g
:
GetClassCount
(
Card
.
GetOriginalCode
)
==
g
:
GetCount
()
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
)
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
)
end
function
c
81012005
.
rmfilter
(
c
)
function
c
m
.
rmfilter
(
c
)
return
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToRemove
()
end
function
c
81012005
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
eg
:
IsExists
(
c
81012005
.
repfilter
,
1
,
nil
,
tp
)
and
Duel
.
IsExistingMatchingCard
(
c
81012005
.
rmfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
function
c
m
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
eg
:
IsExists
(
c
m
.
repfilter
,
1
,
nil
,
tp
)
and
Duel
.
IsExistingMatchingCard
(
c
m
.
rmfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
if
Duel
.
SelectEffectYesNo
(
tp
,
e
:
GetHandler
(),
96
)
then
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
)
return
true
end
return
false
end
function
c
81012005
.
repval
(
e
,
c
)
return
c
81012005
.
repfilter
(
c
,
e
:
GetHandlerPlayer
())
function
c
m
.
repval
(
e
,
c
)
return
c
m
.
repfilter
(
c
,
e
:
GetHandlerPlayer
())
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
)
end
function
c
81012005
.
cpcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
Duel
.
IsExistingMatchingCard
(
c
81012005
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
function
c
m
.
cpcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
Duel
.
IsExistingMatchingCard
(
c
m
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
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
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
local
te
=
e
:
GetLabelObject
()
local
tg
=
te
:
GetTarget
()
return
tg
and
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
,
chkc
)
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
)
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
)
Duel
.
ClearTargetCard
()
g
:
GetFirst
():
CreateEffectRelation
(
e
)
...
...
@@ -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_DESTROY
,
nil
,
0
,
0
,
0
)
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
()
if
not
te
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)
Duel
.
BreakEffect
()
Duel
.
Remove
(
te
:
GetHandler
(),
POS_FACEUP
,
REASON_EFFECT
)
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
)
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
()
end
function
c
81012005
.
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
local
g
=
Duel
.
GetMatchingGroup
(
c
81012005
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
nil
)
function
c
m
.
tdtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
m
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
end
local
g
=
Duel
.
GetMatchingGroup
(
c
m
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
g
:
GetCount
(),
0
,
0
)
end
function
c
81012005
.
tdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c
81012005
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
nil
)
function
c
m
.
tdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c
m
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_EFFECT
)
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
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
c81012008
.
matfilter
,
1
,
1
)
--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
)
aux
.
AddLinkProcedure
(
c
,
cm
.
matfilter
,
1
,
1
)
Tenka
.
PyroLink
(
c
)
--set
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetCountLimit
(
1
,
81012008
)
e2
:
SetCountLimit
(
1
,
m
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCondition
(
c
81012008
.
setcon
)
e2
:
SetTarget
(
c
81012008
.
settg
)
e2
:
SetOperation
(
c
81012008
.
setop
)
e2
:
SetCondition
(
c
m
.
setcon
)
e2
:
SetTarget
(
c
m
.
settg
)
e2
:
SetOperation
(
c
m
.
setop
)
c
:
RegisterEffect
(
e2
)
end
function
c
81012008
.
matfilter
(
c
)
function
c
m
.
matfilter
(
c
)
return
c
:
IsLinkType
(
TYPE_RITUAL
)
and
c
:
IsLinkType
(
TYPE_PENDULUM
)
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
)
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
()
return
eg
:
IsExists
(
c
81012008
.
cfilter
,
1
,
nil
,
lg
)
return
eg
:
IsExists
(
c
m
.
cfilter
,
1
,
nil
,
lg
)
end
function
c
81012008
.
setfilter
(
c
)
function
c
m
.
setfilter
(
c
)
return
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsSSetable
()
end
function
c
81012008
.
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
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
m
.
setfilter
(
chkc
)
end
if
chk
==
0
then
return
true
end
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
)
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
()
if
tc
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsSSetable
()
then
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
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
2
,
2
,
c81012025
.
lcheck
)
--cannot be link material
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
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
2
,
2
,
cm
.
lcheck
)
Tenka
.
PyroLink
(
c
)
--tohand
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCountLimit
(
1
,
81012025
)
e1
:
SetCondition
(
c
81012025
.
thcon
)
e1
:
SetTarget
(
c
81012025
.
thtg
)
e1
:
SetOperation
(
c
81012025
.
thop
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetCondition
(
c
m
.
thcon
)
e1
:
SetTarget
(
c
m
.
thtg
)
e1
:
SetOperation
(
c
m
.
thop
)
c
:
RegisterEffect
(
e1
)
--special summon
local
e3
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -25,48 +22,48 @@ function c81012025.initial_effect(c)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetCountLimit
(
1
,
81012925
)
e3
:
SetCountLimit
(
1
,
m
+
900
)
e3
:
SetCost
(
aux
.
bfgcost
)
e3
:
SetTarget
(
c
81012025
.
sptg2
)
e3
:
SetOperation
(
c
81012025
.
spop2
)
e3
:
SetTarget
(
c
m
.
sptg2
)
e3
:
SetOperation
(
c
m
.
spop2
)
c
:
RegisterEffect
(
e3
)
end
function
c
81012025
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
c
81012025
.
mzfilter
,
1
,
nil
)
function
c
m
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
c
m
.
mzfilter
,
1
,
nil
)
end
function
c
81012025
.
mzfilter
(
c
)
function
c
m
.
mzfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
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
)
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
()
end
function
c
81012025
.
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
function
c
m
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
)
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
)
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
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
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
)
end
function
c
81012025
.
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
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
m
.
spfilter2
(
chkc
,
e
,
tp
)
end
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
)
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
)
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
()
if
tc
:
IsRelateToEffect
(
e
)
then
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)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
c
81012025
.
splimit
)
e1
:
SetTarget
(
c
m
.
splimit
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
function
c
81012025
.
splimit
(
e
,
c
)
function
c
m
.
splimit
(
e
,
c
)
return
not
c
:
IsRace
(
RACE_PYRO
)
and
c
:
IsLocation
(
LOCATION_EXTRA
)
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
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
3
,
3
,
c81012026
.
lcheck
)
--cannot be link material
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
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
3
,
3
,
cm
.
lcheck
)
Tenka
.
PyroLink
(
c
)
--act limit
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetOperation
(
c
81012026
.
chainop
)
e1
:
SetOperation
(
c
m
.
chainop
)
c
:
RegisterEffect
(
e1
)
--cannot be target
local
e2
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -23,7 +20,7 @@ function c81012026.initial_effect(c)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e2
:
SetTarget
(
c
81012026
.
tgtg
)
e2
:
SetTarget
(
c
m
.
tgtg
)
e2
:
SetValue
(
aux
.
tgoval
)
c
:
RegisterEffect
(
e2
)
--remove
...
...
@@ -33,76 +30,76 @@ function c81012026.initial_effect(c)
e3
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
+
EFFECT_FLAG_DELAY
)
e3
:
SetCountLimit
(
1
,
81012026
)
e3
:
SetCondition
(
c
81012026
.
rmcon
)
e3
:
SetTarget
(
c
81012026
.
rmtg
)
e3
:
SetOperation
(
c
81012026
.
rmop
)
e3
:
SetCountLimit
(
1
,
m
)
e3
:
SetCondition
(
c
m
.
rmcon
)
e3
:
SetTarget
(
c
m
.
rmtg
)
e3
:
SetOperation
(
c
m
.
rmop
)
c
:
RegisterEffect
(
e3
)
--set
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e5
:
SetCode
(
EVENT_DESTROYED
)
e5
:
SetCountLimit
(
1
,
81012926
)
e5
:
SetCondition
(
c
81012026
.
setcon
)
e5
:
SetTarget
(
c
81012026
.
settg
)
e5
:
SetOperation
(
c
81012026
.
setop
)
e5
:
SetCountLimit
(
1
,
m
+
900
)
e5
:
SetCondition
(
c
m
.
setcon
)
e5
:
SetTarget
(
c
m
.
settg
)
e5
:
SetOperation
(
c
m
.
setop
)
c
:
RegisterEffect
(
e5
)
end
function
c
81012026
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
c
81012026
.
mzfilter
,
1
,
nil
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
==
g
:
GetCount
()
function
c
m
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
c
m
.
mzfilter
,
1
,
nil
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
==
g
:
GetCount
()
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
)
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
()
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
function
c
81012026
.
chainlm
(
e
,
rp
,
tp
)
function
c
m
.
chainlm
(
e
,
rp
,
tp
)
return
tp
==
rp
end
function
c
81012026
.
tgtg
(
e
,
c
)
function
c
m
.
tgtg
(
e
,
c
)
return
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsType
(
TYPE_RITUAL
)
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
)
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
()
return
eg
:
IsExists
(
c
81012026
.
cfilter
,
1
,
nil
,
lg
)
return
eg
:
IsExists
(
c
m
.
cfilter
,
1
,
nil
,
lg
)
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
chk
==
0
then
return
Duel
.
IsExistingTarget
(
Card
.
IsAbleToRemove
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsAbleToRemove
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
1
,
0
,
0
)
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
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
Remove
(
tc
,
POS_FACEUP
,
REASON_EFFECT
)
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
()
return
rp
==
1
-
tp
and
c
:
GetPreviousControler
()
==
tp
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
end
function
c
81012026
.
setfilter
(
c
)
function
c
m
.
setfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsSSetable
()
end
function
c
81012026
.
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
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c
81012026
.
setfilter
,
tp
,
LOCATION_GRAVE
,
LOCATION_GRAVE
,
1
,
nil
)
end
function
c
m
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c
m
.
setfilter
(
chkc
)
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
)
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
)
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
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsSSetable
()
then
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
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
()
--cannot be link material
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
)
Tenka
.
PyroLink
(
c
)
--draw
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_DRAW
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCondition
(
c
81012028
.
drcon
)
e1
:
SetTarget
(
c
81012028
.
drtg
)
e1
:
SetOperation
(
c
81012028
.
drop
)
e1
:
SetCondition
(
c
m
.
drcon
)
e1
:
SetTarget
(
c
m
.
drtg
)
e1
:
SetOperation
(
c
m
.
drop
)
c
:
RegisterEffect
(
e1
)
--spsummon
local
e3
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -26,55 +23,55 @@ function c81012028.initial_effect(c)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetCountLimit
(
1
,
81012928
)
e3
:
SetTarget
(
c
81012028
.
sptg
)
e3
:
SetOperation
(
c
81012028
.
spop
)
e3
:
SetCountLimit
(
1
,
m
+
900
)
e3
:
SetTarget
(
c
m
.
sptg
)
e3
:
SetOperation
(
c
m
.
spop
)
c
:
RegisterEffect
(
e3
)
end
function
c
81012028
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
c
81012028
.
mzfilter
,
1
,
nil
)
function
c
m
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
c
m
.
mzfilter
,
1
,
nil
)
end
function
c
81012028
.
mzfilter
(
c
)
function
c
m
.
mzfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
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
)
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
function
c
81012028
.
drfilter
(
c
,
code
)
function
c
m
.
drfilter
(
c
,
code
)
return
c
:
IsFaceup
()
and
c
:
IsCode
(
code
)
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
()
return
eg
:
IsExists
(
c
81012028
.
cfilter
,
1
,
nil
,
lg
,
tp
)
return
eg
:
IsExists
(
c
m
.
cfilter
,
1
,
nil
,
lg
,
tp
)
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
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
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
)
Duel
.
Draw
(
p
,
d
,
REASON_EFFECT
)
end
function
c
81012028
.
counterfilter
(
c
)
function
c
m
.
counterfilter
(
c
)
return
c
:
IsRace
(
RACE_PYRO
)
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
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
,
tp
,
zone
)
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
)
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
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
)
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
)
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
zone
=
bit
.
band
(
e
:
GetHandler
():
GetLinkedZone
(
tp
),
0x1f
)
if
tc
:
IsRelateToEffect
(
e
)
and
zone
~=
0
then
...
...
@@ -85,10 +82,10 @@ function c81012028.spop(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
c
81012028
.
splimit
)
e1
:
SetTarget
(
c
m
.
splimit
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
function
c
81012028
.
splimit
(
e
,
c
)
function
c
m
.
splimit
(
e
,
c
)
return
not
c
:
IsRace
(
RACE_PYRO
)
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
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
2
)
Tenka
.
PyroLink
(
c
)
--set
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
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCountLimit
(
1
,
81012053
)
e1
:
SetCondition
(
c
81012053
.
setcon
)
e1
:
SetTarget
(
c
81012053
.
settg
)
e1
:
SetOperation
(
c
81012053
.
setop
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetCondition
(
c
m
.
setcon
)
e1
:
SetTarget
(
c
m
.
settg
)
e1
:
SetOperation
(
c
m
.
setop
)
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
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
81012053
,
1
))
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
,
81012953
)
e3
:
SetCondition
(
c
81012053
.
thcon
)
e3
:
SetTarget
(
c
81012053
.
thtg
)
e3
:
SetOperation
(
c
81012053
.
thop
)
e3
:
SetCondition
(
c
m
.
thcon
)
e3
:
SetTarget
(
c
m
.
thtg
)
e3
:
SetOperation
(
c
m
.
thop
)
c
:
RegisterEffect
(
e3
)
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
)
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
()
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
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
()
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
)
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
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
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
()
if
not
tc1
then
return
end
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
()
Duel
.
MoveToField
(
tc1
,
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)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
c
81012053
.
splimit
)
e1
:
SetTarget
(
c
m
.
splimit
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
function
c
81012053
.
splimit
(
e
,
c
)
function
c
m
.
splimit
(
e
,
c
)
return
not
c
:
IsRace
(
RACE_PYRO
)
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
)
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
()
return
eg
:
IsExists
(
c
81012053
.
cfilter
,
1
,
nil
,
lg
)
return
eg
:
IsExists
(
c
m
.
cfilter
,
1
,
nil
,
lg
)
end
function
c
81012053
.
thfilter
(
c
)
function
c
m
.
thfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToHand
()
end
function
c
81012053
.
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
function
c
m
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
m
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c
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
)
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
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
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
aux
.
AddLinkProcedure
(
c
,
c
81012054
.
mfilter
,
2
)
aux
.
AddLinkProcedure
(
c
,
c
m
.
mfilter
,
2
)
c
:
EnableReviveLimit
()
Tenka
.
PyroLink
(
c
)
--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
:
SetCode
(
0
)
e0
:
SetCountLimit
(
1
,
81012054
)
e0
:
SetCountLimit
(
1
,
m
)
e0
:
SetRange
(
LOCATION_MZONE
)
e0
:
SetCost
(
c
81012054
.
cost
)
e0
:
SetCost
(
c
m
.
cost
)
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
...
@@ -18,44 +22,37 @@ function c81012054.initial_effect(c)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCountLimit
(
1
,
81012954
)
e2
:
SetCondition
(
c
81012054
.
spcon
)
e2
:
SetTarget
(
c
81012054
.
sptg
)
e2
:
SetOperation
(
c
81012054
.
spop
)
e2
:
SetCondition
(
c
m
.
spcon
)
e2
:
SetTarget
(
c
m
.
sptg
)
e2
:
SetOperation
(
c
m
.
spop
)
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
function
c81012054
.
mfilter
(
c
)
end
function
cm
.
mfilter
(
c
)
return
c
:
IsLinkType
(
TYPE_PENDULUM
)
and
c
:
IsLinkRace
(
RACE_PYRO
)
end
function
c
81012054
.
filter
(
c
)
function
c
m
.
filter
(
c
)
return
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsType
(
TYPE_RITUAL
)
end
function
c
81012054
.
psfilter
(
c
,
e
,
tp
)
function
c
m
.
psfilter
(
c
,
e
,
tp
)
return
c
~=
e
:
GetHandler
()
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
Duel
.
Release
(
e
:
GetHandler
(),
REASON_COST
)
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
end
function
c
81012054
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c
81012054
.
spcfilter
,
1
,
nil
,
tp
)
function
c
m
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c
m
.
spcfilter
,
1
,
nil
,
tp
)
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
()
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
end
function
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
()
if
c
:
IsRelateToEffect
(
e
)
then
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
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
c81012063
.
matfilter
,
4
,
4
)
aux
.
AddLinkProcedure
(
c
,
cm
.
matfilter
,
4
,
4
)
Tenka
.
PyroLink
(
c
)
--immune
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetCode
(
EFFECT_IMMUNE_EFFECT
)
e0
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e0
:
SetRange
(
LOCATION_MZONE
)
e0
:
SetCondition
(
c
81012063
.
tgcon
)
e0
:
SetValue
(
c
81012063
.
efilter
)
e0
:
SetCondition
(
c
m
.
tgcon
)
e0
:
SetValue
(
c
m
.
efilter
)
c
:
RegisterEffect
(
e0
)
--summon success
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCondition
(
c
81012063
.
regcon
)
e1
:
SetOperation
(
c
81012063
.
regop
)
e1
:
SetCondition
(
c
m
.
regcon
)
e1
:
SetOperation
(
c
m
.
regop
)
c
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_MATERIAL_CHECK
)
e2
:
SetValue
(
c
81012063
.
valcheck
)
e2
:
SetValue
(
c
m
.
valcheck
)
e2
:
SetLabelObject
(
e1
)
c
:
RegisterEffect
(
e2
)
--spsummon
local
e3
=
aux
.
AddRitualProcGreater2
(
c
,
c
81012063
.
filter
,
LOCATION_DECK
)
e3
:
SetDescription
(
aux
.
Stringid
(
81012063
,
0
))
local
e3
=
aux
.
AddRitualProcGreater2
(
c
,
c
m
.
filter
,
LOCATION_DECK
)
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetCode
(
0
)
e3
:
SetCountLimit
(
1
,
81012063
)
e3
:
SetCountLimit
(
1
,
m
)
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
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetDescription
(
aux
.
Stringid
(
81012063
,
1
))
e6
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e6
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e6
:
SetCode
(
EVENT_FREE_CHAIN
)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetHintTiming
(
0
,
TIMING_DRAW_PHASE
)
e6
:
SetCountLimit
(
1
,
81012963
)
e6
:
SetCost
(
c
81012063
.
actcost
)
e6
:
SetOperation
(
c
81012063
.
actop
)
e6
:
SetCountLimit
(
1
,
m
+
900
)
e6
:
SetCost
(
c
m
.
actcost
)
e6
:
SetOperation
(
c
m
.
actop
)
c
:
RegisterEffect
(
e6
)
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
)
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
end
function
c
81012063
.
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
))
function
c
m
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
GetHandler
():
RegisterFlagEffect
(
m
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
m
,
2
))
end
function
c
81012063
.
valfilter
(
c
)
function
c
m
.
valfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
end
function
c
81012063
.
valcheck
(
e
,
c
)
function
c
m
.
valcheck
(
e
,
c
)
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
)
else
e
:
GetLabelObject
():
SetLabel
(
0
)
end
end
function
c
81012063
.
tgcon
(
e
)
return
e
:
GetHandler
():
GetFlagEffect
(
81012063
)
>
0
function
c
m
.
tgcon
(
e
)
return
e
:
GetHandler
():
GetFlagEffect
(
m
)
>
0
end
function
c
81012063
.
efilter
(
e
,
te
)
function
c
m
.
efilter
(
e
,
te
)
return
te
:
GetOwner
()
~=
e
:
GetOwner
()
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
)
end
function
c
81012063
.
cfilter
(
c
)
function
c
m
.
cfilter
(
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
end
function
c
81012063
.
actcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
c
81012063
.
cfilter
,
1
,
nil
)
end
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c
81012063
.
cfilter
,
1
,
1
,
nil
)
function
c
m
.
actcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
c
m
.
cfilter
,
1
,
nil
)
end
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c
m
.
cfilter
,
1
,
1
,
nil
)
Duel
.
Release
(
g
,
REASON_COST
)
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
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e2
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e2
:
SetTargetRange
(
0
,
1
)
e2
:
SetValue
(
c
81012063
.
aclimit
)
e2
:
SetValue
(
c
m
.
aclimit
)
e2
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e2
,
tp
)
end
function
c
81012063
.
aclimit
(
e
,
re
,
tp
)
function
c
m
.
aclimit
(
e
,
re
,
tp
)
local
loc
=
re
:
GetActivateLocation
()
return
(
loc
==
LOCATION_SZONE
and
not
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
))
or
(
loc
==
LOCATION_MZONE
and
re
:
IsActiveType
(
TYPE_MONSTER
))
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
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
c81012070
.
matfilter
,
1
,
1
)
--cannot be link material
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
)
aux
.
AddLinkProcedure
(
c
,
cm
.
matfilter
,
1
,
1
)
Tenka
.
PyroLink
(
c
)
--extra pendulum
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_IGNITION
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetCountLimit
(
1
,
81012070
+
EFFECT_COUNT_CODE_DUEL
)
e5
:
SetCost
(
c
81012070
.
expcost
)
e5
:
SetOperation
(
c
81012070
.
expop
)
e5
:
SetCountLimit
(
1
,
m
+
EFFECT_COUNT_CODE_DUEL
)
e5
:
SetCost
(
c
m
.
expcost
)
e5
:
SetOperation
(
c
m
.
expop
)
c
:
RegisterEffect
(
e5
)
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
end
function
c
81012070
.
costfilter
(
c
,
tp
,
mc
)
function
c
m
.
costfilter
(
c
,
tp
,
mc
)
local
lg
=
mc
:
GetLinkedGroup
()
return
lg
:
IsContains
(
c
)
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
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
()
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
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
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
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
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
81012070
,
4
))
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
4
))
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_EXTRA_PENDULUM_SUMMON
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetValue
(
c
81012070
.
pendvalue
)
e1
:
SetValue
(
c
m
.
pendvalue
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
function
c
81012070
.
pendvalue
(
e
,
c
)
function
c
m
.
pendvalue
(
e
,
c
)
return
c
:
IsType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_PENDULUM
)
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
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
2
,
2
)
c
:
EnableReviveLimit
()
Tenka
.
PyroLink
(
c
)
--remove
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
81012074
,
0
))
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e2
:
SetCategory
(
CATEGORY_REMOVE
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetCountLimit
(
1
,
81012074
)
e2
:
SetTarget
(
c
81012074
.
target
)
e2
:
SetOperation
(
c
81012074
.
operation
)
e2
:
SetCountLimit
(
1
,
m
)
e2
:
SetTarget
(
c
m
.
target
)
e2
:
SetOperation
(
c
m
.
operation
)
c
:
RegisterEffect
(
e2
)
--atkup
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
81012074
,
1
))
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e3
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_BATTLE_START
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
,
81012974
)
e3
:
SetCondition
(
c
81012074
.
atkcon
)
e3
:
SetCost
(
c
81012074
.
atkcost
)
e3
:
SetOperation
(
c
81012074
.
atkop
)
e3
:
SetCountLimit
(
1
,
m
+
900
)
e3
:
SetCondition
(
c
m
.
atkcon
)
e3
:
SetCost
(
c
m
.
atkcost
)
e3
:
SetOperation
(
c
m
.
atkop
)
c
:
RegisterEffect
(
e3
)
end
function
c
81012074
.
rmfilter
(
c
)
function
c
m
.
rmfilter
(
c
)
return
c
:
IsRace
(
RACE_PYRO
)
and
c
:
IsAbleToRemove
()
end
function
c
81012074
.
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
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c
81012074
.
rmfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
function
c
m
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c
m
.
rmfilter
(
chkc
)
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
)
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
)
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
tc
=
Duel
.
GetFirstTarget
()
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)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_STANDBY
)
e1
:
SetCountLimit
(
1
)
e1
:
SetLabelObject
(
tc
)
e1
:
SetCondition
(
c
81012074
.
retcon
)
e1
:
SetOperation
(
c
81012074
.
retop
)
e1
:
SetCondition
(
c
m
.
retcon
)
e1
:
SetOperation
(
c
m
.
retop
)
if
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetCurrentPhase
()
==
PHASE_STANDBY
then
e1
:
SetReset
(
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
,
2
)
e1
:
SetValue
(
Duel
.
GetTurnCount
())
...
...
@@ -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
)
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
return
e
:
GetLabelObject
():
GetFlagEffect
(
81012975
)
~=
0
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
()
Duel
.
ReturnToField
(
tc
)
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
()
if
tc
:
IsControler
(
1
-
tp
)
then
tc
=
Duel
.
GetAttackTarget
()
end
e
:
SetLabelObject
(
tc
)
return
tc
and
tc
:
IsControler
(
tp
)
and
tc
:
IsRace
(
RACE_PYRO
)
and
tc
:
IsRelateToBattle
()
and
Duel
.
GetAttackTarget
()
~=
nil
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
()
end
function
c
81012074
.
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
function
c
m
.
atkcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
m
.
atkfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
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
())
Duel
.
SendtoGrave
(
g
,
REASON_COST
+
REASON_DISCARD
)
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
local
tc
=
e
:
GetLabelObject
()
if
tc
:
IsRelateToBattle
()
and
tc
:
IsFaceup
()
and
tc
:
IsControler
(
tp
)
then
...
...
expansions/script/c81012087.lua
View file @
5f42b44d
--秋夜花火·爱米莉
local
m
=
81012087
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
cm
.
mfilter
,
1
,
1
)
c
:
EnableReviveLimit
()
Tenka
.
PyroLink
(
c
)
--
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
...
@@ -25,13 +27,6 @@ function cm.initial_effect(c)
e1
:
SetTarget
(
cm
.
sptg
)
e1
:
SetOperation
(
cm
.
spop
)
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
function
cm
.
mfilter
(
c
)
return
c
:
IsLinkType
(
TYPE_PENDULUM
)
and
c
:
IsLinkRace
(
RACE_PYRO
)
...
...
expansions/script/c81022005.lua
View file @
5f42b44d
--草莓芭菲·拉蒂
local
m
=
81022005
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
2
)
Tenka
.
PyroLink
(
c
)
--token
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
...
...
expansions/script/c81022010.lua
View file @
5f42b44d
--读书时间·理子
local
m
=
81022010
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
4
,
4
)
--cannot be link material
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
)
Tenka
.
PyroLink
(
c
)
--spsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
...
...
expansions/script/c81022025.lua
View file @
5f42b44d
--到站电车·拉蒂
local
m
=
81022025
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"c81000000.lua"
)
function
cm
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
2
,
2
)
Tenka
.
PyroLink
(
c
)
--summon success
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
...
...
expansions/script/c81022032.lua
View file @
5f42b44d
...
...
@@ -6,6 +6,7 @@ function cm.initial_effect(c)
--link summon
aux
.
AddLinkProcedure
(
c
,
cm
.
mfilter
,
2
)
c
:
EnableReviveLimit
()
Tenka
.
PyroLink
(
c
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
...
@@ -30,13 +31,6 @@ function cm.initial_effect(c)
e2
:
SetTarget
(
cm
.
thtg
)
e2
:
SetOperation
(
cm
.
thop
)
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
function
cm
.
mfilter
(
c
)
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)
--link summon
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkRace
,
RACE_PYRO
),
2
)
Tenka
.
PyroLink
(
c
)
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
...
expansions/script/c81041037.lua
View file @
5f42b44d
...
...
@@ -7,13 +7,7 @@ function cm.initial_effect(c)
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
cm
.
matfilter
,
2
)
Tenka
.
KoikakeLink
(
c
)
--cannot link material
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
)
Tenka
.
PyroLink
(
c
)
--Negate
local
e1
=
Effect
.
CreateEffect
(
c
)
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