Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-2pick
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
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
MyCard
ygopro-2pick
Commits
9d57f084
Commit
9d57f084
authored
Oct 14, 2017
by
Momobako
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Push by Appveyor
parent
46b17b43
Changes
20
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1108 additions
and
143 deletions
+1108
-143
expansions/222DIY.cdb
expansions/222DIY.cdb
+0
-0
expansions/script/c10113020.lua
expansions/script/c10113020.lua
+67
-0
expansions/script/c10113030.lua
expansions/script/c10113030.lua
+18
-9
expansions/script/c10113040.lua
expansions/script/c10113040.lua
+23
-10
expansions/script/c10113048.lua
expansions/script/c10113048.lua
+30
-25
expansions/script/c10113050.lua
expansions/script/c10113050.lua
+18
-8
expansions/script/c10173011.lua
expansions/script/c10173011.lua
+8
-6
expansions/script/c10173016.lua
expansions/script/c10173016.lua
+33
-30
expansions/script/c10173028.lua
expansions/script/c10173028.lua
+45
-51
expansions/script/c10173054.lua
expansions/script/c10173054.lua
+9
-2
expansions/script/c10173056.lua
expansions/script/c10173056.lua
+104
-0
expansions/script/c10173061.lua
expansions/script/c10173061.lua
+98
-0
expansions/script/c10173062.lua
expansions/script/c10173062.lua
+94
-0
expansions/script/c10173063.lua
expansions/script/c10173063.lua
+95
-0
expansions/script/c10173064.lua
expansions/script/c10173064.lua
+77
-0
expansions/script/c10173065.lua
expansions/script/c10173065.lua
+94
-0
expansions/script/c10173066.lua
expansions/script/c10173066.lua
+124
-0
expansions/script/c10173067.lua
expansions/script/c10173067.lua
+69
-0
expansions/script/c10173068.lua
expansions/script/c10173068.lua
+100
-0
lflist.conf
lflist.conf
+2
-2
No files found.
expansions/222DIY.cdb
View file @
9d57f084
No preview for this file type
expansions/script/c10113020.lua
0 → 100644
View file @
9d57f084
--琥珀主
function
c10113020
.
initial_effect
(
c
)
--pendulum summon
aux
.
EnablePendulumAttribute
(
c
)
--tohand
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10113020
,
0
))
e1
:
SetCategory
(
CATEGORY_SEARCH
+
CATEGORY_TOHAND
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetCountLimit
(
1
,
10113020
)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetCost
(
c10113020
.
thcost
)
e1
:
SetTarget
(
c10113020
.
thtg
)
e1
:
SetOperation
(
c10113020
.
thop
)
c
:
RegisterEffect
(
e1
)
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10113020
,
1
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetCountLimit
(
1
,
10113020
)
e2
:
SetRange
(
LOCATION_PZONE
)
e2
:
SetCost
(
c10113020
.
spcost
)
e2
:
SetTarget
(
c10113020
.
sptg
)
e2
:
SetOperation
(
c10113020
.
spop
)
c
:
RegisterEffect
(
e2
)
end
function
c10113020
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
Card
.
IsCode
,
1
,
nil
,
10113020
)
end
local
sg
=
Duel
.
SelectReleaseGroup
(
tp
,
Card
.
IsCode
,
1
,
1
,
nil
,
10113020
)
Duel
.
Release
(
sg
,
REASON_COST
)
end
function
c10113020
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
e
:
GetHandler
():
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c10113020
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
function
c10113020
.
cfilter
(
c
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsReleasable
()
end
function
c10113020
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c10113020
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10113020
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
)
Duel
.
Release
(
g
,
REASON_COST
)
end
function
c10113020
.
thfilter
(
c
)
return
aux
.
IsCodeListed
(
c
,
10113020
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToHand
()
end
function
c10113020
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c10113020
.
thfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
function
c10113020
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c10113020
.
thfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
\ No newline at end of file
expansions/script/c10113030.lua
View file @
9d57f084
...
...
@@ -5,13 +5,13 @@ function c10113030.initial_effect(c)
e1
:
SetDescription
(
aux
.
Stringid
(
10113030
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CVAL_CHECK
+
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetCode
(
EVENT_TO_GRAVE
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_CVAL_CHECK
)
e1
:
SetCountLimit
(
1
,
10113030
)
e1
:
SetCost
(
c10113030
.
spcost
)
e1
:
SetTarget
(
c10113030
.
sptg
)
e1
:
SetOperation
(
c10113030
.
spop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--deckdestroy
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10113030
,
1
))
...
...
@@ -22,24 +22,33 @@ function c10113030.initial_effect(c)
e2
:
SetCondition
(
c10113030
.
descon
)
e2
:
SetTarget
(
c10113030
.
destg
)
e2
:
SetOperation
(
c10113030
.
desop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--code
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e3
:
SetCode
(
EFFECT_CHANGE_CODE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetValue
(
10113020
)
c
:
RegisterEffect
(
e3
)
end
c10113030
.
card_code_list
=
{
10113020
}
function
c10113030
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
GetHandler
():
GetOriginalCode
()
==
10113050
end
function
c10113030
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
DiscardDeck
(
tp
,
2
,
REASON_EFFECT
)
Duel
.
DiscardDeck
(
tp
,
3
,
REASON_EFFECT
)
end
function
c10113030
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanDiscardDeck
(
tp
,
2
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DECKDES
,
nil
,
0
,
tp
,
2
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanDiscardDeck
(
tp
,
3
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DECKDES
,
nil
,
0
,
tp
,
3
)
end
function
c10113030
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
Duel
.
DiscardHand
(
tp
,
Card
.
IsDiscardable
,
1
,
1
,
REASON_COST
+
REASON_DISCARD
,
nil
)
end
function
c10113030
.
filter
(
c
,
e
,
tp
)
return
c
:
GetOriginalCode
()
==
10113040
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsCode
(
10113040
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c10113030
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
...
...
@@ -48,8 +57,8 @@ function c10113030.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c10113030
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10113030
.
filter
,
tp
,
0x13
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
and
not
g
:
GetFirst
():
IsHasEffect
(
EFFECT_NECRO_VALLEY
)
then
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c10113030
.
filter
)
,
tp
,
0x13
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
ShuffleDeck
(
tp
)
end
...
...
expansions/script/c10113040.lua
View file @
9d57f084
...
...
@@ -5,13 +5,14 @@ function c10113040.initial_effect(c)
e1
:
SetDescription
(
aux
.
Stringid
(
10113040
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CVAL_CHECK
+
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetCode
(
EVENT_TO_GRAVE
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_CVAL_CHECK
)
e1
:
SetCountLimit
(
1
,
10113040
)
e1
:
SetCost
(
c10113040
.
spcost
)
e1
:
SetCondition
(
c10113040
.
spcon
)
e1
:
SetTarget
(
c10113040
.
sptg
)
e1
:
SetOperation
(
c10113040
.
spop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--Recover
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10113040
,
1
))
...
...
@@ -22,32 +23,44 @@ function c10113040.initial_effect(c)
e2
:
SetCondition
(
c10113040
.
recon
)
e2
:
SetTarget
(
c10113040
.
retg
)
e2
:
SetOperation
(
c10113040
.
reop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--code
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e3
:
SetCode
(
EFFECT_CHANGE_CODE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetValue
(
10113020
)
c
:
RegisterEffect
(
e3
)
end
c10113040
.
card_code_list
=
{
10113020
}
function
c10113040
.
recon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
GetHandler
():
GetOriginalCode
()
==
10113030
end
function
c10113040
.
retg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
1
0
00
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_RECOVER
,
nil
,
0
,
tp
,
1
0
00
)
Duel
.
SetTargetParam
(
1
5
00
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_RECOVER
,
nil
,
0
,
tp
,
1
5
00
)
end
function
c10113040
.
reop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
Duel
.
Recover
(
p
,
d
,
REASON_EFFECT
)
end
function
c10113040
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_HAND
+
LOCATION_ONFIELD
)
end
function
c10113040
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c10113040
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
e
:
GetHandler
()
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c10113040
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10113040
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
e
:
GetHandler
()
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10113040
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
end
function
c10113040
.
cfilter
(
c
)
return
c
:
IsAbleToRemoveAsCost
()
and
c
:
IsType
(
TYPE_MONSTER
)
end
function
c10113040
.
filter
(
c
,
e
,
tp
)
return
c
:
GetOriginalCode
()
==
10113050
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsCode
(
10113050
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c10113040
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
...
...
@@ -56,8 +69,8 @@ function c10113040.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c10113040
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10113040
.
filter
,
tp
,
0x13
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
and
not
g
:
GetFirst
():
IsHasEffect
(
EFFECT_NECRO_VALLEY
)
then
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c10113040
.
filter
)
,
tp
,
0x13
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
ShuffleDeck
(
tp
)
end
...
...
expansions/script/c10113048.lua
View file @
9d57f084
...
...
@@ -25,43 +25,48 @@ function c10113048.initial_effect(c)
end
function
c10113048
.
setcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
0
)
if
e
:
GetHandler
():
IsReason
(
REASON_DESTROY
)
then
if
e
:
GetHandler
():
IsReason
(
REASON_DESTROY
)
then
e
:
SetLabel
(
100
)
end
return
true
end
function
c10113048
.
tffilter
(
c
)
return
c
:
IsRace
(
RACE_DINOSAUR
)
and
not
c
:
IsForbidden
()
end
function
c10113048
.
setfilter
(
c
)
return
c
:
IsRace
(
RACE_DINOSAUR
)
and
c
:
IsAbleToGrave
()
and
c
:
GetLevel
()
==
8
end
function
c10113048
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c10113048
.
tffilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
local
c
,
ft
,
ct
=
e
:
GetHandler
(),
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
),
e
:
GetLabel
()
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c10113048
.
setfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
ct
,
ft
)
end
end
function
c10113048
.
setfilter
(
c
,
ct
,
ft
)
return
c
:
IsRace
(
RACE_DINOSAUR
)
and
not
c
:
IsForbidden
()
and
(
ft
>
0
or
(
ct
>
0
and
c
:
IsAbleToHand
()))
end
function
c10113048
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c10113048
.
tffilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
):
GetFirst
()
if
tc
and
not
tc
:
IsImmuneToEffect
(
e
)
then
Duel
.
MoveToField
(
tc
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetCode
(
EFFECT_CHANGE_TYPE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fc0000
)
e1
:
SetValue
(
TYPE_SPELL
+
TYPE_CONTINUOUS
)
tc
:
RegisterEffect
(
e1
)
local
c
,
ft
,
ct
=
e
:
GetHandler
(),
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
),
e
:
GetLabel
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
10113048
,
4
))
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
c10113048
.
setfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
ct
,
ft
):
GetFirst
()
if
not
tc
then
return
end
local
th
=
(
ct
>
0
and
tc
:
IsAbleToHand
())
if
th
and
(
ft
<=
0
or
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10113048
,
2
)))
then
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
else
Duel
.
MoveToField
(
tc
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCode
(
EFFECT_CHANGE_TYPE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fc0000
)
e1
:
SetValue
(
TYPE_SPELL
+
TYPE_CONTINUOUS
)
tc
:
RegisterEffect
(
e1
)
end
local
g
=
Duel
.
GetMatchingGroup
(
c10113048
.
setfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
e
:
GetLabel
()
==
100
and
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10113048
,
2
))
then
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c10113048
.
thfilter2
),
tp
,
LOCATION_GRAVE
,
0
,
c
)
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10113048
,
3
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_
TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_
ATOHAND
)
local
tg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
Sendto
Grave
(
tg
,
REASON_EFFECT
)
Duel
.
Sendto
Hand
(
tg
,
nil
,
REASON_EFFECT
)
end
end
function
c10113048
.
thfilter2
(
c
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0xa338
)
and
c
:
IsAbleToHand
()
end
function
c10113048
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
c
=
e
:
GetHandler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
...
...
expansions/script/c10113050.lua
View file @
9d57f084
...
...
@@ -5,13 +5,13 @@ function c10113050.initial_effect(c)
e1
:
SetDescription
(
aux
.
Stringid
(
10113050
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_
TO_GRAVE
)
e1
:
SetProperty
(
EFFECT_FLAG_D
ELAY
+
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_CVAL_CHECK
)
e1
:
SetCode
(
EVENT_
LEAVE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_D
AMAGE_STEP
+
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CVAL_CHECK
)
e1
:
SetCountLimit
(
1
,
10113050
)
e1
:
SetCost
(
c10113050
.
spcost
)
e1
:
SetTarget
(
c10113050
.
sptg
)
e1
:
SetOperation
(
c10113050
.
spop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--draw
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10113050
,
1
))
...
...
@@ -22,8 +22,17 @@ function c10113050.initial_effect(c)
e2
:
SetCondition
(
c10113050
.
drcon
)
e2
:
SetTarget
(
c10113050
.
drtg
)
e2
:
SetOperation
(
c10113050
.
drop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--code
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e3
:
SetCode
(
EFFECT_CHANGE_CODE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetValue
(
10113020
)
c
:
RegisterEffect
(
e3
)
end
c10113050
.
card_code_list
=
{
10113020
}
function
c10113050
.
drcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
GetHandler
():
GetOriginalCode
()
==
10113040
end
...
...
@@ -38,11 +47,12 @@ function c10113050.drop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Draw
(
p
,
d
,
REASON_EFFECT
)
end
function
c10113050
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckLPCost
(
tp
,
1000
)
end
if
chk
==
0
then
return
Duel
.
CheckLPCost
(
tp
,
1000
)
and
e
:
GetHandler
():
IsAbleToDeckAsCost
()
end
Duel
.
SendtoDeck
(
e
:
GetHandler
(),
nil
,
2
,
REASON_EFFECT
)
Duel
.
PayLPCost
(
tp
,
1000
)
end
function
c10113050
.
filter
(
c
,
e
,
tp
)
return
c
:
GetOriginalCode
()
==
10113030
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsCode
(
10113030
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c10113050
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
...
...
@@ -51,8 +61,8 @@ function c10113050.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
c10113050
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10113050
.
filter
,
tp
,
0x13
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
and
not
g
:
GetFirst
():
IsHasEffect
(
EFFECT_NECRO_VALLEY
)
then
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c10113050
.
filter
)
,
tp
,
0x13
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
ShuffleDeck
(
tp
)
end
...
...
expansions/script/c10173011.lua
View file @
9d57f084
...
...
@@ -15,7 +15,7 @@ function c10173011.initial_effect(c)
e2
:
SetCategory
(
CATEGORY_TODECK
+
CATEGORY_DRAW
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_REMOVE
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCountLimit
(
1
,
10173011
)
e2
:
SetTarget
(
c10173011
.
tdtg
)
e2
:
SetOperation
(
c10173011
.
tdop
)
...
...
@@ -60,21 +60,23 @@ end
function
c10173011
.
cfilter
(
c
)
return
bit
.
band
(
c
:
GetType
(),
0x40002
)
==
0x40002
and
c
:
IsFaceup
()
and
c
:
IsAbleToDeckAsCost
()
end
function
c10173011
.
tdtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c10173011
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
and
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
end
local
g
=
Duel
.
GetMatchingGroup
(
c10173011
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
nil
)
function
c10173011
.
tdtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
(
chkc
:
IsRace
(
RACE_DRAGON
)
or
bit
.
band
(
chkc
:
GetType
(),
0x40002
)
==
0x40002
)
and
chkc
:
IsFaceup
()
and
chkc
:
IsLocation
(
LOCATION_REMOVED
)
and
chkc
:
IsAbleToDeck
()
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c10173011
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
and
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c10173011
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
99
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
g
:
GetCount
(),
tp
,
LOCATION_REMOVED
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
end
function
c10173011
.
tdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
Get
MatchingGroup
(
c10173011
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
nil
)
local
g
=
Duel
.
Get
ChainInfo
(
0
,
CHAININFO_TARGET_CARDS
):
Filter
(
Card
.
IsRelateToEffect
,
nil
,
e
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_EFFECT
)
~=
0
then
Duel
.
ShuffleDeck
(
tp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
function
c10173011
.
tdfilter
(
c
)
return
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsFaceup
()
and
c
:
IsAbleToDeck
()
return
(
c
:
IsRace
(
RACE_DRAGON
)
or
bit
.
band
(
c
:
GetType
(),
0x40002
)
==
0x40002
)
and
c
:
IsFaceup
()
and
c
:
IsAbleToDeck
()
end
function
c10173011
.
spfilter
(
c
)
return
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsAbleToRemoveAsCost
()
and
(
c
:
IsFaceup
()
or
c
:
IsLocation
(
LOCATION_HAND
))
...
...
expansions/script/c10173016.lua
View file @
9d57f084
...
...
@@ -8,23 +8,23 @@ function c10173016.initial_effect(c)
e1
:
SetRange
(
LOCATION_HAND
+
LOCATION_GRAVE
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCountLimit
(
1
,
10173016
)
e1
:
SetTarget
(
c10173016
.
sptg
2
)
e1
:
SetOperation
(
c10173016
.
spop
2
)
e1
:
SetTarget
(
c10173016
.
sptg
)
e1
:
SetOperation
(
c10173016
.
spop
)
c
:
RegisterEffect
(
e1
)
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10173016
,
0
))
e2
:
SetDescription
(
aux
.
Stringid
(
10173016
,
1
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetCountLimit
(
1
,
10173116
)
e2
:
SetCondition
(
c10173016
.
s
p
con
)
e2
:
SetTarget
(
c10173016
.
s
p
tg
)
e2
:
SetOperation
(
c10173016
.
s
p
op
)
e2
:
SetCondition
(
c10173016
.
s
et
con
)
e2
:
SetTarget
(
c10173016
.
s
et
tg
)
e2
:
SetOperation
(
c10173016
.
s
et
op
)
c
:
RegisterEffect
(
e2
)
end
function
c10173016
.
sptg
2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c10173016
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
c
=
e
:
GetHandler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
loc
=
LOCATION_ONFIELD
...
...
@@ -49,7 +49,7 @@ function c10173016.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g1
,
2
,
tp
,
loc
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
end
function
c10173016
.
spop
2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c10173016
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
):
Filter
(
Card
.
IsRelateToEffect
,
nil
,
e
)
if
g
:
GetCount
()
>
0
and
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
~=
0
then
...
...
@@ -61,44 +61,47 @@ function c10173016.spop2(e,tp,eg,ep,ev,re,r,rp)
end
end
end
function
c10173016
.
s
p
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c10173016
.
s
et
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
0
)
if
e
:
GetHandler
():
IsReason
(
REASON_DESTROY
)
then
e
:
SetLabel
(
100
)
end
return
true
end
function
c10173016
.
s
p
tg
(
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
)
and
e
:
GetLabel
()
~=
0
)
or
(
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
not
c
:
IsForbidden
())
end
function
c10173016
.
s
et
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
,
ft1
,
ft2
,
ct
=
e
:
GetHandler
(),
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
),
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
),
e
:
GetLabel
()
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c10173016
.
setfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
,
ft1
,
ft2
,
ct
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
0
,
tp
,
LOCATION_DECK
)
end
function
c10173016
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
op
=
0
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsImmuneToEffect
(
e
)
then
return
end
local
sp
=
(
e
:
GetLabel
()
~=
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
))
local
set
=
(
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
not
c
:
IsForbidden
())
if
sp
and
(
not
set
or
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10173016
,
2
)))
then
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
elseif
set
then
Duel
.
MoveToField
(
c
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
function
c10173016
.
setfilter
(
c
,
e
,
tp
,
ft1
,
ft2
,
ct
)
return
c
:
IsRace
(
RACE_DINOSAUR
)
and
not
c
:
IsForbidden
()
and
(
ft1
>
0
or
(
ft2
>
0
and
ct
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)))
end
function
c10173016
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
,
ft1
,
ft2
,
ct
=
e
:
GetHandler
(),
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
),
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
),
e
:
GetLabel
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
10173016
,
4
))
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c10173016
.
setfilter
),
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
,
ft1
,
ft2
,
ct
):
GetFirst
()
if
not
tc
then
return
end
local
sp
=
(
ct
>
0
and
ft2
>
0
and
tc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
))
if
sp
and
(
ft1
<=
0
or
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10173016
,
2
)))
then
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
Duel
.
MoveToField
(
tc
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCode
(
EFFECT_CHANGE_TYPE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fc0000
)
e1
:
SetValue
(
TYPE_SPELL
+
TYPE_CONTINUOUS
)
c
:
RegisterEffect
(
e1
)
t
c
:
RegisterEffect
(
e1
)
end
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c10173016
.
thfilter
),
tp
,
LOCATION_GRAVE
,
0
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10173016
,
1
))
then
local
g
=
Duel
.
GetMatchingGroup
(
c10173016
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10173016
,
3
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_
ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_
TOGRAVE
)
local
tg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
Sendto
Hand
(
tg
,
nil
,
REASON_EFFECT
)
Duel
.
Sendto
Grave
(
tg
,
REASON_EFFECT
)
end
end
function
c10173016
.
t
h
filter
(
c
)
return
c
:
Is
Race
(
RACE_DINOSAUR
)
and
c
:
IsAbleToHand
()
and
c
:
GetLevel
()
==
8
function
c10173016
.
t
g
filter
(
c
)
return
c
:
Is
Type
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0xa338
)
and
c
:
IsAbleToGrave
()
end
\ No newline at end of file
expansions/script/c10173028.lua
View file @
9d57f084
...
...
@@ -10,20 +10,39 @@ function c10173028.initial_effect(c)
e1
:
SetTarget
(
c10173028
.
settg
)
e1
:
SetOperation
(
c10173028
.
setop
)
c
:
RegisterEffect
(
e1
)
--
set
--
destroy
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10173028
,
1
))
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e2
:
SetCategory
(
CATEGORY_DESTROY
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetCode
(
EVENT_DESTROYED
)
e2
:
SetCountLimit
(
1
,
10173128
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetRange
(
LOCATION_HAND
+
LOCATION_GRAVE
)
e2
:
SetCondition
(
c10173028
.
spcon
)
e2
:
SetTarget
(
c10173028
.
sptg
)
e2
:
SetOperation
(
c10173028
.
spop
)
e2
:
SetTarget
(
c10173028
.
destg
)
e2
:
SetOperation
(
c10173028
.
desop
)
c
:
RegisterEffect
(
e2
)
end
function
c10173028
.
desfilter
(
c
)
return
(
c
:
IsFaceup
()
or
not
c
:
IsLocation
(
LOCATION_ONFIELD
))
and
c
:
IsSetCard
(
0xa338
)
end
function
c10173028
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c10173028
.
desfilter
,
tp
,
LOCATION_ONFIELD
+
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
nil
,
1
,
0
,
0
)
end
function
c10173028
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10173028
.
desfilter
,
tp
,
LOCATION_ONFIELD
+
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
~=
0
and
g
:
GetFirst
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
then
g
=
Duel
.
GetMatchingGroup
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10173028
,
2
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
dg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
dg
)
Duel
.
Destroy
(
dg
,
REASON_EFFECT
)
end
end
end
function
c10173028
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
aux
.
TRUE
,
tp
,
LOCATION_ONFIELD
+
LOCATION_HAND
,
0
,
1
,
c
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
not
c
:
IsForbidden
()
end
...
...
@@ -34,48 +53,23 @@ function c10173028.setop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
TRUE
,
tp
,
LOCATION_ONFIELD
+
LOCATION_HAND
,
0
,
1
,
1
,
c
)
if
g
:
GetCount
()
>
0
and
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
~=
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
not
c
:
IsForbidden
()
and
c
:
IsRelateToEffect
(
e
)
and
not
c
:
IsImmuneToEffect
(
e
)
then
Duel
.
MoveToField
(
c
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCode
(
EFFECT_CHANGE_TYPE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fc0000
)
e1
:
SetValue
(
TYPE_SPELL
+
TYPE_CONTINUOUS
)
c
:
RegisterEffect
(
e1
)
if
Duel
.
MoveToField
(
c
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCode
(
EFFECT_CHANGE_TYPE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fc0000
)
e1
:
SetValue
(
TYPE_SPELL
+
TYPE_CONTINUOUS
)
c
:
RegisterEffect
(
e1
)
g
=
Duel
.
GetMatchingGroup
(
c10173028
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10173028
,
3
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
tg
=
g
:
Select
(
tp
,
1
,
3
,
nil
)
Duel
.
SendtoDeck
(
tg
,
nil
,
2
,
REASON_EFFECT
)
end
end
end
end
function
c10173028
.
cfilter
(
c
,
tp
)
return
c
:
IsControler
(
tp
)
and
c
:
IsReason
(
REASON_DESTROY
)
end
function
c10173028
.
cfilter2
(
c
,
tp
)
return
c10173028
.
cfilter
(
c
,
tp
)
and
c
:
IsReason
(
REASON_EFFECT
)
end
function
c10173028
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
0
)
if
eg
:
IsExists
(
c10173028
.
cfilter2
,
2
,
nil
,
tp
)
then
e
:
SetLabel
(
100
)
end
return
eg
:
IsExists
(
c10173028
.
cfilter
,
1
,
nil
,
tp
)
end
function
c10173028
.
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
)
and
e
:
GetLabel
()
~=
0
)
or
(
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
not
c
:
IsForbidden
())
end
end
function
c10173028
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
op
=
0
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
local
sp
=
(
e
:
GetLabel
()
~=
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
))
local
set
=
(
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
not
c
:
IsForbidden
())
if
sp
and
(
not
set
or
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10173028
,
2
)))
then
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
elseif
set
then
Duel
.
MoveToField
(
c
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCode
(
EFFECT_CHANGE_TYPE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fc0000
)
e1
:
SetValue
(
TYPE_SPELL
+
TYPE_CONTINUOUS
)
c
:
RegisterEffect
(
e1
)
end
function
c10173028
.
tdfilter
(
c
)
return
c
:
IsRace
(
RACE_DINOSAUR
)
and
c
:
IsAbleToDeck
()
end
\ No newline at end of file
expansions/script/c10173054.lua
View file @
9d57f084
...
...
@@ -10,7 +10,7 @@ function c10173054.initial_effect(c)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCountLimit
(
1
,
10173054
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetHintTiming
(
0
,
0x11e0
)
e1
:
SetTarget
(
c10173054
.
rmtg
)
...
...
@@ -23,7 +23,7 @@ function c10173054.initial_effect(c)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetCountLimit
(
1
,
10173
0
54
)
e2
:
SetCountLimit
(
1
,
10173
1
54
)
e2
:
SetHintTiming
(
0
,
0x1e0
)
e2
:
SetCost
(
c10173054
.
spcost
)
e2
:
SetTarget
(
c10173054
.
sptg
)
...
...
@@ -68,6 +68,13 @@ function c10173054.spop(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetValue
(
1
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
g
:
GetFirst
():
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_LEAVE_FIELD_REDIRECT
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetReset
(
RESET_EVENT
+
0x47e0000
)
e2
:
SetValue
(
LOCATION_REMOVED
)
g
:
GetFirst
():
RegisterEffect
(
e2
,
true
)
end
end
function
c10173054
.
atcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
expansions/script/c10173056.lua
0 → 100644
View file @
9d57f084
--延时融合
function
c10173056
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetDescription
(
aux
.
Stringid
(
10173056
,
0
))
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetOperation
(
c10173056
.
activate
)
c
:
RegisterEffect
(
e1
)
--tohand
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10173056
,
1
))
e2
:
SetCategory
(
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e2
:
SetCountLimit
(
1
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCondition
(
c10173056
.
thcon
)
e2
:
SetTarget
(
c10173056
.
thtg
)
e2
:
SetOperation
(
c10173056
.
thop
)
c
:
RegisterEffect
(
e2
)
if
not
c10173056
.
global_check
then
c10173056
.
global_check
=
true
c10173056
[
0
]
=
0
local
ge1
=
Effect
.
CreateEffect
(
c
)
ge1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
ge1
:
SetCode
(
EVENT_PHASE_START
+
PHASE_DRAW
)
ge1
:
SetOperation
(
c10173056
.
clear
)
Duel
.
RegisterEffect
(
ge1
,
0
)
c10173056
.
global_check
=
true
local
ge1
=
Effect
.
CreateEffect
(
c
)
ge1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
ge1
:
SetCode
(
EVENT_LEAVE_FIELD
)
ge1
:
SetOperation
(
c10173056
.
checkop
)
Duel
.
RegisterEffect
(
ge1
,
0
)
end
end
function
c10173056
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFlagEffect
(
tp
,
10173056
)
>
0
end
function
c10173056
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToHand
()
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c10173056
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
then
Duel
.
SendtoHand
(
c
,
nil
,
REASON_EFFECT
)
end
end
function
c10173056
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
eg
:
GetFirst
()
while
tc
do
if
tc
:
IsPreviousPosition
(
POS_FACEUP
)
and
tc
:
IsType
(
TYPE_FUSION
)
then
Duel
.
RegisterFlagEffect
(
tc
:
GetPreviousControler
(),
10173056
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
tc
=
eg
:
GetNext
()
end
end
function
c10173056
.
clear
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
c10173056
[
0
]
=
0
end
function
c10173056
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsFusionSummonableCard
,
tp
,
0xff
,
0xff
,
nil
)
local
tc
=
g
:
GetFirst
()
while
tc
do
if
tc
:
GetFlagEffect
(
10173056
)
==
0
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetDescription
(
aux
.
Stringid
(
10173056
,
0
))
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetRange
(
LOCATION_EXTRA
)
e1
:
SetValue
(
SUMMON_TYPE_FUSION
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetCondition
(
c10173056
.
spcon
)
e1
:
SetOperation
(
c10173056
.
spop
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterFlagEffect
(
10173056
,
RESET_PHASE
+
PHASE_END
,
0
,
0
)
end
tc
=
g
:
GetNext
()
end
c10173056
[
0
]
=
c10173056
[
0
]
+
1
end
function
c10173056
.
filter1
(
c
,
fc
)
return
c
:
IsAbleToRemoveAsCost
()
and
c
:
IsCanBeFusionMaterial
(
fc
)
and
c
:
IsType
(
TYPE_MONSTER
)
end
function
c10173056
.
spcon
(
e
,
c
)
if
c10173056
[
0
]
==
0
then
return
false
end
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
chkf
=
tp
local
mg
=
Duel
.
GetMatchingGroup
(
c10173056
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
c
)
return
c
:
CheckFusionMaterial
(
mg
,
nil
,
chkf
)
end
function
c10173056
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
chkf
=
tp
local
mg
=
Duel
.
GetMatchingGroup
(
c10173056
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
nil
,
c
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
c
,
mg
,
nil
,
chkf
)
c
:
SetMaterial
(
mat
)
Duel
.
Remove
(
mat
,
POS_FACEUP
,
REASON_FUSION
+
REASON_COST
+
REASON_MATERIAL
)
c10173056
[
0
]
=
c10173056
[
0
]
-
1
end
\ No newline at end of file
expansions/script/c10173061.lua
0 → 100644
View file @
9d57f084
--廓尔喀的幼龙鹰
function
c10173061
.
initial_effect
(
c
)
--return
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10173061
,
0
))
e1
:
SetCategory
(
CATEGORY_TOGRAVE
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCountLimit
(
1
,
10173261
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTarget
(
c10173061
.
rttg
)
e1
:
SetOperation
(
c10173061
.
rtop
)
c
:
RegisterEffect
(
e1
)
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10173061
,
1
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetCountLimit
(
1
,
10173061
)
e2
:
SetCondition
(
c10173061
.
spcon
)
e2
:
SetTarget
(
c10173061
.
sptg
)
e2
:
SetOperation
(
c10173061
.
spop
)
c
:
RegisterEffect
(
e2
)
--SpecialSummon2
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
10173061
,
2
))
e3
:
SetCategory
(
CATEGORY_REMOVE
+
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetCode
(
EVENT_FREE_CHAIN
)
e3
:
SetHintTiming
(
0
,
0x1e0
)
e3
:
SetCountLimit
(
1
,
10173161
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetTarget
(
c10173061
.
sptg2
)
e3
:
SetOperation
(
c10173061
.
spop2
)
c
:
RegisterEffect
(
e3
)
end
function
c10173061
.
spfilter2
(
c
,
e
,
tp
)
return
c
:
IsCode
(
10173062
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c10173061
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToRemove
()
and
Duel
.
IsExistingMatchingCard
(
c10173061
.
spfilter2
,
tp
,
0x13
,
0
,
1
,
Group
.
FromCards
(
c
,
e
:
GetHandler
()),
e
,
tp
)
end
function
c10173061
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c10173061
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
c
,
e
,
tp
)
and
c
:
IsAbleToRemove
()
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
c
,
2
,
tp
,
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
0x13
)
end
function
c10173061
.
spop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
c10173061
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
c
,
e
,
tp
):
GetFirst
()
if
tc
and
Duel
.
Remove
(
Group
.
FromCards
(
c
,
tc
),
POS_FACEUP
,
REASON_EFFECT
)
~=
0
and
(
tc
:
IsLocation
(
LOCATION_REMOVED
)
or
c
:
IsLocation
(
LOCATION_REMOVED
))
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10173061
.
spfilter2
,
tp
,
0x13
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
end
end
end
function
c10173061
.
cfilter
(
c
,
tp
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsControler
(
tp
)
and
c
:
IsSetCard
(
0xc332
)
end
function
c10173061
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
eg
:
IsContains
(
e
:
GetHandler
())
and
eg
:
IsExists
(
c10173061
.
cfilter
,
1
,
nil
,
tp
)
end
function
c10173061
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
e
:
GetHandler
():
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
LOCATION_GRAVE
)
end
function
c10173061
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
function
c10173061
.
rtfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_MONSTER
)
end
function
c10173061
.
rttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_REMOVED
)
and
c10173061
.
rtfilter
(
chkc
)
and
chkc
:
IsControler
(
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c10173061
.
rtfilter
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
10173061
,
3
))
local
g
=
Duel
.
SelectTarget
(
tp
,
c10173061
.
rtfilter
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
2
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g
,
g
:
GetCount
(),
tp
,
LOCATION_REMOVED
)
end
function
c10173061
.
rtop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tg
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
)
local
sg
=
tg
:
Filter
(
Card
.
IsRelateToEffect
,
nil
,
e
)
if
sg
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
sg
,
REASON_EFFECT
+
REASON_RETURN
)
end
end
\ No newline at end of file
expansions/script/c10173062.lua
0 → 100644
View file @
9d57f084
--廓尔喀的龙鹰
function
c10173062
.
initial_effect
(
c
)
--Destroy
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10173062
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCountLimit
(
1
,
10173262
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTarget
(
c10173062
.
destg
)
e1
:
SetOperation
(
c10173062
.
desop
)
c
:
RegisterEffect
(
e1
)
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10173062
,
1
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCode
(
EVENT_REMOVE
)
e2
:
SetCountLimit
(
1
,
10173062
)
e2
:
SetCondition
(
c10173062
.
spcon
)
e2
:
SetTarget
(
c10173062
.
sptg
)
e2
:
SetOperation
(
c10173062
.
spop
)
c
:
RegisterEffect
(
e2
)
--SpecialSummon2
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
10173062
,
2
))
e3
:
SetCategory
(
CATEGORY_REMOVE
+
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetCode
(
EVENT_FREE_CHAIN
)
e3
:
SetHintTiming
(
0
,
0x1e0
)
e3
:
SetCountLimit
(
1
,
10173162
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetTarget
(
c10173062
.
sptg2
)
e3
:
SetOperation
(
c10173062
.
spop2
)
c
:
RegisterEffect
(
e3
)
end
function
c10173062
.
spfilter2
(
c
,
e
,
tp
)
return
c
:
IsCode
(
10173063
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c10173062
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToRemove
()
and
Duel
.
IsExistingMatchingCard
(
c10173062
.
spfilter2
,
tp
,
0x13
,
0
,
1
,
Group
.
FromCards
(
c
,
e
:
GetHandler
()),
e
,
tp
)
end
function
c10173062
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c10173062
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
c
,
e
,
tp
)
and
c
:
IsAbleToRemove
()
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
c
,
2
,
tp
,
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
0x13
)
end
function
c10173062
.
spop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
c10173062
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
c
,
e
,
tp
):
GetFirst
()
if
tc
and
Duel
.
Remove
(
Group
.
FromCards
(
c
,
tc
),
POS_FACEUP
,
REASON_EFFECT
)
~=
0
and
(
tc
:
IsLocation
(
LOCATION_REMOVED
)
or
c
:
IsLocation
(
LOCATION_REMOVED
))
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10173062
.
spfilter2
,
tp
,
0x13
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
end
end
end
function
c10173062
.
cfilter
(
c
,
tp
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsPreviousLocation
(
LOCATION_GRAVE
)
and
c
:
GetPreviousControler
()
==
tp
and
c
:
IsSetCard
(
0xc332
)
end
function
c10173062
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c10173062
.
cfilter
,
1
,
nil
,
tp
)
end
function
c10173062
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
e
:
GetHandler
():
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
LOCATION_GRAVE
)
end
function
c10173062
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
function
c10173062
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
1
-
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectTarget
(
tp
,
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
end
function
c10173062
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
end
end
\ No newline at end of file
expansions/script/c10173063.lua
0 → 100644
View file @
9d57f084
--廓尔喀的煌龙鹰
function
c10173063
.
initial_effect
(
c
)
--SpecialSummon1
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10173063
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetCountLimit
(
1
,
10173263
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTarget
(
c10173063
.
sptg
)
e1
:
SetOperation
(
c10173063
.
spop
)
c
:
RegisterEffect
(
e1
)
--SpecialSummon2
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10173063
,
1
))
e2
:
SetCategory
(
CATEGORY_REMOVE
+
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetHintTiming
(
0
,
0x1e0
)
e2
:
SetCountLimit
(
1
,
10173063
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetTarget
(
c10173063
.
sptg2
)
e2
:
SetOperation
(
c10173063
.
spop2
)
c
:
RegisterEffect
(
e2
)
--SpecialSummon3
local
e3
=
e2
:
Clone
()
e3
:
SetDescription
(
aux
.
Stringid
(
10173063
,
2
))
e3
:
SetCountLimit
(
1
,
10173063
)
e3
:
SetTarget
(
c10173063
.
sptg3
)
e3
:
SetOperation
(
c10173063
.
spop3
)
c
:
RegisterEffect
(
e3
)
end
function
c10173063
.
spfilter2
(
c
,
e
,
tp
)
return
c
:
IsCode
(
10173061
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c10173063
.
sptg3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsAbleToRemove
()
and
Duel
.
IsExistingMatchingCard
(
c10173063
.
spfilter2
,
tp
,
0x13
,
0
,
1
,
c
,
e
,
tp
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
c
,
1
,
tp
,
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
0
,
0x13
)
end
function
c10173063
.
spop3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
Remove
(
c
,
POS_FACEUP
,
REASON_EFFECT
)
~=
0
and
c
:
IsLocation
(
LOCATION_REMOVED
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10173063
.
spfilter2
,
tp
,
0x13
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
end
end
end
function
c10173063
.
cfilter
(
c
)
return
c
:
IsAbleToRemove
()
and
c
:
IsType
(
TYPE_MONSTER
)
end
function
c10173063
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
g
=
Duel
.
GetMatchingGroup
(
c10173063
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
c
)
return
g
:
GetCount
()
>
1
and
g
:
FilterCount
(
Card
.
IsSetCard
,
nil
,
0xc332
)
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
nil
,
2
,
tp
,
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
LOCATION_GRAVE
)
end
function
c10173063
.
spop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
GetMatchingGroup
(
c10173063
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
c
)
if
g
:
GetCount
()
<
2
or
g
:
FilterCount
(
Card
.
IsSetCard
,
nil
,
0xc332
)
<
1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g1
=
g
:
FilterSelect
(
tp
,
Card
.
IsSetCard
,
1
,
1
,
nil
,
0xc332
)
g
:
Sub
(
g1
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
if
Duel
.
Remove
(
g1
,
POS_FACEUP
,
REASON_EFFECT
)
~=
0
and
g1
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_REMOVED
)
==
2
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
c
:
IsRelateToEffect
(
e
)
then
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
end
end
function
c10173063
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c10173063
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c10173063
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c10173063
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10173063
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
\ No newline at end of file
expansions/script/c10173064.lua
0 → 100644
View file @
9d57f084
--连续除外士
function
c10173064
.
initial_effect
(
c
)
--spsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10173064
,
0
))
e1
:
SetCategory
(
CATEGORY_TOGRAVE
+
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCode
(
EVENT_REMOVE
)
e1
:
SetCountLimit
(
1
,
10173064
)
e1
:
SetTarget
(
c10173064
.
sptg
)
e1
:
SetOperation
(
c10173064
.
spop
)
c
:
RegisterEffect
(
e1
)
--tohand
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10173064
,
1
))
e2
:
SetCategory
(
CATEGORY_REMOVE
+
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_REMOVE
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_CARD_TARGET
+
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
10173164
)
e2
:
SetTarget
(
c10173064
.
thtg
)
e2
:
SetOperation
(
c10173064
.
thop
)
c
:
RegisterEffect
(
e2
)
end
function
c10173064
.
rfilter
(
c
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsFaceup
()
and
c
:
IsAbleToRemove
()
end
function
c10173064
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
c
=
e
:
GetHandler
()
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c10173064
.
rfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c10173064
.
rfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
c
:
IsAbleToHand
()
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c10173064
.
rfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
c
,
1
,
tp
,
LOCATION_REMOVED
)
end
function
c10173064
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
,
c
=
Duel
.
GetFirstTarget
(),
e
:
GetHandler
()
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
Remove
(
tc
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_TEMPORARY
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetLabelObject
(
tc
)
e1
:
SetCountLimit
(
1
)
e1
:
SetOperation
(
c10173064
.
retop
)
Duel
.
RegisterEffect
(
e1
,
tp
)
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsLocation
(
LOCATION_REMOVED
)
then
Duel
.
SendtoHand
(
c
,
nil
,
REASON_EFFECT
)
end
end
end
function
c10173064
.
retop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
ReturnToField
(
e
:
GetLabelObject
())
end
function
c10173064
.
cfilter
(
c
,
e
)
return
c
:
IsFaceup
()
and
c
:
IsCanBeEffectTarget
(
e
)
end
function
c10173064
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
c
=
e
:
GetHandler
()
if
chkc
then
return
eg
:
IsContains
(
chkc
)
and
c10173064
.
cfilter
(
chkc
,
e
)
end
if
chk
==
0
then
return
eg
:
IsExists
(
c10173064
.
cfilter
,
2
,
nil
,
e
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
10173064
,
2
))
local
g
=
eg
:
FilterSelect
(
tp
,
c10173064
.
cfilter
,
1
,
1
,
nil
,
e
)
Duel
.
SetTargetCard
(
g
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g
,
1
,
tp
,
LOCATION_REMOVED
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
tp
,
LOCATION_HAND
)
end
function
c10173064
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
,
c
=
Duel
.
GetFirstTarget
(),
e
:
GetHandler
()
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
+
REASON_RETURN
)
~=
0
and
c
:
IsRelateToEffect
(
e
)
then
Duel
.
SpecialSummon
(
c
,
e
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
expansions/script/c10173065.lua
0 → 100644
View file @
9d57f084
--天星龙骑剑
function
c10173065
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
c10173065
.
linkfilter
,
2
,
2
)
c
:
EnableReviveLimit
()
--equip
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10173065
,
0
))
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
,
10173065
)
e1
:
SetCost
(
c10173065
.
eqcost
)
e1
:
SetTarget
(
c10173065
.
eqtg
)
e1
:
SetOperation
(
c10173065
.
eqop
)
c
:
RegisterEffect
(
e1
)
--ATKup
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10173065
,
1
))
e2
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetHintTiming
(
0
,
0x1e0
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
,
10173165
)
e2
:
SetCost
(
c10173065
.
atkcost
)
e2
:
SetOperation
(
c10173065
.
atkop
)
c
:
RegisterEffect
(
e2
)
end
function
c10173065
.
atkcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
e
:
GetHandler
():
GetEquipGroup
()
if
chk
==
0
then
return
g
:
GetCount
()
>
0
and
g
:
IsExists
(
Card
.
IsAbleToRemoveAsCost
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
tg
=
g
:
FilterSelect
(
tp
,
Card
.
IsAbleToRemoveAsCost
,
1
,
1
,
nil
)
Duel
.
Remove
(
tg
,
POS_FACEUP
,
REASON_COST
)
end
function
c10173065
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
1000
)
e1
:
SetProperty
(
EFFECT_FLAG_COPY_INHERIT
)
e1
:
SetReset
(
RESET_EVENT
+
0x1ff0000
)
c
:
RegisterEffect
(
e1
)
end
end
function
c10173065
.
linkfilter
(
c
)
return
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsAttackAbove
(
2000
)
end
function
c10173065
.
eqfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_EFFECT
)
and
(
c
:
IsControler
(
tp
)
or
(
c
:
IsAbleToChangeControler
()
or
c
:
IsLocation
(
LOCATION_GRAVE
)))
end
function
c10173065
.
rfilter
(
c
)
return
bit
.
band
(
c
:
GetType
(),
0x40002
)
==
0x40002
and
c
:
IsAbleToRemoveAsCost
()
end
function
c10173065
.
eqcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
e
:
SetLabel
(
100
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c10173065
.
rfilter
,
tp
,
0x13
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10173065
.
rfilter
,
tp
,
0x13
,
0
,
1
,
1
,
nil
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
e
:
SetLabelObject
(
g
:
GetFirst
())
end
function
c10173065
.
eqtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
+
LOCATION_GRAVE
)
and
c10173065
.
eqfilter
(
chkc
,
tp
)
and
chkc
~=
e
:
GetHandler
()
end
if
chk
==
0
then
if
e
:
GetLabel
()
~=
100
then
return
false
end
e
:
SetLabel
(
0
)
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c10173065
.
eqfilter
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
1
,
e
:
GetHandler
(),
tp
)
end
e
:
SetLabel
(
0
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c10173065
.
eqfilter
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
1
,
1
,
e
:
GetHandler
(),
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
g
,
1
,
0
,
LOCATION_GRAVE
+
LOCATION_MZONE
)
end
function
c10173065
.
eqop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
0
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
<=
0
then
return
end
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
not
(
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
tc
:
IsType
(
TYPE_EFFECT
))
then
return
end
if
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
then
if
Duel
.
Equip
(
tp
,
tc
,
c
)
==
0
then
return
end
local
code
=
e
:
GetLabelObject
():
GetOriginalCode
()
local
cid
=
tc
:
CopyEffect
(
code
,
RESET_EVENT
+
0x1fe0000
)
tc
:
SetHint
(
HINT_CARD
,
code
)
else
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
end
end
\ No newline at end of file
expansions/script/c10173066.lua
0 → 100644
View file @
9d57f084
--秘龙剑
function
c10173066
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetDescription
(
aux
.
Stringid
(
10173066
,
2
))
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetTarget
(
c10173066
.
target
)
e1
:
SetOperation
(
c10173066
.
operation
)
c
:
RegisterEffect
(
e1
)
--spsummon
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e6
:
SetDescription
(
aux
.
Stringid
(
10173066
,
0
))
e6
:
SetType
(
EFFECT_TYPE_IGNITION
)
e6
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e6
:
SetRange
(
LOCATION_SZONE
)
e6
:
SetCountLimit
(
1
,
10173066
)
e6
:
SetCost
(
c10173066
.
spcost
)
e6
:
SetTarget
(
c10173066
.
sptg
)
e6
:
SetOperation
(
c10173066
.
spop
)
c
:
RegisterEffect
(
e6
)
--Equip limit
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetValue
(
c10173066
.
eqlimit
)
c
:
RegisterEffect
(
e2
)
--add type
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_EQUIP
)
e3
:
SetCode
(
EFFECT_ADD_TYPE
)
e3
:
SetValue
(
TYPE_TUNER
)
c
:
RegisterEffect
(
e3
)
local
e4
=
e3
:
Clone
()
e4
:
SetCode
(
EFFECT_CHANGE_LEVEL
)
e4
:
SetValue
(
2
)
c
:
RegisterEffect
(
e4
)
--tohand
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
10173066
,
1
))
e5
:
SetCategory
(
CATEGORY_TOHAND
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetCode
(
EVENT_REMOVE
)
e5
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e5
:
SetCountLimit
(
1
,
10173166
)
e5
:
SetCost
(
c10173066
.
thcost
)
e5
:
SetTarget
(
c10173066
.
thtg
)
e5
:
SetOperation
(
c10173066
.
thop
)
c
:
RegisterEffect
(
e5
)
end
function
c10173066
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_DRAGON
)
end
function
c10173066
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c10173012
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c10173012
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
SelectTarget
(
tp
,
c10173012
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c10173066
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
e
:
GetHandler
():
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
Duel
.
Equip
(
tp
,
e
:
GetHandler
(),
tc
)
end
end
function
c10173066
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c10173066
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10173066
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
function
c10173066
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToHand
()
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c10173066
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
then
Duel
.
SendtoHand
(
c
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
c
)
end
end
function
c10173066
.
cfilter
(
c
)
return
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsAbleToRemoveAsCost
()
end
function
c10173066
.
eqlimit
(
e
,
c
)
return
c
:
IsRace
(
RACE_DRAGON
)
end
function
c10173066
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c10173066
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
ec
=
c
:
GetEquipTarget
()
if
chk
==
0
then
return
ec
and
ec
:
GetControler
()
==
c
:
GetControler
()
and
ec
:
IsReleasable
()
and
c
:
IsReleasable
()
end
Duel
.
Release
(
Group
.
FromCards
(
c
,
ec
),
REASON_COST
)
if
c
:
IsLocation
(
LOCATION_GRAVE
)
then
c
:
RegisterFlagEffect
(
10173066
,
RESET_EVENT
+
0x1fe0000
+
RESET_CHAIN
,
0
,
0
)
end
end
function
c10173066
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_REMOVED
)
and
chkc
:
IsControler
(
tp
)
and
c10173066
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingTarget
(
c10173066
.
spfilter
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c10173066
.
spfilter
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
LOCATION_REMOVED
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c10173066
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
tc
:
IsRelateToEffect
(
e
)
then
if
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
and
c
:
GetFlagEffect
(
10173066
)
~=
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10173066
,
3
))
then
Duel
.
Equip
(
tp
,
c
,
tc
)
end
end
end
\ No newline at end of file
expansions/script/c10173067.lua
0 → 100644
View file @
9d57f084
--岚龙剑
function
c10173067
.
initial_effect
(
c
)
--synchro summon
aux
.
AddSynchroProcedure
(
c
,
nil
,
aux
.
NonTuner
(
Card
.
IsRace
,
RACE_DRAGON
),
1
)
--equip
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10173067
,
0
))
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCountLimit
(
1
,
10173067
)
e1
:
SetTarget
(
c10173067
.
eqtg
)
e1
:
SetOperation
(
c10173067
.
eqop
)
c
:
RegisterEffect
(
e1
)
--todeck
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10173067
,
1
))
e2
:
SetCategory
(
CATEGORY_TODECK
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_REMOVE
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_CARD_TARGET
+
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
10173167
)
e2
:
SetTarget
(
c10173067
.
tdtg
)
e2
:
SetOperation
(
c10173067
.
tdop
)
c
:
RegisterEffect
(
e2
)
end
function
c10173067
.
tdtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsAbleToDeck
()
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
Card
.
IsAbleToDeck
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsAbleToDeck
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
1
,
0
,
0
)
end
function
c10173067
.
tdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
SendtoDeck
(
tc
,
nil
,
2
,
REASON_EFFECT
)
end
end
function
c10173067
.
eqfilter1
(
c
)
return
bit
.
band
(
c
:
GetType
(),
0x40002
)
==
0x40002
and
c
:
IsFaceup
()
end
function
c10173067
.
eqtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
false
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c10173067
.
eqfilter1
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
and
Duel
.
IsExistingTarget
(
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
tc1
=
Duel
.
SelectTarget
(
tp
,
c10173067
.
eqfilter1
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
1
,
nil
):
GetFirst
()
e
:
SetLabelObject
(
tc1
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
tc2
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
):
GetFirst
()
if
tc1
:
CheckEquipTarget
(
tc2
)
then
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
tc1
,
1
,
0
,
LOCATION_REMOVED
)
else
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
Group
.
FromCards
(
tc1
,
tc2
),
2
,
0
,
0
)
end
end
function
c10173067
.
eqop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ec
=
e
:
GetLabelObject
()
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
)
local
tc
=
g
:
GetFirst
()
if
tc
==
ec
then
tc
=
g
:
GetNext
()
end
if
ec
:
IsFaceup
()
and
ec
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
tc
:
IsRelateToEffect
(
e
)
then
if
ec
:
CheckEquipTarget
(
tc
)
then
Duel
.
Equip
(
tp
,
ec
,
tc
)
else
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
end
end
end
expansions/script/c10173068.lua
0 → 100644
View file @
9d57f084
--诡秘眼
function
c10173068
.
initial_effect
(
c
)
--synchro summon
aux
.
AddSynchroProcedure
(
c
,
nil
,
aux
.
NonTuner
(
nil
),
1
)
c
:
EnableReviveLimit
()
--cannot be target
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetCode
(
EFFECT_CANNOT_BE_BATTLE_TARGET
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetValue
(
aux
.
imval1
)
c
:
RegisterEffect
(
e1
)
--announce
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10173068
,
0
))
e2
:
SetCategory
(
CATEGORY_ANNOUNCE
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
,
10173068
)
e2
:
SetCost
(
c10173068
.
acost
)
e2
:
SetOperation
(
c10173068
.
aop
)
c
:
RegisterEffect
(
e2
)
e2
:
SetLabel
(
0
)
--Revive
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
10173068
,
1
))
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetCode
(
EVENT_FREE_CHAIN
)
e3
:
SetCountLimit
(
1
)
e3
:
SetHintTiming
(
0
,
TIMING_END_PHASE
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetTarget
(
c10173068
.
sptg
)
e3
:
SetOperation
(
c10173068
.
spop
)
c
:
RegisterEffect
(
e3
)
e3
:
SetLabelObject
(
e2
)
--count
if
not
c10173068
.
global_check
then
c10173068
.
global_check
=
true
local
ge1
=
Effect
.
CreateEffect
(
c
)
ge1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
ge1
:
SetCode
(
EVENT_REMOVE
)
ge1
:
SetOperation
(
c10173068
.
checkop
)
Duel
.
RegisterEffect
(
ge1
,
0
)
ge1
:
SetLabelObject
(
e2
)
end
end
function
c10173068
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
eg
:
IsExists
(
c10173068
.
cfilter
,
1
,
nil
,
e
:
GetLabelObject
():
GetLabel
())
then
Duel
.
RegisterFlagEffect
(
tp
,
10173068
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
Duel
.
RegisterFlagEffect
(
1
-
tp
,
10173068
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
end
function
c10173068
.
cfilter
(
c
,
code
)
return
c
:
IsFaceup
()
and
c
:
IsCode
(
code
)
end
function
c10173068
.
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
:
GetFlagEffect
(
10173068
)
>
0
and
Duel
.
GetFlagEffect
(
tp
,
10173068
)
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
end
function
c10173068
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
Duel
.
SpecialSummon
(
e
:
GetHandler
(),
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
function
c10173068
.
acost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsReleasable
()
end
e
:
SetLabel
(
0
)
Duel
.
Release
(
e
:
GetHandler
(),
REASON_COST
)
end
function
c10173068
.
spfilter
(
c
,
e
,
tp
,
ac
)
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
IsFaceup
()
and
c
:
IsCode
(
ac
)
end
function
c10173068
.
aop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
564
)
local
ac
,
c
=
Duel
.
AnnounceCard
(
tp
,
TYPE_MONSTER
),
e
:
GetHandler
()
e
:
SetLabel
(
ac
)
e
:
GetHandler
():
RegisterFlagEffect
(
10173068
,
RESET_EVENT
+
0x1fe0000
,
0
,
0
)
local
g
=
Duel
.
GetMatchingGroup
(
c10173068
.
spfilter
,
tp
,
LOCATION_REMOVED
,
0
,
nil
,
e
,
tp
,
ac
)
if
g
:
GetCount
()
>
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10173068
,
2
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
if
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_DISABLE_EFFECT
)
e2
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
tc
:
RegisterEffect
(
e2
)
end
end
end
\ No newline at end of file
lflist.conf
View file @
9d57f084
...
...
@@ -23,9 +23,9 @@
05200010
0
--圣精灵 格奥基乌斯
#101
10173052
1
--喜剧小丑
10173054
0
--食腐骨犬
10173054
1
--食腐骨犬
10173058
0
--恶魔科学塑型体
10173059
0
--连接融合者
10173059
1
--连接融合者
#132
#元始飞球
#禁忌飞球·饕餮
...
...
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