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
931f3056
Commit
931f3056
authored
Oct 21, 2017
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pre
parent
dc03b44a
Changes
110
Hide whitespace changes
Inline
Side-by-side
Showing
110 changed files
with
2798 additions
and
5726 deletions
+2798
-5726
expansions/pre-release.cdb
expansions/pre-release.cdb
+0
-0
expansions/script/c100223006.lua
expansions/script/c100223006.lua
+94
-0
expansions/script/c100223011.lua
expansions/script/c100223011.lua
+90
-0
expansions/script/c100223031.lua
expansions/script/c100223031.lua
+86
-0
expansions/script/c100223061.lua
expansions/script/c100223061.lua
+107
-0
expansions/script/c100223076.lua
expansions/script/c100223076.lua
+92
-0
expansions/script/c100223081.lua
expansions/script/c100223081.lua
+97
-0
expansions/script/c100223091.lua
expansions/script/c100223091.lua
+86
-0
expansions/script/c100333001.lua
expansions/script/c100333001.lua
+29
-0
expansions/script/c100333031.lua
expansions/script/c100333031.lua
+47
-0
expansions/script/c100333040.lua
expansions/script/c100333040.lua
+90
-0
expansions/script/c100407001.lua
expansions/script/c100407001.lua
+76
-0
expansions/script/c100407002.lua
expansions/script/c100407002.lua
+69
-0
expansions/script/c100407003.lua
expansions/script/c100407003.lua
+143
-0
expansions/script/c100407004.lua
expansions/script/c100407004.lua
+123
-0
expansions/script/c100407007.lua
expansions/script/c100407007.lua
+116
-0
expansions/script/c100407008.lua
expansions/script/c100407008.lua
+98
-0
expansions/script/c100407009.lua
expansions/script/c100407009.lua
+76
-0
expansions/script/c100407010.lua
expansions/script/c100407010.lua
+121
-0
expansions/script/c100407014.lua
expansions/script/c100407014.lua
+87
-0
expansions/script/c100407015.lua
expansions/script/c100407015.lua
+106
-0
expansions/script/c100407017.lua
expansions/script/c100407017.lua
+110
-0
expansions/script/c100407021.lua
expansions/script/c100407021.lua
+136
-0
expansions/script/c100407022.lua
expansions/script/c100407022.lua
+119
-0
expansions/script/c100407023.lua
expansions/script/c100407023.lua
+98
-0
expansions/script/c100407030.lua
expansions/script/c100407030.lua
+84
-0
expansions/script/c100407031.lua
expansions/script/c100407031.lua
+89
-0
expansions/script/c100407032.lua
expansions/script/c100407032.lua
+95
-0
expansions/script/c100407037.lua
expansions/script/c100407037.lua
+94
-0
expansions/script/c100407038.lua
expansions/script/c100407038.lua
+28
-0
expansions/script/c100407040.lua
expansions/script/c100407040.lua
+112
-0
expansions/script/c1118137.lua
expansions/script/c1118137.lua
+0
-89
expansions/script/c13452889.lua
expansions/script/c13452889.lua
+0
-64
expansions/script/c1482001.lua
expansions/script/c1482001.lua
+0
-18
expansions/script/c1508649.lua
expansions/script/c1508649.lua
+0
-91
expansions/script/c15397015.lua
expansions/script/c15397015.lua
+0
-85
expansions/script/c15419596.lua
expansions/script/c15419596.lua
+0
-74
expansions/script/c16632144.lua
expansions/script/c16632144.lua
+0
-36
expansions/script/c20537097.lua
expansions/script/c20537097.lua
+0
-80
expansions/script/c209710.lua
expansions/script/c209710.lua
+0
-38
expansions/script/c2220237.lua
expansions/script/c2220237.lua
+0
-67
expansions/script/c24207889.lua
expansions/script/c24207889.lua
+0
-102
expansions/script/c24429467.lua
expansions/script/c24429467.lua
+0
-66
expansions/script/c269510.lua
expansions/script/c269510.lua
+0
-101
expansions/script/c27354732.lua
expansions/script/c27354732.lua
+0
-98
expansions/script/c28570310.lua
expansions/script/c28570310.lua
+0
-104
expansions/script/c28692962.lua
expansions/script/c28692962.lua
+0
-105
expansions/script/c29185231.lua
expansions/script/c29185231.lua
+0
-21
expansions/script/c2930675.lua
expansions/script/c2930675.lua
+0
-55
expansions/script/c29415459.lua
expansions/script/c29415459.lua
+0
-74
expansions/script/c313513.lua
expansions/script/c313513.lua
+0
-91
expansions/script/c31759689.lua
expansions/script/c31759689.lua
+0
-77
expansions/script/c32472237.lua
expansions/script/c32472237.lua
+0
-81
expansions/script/c35146019.lua
expansions/script/c35146019.lua
+0
-88
expansions/script/c35546670.lua
expansions/script/c35546670.lua
+0
-88
expansions/script/c36368606.lua
expansions/script/c36368606.lua
+0
-96
expansions/script/c36668118.lua
expansions/script/c36668118.lua
+0
-95
expansions/script/c36694815.lua
expansions/script/c36694815.lua
+0
-37
expansions/script/c37310367.lua
expansions/script/c37310367.lua
+0
-85
expansions/script/c37480144.lua
expansions/script/c37480144.lua
+0
-31
expansions/script/c37880706.lua
expansions/script/c37880706.lua
+0
-58
expansions/script/c38203732.lua
expansions/script/c38203732.lua
+0
-34
expansions/script/c38325384.lua
expansions/script/c38325384.lua
+0
-73
expansions/script/c38502358.lua
expansions/script/c38502358.lua
+0
-71
expansions/script/c40669071.lua
expansions/script/c40669071.lua
+0
-58
expansions/script/c41782653.lua
expansions/script/c41782653.lua
+0
-102
expansions/script/c49725936.lua
expansions/script/c49725936.lua
+0
-94
expansions/script/c49847524.lua
expansions/script/c49847524.lua
+0
-17
expansions/script/c5087128.lua
expansions/script/c5087128.lua
+0
-99
expansions/script/c53620899.lua
expansions/script/c53620899.lua
+0
-50
expansions/script/c53842431.lua
expansions/script/c53842431.lua
+0
-115
expansions/script/c54965929.lua
expansions/script/c54965929.lua
+0
-112
expansions/script/c55573346.lua
expansions/script/c55573346.lua
+0
-28
expansions/script/c55787576.lua
expansions/script/c55787576.lua
+0
-76
expansions/script/c56809158.lua
expansions/script/c56809158.lua
+0
-75
expansions/script/c61818176.lua
expansions/script/c61818176.lua
+0
-89
expansions/script/c62530723.lua
expansions/script/c62530723.lua
+0
-70
expansions/script/c62753201.lua
expansions/script/c62753201.lua
+0
-94
expansions/script/c63053267.lua
expansions/script/c63053267.lua
+0
-77
expansions/script/c63092423.lua
expansions/script/c63092423.lua
+0
-100
expansions/script/c63519819.lua
expansions/script/c63519819.lua
+0
-129
expansions/script/c63875853.lua
expansions/script/c63875853.lua
+0
-23
expansions/script/c64631466.lua
expansions/script/c64631466.lua
+0
-131
expansions/script/c64697431.lua
expansions/script/c64697431.lua
+0
-26
expansions/script/c66022706.lua
expansions/script/c66022706.lua
+0
-70
expansions/script/c67744384.lua
expansions/script/c67744384.lua
+0
-39
expansions/script/c68860936.lua
expansions/script/c68860936.lua
+0
-35
expansions/script/c73275815.lua
expansions/script/c73275815.lua
+0
-39
expansions/script/c74715061.lua
expansions/script/c74715061.lua
+0
-66
expansions/script/c74997493.lua
expansions/script/c74997493.lua
+0
-133
expansions/script/c75119040.lua
expansions/script/c75119040.lua
+0
-63
expansions/script/c75719089.lua
expansions/script/c75719089.lua
+0
-42
expansions/script/c76232522.lua
expansions/script/c76232522.lua
+0
-72
expansions/script/c77058170.lua
expansions/script/c77058170.lua
+0
-48
expansions/script/c80237445.lua
expansions/script/c80237445.lua
+0
-78
expansions/script/c80959027.lua
expansions/script/c80959027.lua
+0
-92
expansions/script/c879958.lua
expansions/script/c879958.lua
+0
-103
expansions/script/c88392300.lua
expansions/script/c88392300.lua
+0
-35
expansions/script/c89015998.lua
expansions/script/c89015998.lua
+0
-49
expansions/script/c91182675.lua
expansions/script/c91182675.lua
+0
-96
expansions/script/c92080692.lua
expansions/script/c92080692.lua
+0
-31
expansions/script/c92204263.lua
expansions/script/c92204263.lua
+0
-66
expansions/script/c93020401.lua
expansions/script/c93020401.lua
+0
-76
expansions/script/c94142993.lua
expansions/script/c94142993.lua
+0
-83
expansions/script/c94365540.lua
expansions/script/c94365540.lua
+0
-81
expansions/script/c9547962.lua
expansions/script/c9547962.lua
+0
-88
expansions/script/c96540.lua
expansions/script/c96540.lua
+0
-52
expansions/script/c97803170.lua
expansions/script/c97803170.lua
+0
-70
expansions/script/c98935722.lua
expansions/script/c98935722.lua
+0
-84
expansions/script/c99157310.lua
expansions/script/c99157310.lua
+0
-97
No files found.
expansions/pre-release.cdb
View file @
931f3056
No preview for this file type
expansions/script/c100223006.lua
0 → 100644
View file @
931f3056
--剣闘獣ドラガシス
--Gladiator Beast Dragacius
--Scripted by Eerie Code
function
c100223006
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsSetCard
,
0x19
),
2
,
2
)
--indes
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e1
:
SetTarget
(
c100223006
.
indtg
)
e1
:
SetValue
(
1
)
c
:
RegisterEffect
(
e1
)
--actlimit
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e2
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetTargetRange
(
0
,
1
)
e2
:
SetValue
(
c100223006
.
aclimit
)
e2
:
SetCondition
(
c100223006
.
actcon
)
c
:
RegisterEffect
(
e2
)
--special summon
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetDescription
(
aux
.
Stringid
(
100223006
,
0
))
e6
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e6
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e6
:
SetCode
(
EVENT_PHASE
+
PHASE_BATTLE
)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetCountLimit
(
1
,
100223006
)
e6
:
SetCondition
(
c100223006
.
spcon
)
e6
:
SetCost
(
c100223006
.
spcost
)
e6
:
SetTarget
(
c100223006
.
sptg
)
e6
:
SetOperation
(
c100223006
.
spop
)
c
:
RegisterEffect
(
e6
)
end
function
c100223006
.
indtg
(
e
,
c
)
return
c
:
IsSetCard
(
0x19
)
and
Duel
.
GetAttacker
()
==
c
end
function
c100223006
.
aclimit
(
e
,
re
,
tp
)
return
not
re
:
GetHandler
():
IsImmuneToEffect
(
e
)
end
function
c100223006
.
actcon
(
e
)
local
tc
=
Duel
.
GetAttacker
()
local
tp
=
e
:
GetHandlerPlayer
()
return
tc
and
tc
:
IsControler
(
tp
)
and
tc
:
IsSetCard
(
0x19
)
end
function
c100223006
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetBattledGroupCount
()
>
0
end
function
c100223006
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsAbleToExtraAsCost
()
end
Duel
.
SendtoDeck
(
c
,
nil
,
0
,
REASON_COST
)
end
function
c100223006
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x19
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
125
,
tp
,
false
,
false
)
end
function
c100223006
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
e
:
GetHandler
():
GetSequence
()
<
5
then
ft
=
ft
+
1
end
local
g
=
Duel
.
GetMatchingGroup
(
c100223006
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
return
ft
>
1
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
function
c100223006
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
c100223006
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>=
2
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
2
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc1
=
sg1
:
GetFirst
()
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc1
:
GetCode
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc2
=
sg2
:
GetFirst
()
sg1
:
Merge
(
sg2
)
local
tc
=
sg1
:
GetFirst
()
Duel
.
SpecialSummonStep
(
tc
,
125
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
tc
:
RegisterFlagEffect
(
tc
:
GetOriginalCode
(),
RESET_EVENT
+
0x1ff0000
,
0
,
0
)
tc
=
sg1
:
GetNext
()
Duel
.
SpecialSummonStep
(
tc
,
125
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
tc
:
RegisterFlagEffect
(
tc
:
GetOriginalCode
(),
RESET_EVENT
+
0x1ff0000
,
0
,
0
)
Duel
.
SpecialSummonComplete
()
end
end
expansions/script/c100223011.lua
0 → 100644
View file @
931f3056
--ライトロード・ドミニオン キュリオス
--Kyrios, Dominion of the Lightsworn
--Scripted by Eerie Code
function
c100223011
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
nil
,
3
,
3
,
c100223011
.
lcheck
)
c
:
EnableReviveLimit
()
--to grave
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
100223011
,
0
))
e1
:
SetCategory
(
CATEGORY_TOGRAVE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCountLimit
(
1
,
100223011
)
e1
:
SetCondition
(
c100223011
.
tgcon
)
e1
:
SetTarget
(
c100223011
.
tgtg
)
e1
:
SetOperation
(
c100223011
.
tgop
)
c
:
RegisterEffect
(
e1
)
--discard deck
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
100223011
,
2
))
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e2
:
SetCategory
(
CATEGORY_DECKDES
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetCountLimit
(
1
,
100223011
+
100
)
e2
:
SetCondition
(
c100223011
.
ddcon
)
e2
:
SetTarget
(
c100223011
.
ddtg
)
e2
:
SetOperation
(
c100223011
.
ddop
)
c
:
RegisterEffect
(
e2
)
--to hand
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
100223011
,
0
))
e3
:
SetCategory
(
CATEGORY_TOHAND
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD
)
e3
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetCondition
(
c100223011
.
thcon
)
e3
:
SetTarget
(
c100223011
.
thtg
)
e3
:
SetOperation
(
c100223011
.
thop
)
c
:
RegisterEffect
(
e3
)
end
function
c100223011
.
lcheck
(
g
)
return
g
:
GetClassCount
(
Card
.
GetAttribute
)
==
1
and
g
:
GetClassCount
(
Card
.
GetRace
)
==
g
:
GetCount
()
end
function
c100223011
.
tgcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
end
function
c100223011
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToGrave
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c100223011
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToGrave
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
end
end
function
c100223011
.
cfilter
(
c
,
tp
)
return
c
:
IsPreviousLocation
(
LOCATION_DECK
)
and
c
:
GetPreviousControler
()
==
tp
end
function
c100223011
.
ddcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
bit
.
band
(
r
,
REASON_EFFECT
)
~=
0
and
eg
:
IsExists
(
c100223011
.
cfilter
,
1
,
nil
,
tp
)
end
function
c100223011
.
ddtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DECKDES
,
nil
,
0
,
tp
,
3
)
end
function
c100223011
.
ddop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
DiscardDeck
(
tp
,
3
,
REASON_EFFECT
)
end
function
c100223011
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
(
c
:
IsReason
(
REASON_BATTLE
)
or
(
c
:
GetReasonPlayer
()
~=
tp
and
c
:
IsReason
(
REASON_EFFECT
)
and
c
:
GetPreviousControler
()
==
tp
))
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
end
function
c100223011
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsAbleToHand
()
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
Card
.
IsAbleToHand
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsAbleToHand
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
1
,
0
,
0
)
end
function
c100223011
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
end
end
expansions/script/c100223031.lua
0 → 100644
View file @
931f3056
--天球の聖刻印
--Hieratic Seal of the Celestial Spheres
--Scripted by Eerie Code
function
c100223031
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsRace
,
RACE_DRAGON
),
2
,
2
)
--to hand
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
100223031
,
0
))
e1
:
SetCategory
(
CATEGORY_TOHAND
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
c100223031
.
thcon
)
e1
:
SetCost
(
c100223031
.
thcost
)
e1
:
SetTarget
(
c100223031
.
thtg
)
e1
:
SetOperation
(
c100223031
.
thop
)
c
:
RegisterEffect
(
e1
)
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
100223031
,
1
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_RELEASE
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
100223031
)
e2
:
SetTarget
(
c100223031
.
sptg
)
e2
:
SetOperation
(
c100223031
.
spop
)
c
:
RegisterEffect
(
e2
)
end
function
c100223031
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetSequence
()
>
4
and
Duel
.
GetTurnPlayer
()
~=
tp
end
function
c100223031
.
thcfilter
(
c
,
tp
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsReleasable
()
and
Duel
.
IsExistingMatchingCard
(
c100223031
.
thfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
c
)
end
function
c100223031
.
thfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsAbleToHand
()
end
function
c100223031
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100223031
.
thcfilter
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
,
0
,
1
,
nil
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100223031
.
thcfilter
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
tp
)
Duel
.
Release
(
g
,
REASON_COST
)
end
function
c100223031
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
0
,
LOCATION_ONFIELD
)
end
function
c100223031
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RTOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100223031
.
thfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
end
end
function
c100223031
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c100223031
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100223031
.
spfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
)
end
function
c100223031
.
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
,
c100223031
.
spfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
if
not
tc
then
return
end
if
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SET_ATTACK
)
e1
:
SetValue
(
0
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_SET_DEFENSE
)
tc
:
RegisterEffect
(
e2
)
Duel
.
SpecialSummonComplete
()
end
end
expansions/script/c100223061.lua
0 → 100644
View file @
931f3056
--クリフォート・ゲニウス
--Qliphort Genius
--Scripted by Eerie Code
function
c100223061
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsRace
,
RACE_MACHINE
),
2
,
2
)
--immune
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EFFECT_IMMUNE_EFFECT
)
e1
:
SetCondition
(
c100223061
.
immcon
)
e1
:
SetValue
(
c100223061
.
efilter
)
c
:
RegisterEffect
(
e1
)
--disable
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
100223061
,
0
))
e2
:
SetCategory
(
CATEGORY_DISABLE
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetTarget
(
c100223061
.
distg
)
e2
:
SetOperation
(
c100223061
.
disop
)
c
:
RegisterEffect
(
e2
)
--search
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
100223061
,
1
))
e3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCondition
(
c100223061
.
thcon
)
e3
:
SetTarget
(
c100223061
.
thtg
)
e3
:
SetOperation
(
c100223061
.
thop
)
c
:
RegisterEffect
(
e3
)
end
function
c100223061
.
immcon
(
e
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
end
function
c100223061
.
efilter
(
e
,
te
)
if
te
:
IsActiveType
(
TYPE_SPELL
+
TYPE_TRAP
)
then
return
true
else
return
te
:
IsActiveType
(
TYPE_LINK
)
and
te
:
IsActivated
()
and
te
:
GetOwner
()
~=
e
:
GetOwner
()
end
end
function
c100223061
.
distg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
false
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
aux
.
disfilter1
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
e
:
GetHandler
())
and
Duel
.
IsExistingTarget
(
aux
.
disfilter1
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SELF
)
Duel
.
SelectTarget
(
tp
,
aux
.
disfilter1
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
e
:
GetHandler
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_OPPO
)
Duel
.
SelectTarget
(
tp
,
aux
.
disfilter1
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
end
function
c100223061
.
disop
(
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
()
~=
2
then
return
end
for
tc
in
aux
.
Next
(
g
)
do
Duel
.
NegateRelatedChain
(
tc
,
RESET_TURN_SET
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetCode
(
EFFECT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCode
(
EFFECT_DISABLE_EFFECT
)
e2
:
SetValue
(
RESET_TURN_SET
)
e2
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e2
)
if
tc
:
IsType
(
TYPE_TRAPMONSTER
)
then
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetCode
(
EFFECT_DISABLE_TRAPMONSTER
)
e3
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e3
)
end
end
end
function
c100223061
.
thcfilter
(
c
,
lg
)
return
lg
:
IsContains
(
c
)
end
function
c100223061
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
lg
=
c
:
GetLinkedGroup
()
return
not
eg
:
IsContains
(
c
)
and
eg
:
FilterCount
(
c100223061
.
thcfilter
,
nil
,
lg
)
==
2
end
function
c100223061
.
thfilter
(
c
)
return
c
:
IsRace
(
RACE_MACHINE
)
and
c
:
IsLevelAbove
(
5
)
and
c
:
IsAbleToHand
()
end
function
c100223061
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100223061
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c100223061
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100223061
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
expansions/script/c100223076.lua
0 → 100644
View file @
931f3056
--アロマセラフィ-ジャスミン
--Aromaseraphy Jasmine
--Scripted by Eerie Code
function
c100223076
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsRace
,
RACE_PLANT
),
2
,
2
)
--indes
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e1
:
SetCondition
(
c100223076
.
indcon
)
e1
:
SetTarget
(
c100223076
.
indtg
)
e1
:
SetValue
(
1
)
c
:
RegisterEffect
(
e1
)
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
4709881
,
0
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
,
100223076
)
e2
:
SetCost
(
c100223076
.
spcost
)
e2
:
SetTarget
(
c100223076
.
sptg
)
e2
:
SetOperation
(
c100223076
.
spop
)
c
:
RegisterEffect
(
e2
)
--search
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e3
:
SetCode
(
EVENT_RECOVER
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCondition
(
c100223076
.
thcon
)
e3
:
SetTarget
(
c100223076
.
thtg
)
e3
:
SetOperation
(
c100223076
.
thop
)
c
:
RegisterEffect
(
e3
)
end
function
c100223076
.
indcon
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
return
Duel
.
GetLP
(
tp
)
>
Duel
.
GetLP
(
1
-
tp
)
end
function
c100223076
.
indtg
(
e
,
c
)
return
e
:
GetHandler
()
==
c
or
(
c
:
IsRace
(
RACE_PLANT
)
and
e
:
GetHandler
():
GetLinkedGroup
():
IsContains
(
c
))
end
function
c100223076
.
cfilter
(
c
,
g
)
return
g
:
IsContains
(
c
)
end
function
c100223076
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
c100223076
.
cfilter
,
1
,
nil
,
lg
)
end
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c100223076
.
cfilter
,
1
,
1
,
nil
,
lg
)
Duel
.
Release
(
g
,
REASON_COST
)
end
function
c100223076
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsRace
(
RACE_PLANT
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
function
c100223076
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100223076
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c100223076
.
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
,
c100223076
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
if
tc
then
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
end
function
c100223076
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
ep
==
tp
end
function
c100223076
.
thfilter
(
c
)
return
c
:
IsRace
(
RACE_PLANT
)
and
c
:
IsAbleToHand
()
end
function
c100223076
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100223076
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c100223076
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100223076
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
expansions/script/c100223081.lua
0 → 100644
View file @
931f3056
--彼岸の黒天使 ケルビーニ
--Cherubini, Black Angel of the Burning Abyss
--Scripted by Eerie Code
function
c100223081
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLevel
,
3
),
2
,
2
)
--indestructable
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e1
:
SetTarget
(
c100223081
.
indtg
)
e1
:
SetValue
(
1
)
c
:
RegisterEffect
(
e1
)
--destroy replace
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_SINGLE
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCode
(
EFFECT_DESTROY_REPLACE
)
e2
:
SetTarget
(
c100223081
.
desreptg
)
c
:
RegisterEffect
(
e2
)
--boost
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
100223081
,
0
))
e3
:
SetCategory
(
CATEGORY_ATKCHANGE
+
CATEGORY_DEFCHANGE
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetLabel
(
0
)
e3
:
SetCountLimit
(
1
,
100223081
)
e3
:
SetCost
(
c100223081
.
atkcost
)
e3
:
SetTarget
(
c100223081
.
atktg
)
e3
:
SetOperation
(
c100223081
.
atkop
)
c
:
RegisterEffect
(
e3
)
end
function
c100223081
.
indtg
(
e
,
c
)
return
e
:
GetHandler
():
GetLinkedGroup
():
IsContains
(
c
)
end
function
c100223081
.
repfilter
(
c
)
return
not
c
:
IsStatus
(
STATUS_DESTROY_CONFIRMED
)
end
function
c100223081
.
desreptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
not
c
:
IsReason
(
REASON_REPLACE
)
and
(
c
:
IsReason
(
REASON_BATTLE
)
or
rp
~=
tp
)
and
Duel
.
IsExistingMatchingCard
(
c100223081
.
repfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
c
)
end
if
Duel
.
SelectEffectYesNo
(
tp
,
e
:
GetHandler
(),
96
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100223081
.
repfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
c
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
+
REASON_REPLACE
)
return
true
else
return
false
end
end
function
c100223081
.
atkcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
e
:
SetLabel
(
1
)
return
true
end
function
c100223081
.
cfilter
(
c
)
return
c
:
IsLevel
(
3
)
and
(
c
:
GetBaseAttack
()
>
0
or
c
:
GetBaseDefense
()
>
0
)
and
c
:
IsAbleToGraveAsCost
()
end
function
c100223081
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xb1
)
end
function
c100223081
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c100223081
.
filter
(
chkc
)
end
if
chk
==
0
then
if
e
:
GetLabel
()
~=
1
then
return
false
end
e
:
SetLabel
(
0
)
return
Duel
.
IsExistingMatchingCard
(
c100223081
.
cfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
and
Duel
.
IsExistingTarget
(
c100223081
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
e
:
SetLabel
(
0
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100223081
.
cfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
e
:
SetLabelObject
(
g
:
GetFirst
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
Duel
.
SelectTarget
(
tp
,
c100223081
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
end
function
c100223081
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
sc
=
e
:
GetLabelObject
()
if
tc
:
IsFaceup
()
and
tc
:
IsRelateToEffect
(
e
)
and
sc
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
sc
:
GetAttack
())
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
e2
:
SetValue
(
sc
:
GetDefense
())
tc
:
RegisterEffect
(
e2
)
end
end
expansions/script/c100223091.lua
0 → 100644
View file @
931f3056
--水晶機巧-ハリファイバー
--Crystron Halifiber
--Scripted by Eerie Code
function
c100223091
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
2
,
c100223091
.
lcheck
)
c
:
EnableReviveLimit
()
--spsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
100223091
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetCountLimit
(
1
,
100223091
)
e1
:
SetCondition
(
c100223091
.
hspcon
)
e1
:
SetTarget
(
c100223091
.
hsptg
)
e1
:
SetOperation
(
c100223091
.
hspop
)
c
:
RegisterEffect
(
e1
)
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
100223091
,
1
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetHintTiming
(
0
,
TIMING_MAIN_END
+
TIMING_BATTLE_START
+
TIMING_BATTLE_END
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
,
100223091
+
100
)
e2
:
SetCondition
(
c100223091
.
spcon
)
e2
:
SetCost
(
aux
.
bfgcost
)
e2
:
SetTarget
(
c100223091
.
sptg
)
e2
:
SetOperation
(
c100223091
.
spop
)
c
:
RegisterEffect
(
e2
)
end
function
c100223091
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
Card
.
IsType
,
1
,
nil
,
TYPE_TUNER
)
end
function
c100223091
.
hspcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
end
function
c100223091
.
hspfilter
(
c
,
e
,
tp
)
return
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsLevelBelow
(
3
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
function
c100223091
.
hsptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100223091
.
hspfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
)
end
function
c100223091
.
hspop
(
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
,
c100223091
.
hspfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
if
tc
and
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_CANNOT_TRIGGER
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
end
Duel
.
SpecialSummonComplete
()
end
function
c100223091
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ph
=
Duel
.
GetCurrentPhase
()
return
not
e
:
GetHandler
():
IsStatus
(
STATUS_CHAINING
)
and
Duel
.
GetTurnPlayer
()
~=
tp
and
(
ph
==
PHASE_MAIN1
or
(
ph
>=
PHASE_BATTLE_START
and
ph
<=
PHASE_BATTLE
)
or
ph
==
PHASE_MAIN2
)
end
function
c100223091
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_SYNCHRO
,
tp
,
false
,
false
)
end
function
c100223091
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
e
:
GetHandler
())
>
0
and
Duel
.
IsExistingMatchingCard
(
c100223091
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c100223091
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCountFromEx
(
tp
)
if
ft
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
c100223091
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
):
GetFirst
()
if
tc
then
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_SYNCHRO
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
tc
:
CompleteProcedure
()
end
end
expansions/script/c100333001.lua
0 → 100644
View file @
931f3056
--ドングルドングリ
--Dongle Acorn
--Scripted by Eerie Code
function
c100333001
.
initial_effect
(
c
)
--spsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
100333001
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_TOKEN
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetCountLimit
(
1
,
100333001
)
e1
:
SetTarget
(
c100333001
.
tktg
)
e1
:
SetOperation
(
c100333001
.
tkop
)
c
:
RegisterEffect
(
e1
)
end
function
c100333001
.
tktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
100333001
+
100
,
0
,
0x4011
,
0
,
0
,
1
,
RACE_CYBERSE
,
ATTRIBUTE_DARK
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
0
,
0
)
end
function
c100333001
.
tkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
100333001
+
100
,
0
,
0x4011
,
0
,
0
,
1
,
RACE_CYBERSE
,
ATTRIBUTE_DARK
)
then
local
token
=
Duel
.
CreateToken
(
tp
,
100333001
+
100
)
Duel
.
SpecialSummon
(
token
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
expansions/script/c100333031.lua
0 → 100644
View file @
931f3056
--パケットリンク
--Packet Link
--Scripted by Eerie Code
function
c100333031
.
initial_effect
(
c
)
--activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCountLimit
(
1
,
100333031
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetCondition
(
c100333031
.
condition
)
e1
:
SetTarget
(
c100333031
.
target
)
e1
:
SetOperation
(
c100333031
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c100333031
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
end
function
c100333031
.
filter
(
c
,
e
,
tp
)
return
c
:
IsLevelBelow
(
2
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c100333031
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
zone
=
Duel
.
GetLinkedZone
(
tp
)
local
ct
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
return
ct
>
0
and
Duel
.
IsExistingMatchingCard
(
c100333031
.
filter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_GRAVE
)
end
function
c100333031
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
zone
=
Duel
.
GetLinkedZone
(
tp
)
local
ct
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
if
ct
<=
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ct
=
1
end
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c100333031
.
filter
),
tp
,
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
local
sg
=
Group
.
CreateGroup
()
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
sg
:
AddCard
(
sg2
:
GetFirst
())
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg2
:
GetFirst
():
GetCode
())
ct
=
ct
-
1
until
ct
==
0
or
g
:
GetCount
()
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
100333031
,
0
))
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
,
zone
)
end
end
expansions/script/c100333040.lua
0 → 100644
View file @
931f3056
--パワーコード・トーカー
--Powercode Talker
--Scripted by Eerie Code
function
c100333040
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
nil
,
3
,
3
)
--negate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
100333040
,
0
))
e1
:
SetCategory
(
CATEGORY_DISABLE
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetTarget
(
c100333040
.
distg
)
e1
:
SetOperation
(
c100333040
.
disop
)
c
:
RegisterEffect
(
e1
)
--atk
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
100333040
,
1
))
e2
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCode
(
EVENT_PRE_DAMAGE_CALCULATE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetCondition
(
c100333040
.
atkcon
)
e2
:
SetCost
(
c100333040
.
atkcost
)
e2
:
SetOperation
(
c100333040
.
atkop
)
c
:
RegisterEffect
(
e2
)
end
function
c100333040
.
distg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
aux
.
disfilter1
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
aux
.
disfilter1
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
local
g
=
Duel
.
SelectTarget
(
tp
,
aux
.
disfilter1
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DISABLE
,
g
,
1
,
0
,
0
)
end
function
c100333040
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
((
tc
:
IsFaceup
()
and
not
tc
:
IsDisabled
())
or
tc
:
IsType
(
TYPE_TRAPMONSTER
))
and
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
NegateRelatedChain
(
tc
,
RESET_TURN_SET
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetCode
(
EFFECT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCode
(
EFFECT_DISABLE_EFFECT
)
e2
:
SetValue
(
RESET_TURN_SET
)
e2
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e2
)
if
tc
:
IsType
(
TYPE_TRAPMONSTER
)
then
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetCode
(
EFFECT_DISABLE_TRAPMONSTER
)
e3
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e3
)
end
end
end
function
c100333040
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetBattleTarget
()
~=
nil
end
function
c100333040
.
cfilter
(
c
,
g
)
return
g
:
IsContains
(
c
)
and
not
c
:
IsStatus
(
STATUS_BATTLE_DESTROYED
)
end
function
c100333040
.
atkcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
c100333040
.
cfilter
,
1
,
nil
,
lg
)
end
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c100333040
.
cfilter
,
1
,
1
,
nil
,
lg
)
Duel
.
Release
(
g
,
REASON_COST
)
end
function
c100333040
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
atk
=
c
:
GetBaseAttack
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SET_ATTACK_FINAL
)
e1
:
SetReset
(
RESET_EVENT
+
0x1ff0000
+
RESET_PHASE
+
PHASE_DAMAGE_CAL
)
e1
:
SetValue
(
atk
*
2
)
c
:
RegisterEffect
(
e1
)
end
end
expansions/script/c100407001.lua
0 → 100644
View file @
931f3056
--ミレニアム・アイズ・イリュージョニスト
--Millennium-Eyes Illusionist
function
c100407001
.
initial_effect
(
c
)
--equip
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
100407001
,
0
))
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCountLimit
(
1
,
100407001
)
e1
:
SetCost
(
c100407001
.
eqcost
)
e1
:
SetTarget
(
c100407001
.
eqtg
)
e1
:
SetOperation
(
c100407001
.
eqop
)
c
:
RegisterEffect
(
e1
)
--to hand
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
100407001
,
1
))
e2
:
SetCategory
(
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCountLimit
(
1
,
100407001
+
100
)
e2
:
SetCondition
(
c100407001
.
thcon
)
e2
:
SetTarget
(
c100407001
.
thtg
)
e2
:
SetOperation
(
c100407001
.
thop
)
c
:
RegisterEffect
(
e2
)
end
function
c100407001
.
eqcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsDiscardable
()
end
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
+
REASON_DISCARD
)
end
function
c100407001
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_EFFECT
)
and
c
:
IsAbleToChangeControler
()
end
function
c100407001
.
eqfilter
(
c
)
local
m
=
_G
[
"c"
..
c
:
GetCode
()]
return
c
:
IsFaceup
()
and
((
c
:
IsSetCard
(
0x20a
)
and
c
:
IsType
(
TYPE_FUSION
))
or
c
:
IsCode
(
64631466
,
63519819
))
and
m
.
CanEquipMonster
(
c
)
end
function
c100407001
.
eqtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsOnField
()
and
c100407001
.
filter
(
chkc
)
and
chkc
~=
e
:
GetHandler
()
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c100407001
.
filter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
and
Duel
.
IsExistingMatchingCard
(
c100407001
.
eqfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c100407001
.
filter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
g
,
1
,
0
,
0
)
end
function
c100407001
.
eqop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc1
=
Duel
.
GetFirstTarget
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100407001
.
eqfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
tc2
=
g
:
GetFirst
()
if
not
tc2
then
return
end
local
m
=
_G
[
"c"
..
tc2
:
GetCode
()]
if
tc1
:
IsFaceup
()
and
tc1
:
IsRelateToEffect
(
e
)
and
tc1
:
IsControler
(
1
-
tp
)
then
m
.
EquipMonster
(
tc2
,
tp
,
tc1
)
end
end
function
c100407001
.
thfilter
(
c
,
e
)
return
(
c
:
IsSetCard
(
0x20a
)
and
c
:
IsType
(
TYPE_FUSION
))
or
c
:
IsCode
(
64631466
,
63519819
)
end
function
c100407001
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c100407001
.
thfilter
,
1
,
nil
)
end
function
c100407001
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c100407001
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
Duel
.
SendtoHand
(
e
:
GetHandler
(),
nil
,
REASON_EFFECT
)
end
end
expansions/script/c100407002.lua
0 → 100644
View file @
931f3056
--幻想魔術師・ノー・フェイス
--Magical Illusionist Faceless Mage
--Scripted by Eerie Code
function
c100407002
.
initial_effect
(
c
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e1
:
SetCode
(
EVENT_DESTROYED
)
e1
:
SetRange
(
LOCATION_HAND
+
LOCATION_GRAVE
)
e1
:
SetCountLimit
(
1
,
100407002
)
e1
:
SetCondition
(
c100407002
.
spcon1
)
e1
:
SetTarget
(
c100407002
.
sptg1
)
e1
:
SetOperation
(
c100407002
.
spop1
)
c
:
RegisterEffect
(
e1
)
--special summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetCountLimit
(
1
,
100407002
+
100
)
e2
:
SetCondition
(
c100407002
.
spcon2
)
e2
:
SetTarget
(
c100407002
.
sptg2
)
e2
:
SetOperation
(
c100407002
.
spop2
)
c
:
RegisterEffect
(
e2
)
end
function
c100407002
.
cfilter
(
c
,
tp
)
return
c
:
IsReason
(
REASON_BATTLE
+
REASON_EFFECT
)
and
((
c
:
IsPreviousSetCard
(
0x20a
)
and
bit
.
band
(
c
:
GetPreviousTypeOnField
(),
TYPE_FUSION
)
~=
0
)
or
(
c
:
GetPreviousCodeOnField
()
==
64631466
or
c
:
GetPreviousCodeOnField
()
==
63519819
))
and
c
:
GetPreviousControler
()
==
tp
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
end
function
c100407002
.
spcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c100407002
.
cfilter
,
1
,
nil
,
tp
)
end
function
c100407002
.
sptg1
(
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
c100407002
.
spop1
(
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
)
end
end
function
c100407002
.
spcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
end
function
c100407002
.
filter
(
c
,
e
,
tp
)
return
((
c
:
IsSetCard
(
0x20a
)
and
c
:
IsType
(
TYPE_FUSION
))
or
c
:
IsCode
(
64631466
,
63519819
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c100407002
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c100407002
.
filter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c100407002
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c100407002
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
end
function
c100407002
.
spop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
and
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
expansions/script/c100407003.lua
0 → 100644
View file @
931f3056
--ミレニアム・アイズ・サクリファイス
--Millennium-Eyes Restrict
function
c100407003
.
initial_effect
(
c
)
--fusion material
c
:
EnableReviveLimit
()
aux
.
AddFusionProcCodeFun
(
c
,
64631466
,
aux
.
FilterBoolFunction
(
Card
.
IsFusionType
,
TYPE_EFFECT
),
1
,
true
,
true
)
--Equip
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
100407003
,
0
))
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
c100407003
.
eqcon
)
e1
:
SetTarget
(
c100407003
.
eqtg
)
e1
:
SetOperation
(
c100407003
.
eqop
)
c
:
RegisterEffect
(
e1
)
--atk
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetValue
(
c100407003
.
atkval
)
c
:
RegisterEffect
(
e2
)
--def
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
e3
:
SetValue
(
c100407003
.
defval
)
c
:
RegisterEffect
(
e3
)
--disable
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
)
e4
:
SetCode
(
EFFECT_DISABLE
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e4
:
SetTarget
(
c100407003
.
distg
)
c
:
RegisterEffect
(
e4
)
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e6
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetCondition
(
c100407003
.
discon
)
e6
:
SetOperation
(
c100407003
.
disop
)
c
:
RegisterEffect
(
e6
)
--atk limit
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_FIELD
)
e5
:
SetCode
(
EFFECT_CANNOT_ATTACK
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e5
:
SetTarget
(
c100407003
.
distg
)
c
:
RegisterEffect
(
e5
)
end
function
c100407003
.
CanEquipMonster
(
c
)
return
true
end
function
c100407003
.
eqcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
ep
~=
tp
and
re
:
IsActiveType
(
TYPE_MONSTER
)
end
function
c100407003
.
eqfilter
(
c
)
return
(
c
:
IsFaceup
()
or
c
:
IsLocation
(
LOCATION_GRAVE
))
and
c
:
IsType
(
TYPE_EFFECT
)
and
c
:
IsAbleToChangeControler
()
end
function
c100407003
.
eqtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
+
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
1
-
tp
)
and
c100407003
.
eqfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c100407003
.
eqfilter
,
tp
,
0
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c100407003
.
eqfilter
,
tp
,
0
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
g
,
1
,
0
,
0
)
end
function
c100407003
.
eqlimit
(
e
,
c
)
return
e
:
GetOwner
()
==
c
end
function
c100407003
.
EquipMonster
(
c
,
tp
,
tc
)
if
not
Duel
.
Equip
(
tp
,
tc
,
c
,
false
)
then
return
end
--Add Equip limit
tc
:
RegisterFlagEffect
(
100407003
,
RESET_EVENT
+
0x1fe0000
,
0
,
0
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_OWNER_RELATE
)
e1
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
e1
:
SetValue
(
c100407003
.
eqlimit
)
tc
:
RegisterEffect
(
e1
)
end
function
c100407003
.
eqop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsFaceup
()
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsType
(
TYPE_MONSTER
)
and
tc
:
IsControler
(
1
-
tp
)
then
if
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
then
c100407003
.
EquipMonster
(
c
,
tp
,
tc
)
else
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
end
end
end
function
c100407003
.
atkval
(
e
,
c
)
local
atk
=
0
local
g
=
c
:
GetEquipGroup
()
local
tc
=
g
:
GetFirst
()
while
tc
do
if
tc
:
GetFlagEffect
(
100407003
)
~=
0
and
tc
:
IsFaceup
()
and
tc
:
GetAttack
()
>=
0
then
atk
=
atk
+
tc
:
GetAttack
()
end
tc
=
g
:
GetNext
()
end
return
atk
end
function
c100407003
.
defval
(
e
,
c
)
local
atk
=
0
local
g
=
c
:
GetEquipGroup
()
local
tc
=
g
:
GetFirst
()
while
tc
do
if
tc
:
GetFlagEffect
(
100407003
)
~=
0
and
tc
:
IsFaceup
()
and
tc
:
GetDefense
()
>=
0
then
atk
=
atk
+
tc
:
GetDefense
()
end
tc
=
g
:
GetNext
()
end
return
atk
end
function
c100407003
.
disfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
GetFlagEffect
(
100407003
)
~=
0
end
function
c100407003
.
distg
(
e
,
c
)
if
not
c
:
IsFaceup
()
then
return
false
end
local
g
=
e
:
GetHandler
():
GetEquipGroup
():
Filter
(
c100407003
.
disfilter
,
nil
)
local
code
=
c
:
GetCode
()
local
code2
=
c
:
GetFlagEffectLabel
(
100407103
)
if
code2
then
code
=
code2
end
local
res
=
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
code
)
if
res
and
code2
==
nil
and
code
~=
c
:
GetOriginalCode
()
then
c
:
RegisterFlagEffect
(
100407103
,
RESET_EVENT
+
0x1fe0000
,
0
,
0
,
code
)
end
return
res
end
function
c100407003
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
e
:
GetHandler
():
GetEquipGroup
():
Filter
(
c100407003
.
disfilter
,
nil
)
return
re
:
IsActiveType
(
TYPE_MONSTER
)
and
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
re
:
GetHandler
():
GetCode
())
end
function
c100407003
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
NegateEffect
(
ev
)
end
expansions/script/c100407004.lua
0 → 100644
View file @
931f3056
--サクリファイス・フュージョン
--Relinquished Fusion
function
c100407004
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_FUSION_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetTarget
(
c100407004
.
target
)
e1
:
SetOperation
(
c100407004
.
activate
)
c
:
RegisterEffect
(
e1
)
--equip
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
100407004
,
0
))
e2
:
SetCategory
(
CATEGORY_EQUIP
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCost
(
c100407004
.
eqcost
)
e2
:
SetTarget
(
c100407004
.
eqtg
)
e2
:
SetOperation
(
c100407004
.
eqop
)
c
:
RegisterEffect
(
e2
)
end
function
c100407004
.
filter0
(
c
)
return
c
:
IsAbleToRemove
()
end
function
c100407004
.
filter1
(
c
,
e
)
return
c
:
IsAbleToRemove
()
and
not
c
:
IsImmuneToEffect
(
e
)
end
function
c100407004
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
and
(
c
:
IsSetCard
(
0x20a
)
or
c
:
IsCode
(
63519819
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
end
function
c100407004
.
filter3
(
c
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToRemove
()
end
function
c100407004
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c100407004
.
filter0
,
nil
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c100407004
.
filter3
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c100407004
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
mg3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c100407004
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
end
end
return
res
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c100407004
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c100407004
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c100407004
.
filter3
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
nil
)
mg1
:
Merge
(
mg2
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c100407004
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg3
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
mg3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c100407004
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
if
sg2
then
sg
:
Merge
(
sg2
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
tc
:
CompleteProcedure
()
end
end
function
c100407004
.
eqcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToRemoveAsCost
()
end
Duel
.
Remove
(
e
:
GetHandler
(),
POS_FACEUP
,
REASON_COST
)
end
function
c100407004
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_EFFECT
)
and
c
:
IsAbleToChangeControler
()
end
function
c100407004
.
eqfilter
(
c
)
local
m
=
_G
[
"c"
..
c
:
GetCode
()]
return
c
:
IsFaceup
()
and
(
c
:
IsSetCard
(
0x20a
)
or
c
:
IsCode
(
64631466
,
63519819
))
and
m
.
CanEquipMonster
(
c
)
end
function
c100407004
.
eqtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c100407004
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c100407004
.
filter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
and
Duel
.
IsExistingMatchingCard
(
c100407004
.
eqfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c100407004
.
filter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
g
,
1
,
0
,
0
)
end
function
c100407004
.
eqop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc1
=
Duel
.
GetFirstTarget
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100407004
.
eqfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
local
tc2
=
g
:
GetFirst
()
local
m
=
_G
[
"c"
..
tc2
:
GetCode
()]
if
tc1
:
IsFaceup
()
and
tc1
:
IsRelateToEffect
(
e
)
and
tc1
:
IsControler
(
1
-
tp
)
and
tc2
then
m
.
EquipMonster
(
tc2
,
tp
,
tc1
)
end
end
end
expansions/script/c100407007.lua
0 → 100644
View file @
931f3056
--寄生虫パラノイド
--Parasite Paranoid
--Scripted by Eerie Code
function
c100407007
.
initial_effect
(
c
)
--equip
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
100407007
,
0
))
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCountLimit
(
1
,
100407007
)
e1
:
SetTarget
(
c100407007
.
eqtg
)
e1
:
SetOperation
(
c100407007
.
eqop
)
c
:
RegisterEffect
(
e1
)
--to hand
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
100407007
,
1
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetCondition
(
c100407007
.
spcon
)
e2
:
SetTarget
(
c100407007
.
sptg
)
e2
:
SetOperation
(
c100407007
.
spop
)
c
:
RegisterEffect
(
e2
)
end
function
c100407007
.
eqtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsFaceup
()
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
Duel
.
IsExistingTarget
(
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
SelectTarget
(
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
end
function
c100407007
.
eqop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
if
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsFacedown
()
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
<=
0
or
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
SendtoGrave
(
c
,
REASON_EFFECT
)
return
end
Duel
.
Equip
(
tp
,
c
,
tc
,
true
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
e1
:
SetValue
(
c100407007
.
eqlimit
)
e1
:
SetLabelObject
(
tc
)
c
:
RegisterEffect
(
e1
)
--race
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_EQUIP
)
e2
:
SetCode
(
EFFECT_CHANGE_RACE
)
e2
:
SetValue
(
RACE_INSECT
)
e2
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
c
:
RegisterEffect
(
e2
)
--cannot attack
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_EQUIP
)
e3
:
SetCode
(
EFFECT_CANNOT_SELECT_BATTLE_TARGET
)
e3
:
SetValue
(
c100407007
.
atlimit
)
e3
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
c
:
RegisterEffect
(
e3
)
--disable
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e4
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e4
:
SetRange
(
LOCATION_SZONE
)
e4
:
SetLabelObject
(
tc
)
e4
:
SetCondition
(
c100407007
.
discon
)
e4
:
SetOperation
(
c100407007
.
disop
)
e4
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
c
:
RegisterEffect
(
e4
)
end
function
c100407007
.
eqlimit
(
e
,
c
)
return
c
==
e
:
GetLabelObject
()
end
function
c100407007
.
atlimit
(
e
,
c
)
return
c
:
IsRace
(
RACE_INSECT
)
end
function
c100407007
.
disfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsRace
(
RACE_INSECT
)
end
function
c100407007
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetLabelObject
()
local
rc
=
re
:
GetHandler
()
if
not
tc
or
rc
~=
tc
then
return
false
end
if
not
re
:
IsHasProperty
(
EFFECT_FLAG_CARD_TARGET
)
then
return
false
end
local
g
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TARGET_CARDS
)
return
g
and
g
:
IsExists
(
c100407007
.
disfilter
,
1
,
nil
)
and
Duel
.
IsChainNegatable
(
ev
)
end
function
c100407007
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
NegateEffect
(
ev
)
end
function
c100407007
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_SZONE
)
end
function
c100407007
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsRace
(
RACE_INSECT
)
and
c
:
IsLevelAbove
(
7
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
end
function
c100407007
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100407007
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c100407007
.
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
,
c100407007
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
end
end
expansions/script/c100407008.lua
0 → 100644
View file @
931f3056
--究極変異態・インセクト女王
--Ultimately Mutated Insect Queen
--Scripted by Eerie Code
function
c100407008
.
initial_effect
(
c
)
c
:
EnableUnsummonable
()
--cannot special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e1
:
SetValue
(
c100407008
.
splimit
)
c
:
RegisterEffect
(
e1
)
--indes
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e2
:
SetCondition
(
c100407008
.
indcon
)
e2
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsRace
,
RACE_INSECT
))
e2
:
SetValue
(
c100407008
.
indval
)
c
:
RegisterEffect
(
e2
)
--cannot be target
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EFFECT_CANNOT_BE_EFFECT_TARGET
)
e3
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e3
:
SetCondition
(
c100407008
.
indcon
)
e3
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsRace
,
RACE_INSECT
))
e3
:
SetValue
(
aux
.
tgoval
)
c
:
RegisterEffect
(
e3
)
--chain attack
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
100407008
,
0
))
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetCode
(
EVENT_DAMAGE_STEP_END
)
e4
:
SetCondition
(
c100407008
.
atcon
)
e4
:
SetCost
(
c100407008
.
atcost
)
e4
:
SetOperation
(
c100407008
.
atop
)
c
:
RegisterEffect
(
e4
)
--spsummon
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
91512835
,
1
))
e5
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_TOKEN
)
e5
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e5
:
SetCountLimit
(
1
)
e5
:
SetTarget
(
c100407008
.
sptg
)
e5
:
SetOperation
(
c100407008
.
spop
)
c
:
RegisterEffect
(
e5
)
end
function
c100407008
.
splimit
(
e
,
se
,
sp
,
st
)
return
se
:
IsHasType
(
EFFECT_TYPE_ACTIONS
)
end
function
c100407008
.
indfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_INSECT
)
end
function
c100407008
.
indcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
IsExistingMatchingCard
(
c100407008
.
indfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
e
:
GetHandler
())
end
function
c100407008
.
indval
(
e
,
re
,
rp
)
return
rp
~=
e
:
GetHandlerPlayer
()
end
function
c100407008
.
atcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
Duel
.
GetAttacker
()
==
c
and
c
:
IsChainAttackable
(
0
,
true
)
end
function
c100407008
.
atcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
nil
,
1
,
e
:
GetHandler
())
end
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
nil
,
1
,
1
,
e
:
GetHandler
())
Duel
.
Release
(
g
,
REASON_COST
)
end
function
c100407008
.
atop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToBattle
()
then
return
end
Duel
.
ChainAttack
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_CANNOT_DIRECT_ATTACK
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_BATTLE
+
PHASE_DAMAGE_CAL
)
c
:
RegisterEffect
(
e1
)
end
function
c100407008
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
91512836
,
0
,
0x4011
,
100
,
100
,
1
,
RACE_INSECT
,
ATTRIBUTE_EARTH
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
0
,
0
)
end
function
c100407008
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
not
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
91512836
,
0
,
0x4011
,
100
,
100
,
1
,
RACE_INSECT
,
ATTRIBUTE_EARTH
)
then
return
end
local
token
=
Duel
.
CreateToken
(
tp
,
91512836
)
Duel
.
SpecialSummon
(
token
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
expansions/script/c100407009.lua
0 → 100644
View file @
931f3056
--超進化の繭
--Super Cocoon of Evolution
--Scripted by Eerie Code
function
c100407009
.
initial_effect
(
c
)
--activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_RELEASE
+
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetTarget
(
c100407009
.
target
)
e1
:
SetOperation
(
c100407009
.
activate
)
c
:
RegisterEffect
(
e1
)
--shuffle and draw
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetCategory
(
CATEGORY_TODECK
+
CATEGORY_DRAW
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetCountLimit
(
1
,
100407009
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCost
(
aux
.
bfgcost
)
e2
:
SetTarget
(
c100407009
.
tdtg
)
e2
:
SetOperation
(
c100407009
.
tdop
)
c
:
RegisterEffect
(
e2
)
end
function
c100407009
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_INSECT
)
and
c
:
IsReleasableByEffect
()
and
c
:
GetEquipCount
()
>
0
end
function
c100407009
.
filter
(
c
,
e
,
tp
)
return
c
:
IsRace
(
RACE_INSECT
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
end
function
c100407009
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
loc
=
LOCATION_MZONE
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
1
then
loc
=
0
end
return
Duel
.
IsExistingMatchingCard
(
c100407009
.
cfilter
,
tp
,
LOCATION_MZONE
,
loc
,
1
,
nil
)
and
Duel
.
IsExistingMatchingCard
(
c100407009
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_RELEASE
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c100407009
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
loc
=
LOCATION_MZONE
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
1
then
loc
=
0
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100407009
.
cfilter
,
tp
,
LOCATION_MZONE
,
loc
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
Release
(
g
,
REASON_EFFECT
)
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c100407009
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
sg
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
end
end
end
function
c100407009
.
tdfilter
(
c
)
return
c
:
IsRace
(
RACE_INSECT
)
and
c
:
IsAbleToDeck
()
end
function
c100407009
.
tdtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c100407009
.
tdfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c100407009
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
and
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c100407009
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
end
function
c100407009
.
tdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
Duel
.
SendtoDeck
(
tc
,
nil
,
0
,
REASON_EFFECT
)
if
tc
:
IsLocation
(
LOCATION_DECK
)
then
Duel
.
ShuffleDeck
(
tp
)
end
if
tc
:
IsLocation
(
LOCATION_DECK
+
LOCATION_EXTRA
)
then
Duel
.
BreakEffect
()
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
expansions/script/c100407010.lua
0 → 100644
View file @
931f3056
--蝕みの鱗粉
--Corrosive Scales
--Script by nekrozar
function
c100407010
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetTarget
(
c100407010
.
target
)
e1
:
SetOperation
(
c100407010
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c100407010
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_INSECT
)
end
function
c100407010
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c100407010
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c100407010
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
SelectTarget
(
tp
,
c100407010
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c100407010
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsLocation
(
LOCATION_SZONE
)
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
Duel
.
Equip
(
tp
,
c
,
tc
)
c
:
CancelToGrave
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetValue
(
c100407010
.
eqlimit
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
c
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_CANNOT_SELECT_BATTLE_TARGET
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetTargetRange
(
0
,
LOCATION_MZONE
)
e2
:
SetCondition
(
c100407010
.
atkcon1
)
e2
:
SetValue
(
c100407010
.
atktg
)
e2
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e3
:
SetCondition
(
c100407010
.
ctcon1
)
e3
:
SetOperation
(
c100407010
.
ctop
)
c
:
RegisterEffect
(
e2
)
local
e4
=
e3
:
Clone
()
e4
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
c
:
RegisterEffect
(
e4
)
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e5
:
SetCode
(
EVENT_CHAINING
)
e5
:
SetRange
(
LOCATION_SZONE
)
e5
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e5
:
SetOperation
(
c100407010
.
regop
)
c
:
RegisterEffect
(
e5
)
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e6
:
SetCode
(
EVENT_CHAIN_SOLVED
)
e6
:
SetRange
(
LOCATION_SZONE
)
e6
:
SetCondition
(
c100407010
.
ctcon2
)
e6
:
SetOperation
(
c100407010
.
ctop
)
c
:
RegisterEffect
(
e6
)
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetType
(
EFFECT_TYPE_FIELD
)
e7
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e7
:
SetRange
(
LOCATION_SZONE
)
e7
:
SetTargetRange
(
0
,
LOCATION_MZONE
)
e7
:
SetCondition
(
c100407010
.
atkcon2
)
e7
:
SetValue
(
c100407010
.
atkval
)
c
:
RegisterEffect
(
e7
)
local
e8
=
e7
:
Clone
()
e8
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
c
:
RegisterEffect
(
e8
)
end
end
function
c100407010
.
eqlimit
(
e
,
c
)
return
c
:
GetControler
()
==
e
:
GetHandlerPlayer
()
or
e
:
GetHandler
():
GetEquipTarget
()
==
c
end
function
c100407010
.
atkcon1
(
e
)
local
ec
=
e
:
GetHandler
():
GetEquipTarget
()
return
ec
and
ec
:
GetControler
()
==
e
:
GetHandlerPlayer
()
end
function
c100407010
.
atktg
(
e
,
c
)
return
c
~=
e
:
GetHandler
():
GetEquipTarget
()
end
function
c100407010
.
cfilter
(
c
,
tp
)
return
c
:
GetSummonPlayer
()
==
tp
end
function
c100407010
.
ctcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetEquipTarget
()
and
eg
:
IsExists
(
c100407010
.
cfilter
,
1
,
nil
,
1
-
tp
)
end
function
c100407010
.
ctop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_CARD
,
0
,
100407010
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
tc
=
g
:
GetFirst
()
while
tc
do
tc
:
AddCounter
(
0x1045
,
1
)
tc
=
g
:
GetNext
()
end
end
function
c100407010
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
GetHandler
():
RegisterFlagEffect
(
100407010
,
RESET_EVENT
+
0x1fc0000
+
RESET_CHAIN
,
0
,
1
)
end
function
c100407010
.
ctcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetEquipTarget
()
and
ep
~=
tp
and
c
:
GetFlagEffect
(
100407010
)
~=
0
end
function
c100407010
.
atkcon2
(
e
)
return
e
:
GetHandler
():
GetEquipTarget
()
end
function
c100407010
.
atkval
(
e
,
c
)
return
c
:
GetCounter
(
0x1045
)
*-
100
end
expansions/script/c100407014.lua
0 → 100644
View file @
931f3056
--BM-4 ボムスパイダー
--BM-4 Bomb Spider
--Scripted by Eerie Code
function
c100407014
.
initial_effect
(
c
)
--Destroy
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
100407014
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetTarget
(
c100407014
.
destg
)
e1
:
SetOperation
(
c100407014
.
desop
)
c
:
RegisterEffect
(
e1
)
--damage
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
100407014
,
1
))
e2
:
SetCategory
(
CATEGORY_DAMAGE
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e2
:
SetCode
(
EVENT_BATTLE_DESTROYED
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
,
100407014
)
e2
:
SetCondition
(
c100407014
.
damcon1
)
e2
:
SetTarget
(
c100407014
.
damtg
)
e2
:
SetOperation
(
c100407014
.
damop
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EVENT_TO_GRAVE
)
e3
:
SetCondition
(
c100407014
.
damcon2
)
c
:
RegisterEffect
(
e3
)
end
function
c100407014
.
desfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_MACHINE
)
and
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
end
function
c100407014
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
false
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c100407014
.
desfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
Duel
.
IsExistingTarget
(
Card
.
IsFaceup
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g1
=
Duel
.
SelectTarget
(
tp
,
c100407014
.
desfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g2
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsFaceup
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g1
,
2
,
0
,
0
)
end
function
c100407014
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
)
local
tg
=
g
:
Filter
(
Card
.
IsRelateToEffect
,
nil
,
e
)
if
tg
:
GetCount
()
>
0
then
Duel
.
Destroy
(
tg
,
REASON_EFFECT
)
end
end
function
c100407014
.
damcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
eg
:
GetFirst
()
local
bc
=
tc
:
GetBattleTarget
()
return
tc
:
GetPreviousControler
()
~=
tp
and
tc
:
IsLocation
(
LOCATION_GRAVE
)
and
bc
:
IsControler
(
tp
)
and
bc
:
GetOriginalAttribute
()
==
ATTRIBUTE_DARK
and
bc
:
GetOriginalRace
()
==
RACE_MACHINE
end
function
c100407014
.
damfilter1
(
c
,
tp
)
return
c
:
IsReason
(
REASON_EFFECT
)
and
c
:
IsReason
(
REASON_DESTROY
)
and
c
:
IsLocation
(
LOCATION_GRAVE
)
and
c
:
GetPreviousControler
()
~=
tp
end
function
c100407014
.
damcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
re
then
return
false
end
local
rc
=
re
:
GetHandler
()
return
rc
:
IsControler
(
tp
)
and
rc
:
GetOriginalAttribute
()
==
ATTRIBUTE_DARK
and
rc
:
GetOriginalRace
()
==
RACE_MACHINE
and
eg
:
IsExists
(
c100407014
.
damfilter1
,
1
,
nil
,
tp
)
end
function
c100407014
.
damtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
1
-
tp
,
0
)
end
function
c100407014
.
damfilter2
(
c
,
tp
)
return
c
:
IsReason
(
REASON_BATTLE
+
REASON_EFFECT
)
and
c
:
IsReason
(
REASON_DESTROY
)
and
c
:
IsLocation
(
LOCATION_GRAVE
)
and
c
:
GetPreviousControler
()
~=
tp
end
function
c100407014
.
damop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
eg
:
Filter
(
c100407014
.
damfilter2
,
nil
,
tp
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
g
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
end
Duel
.
Damage
(
1
-
tp
,
math.ceil
(
g
:
GetFirst
():
GetBaseAttack
()
/
2
),
REASON_EFFECT
)
end
end
expansions/script/c100407015.lua
0 → 100644
View file @
931f3056
-- デスペラード・リボルバー・ドラゴン
--Desperado Barrel Dragon
function
c100407015
.
initial_effect
(
c
)
--spsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
100407015
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCode
(
EVENT_DESTROYED
)
e1
:
SetCondition
(
c100407015
.
condition
)
e1
:
SetTarget
(
c100407015
.
target
)
e1
:
SetOperation
(
c100407015
.
operation
)
c
:
RegisterEffect
(
e1
)
--destroy
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
100407015
,
1
))
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_COIN
+
CATEGORY_DRAW
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetCondition
(
c100407015
.
descon
)
e2
:
SetCost
(
c100407015
.
descost
)
e2
:
SetTarget
(
c100407015
.
destg
)
e2
:
SetOperation
(
c100407015
.
desop
)
c
:
RegisterEffect
(
e2
)
--search
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
100407015
,
2
))
e3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetCode
(
EVENT_TO_GRAVE
)
e3
:
SetTarget
(
c100407015
.
thtg
)
e3
:
SetOperation
(
c100407015
.
thop
)
c
:
RegisterEffect
(
e3
)
end
c100407015
.
toss_coin
=
true
function
c100407015
.
filter
(
c
,
tp
)
return
c
:
IsReason
(
REASON_BATTLE
+
REASON_EFFECT
)
and
bit
.
band
(
c
:
GetPreviousRaceOnField
(),
RACE_MACHINE
)
~=
0
and
bit
.
band
(
c
:
GetPreviousAttributeOnField
(),
ATTRIBUTE_DARK
)
~=
0
and
c
:
GetPreviousControler
()
==
tp
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
end
function
c100407015
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c100407015
.
filter
,
1
,
nil
,
tp
)
end
function
c100407015
.
target
(
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
c100407015
.
operation
(
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
c100407015
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
(
Duel
.
GetCurrentPhase
()
>=
PHASE_BATTLE_START
and
Duel
.
GetCurrentPhase
()
<=
PHASE_BATTLE
)
end
function
c100407015
.
descost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
GetAttackAnnouncedCount
()
==
0
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_OATH
)
e1
:
SetCode
(
EFFECT_CANNOT_ATTACK
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
e
:
GetHandler
():
RegisterEffect
(
e1
)
end
function
c100407015
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COIN
,
nil
,
0
,
tp
,
3
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
end
function
c100407015
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
)
if
g
:
GetCount
()
==
0
then
return
end
local
c1
,
c2
,
c3
=
Duel
.
TossCoin
(
tp
,
3
)
local
ct
=
c1
+
c2
+
c3
if
ct
==
0
then
return
end
if
ct
>
g
:
GetCount
()
then
ct
=
g
:
GetCount
()
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
dg
=
g
:
Select
(
tp
,
1
,
ct
,
nil
)
Duel
.
HintSelection
(
dg
)
Duel
.
Destroy
(
dg
,
REASON_EFFECT
)
if
c1
+
c2
+
c3
==
3
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
function
c100407015
.
thfilter
(
c
)
return
c
.
toss_coin
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsLevelBelow
(
7
)
and
c
:
IsAbleToHand
()
end
function
c100407015
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100407015
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c100407015
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100407015
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
expansions/script/c100407017.lua
0 → 100644
View file @
931f3056
--銃砲撃
--Gun Cannon Shot
--Script by nekrozar
function
c100407017
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
--coin
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetCondition
(
c100407017
.
regcon
)
e2
:
SetOperation
(
c100407017
.
regop
)
c
:
RegisterEffect
(
e2
)
--coin result
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
100407017
,
0
))
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetCode
(
EVENT_CHAINING
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetCondition
(
c100407017
.
coincon1
)
e3
:
SetCost
(
aux
.
bfgcost
)
e3
:
SetOperation
(
c100407017
.
coinop1
)
c
:
RegisterEffect
(
e3
)
end
function
c100407017
.
regcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ex
=
Duel
.
GetOperationInfo
(
ev
,
CATEGORY_COIN
)
return
ex
end
function
c100407017
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetCode
(
EVENT_TOSS_COIN
)
e1
:
SetRange
(
LOCATION_SZONE
)
e1
:
SetCondition
(
c100407017
.
effcon
)
e1
:
SetOperation
(
c100407017
.
effop
)
e1
:
SetLabelObject
(
re
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fc0000
+
RESET_CHAIN
)
c
:
RegisterEffect
(
e1
)
end
function
c100407017
.
effcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
==
e
:
GetLabelObject
()
end
function
c100407017
.
effop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_CARD
,
0
,
100407017
)
local
ct
=
0
local
res
=
{
Duel
.
GetCoinResult
()}
for
i
=
1
,
ev
do
if
res
[
i
]
==
1
then
ct
=
ct
+
1
end
end
if
ct
>
0
then
Duel
.
Damage
(
1
-
tp
,
500
,
REASON_EFFECT
)
end
if
ct
>
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
HintSelection
(
g
)
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
end
end
if
ct
>
2
then
local
hg
=
Duel
.
GetFieldGroup
(
tp
,
0
,
LOCATION_HAND
)
if
hg
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
tp
,
hg
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
local
sg
=
hg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SendtoGrave
(
sg
,
REASON_EFFECT
+
REASON_DISCARD
)
Duel
.
ShuffleHand
(
1
-
tp
)
end
end
end
function
c100407017
.
coincon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ex
,
eg
,
et
,
cp
,
ct
=
Duel
.
GetOperationInfo
(
ev
,
CATEGORY_COIN
)
if
ex
and
ct
>
1
then
e
:
SetLabelObject
(
re
)
return
true
else
return
false
end
end
function
c100407017
.
coinop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_TOSS_COIN_NEGATE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
c100407017
.
coincon2
)
e1
:
SetOperation
(
c100407017
.
coinop2
)
e1
:
SetLabelObject
(
e
:
GetLabelObject
())
e1
:
SetReset
(
RESET_CHAIN
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
function
c100407017
.
coincon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
==
e
:
GetLabelObject
()
end
function
c100407017
.
coinop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_CARD
,
0
,
100407017
)
local
res
=
{
Duel
.
GetCoinResult
()}
local
ct
=
ev
for
i
=
1
,
ct
do
res
[
i
]
=
1
end
Duel
.
SetCoinResult
(
table.unpack
(
res
))
end
expansions/script/c100407021.lua
0 → 100644
View file @
931f3056
--アームド・ドラゴン・カタパルトキャノン
--Armed Dragon Catapult Cannon
--Scripted by Eerie Code
function
c100407021
.
initial_effect
(
c
)
--fusion material
c
:
EnableReviveLimit
()
aux
.
AddFusionProcCode2
(
c
,
84243274
,
73879377
,
true
,
true
)
--spsummon condition
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e1
:
SetValue
(
c100407021
.
splimit
)
c
:
RegisterEffect
(
e1
)
--special summon rule
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e2
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e2
:
SetRange
(
LOCATION_EXTRA
)
e2
:
SetCondition
(
c100407021
.
spcon
)
e2
:
SetOperation
(
c100407021
.
spop
)
c
:
RegisterEffect
(
e2
)
--cannot activate
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetTargetRange
(
0
,
1
)
e3
:
SetValue
(
c100407021
.
aclimit
)
c
:
RegisterEffect
(
e3
)
--remove
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
100407021
,
0
))
e4
:
SetCategory
(
CATEGORY_REMOVE
)
e4
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e4
:
SetCode
(
EVENT_FREE_CHAIN
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCountLimit
(
1
)
e4
:
SetHintTiming
(
0
,
0x1e0
)
e4
:
SetCondition
(
c100407021
.
rmcon
)
e4
:
SetCost
(
c100407021
.
rmcost
)
e4
:
SetTarget
(
c100407021
.
rmtg
)
e4
:
SetOperation
(
c100407021
.
rmop
)
c
:
RegisterEffect
(
e4
)
if
not
c100407021
.
global_flag
then
c100407021
.
global_flag
=
true
local
ge1
=
Effect
.
CreateEffect
(
c
)
ge1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
ge1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
ge1
:
SetOperation
(
c100407021
.
regop
)
Duel
.
RegisterEffect
(
ge1
,
0
)
end
end
function
c100407021
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
for
tc
in
aux
.
Next
(
eg
)
do
if
tc
:
IsCode
(
84243274
)
then
Duel
.
RegisterFlagEffect
(
tc
:
GetSummonPlayer
(),
100407021
,
0
,
0
,
0
)
elseif
tc
:
IsCode
(
73879377
)
then
Duel
.
RegisterFlagEffect
(
tc
:
GetSummonPlayer
(),
100407021
+
100
,
0
,
0
,
0
)
end
end
end
function
c100407021
.
splimit
(
e
,
se
,
sp
,
st
)
return
e
:
GetHandler
():
GetLocation
()
~=
LOCATION_EXTRA
end
function
c100407021
.
cfilter
(
c
)
return
(
c
:
IsFaceup
()
or
c
:
IsLocation
(
LOCATION_GRAVE
))
and
c
:
IsFusionCode
(
84243274
,
73879377
)
and
c
:
IsAbleToRemoveAsCost
()
end
function
c100407021
.
fcheck
(
c
,
sg
,
g
,
code
,
...
)
if
not
c
:
IsFusionCode
(
code
)
then
return
false
end
if
...
then
g
:
AddCard
(
c
)
local
res
=
sg
:
IsExists
(
c100407021
.
fcheck
,
1
,
g
,
sg
,
g
,
...
)
g
:
RemoveCard
(
c
)
return
res
else
return
true
end
end
function
c100407021
.
fselect
(
c
,
tp
,
mg
,
sg
,
...
)
sg
:
AddCard
(
c
)
local
res
=
false
if
sg
:
GetCount
()
<
2
then
res
=
mg
:
IsExists
(
c100407021
.
fselect
,
1
,
sg
,
tp
,
mg
,
sg
,
...
)
elseif
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
)
>
0
then
local
g
=
Group
.
CreateGroup
()
res
=
sg
:
IsExists
(
c100407021
.
fcheck
,
1
,
nil
,
sg
,
g
,
...
)
end
sg
:
RemoveCard
(
c
)
return
res
end
function
c100407021
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
mg
=
Duel
.
GetMatchingGroup
(
c100407021
.
cfilter
,
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
0
,
nil
)
local
sg
=
Group
.
CreateGroup
()
return
Duel
.
GetFlagEffect
(
tp
,
100407021
)
>
0
and
Duel
.
GetFlagEffect
(
tp
,
100407021
+
100
)
>
0
and
mg
:
IsExists
(
c100407021
.
fselect
,
1
,
nil
,
tp
,
mg
,
sg
,
84243274
,
73879377
)
end
function
c100407021
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
mg
=
Duel
.
GetMatchingGroup
(
c100407021
.
cfilter
,
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
0
,
nil
)
local
sg
=
Group
.
CreateGroup
()
while
sg
:
GetCount
()
<
2
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
mg
:
FilterSelect
(
tp
,
c100407021
.
fselect
,
1
,
1
,
sg
,
tp
,
mg
,
sg
,
84243274
,
73879377
)
sg
:
Merge
(
g
)
end
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_COST
)
end
function
c100407021
.
acfilter
(
c
,
code
)
return
c
:
IsFaceup
()
and
c
:
IsCode
(
code
)
end
function
c100407021
.
aclimit
(
e
,
re
,
tp
)
return
Duel
.
IsExistingMatchingCard
(
c100407021
.
acfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_REMOVED
,
LOCATION_REMOVED
,
1
,
nil
,
re
:
GetHandler
():
GetCode
())
and
not
re
:
GetHandler
():
IsImmuneToEffect
(
e
)
end
function
c100407021
.
rmcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
~=
tp
end
function
c100407021
.
rmcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToRemoveAsCost
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToRemoveAsCost
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
function
c100407021
.
rmtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToRemove
,
tp
,
0
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
1
,
nil
)
end
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemove
,
tp
,
0
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
g
:
GetCount
(),
0
,
0
)
end
function
c100407021
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemove
,
tp
,
0
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
end
end
expansions/script/c100407022.lua
0 → 100644
View file @
931f3056
--おジャマ改造
--Ojamadification
--Scripted by Eerie Code
function
c100407022
.
initial_effect
(
c
)
--spsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCost
(
c100407022
.
cost
)
e1
:
SetTarget
(
c100407022
.
target
)
e1
:
SetOperation
(
c100407022
.
activate
)
c
:
RegisterEffect
(
e1
)
--draw
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetCategory
(
CATEGORY_TODECK
+
CATEGORY_DRAW
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCost
(
aux
.
bfgcost
)
e2
:
SetTarget
(
c100407022
.
drtg
)
e2
:
SetOperation
(
c100407022
.
drop
)
c
:
RegisterEffect
(
e2
)
end
function
c100407022
.
ffilter
(
c
,
e
,
tp
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsRace
(
RACE_MACHINE
)
and
c
:
IsAttribute
(
ATTRIBUTE_LIGHT
)
and
c
.
material
and
Duel
.
IsExistingMatchingCard
(
c100407022
.
cfilter
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
c
,
e
,
tp
)
end
function
c100407022
.
cfilter
(
c
,
fc
,
e
,
tp
)
if
c
:
IsSetCard
(
0xf
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToRemoveAsCost
()
then
if
e
and
tp
then
return
Duel
.
IsExistingMatchingCard
(
c100407022
.
filter
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
1
,
c
,
fc
,
e
,
tp
)
else
return
true
end
else
return
false
end
end
function
c100407022
.
filter
(
c
,
fc
,
e
,
tp
)
return
c
:
IsCode
(
table.unpack
(
fc
.
material
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c100407022
.
cfilter2
(
c
,
g
,
mg
,
ft
,
rm
)
if
not
rm
and
ft
==
0
and
not
c
:
IsLocation
(
LOCATION_MZONE
)
then
return
false
end
local
g2
=
g
:
Clone
()
g2
:
AddCard
(
c
)
local
mg2
=
mg
:
Clone
()
mg2
:
Sub
(
g2
)
return
mg2
:
GetClassCount
(
Card
.
GetCode
)
>=
g2
:
GetCount
()
end
function
c100407022
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100407022
.
ffilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
rc
=
Duel
.
SelectMatchingCard
(
tp
,
c100407022
.
ffilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
):
GetFirst
()
Duel
.
ConfirmCards
(
1
-
tp
,
rc
)
e
:
SetLabelObject
(
rc
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
mg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c100407022
.
filter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
nil
,
rc
,
e
,
tp
)
local
rg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c100407022
.
cfilter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
+
LOCATION_MZONE
,
0
,
nil
)
local
g
=
Group
.
CreateGroup
()
local
rm
=
(
ft
>
0
)
repeat
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
sc
=
rg
:
FilterSelect
(
tp
,
c100407022
.
cfilter2
,
1
,
1
,
nil
,
g
,
mg
,
ft
,
rm
):
GetFirst
()
g
:
AddCard
(
sc
)
rg
:
RemoveCard
(
sc
)
mg
:
RemoveCard
(
sc
)
if
not
sc
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
-
1
end
until
g
:
GetCount
()
==
5
or
rg
:
GetCount
()
==
0
or
mg
:
GetClassCount
(
Card
.
GetCode
)
==
g
:
GetCount
()
or
(
ft
==
0
and
not
rg
:
IsExists
(
Card
.
IsLocation
,
1
,
nil
,
LOCATION_MZONE
))
or
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
100407022
,
0
))
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
e
:
SetLabel
(
Duel
.
GetOperatedGroup
():
GetCount
())
end
function
c100407022
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
e
:
GetLabel
(),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
+
LOCATION_MZONE
)
end
function
c100407022
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
local
ct
=
e
:
GetLabel
()
if
ft
<
ct
then
return
end
local
rc
=
e
:
GetLabelObject
()
local
mg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c100407022
.
filter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
+
LOCATION_DECK
,
0
,
nil
,
rc
,
e
,
tp
)
if
mg
:
GetClassCount
(
Card
.
GetCode
)
<
ct
then
return
end
local
g
=
Group
.
CreateGroup
()
while
ct
>
0
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
mg
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
AddCard
(
sg
:
GetFirst
())
mg
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
ct
=
ct
-
1
end
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
function
c100407022
.
tdfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0xf
)
and
c
:
IsAbleToDeck
()
end
function
c100407022
.
drtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_REMOVED
)
and
chkc
:
IsControler
(
tp
)
and
c100407022
.
tdfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
and
Duel
.
IsExistingTarget
(
c100407022
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
3
,
nil
)
end
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c100407022
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
3
,
3
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
g
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
end
function
c100407022
.
drop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tg
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
):
Filter
(
Card
.
IsRelateToEffect
,
nil
,
e
)
if
tg
:
GetCount
()
<=
0
then
return
end
Duel
.
SendtoDeck
(
tg
,
nil
,
0
,
REASON_EFFECT
)
local
g
=
Duel
.
GetOperatedGroup
()
if
g
:
IsExists
(
Card
.
IsLocation
,
1
,
nil
,
LOCATION_DECK
)
then
Duel
.
ShuffleDeck
(
tp
)
end
local
ct
=
g
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_DECK
+
LOCATION_EXTRA
)
if
ct
>
0
then
Duel
.
BreakEffect
()
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
expansions/script/c100407023.lua
0 → 100644
View file @
931f3056
--おジャマッチング
--Ojamatching
--Scripted by Eerie Code
function
c100407023
.
initial_effect
(
c
)
--activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
+
CATEGORY_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCost
(
c100407023
.
cost
)
e1
:
SetTarget
(
c100407023
.
target
)
e1
:
SetOperation
(
c100407023
.
activate
)
c
:
RegisterEffect
(
e1
)
--draw
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetCategory
(
CATEGORY_TODECK
+
CATEGORY_DRAW
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCost
(
aux
.
bfgcost
)
e2
:
SetTarget
(
c100407023
.
drtg
)
e2
:
SetOperation
(
c100407023
.
drop
)
c
:
RegisterEffect
(
e2
)
end
function
c100407023
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
e
:
SetLabel
(
1
)
return
true
end
function
c100407023
.
cfilter
(
c
,
tp
)
return
c
:
IsSetCard
(
0xf
)
and
(
c
:
IsFaceup
()
or
not
c
:
IsOnField
())
and
c
:
IsAbleToGraveAsCost
()
and
Duel
.
IsExistingMatchingCard
(
c100407023
.
filter1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
c
,
c
:
GetCode
())
and
Duel
.
IsExistingMatchingCard
(
c100407023
.
filter2
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
c
)
end
function
c100407023
.
filter1
(
c
,
cd
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0xf
)
and
not
c
:
IsCode
(
cd
)
and
c
:
IsAbleToHand
()
end
function
c100407023
.
filter2
(
c
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
(
c
:
IsCode
(
59464593
,
980973
,
46384672
,
73879377
,
65192027
,
89189982
)
or
c
:
IsSetCard
(
0x20f
))
and
c
:
IsAbleToHand
()
end
function
c100407023
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
e
:
GetLabel
()
~=
1
then
return
false
end
e
:
SetLabel
(
0
)
return
Duel
.
IsExistingMatchingCard
(
c100407023
.
cfilter
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
1
,
e
:
GetHandler
(),
tp
)
end
e
:
SetLabel
(
0
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100407023
.
cfilter
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
1
,
1
,
e
:
GetHandler
(),
tp
)
e
:
SetLabelObject
(
g
:
GetFirst
())
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
2
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
function
c100407023
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
sc
=
e
:
GetLabelObject
()
local
g1
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c100407023
.
filter1
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
sc
,
sc
:
GetCode
())
local
g2
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c100407023
.
filter2
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
sc
)
if
g1
:
GetCount
()
==
0
or
g2
:
GetCount
()
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
g1
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
gg
=
g2
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Merge
(
gg
)
if
g
:
GetCount
()
==
2
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
local
og
=
Duel
.
GetOperatedGroup
():
Filter
(
Card
.
IsSummonable
,
nil
,
true
,
nil
)
if
og
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
100407023
,
0
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SUMMON
)
local
sg
=
og
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
Duel
.
Summon
(
tp
,
sg
,
true
,
nil
)
end
end
end
function
c100407023
.
tdfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0xf
)
and
c
:
IsAbleToDeck
()
end
function
c100407023
.
drtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_REMOVED
)
and
chkc
:
IsControler
(
tp
)
and
c100407023
.
tdfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
and
Duel
.
IsExistingTarget
(
c100407023
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
3
,
nil
)
end
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c100407023
.
tdfilter
,
tp
,
LOCATION_REMOVED
,
0
,
3
,
3
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
g
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
end
function
c100407023
.
drop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tg
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
):
Filter
(
Card
.
IsRelateToEffect
,
nil
,
e
)
if
tg
:
GetCount
()
<=
0
then
return
end
Duel
.
SendtoDeck
(
tg
,
nil
,
0
,
REASON_EFFECT
)
local
g
=
Duel
.
GetOperatedGroup
()
if
g
:
IsExists
(
Card
.
IsLocation
,
1
,
nil
,
LOCATION_DECK
)
then
Duel
.
ShuffleDeck
(
tp
)
end
local
ct
=
g
:
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_DECK
+
LOCATION_EXTRA
)
if
ct
>
0
then
Duel
.
BreakEffect
()
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
expansions/script/c100407030.lua
0 → 100644
View file @
931f3056
--古代の機械素体
--Ancient Gearframe
--Scripted by Eerie Code
function
c100407030
.
initial_effect
(
c
)
--search
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
100407030
,
0
))
e1
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
,
100407030
)
e1
:
SetCost
(
c100407030
.
thcost
)
e1
:
SetTarget
(
c100407030
.
thtg
)
e1
:
SetOperation
(
c100407030
.
thop
)
c
:
RegisterEffect
(
e1
)
--actlimit
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e2
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetTargetRange
(
0
,
1
)
e2
:
SetValue
(
c100407030
.
aclimit
)
e2
:
SetCondition
(
c100407030
.
actcon
)
c
:
RegisterEffect
(
e2
)
--spsummon
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
51205763
,
1
))
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD
)
e3
:
SetCondition
(
c100407030
.
spcon
)
e3
:
SetTarget
(
c100407030
.
sptg
)
e3
:
SetOperation
(
c100407030
.
spop
)
c
:
RegisterEffect
(
e3
)
end
function
c100407030
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
Duel
.
DiscardHand
(
tp
,
Card
.
IsDiscardable
,
1
,
1
,
REASON_COST
+
REASON_DISCARD
)
end
function
c100407030
.
thfilter
(
c
)
return
(
c
:
IsCode
(
83104731
)
or
(
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
aux
.
IsCodeListed
(
c
,
83104731
)))
and
c
:
IsAbleToHand
()
end
function
c100407030
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100407030
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c100407030
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100407030
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
function
c100407030
.
aclimit
(
e
,
re
,
tp
)
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
end
function
c100407030
.
actcon
(
e
)
return
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
function
c100407030
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
GetLocation
()
~=
LOCATION_DECK
and
c
:
IsReason
(
REASON_EFFECT
)
and
c
:
GetReasonPlayer
()
==
1
-
tp
end
function
c100407030
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsCode
(
83104731
,
95735217
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
end
function
c100407030
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100407030
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c100407030
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
math.min
(
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
),
3
)
if
ft
<
1
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100407030
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
ft
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
end
end
expansions/script/c100407031.lua
0 → 100644
View file @
931f3056
--古代の機械超巨人
--Megaton Ancient Gear Golem
--Scripted by Eerie Code
function
c100407031
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
aux
.
AddFusionProcFunRep
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsFusionSetCard
,
0x7
),
3
,
true
)
--multi attack
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
(
c100407031
.
condition
)
e1
:
SetOperation
(
c100407031
.
operation
)
c
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_MATERIAL_CHECK
)
e2
:
SetValue
(
c100407031
.
valcheck
)
e2
:
SetLabelObject
(
e1
)
c
:
RegisterEffect
(
e2
)
--actlimit
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e3
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetTargetRange
(
0
,
1
)
e3
:
SetValue
(
c100407031
.
aclimit
)
e3
:
SetCondition
(
c100407031
.
actcon
)
c
:
RegisterEffect
(
e3
)
--special summon
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
100407031
,
0
))
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetCode
(
EVENT_LEAVE_FIELD
)
e4
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e4
:
SetCondition
(
c100407031
.
spcon
)
e4
:
SetTarget
(
c100407031
.
sptg
)
e4
:
SetOperation
(
c100407031
.
spop
)
c
:
RegisterEffect
(
e4
)
end
function
c100407031
.
valcheck
(
e
,
c
)
e
:
GetLabelObject
():
SetLabel
(
c
:
GetMaterial
():
FilterCount
(
Card
.
IsCode
,
nil
,
83104731
,
95735217
))
end
function
c100407031
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_FUSION
)
end
function
c100407031
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
ct
=
e
:
GetLabel
()
if
ct
>=
2
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
100407031
,
1
))
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CLIENT_HINT
)
e1
:
SetCode
(
EFFECT_EXTRA_ATTACK
)
e1
:
SetValue
(
ct
-
1
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
c
:
RegisterEffect
(
e1
)
end
end
function
c100407031
.
aclimit
(
e
,
re
,
tp
)
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
end
function
c100407031
.
actcon
(
e
)
return
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
function
c100407031
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsSummonType
(
SUMMON_TYPE_FUSION
)
and
c
:
GetReasonPlayer
()
~=
tp
and
c
:
IsReason
(
REASON_EFFECT
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
end
function
c100407031
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsCode
(
12652643
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
end
function
c100407031
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100407031
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c100407031
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100407031
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
end
end
expansions/script/c100407032.lua
0 → 100644
View file @
931f3056
--古代の機械融合
--Ancient Gear Fusion
--Scripted by Eerie Code
function
c100407032
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_FUSION_SUMMON
+
CATEGORY_DECKDES
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetTarget
(
c100407032
.
target
)
e1
:
SetOperation
(
c100407032
.
activate
)
c
:
RegisterEffect
(
e1
)
end
c100407032
.
card_code_list
=
{
83104731
}
function
c100407032
.
fcheck
(
tp
,
sg
,
fc
,
mg
)
if
sg
:
IsExists
(
Card
.
IsLocation
,
1
,
nil
,
LOCATION_DECK
)
then
return
sg
:
IsExists
(
c100407032
.
filterchk
,
1
,
nil
)
end
return
true
end
function
c100407032
.
filterchk
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsCode
(
83104731
,
95735217
)
and
c
:
IsOnField
()
end
function
c100407032
.
filter0
(
c
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToGrave
()
end
function
c100407032
.
filter1
(
c
,
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
function
c100407032
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x7
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
end
function
c100407032
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
tp
local
mg
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c100407032
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
mg2
:
GetCount
()
>
0
then
mg
:
Merge
(
mg2
)
aux
.
FCheckAdditional
=
c100407032
.
fcheck
end
local
res
=
Duel
.
IsExistingMatchingCard
(
c100407032
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
mg3
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c100407032
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
end
end
return
res
end
end
function
c100407032
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c100407032
.
filter1
,
nil
,
e
)
local
mg2
=
Duel
.
GetMatchingGroup
(
c100407032
.
filter0
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
mg2
:
GetCount
()
>
0
then
mg1
:
Merge
(
mg2
)
aux
.
FCheckAdditional
=
c100407032
.
fcheck
end
local
sg1
=
Duel
.
GetMatchingGroup
(
c100407032
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
local
mg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
mg2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c100407032
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
end
local
sg
=
sg1
:
Clone
()
if
sg2
then
sg
:
Merge
(
sg2
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
if
not
tc
then
return
end
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
aux
.
FCheckAdditional
=
c100407032
.
fcheck
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
aux
.
FCheckAdditional
=
nil
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
tc
:
CompleteProcedure
()
end
expansions/script/c100407037.lua
0 → 100644
View file @
931f3056
--究極宝玉神 レインボー・オーバー・ドラゴン
--Ultimate Crystal God Rainbow Over Dragon
--Scripted by Eerie Code
function
c100407037
.
initial_effect
(
c
)
--fusion summon
c
:
EnableReviveLimit
()
aux
.
AddFusionProcFunRep
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsFusionSetCard
,
0x1034
),
7
,
true
)
--spsummon condition
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e1
:
SetValue
(
aux
.
fuslimit
)
c
:
RegisterEffect
(
e1
)
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e2
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e2
:
SetRange
(
LOCATION_EXTRA
)
e2
:
SetCondition
(
c100407037
.
hspcon
)
e2
:
SetOperation
(
c100407037
.
hspop
)
c
:
RegisterEffect
(
e2
)
--atk up
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e3
:
SetDescription
(
aux
.
Stringid
(
100407037
,
0
))
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCost
(
c100407037
.
atkcost
)
e3
:
SetOperation
(
c100407037
.
atkop
)
c
:
RegisterEffect
(
e3
)
--to deck
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
100407037
,
1
))
e4
:
SetCategory
(
CATEGORY_TODECK
)
e4
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e4
:
SetCode
(
EVENT_FREE_CHAIN
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCondition
(
c100407037
.
tdcon
)
e4
:
SetCost
(
c100407037
.
tdcost
)
e4
:
SetTarget
(
c100407037
.
tdtg
)
e4
:
SetOperation
(
c100407037
.
tdop
)
c
:
RegisterEffect
(
e4
)
end
function
c100407037
.
hspfilter
(
c
,
tp
,
sc
)
return
c
:
IsSetCard
(
0x2034
)
and
c
:
GetLevel
()
==
10
and
c
:
IsControler
(
tp
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sc
,
c
)
>
0
end
function
c100407037
.
hspcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
return
Duel
.
CheckReleaseGroup
(
c
:
GetControler
(),
c100407037
.
hspfilter
,
1
,
nil
,
c
:
GetControler
(),
c
)
end
function
c100407037
.
hspop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c100407037
.
hspfilter
,
1
,
1
,
nil
,
tp
,
c
)
Duel
.
Release
(
g
,
REASON_COST
)
end
function
c100407037
.
cfilter
(
c
)
return
c
:
IsSetCard
(
0x1034
)
and
c
:
GetAttack
()
>
0
and
c
:
IsAbleToRemoveAsCost
()
end
function
c100407037
.
atkcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100407037
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100407037
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
e
:
SetLabel
(
g
:
GetFirst
():
GetAttack
())
end
function
c100407037
.
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
(
e
:
GetLabel
())
e1
:
SetReset
(
RESET_EVENT
+
0x1ff0000
+
RESET_PHASE
+
PHASE_END
)
c
:
RegisterEffect
(
e1
)
end
end
function
c100407037
.
tdcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_FUSION
)
end
function
c100407037
.
tdcost
(
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
c100407037
.
tdtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToDeck
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
e
:
GetHandler
())
end
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToDeck
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
g
:
GetCount
(),
0
,
0
)
end
function
c100407037
.
tdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToDeck
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_EFFECT
)
end
expansions/script/c
42908201
.lua
→
expansions/script/c
100407038
.lua
View file @
931f3056
--
デスマニア・デビル
--
Desmania Devil
--
虹の架け橋
--
Rainbow Bridge
--Scripted by Eerie Code
function
c
42908201
.
initial_effect
(
c
)
--
search
function
c
100407038
.
initial_effect
(
c
)
--
Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
42908201
,
0
))
e1
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_BATTLE_DESTROYING
)
e1
:
SetCondition
(
aux
.
bdocon
)
e1
:
SetTarget
(
c42908201
.
target
)
e1
:
SetOperation
(
c42908201
.
operation
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetTarget
(
c100407038
.
target
)
e1
:
SetOperation
(
c100407038
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c
42908201
.
filter
(
c
)
return
c
:
Is
LevelBelow
(
4
)
and
c
:
IsRace
(
RACE_BEAST
)
and
c
:
IsAbleToHand
()
function
c
100407038
.
filter
(
c
)
return
c
:
Is
SetCard
(
0x34
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsAbleToHand
()
end
function
c
42908201
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
42908201
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
function
c
100407038
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c
100407038
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c
42908201
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
100407038
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
42908201
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
100407038
.
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/c100407040.lua
0 → 100644
View file @
931f3056
--究極宝玉陣
--Ultimate Crystal Formation
--Scripted by Eerie Code
function
c100407040
.
initial_effect
(
c
)
--activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_FUSION_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_BATTLE_DESTROYED
)
e1
:
SetCondition
(
c100407040
.
condition
)
e1
:
SetCost
(
c100407040
.
cost
)
e1
:
SetTarget
(
c100407040
.
target
)
e1
:
SetOperation
(
c100407040
.
activate
)
c
:
RegisterEffect
(
e1
)
--place
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e2
:
SetCode
(
EVENT_LEAVE_FIELD
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCondition
(
c100407040
.
plcon
)
e2
:
SetCost
(
aux
.
bfgcost
)
e2
:
SetTarget
(
c100407040
.
pltg
)
e2
:
SetOperation
(
c100407040
.
plop
)
c
:
RegisterEffect
(
e2
)
end
function
c100407040
.
confilter
(
c
,
tp
)
return
c
:
IsPreviousSetCard
(
0x1034
)
and
c
:
GetPreviousControler
()
==
tp
end
function
c100407040
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c100407040
.
confilter
,
1
,
nil
,
tp
)
end
function
c100407040
.
cfilter
(
c
)
return
c
:
IsSetCard
(
0x1034
)
and
(
c
:
IsFaceup
()
or
not
c
:
IsLocation
(
LOCATION_ONFIELD
))
and
c
:
IsAbleToGraveAsCost
()
end
function
c100407040
.
exfilter
(
c
,
tp
)
return
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
Group
.
FromCards
(
c
))
>
0
end
function
c100407040
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c100407040
.
cfilter
,
tp
,
LOCATION_ONFIELD
+
LOCATION_HAND
+
LOCATION_DECK
,
0
,
nil
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
7
and
(
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
or
g
:
IsExists
(
c100407040
.
exfilter
,
1
,
nil
,
tp
))
end
local
rg
=
Group
.
CreateGroup
()
local
ft
=
Duel
.
GetLocationCountFromEx
(
tp
)
for
i
=
1
,
7
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
tc
=
nil
if
ft
<
1
then
tc
=
g
:
FilterSelect
(
tp
,
c100407040
.
exfilter
,
1
,
1
,
nil
,
tp
):
GetFirst
()
ft
=
1
else
tc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
end
if
tc
then
rg
:
AddCard
(
tc
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
end
end
Duel
.
SendtoGrave
(
rg
,
REASON_COST
)
end
function
c100407040
.
filter
(
c
,
e
,
tp
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x2034
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
end
function
c100407040
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100407040
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c100407040
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100407040
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
function
c100407040
.
plcfilter
(
c
,
tp
)
return
c
:
IsPreviousSetCard
(
0x2034
)
and
c
:
GetPreviousControler
()
==
tp
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
GetReasonPlayer
()
~=
tp
and
c
:
IsReason
(
REASON_EFFECT
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
end
function
c100407040
.
plcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c100407040
.
plcfilter
,
1
,
nil
,
tp
)
end
function
c100407040
.
plfilter
(
c
)
return
c
:
IsSetCard
(
0x1034
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
not
c
:
IsForbidden
()
end
function
c100407040
.
pltg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100407040
.
plfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
nil
,
1
,
tp
,
LOCATION_GRAVE
)
end
function
c100407040
.
plop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
if
ft
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100407040
.
plfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
ft
,
nil
)
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
while
tc
do
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
)
tc
=
g
:
GetNext
()
end
Duel
.
RaiseEvent
(
g
,
EVENT_CUSTOM
+
47408488
,
e
,
0
,
tp
,
0
,
0
)
end
end
expansions/script/c1118137.lua
deleted
100644 → 0
View file @
dc03b44a
--ガーディアンの力
--Power of the Guardian
--Script by nekrozar
function
c1118137
.
initial_effect
(
c
)
c
:
EnableCounterPermit
(
0x1
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetTarget
(
c1118137
.
target
)
e1
:
SetOperation
(
c1118137
.
operation
)
c
:
RegisterEffect
(
e1
)
--counter
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
1118137
,
0
))
e2
:
SetCategory
(
CATEGORY_COUNTER
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e2
:
SetCode
(
EVENT_ATTACK_ANNOUNCE
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetCondition
(
c1118137
.
ctcon
)
e2
:
SetTarget
(
c1118137
.
cttg
)
e2
:
SetOperation
(
c1118137
.
ctop
)
c
:
RegisterEffect
(
e2
)
--atk/def
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_EQUIP
)
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e3
:
SetValue
(
c1118137
.
atkval
)
c
:
RegisterEffect
(
e3
)
local
e4
=
e3
:
Clone
()
e4
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
c
:
RegisterEffect
(
e4
)
--destroy replace
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_EQUIP
)
e5
:
SetCode
(
EFFECT_DESTROY_REPLACE
)
e5
:
SetTarget
(
c1118137
.
desreptg
)
e5
:
SetOperation
(
c1118137
.
desrepop
)
c
:
RegisterEffect
(
e5
)
--Equip limit
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetType
(
EFFECT_TYPE_SINGLE
)
e6
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e6
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e6
:
SetValue
(
1
)
c
:
RegisterEffect
(
e6
)
end
function
c1118137
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsFaceup
()
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
SelectTarget
(
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c1118137
.
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
c1118137
.
ctcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetHandler
():
GetEquipTarget
()
return
Duel
.
GetAttacker
()
==
tc
or
Duel
.
GetAttackTarget
()
==
tc
end
function
c1118137
.
cttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
nil
,
1
,
0
,
0x1
)
end
function
c1118137
.
ctop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
e
:
GetHandler
():
AddCounter
(
0x1
,
1
)
end
end
function
c1118137
.
atkval
(
e
,
c
)
return
e
:
GetHandler
():
GetCounter
(
0x1
)
*
500
end
function
c1118137
.
desreptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
tg
=
c
:
GetEquipTarget
()
if
chk
==
0
then
return
not
c
:
IsStatus
(
STATUS_DESTROY_CONFIRMED
)
and
tg
and
tg
:
IsReason
(
REASON_BATTLE
+
REASON_EFFECT
)
and
Duel
.
IsCanRemoveCounter
(
tp
,
1
,
0
,
0x1
,
1
,
REASON_EFFECT
)
end
return
Duel
.
SelectEffectYesNo
(
tp
,
c
,
96
)
end
function
c1118137
.
desrepop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RemoveCounter
(
tp
,
1
,
0
,
0x1
,
1
,
REASON_EFFECT
+
REASON_REPLACE
)
end
expansions/script/c13452889.lua
deleted
100644 → 0
View file @
dc03b44a
--ベクター・スケア・デーモン
--Vector Square Archfiend
--Script by nekrozar
function
c13452889
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsRace
,
RACE_CYBERSE
),
2
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
13452889
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_BATTLE_DESTROYING
)
e1
:
SetCondition
(
aux
.
bdogcon
)
e1
:
SetCost
(
c13452889
.
spcost
)
e1
:
SetTarget
(
c13452889
.
sptg
)
e1
:
SetOperation
(
c13452889
.
spop
)
c
:
RegisterEffect
(
e1
)
end
function
c13452889
.
cfilter
(
c
,
tp
,
g
,
zone
)
return
g
:
IsContains
(
c
)
and
(
Duel
.
CheckLocation
(
c
:
GetControler
(),
LOCATION_MZONE
,
c
:
GetSequence
(),
true
)
or
Duel
.
GetLocationCount
(
1
-
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
>
0
)
end
function
c13452889
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
lg
=
c
:
GetLinkedGroup
()
local
zone
=
c
:
GetLinkedZone
(
1
-
tp
)
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
c13452889
.
cfilter
,
1
,
nil
,
tp
,
lg
,
zone
)
end
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c13452889
.
cfilter
,
1
,
1
,
nil
,
tp
,
lg
,
zone
)
Duel
.
Release
(
g
,
REASON_COST
)
end
function
c13452889
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
bc
=
c
:
GetBattleTarget
()
local
zone1
=
c
:
GetLinkedZone
(
tp
)
local
zone2
=
c
:
GetLinkedZone
(
1
-
tp
)
if
chk
==
0
then
return
c
:
GetLinkedZone
()
~=
0
and
(
bc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
,
tp
,
zone1
,
true
))
or
(
bc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
,
1
-
tp
,
zone2
))
end
Duel
.
SetTargetCard
(
bc
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
bc
,
1
,
0
,
0
)
end
function
c13452889
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
c
:
GetLinkedZone
()
~=
0
and
tc
:
IsRelateToEffect
(
e
)
then
local
zone1
=
c
:
GetLinkedZone
(
tp
)
local
zone2
=
c
:
GetLinkedZone
(
1
-
tp
)
if
tc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
,
tp
,
zone1
)
and
(
not
tc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
,
1
-
tp
,
zone2
)
or
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
13452889
,
1
)))
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
,
zone1
)
else
if
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
1
-
tp
,
false
,
false
,
POS_FACEUP
,
zone2
)
~=
0
and
c
:
IsRelateToBattle
()
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_EXTRA_ATTACK
)
e1
:
SetValue
(
1
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_BATTLE
)
c
:
RegisterEffect
(
e1
)
end
end
end
end
expansions/script/c1482001.lua
deleted
100644 → 0
View file @
dc03b44a
--副話術士クララ&ルーシカ
--Ventriloquists Clara & Lucika
--Script by nekrozar
function
c1482001
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsSummonType
,
SUMMON_TYPE_NORMAL
),
1
,
1
)
--splimit
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_COST
)
e1
:
SetCost
(
c1482001
.
spcost
)
c
:
RegisterEffect
(
e1
)
end
function
c1482001
.
spcost
(
e
,
c
,
tp
,
st
)
if
bit
.
band
(
st
,
SUMMON_TYPE_LINK
)
~=
SUMMON_TYPE_LINK
then
return
true
end
return
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
end
expansions/script/c1508649.lua
deleted
100644 → 0
View file @
dc03b44a
--オルターガイスト・ヘクスティア
--Altergeist Hextia
--Scripted by Eerie Code
function
c1508649
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsSetCard
,
0x103
),
2
,
2
)
--atk
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetValue
(
c1508649
.
atkval
)
c
:
RegisterEffect
(
e1
)
--negate
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
1508649
,
0
))
e2
:
SetCategory
(
CATEGORY_NEGATE
+
CATEGORY_DESTROY
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCondition
(
c1508649
.
discon
)
e2
:
SetCost
(
c1508649
.
discost
)
e2
:
SetTarget
(
c1508649
.
distg
)
e2
:
SetOperation
(
c1508649
.
disop
)
c
:
RegisterEffect
(
e2
)
--search
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
1508649
,
1
))
e3
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetCode
(
EVENT_TO_GRAVE
)
e3
:
SetCountLimit
(
1
,
1508649
)
e3
:
SetCondition
(
c1508649
.
thcon
)
e3
:
SetTarget
(
c1508649
.
thtg
)
e3
:
SetOperation
(
c1508649
.
thop
)
c
:
RegisterEffect
(
e3
)
end
function
c1508649
.
atkfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x103
)
and
c
:
GetBaseAttack
()
>=
0
end
function
c1508649
.
atkval
(
e
,
c
)
local
lg
=
c
:
GetLinkedGroup
():
Filter
(
c1508649
.
atkfilter
,
nil
)
return
lg
:
GetSum
(
Card
.
GetBaseAttack
)
end
function
c1508649
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
e
:
GetHandler
():
IsStatus
(
STATUS_BATTLE_DESTROYED
)
then
return
false
end
return
re
:
IsActiveType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
Duel
.
IsChainNegatable
(
ev
)
end
function
c1508649
.
cfilter
(
c
,
g
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x103
)
and
g
:
IsContains
(
c
)
and
not
c
:
IsStatus
(
STATUS_BATTLE_DESTROYED
)
end
function
c1508649
.
discost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
c1508649
.
cfilter
,
1
,
nil
,
lg
)
end
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c1508649
.
cfilter
,
1
,
1
,
nil
,
lg
)
Duel
.
Release
(
g
,
REASON_COST
)
end
function
c1508649
.
distg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_NEGATE
,
eg
,
1
,
0
,
0
)
if
re
:
GetHandler
():
IsDestructable
()
and
re
:
GetHandler
():
IsRelateToEffect
(
re
)
then
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
eg
,
1
,
0
,
0
)
end
end
function
c1508649
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
NegateActivation
(
ev
)
and
re
:
GetHandler
():
IsRelateToEffect
(
re
)
then
Duel
.
Destroy
(
eg
,
REASON_EFFECT
)
end
end
function
c1508649
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
end
function
c1508649
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x103
)
and
c
:
IsAbleToHand
()
end
function
c1508649
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c1508649
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c1508649
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c1508649
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
expansions/script/c15397015.lua
deleted
100644 → 0
View file @
dc03b44a
--インスペクト・ボーダー
--Inspect Boarder
--Script by nekrozar
function
c15397015
.
initial_effect
(
c
)
--summon limit
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_CANNOT_SUMMON
)
e1
:
SetCondition
(
c15397015
.
sumcon
)
c
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
c
:
RegisterEffect
(
e2
)
--activate limit
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetOperation
(
c15397015
.
aclimit1
)
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EVENT_CHAIN_NEGATED
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetOperation
(
c15397015
.
aclimit2
)
c
:
RegisterEffect
(
e3
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
)
e4
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e4
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetTargetRange
(
1
,
0
)
e4
:
SetCondition
(
c15397015
.
econ1
)
e4
:
SetValue
(
c15397015
.
elimit
)
c
:
RegisterEffect
(
e4
)
local
e5
=
e2
:
Clone
()
e5
:
SetOperation
(
c15397015
.
aclimit3
)
c
:
RegisterEffect
(
e5
)
local
e6
=
e3
:
Clone
()
e6
:
SetOperation
(
c15397015
.
aclimit4
)
c
:
RegisterEffect
(
e6
)
local
e7
=
e4
:
Clone
()
e7
:
SetCondition
(
c15397015
.
econ2
)
e7
:
SetTargetRange
(
0
,
1
)
c
:
RegisterEffect
(
e7
)
end
function
c15397015
.
sumcon
(
e
)
return
Duel
.
GetFieldGroupCount
(
e
:
GetHandler
():
IsControler
(),
LOCATION_MZONE
,
0
)
>
0
end
function
c15397015
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_FUSION
+
TYPE_RITUAL
+
TYPE_SYNCHRO
+
TYPE_XYZ
+
TYPE_PENDULUM
+
TYPE_LINK
)
end
function
c15397015
.
typecount
(
c
)
return
bit
.
band
(
c
:
GetType
(),
TYPE_FUSION
+
TYPE_RITUAL
+
TYPE_SYNCHRO
+
TYPE_XYZ
+
TYPE_PENDULUM
+
TYPE_LINK
)
end
function
c15397015
.
aclimit1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
ep
~=
tp
or
not
re
:
IsActiveType
(
TYPE_MONSTER
)
then
return
end
e
:
GetHandler
():
RegisterFlagEffect
(
15397015
,
RESET_EVENT
+
0x3ff0000
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
function
c15397015
.
aclimit2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
ep
~=
tp
or
not
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
return
end
e
:
GetHandler
():
ResetFlagEffect
(
15397015
)
end
function
c15397015
.
econ1
(
e
)
local
g
=
Duel
.
GetMatchingGroup
(
c15397015
.
cfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
)
local
ct
=
g
:
GetClassCount
(
c15397015
.
typecount
)
return
e
:
GetHandler
():
GetFlagEffect
(
15397015
)
<
ct
end
function
c15397015
.
aclimit3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
ep
==
tp
or
not
re
:
IsActiveType
(
TYPE_MONSTER
)
then
return
end
e
:
GetHandler
():
RegisterFlagEffect
(
15397016
,
RESET_EVENT
+
0x3ff0000
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
function
c15397015
.
aclimit4
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
ep
==
tp
or
not
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
return
end
e
:
GetHandler
():
ResetFlagEffect
(
15397016
)
end
function
c15397015
.
econ2
(
e
)
local
g
=
Duel
.
GetMatchingGroup
(
c15397015
.
cfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
)
local
ct
=
g
:
GetClassCount
(
c15397015
.
typecount
)
return
e
:
GetHandler
():
GetFlagEffect
(
15397016
)
<
ct
end
function
c15397015
.
elimit
(
e
,
re
,
tp
)
return
re
:
IsActiveType
(
TYPE_MONSTER
)
and
not
re
:
GetHandler
():
IsImmuneToEffect
(
e
)
end
expansions/script/c15419596.lua
deleted
100644 → 0
View file @
dc03b44a
--魅幽鳥
--Mikuratori
--Script by nekrozar
function
c15419596
.
initial_effect
(
c
)
--atkup
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCondition
(
c15419596
.
atkcon
)
e1
:
SetValue
(
1000
)
c
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
c
:
RegisterEffect
(
e2
)
--extra attack
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e3
:
SetCode
(
EFFECT_EXTRA_ATTACK_MONSTER
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCondition
(
c15419596
.
eacon
)
e3
:
SetValue
(
1
)
c
:
RegisterEffect
(
e3
)
--cannot target
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
)
e4
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e4
:
SetCode
(
EFFECT_CANNOT_BE_EFFECT_TARGET
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCondition
(
c15419596
.
indcon
)
e4
:
SetValue
(
aux
.
tgoval
)
c
:
RegisterEffect
(
e4
)
--indes
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
)
e5
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e5
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetCondition
(
c15419596
.
indcon
)
e5
:
SetValue
(
c15419596
.
indval
)
c
:
RegisterEffect
(
e5
)
--cannot activate
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetType
(
EFFECT_TYPE_FIELD
)
e6
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e6
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetTargetRange
(
1
,
1
)
e6
:
SetCondition
(
c15419596
.
actcon
)
e6
:
SetValue
(
c15419596
.
aclimit
)
c
:
RegisterEffect
(
e6
)
end
function
c15419596
.
atkcon
(
e
)
return
e
:
GetHandler
():
GetSequence
()
==
0
end
function
c15419596
.
eacon
(
e
)
return
e
:
GetHandler
():
GetSequence
()
==
4
end
function
c15419596
.
indcon
(
e
)
return
e
:
GetHandler
():
GetSequence
()
==
2
end
function
c15419596
.
indval
(
e
,
re
,
tp
)
return
tp
~=
e
:
GetHandlerPlayer
()
end
function
c15419596
.
actcon
(
e
)
local
c
=
e
:
GetHandler
()
return
c
:
GetSequence
()
==
1
or
c
:
GetSequence
()
==
3
end
function
c15419596
.
aclimit
(
e
,
re
,
tp
)
local
tc
=
re
:
GetHandler
()
return
tc
:
IsLocation
(
LOCATION_MZONE
)
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
e
:
GetHandler
():
GetColumnGroup
():
IsContains
(
tc
)
and
not
tc
:
IsImmuneToEffect
(
e
)
end
expansions/script/c16632144.lua
deleted
100644 → 0
View file @
dc03b44a
--屈強の釣り師
--Angrappler
--Script by nekrozar
function
c16632144
.
initial_effect
(
c
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
16632144
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCode
(
EVENT_BATTLE_DAMAGE
)
e1
:
SetCondition
(
c16632144
.
spcon
)
e1
:
SetTarget
(
c16632144
.
sptg
)
e1
:
SetOperation
(
c16632144
.
spop
)
c
:
RegisterEffect
(
e1
)
end
function
c16632144
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
ep
~=
tp
and
Duel
.
GetAttackTarget
()
==
nil
end
function
c16632144
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
function
c16632144
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c16632144
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c16632144
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c16632144
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
end
function
c16632144
.
spop
(
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_DEFENSE
)
end
end
expansions/script/c20537097.lua
deleted
100644 → 0
View file @
dc03b44a
--蒼穹の機界騎士
--Mekk-Knight of the Blue Sky
--Scripted by Eerie Code
function
c20537097
.
initial_effect
(
c
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCountLimit
(
1
,
20537097
)
e1
:
SetCondition
(
c20537097
.
hspcon
)
e1
:
SetValue
(
c20537097
.
hspval
)
c
:
RegisterEffect
(
e1
)
--to hand
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
20537097
,
0
))
e2
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
20537098
)
e2
:
SetTarget
(
c20537097
.
thtg
)
e2
:
SetOperation
(
c20537097
.
thop
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetCondition
(
c20537097
.
thcon
)
c
:
RegisterEffect
(
e3
)
end
function
c20537097
.
cfilter
(
c
)
return
c
:
GetColumnGroupCount
()
>
0
end
function
c20537097
.
hspcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
zone
=
0
local
lg
=
Duel
.
GetMatchingGroup
(
c20537097
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
for
tc
in
aux
.
Next
(
lg
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetColumnZone
(
LOCATION_MZONE
,
0
,
0
,
tc
:
GetControler
()))
end
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
>
0
end
function
c20537097
.
hspval
(
e
,
c
)
local
tp
=
c
:
GetControler
()
local
zone
=
0
local
lg
=
Duel
.
GetMatchingGroup
(
c20537097
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
for
tc
in
aux
.
Next
(
lg
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetColumnZone
(
LOCATION_MZONE
,
0
,
0
,
tc
:
GetControler
()))
end
return
0
,
zone
end
function
c20537097
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_HAND
)
end
function
c20537097
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x10c
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
not
c
:
IsCode
(
20537097
)
and
c
:
IsAbleToHand
()
end
function
c20537097
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c20537097
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
ct
=
e
:
GetHandler
():
GetColumnGroup
():
FilterCount
(
Card
.
IsControler
,
nil
,
1
-
tp
)
if
chk
==
0
then
return
ct
>
0
and
g
:
GetClassCount
(
Card
.
GetCode
)
>=
ct
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
ct
,
tp
,
LOCATION_DECK
)
end
function
c20537097
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
c20537097
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
ct
=
e
:
GetHandler
():
GetColumnGroup
():
FilterCount
(
Card
.
IsControler
,
nil
,
1
-
tp
)
if
ct
<=
0
or
g
:
GetClassCount
(
Card
.
GetCode
)
<
ct
then
return
end
local
hg
=
Group
.
CreateGroup
()
for
i
=
1
,
ct
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
tc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
hg
:
AddCard
(
tc
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
tc
:
GetCode
())
end
Duel
.
SendtoHand
(
hg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
hg
)
end
expansions/script/c209710.lua
deleted
100644 → 0
View file @
dc03b44a
--フリック・クラウン
--Flick Clown
--Script by nekrozar
function
c209710
.
initial_effect
(
c
)
--draw
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
209710
,
0
))
e1
:
SetCategory
(
CATEGORY_DRAW
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
,
209710
)
e1
:
SetCondition
(
c209710
.
drcon
)
e1
:
SetCost
(
c209710
.
drcost
)
e1
:
SetTarget
(
c209710
.
drtg
)
e1
:
SetOperation
(
c209710
.
drop
)
c
:
RegisterEffect
(
e1
)
end
function
c209710
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_CYBERSE
)
end
function
c209710
.
drcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
IsExistingMatchingCard
(
c209710
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
2
,
e
:
GetHandler
())
and
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_HAND
,
0
)
==
0
end
function
c209710
.
drcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckLPCost
(
tp
,
1000
)
end
Duel
.
PayLPCost
(
tp
,
1000
)
end
function
c209710
.
drtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
end
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
end
function
c209710
.
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
expansions/script/c2220237.lua
deleted
100644 → 0
View file @
dc03b44a
--セキュア・ガードナー
--Security Gardna
--Script by nekrozar
function
c2220237
.
initial_effect
(
c
)
c
:
SetUniqueOnField
(
1
,
0
,
2220237
)
--link summon
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
c2220237
.
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
)
--change damage
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetOperation
(
c2220237
.
regop
)
c
:
RegisterEffect
(
e2
)
--damage reduce
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e3
:
SetCode
(
EFFECT_CHANGE_DAMAGE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetTargetRange
(
1
,
0
)
e3
:
SetValue
(
c2220237
.
damval2
)
c
:
RegisterEffect
(
e3
)
local
e4
=
e3
:
Clone
()
e4
:
SetCode
(
EFFECT_NO_EFFECT_DAMAGE
)
e4
:
SetCondition
(
c2220237
.
damcon
)
c
:
RegisterEffect
(
e4
)
end
function
c2220237
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CHANGE_DAMAGE
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetValue
(
c2220237
.
damval1
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_NO_EFFECT_DAMAGE
)
e2
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e2
,
tp
)
end
function
c2220237
.
matfilter
(
c
)
return
c
:
IsRace
(
RACE_CYBERSE
)
and
c
:
IsLinkType
(
TYPE_LINK
)
end
function
c2220237
.
damval1
(
e
,
re
,
val
,
r
,
rp
,
rc
)
if
bit
.
band
(
r
,
REASON_EFFECT
)
~=
0
then
return
0
else
return
val
end
end
function
c2220237
.
damval2
(
e
,
re
,
val
,
r
,
rp
,
rc
)
local
c
=
e
:
GetHandler
()
if
bit
.
band
(
r
,
REASON_BATTLE
+
REASON_EFFECT
)
~=
0
and
c
:
GetFlagEffect
(
2220237
)
==
0
then
c
:
RegisterFlagEffect
(
2220237
,
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
return
0
end
return
val
end
function
c2220237
.
damcon
(
e
)
return
e
:
GetHandler
():
GetFlagEffect
(
2220237
)
==
0
end
expansions/script/c24207889.lua
deleted
100644 → 0
View file @
dc03b44a
--センサー万別
--Sensor Differentiation
--Scripted by Eerie Code and edo9300
function
c24207889
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetHintTiming
(
0
,
0x1c0
)
e1
:
SetTarget
(
c24207889
.
acttg
)
e1
:
SetOperation
(
c24207889
.
actop
)
c
:
RegisterEffect
(
e1
)
--adjust
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e2
:
SetCode
(
EVENT_ADJUST
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetOperation
(
c24207889
.
adjustop
)
c
:
RegisterEffect
(
e2
)
--cannot summon,spsummon,flipsummon
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
)
e4
:
SetRange
(
LOCATION_SZONE
)
e4
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e4
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e4
:
SetTargetRange
(
1
,
1
)
e4
:
SetTarget
(
c24207889
.
sumlimit
)
c
:
RegisterEffect
(
e4
)
local
e5
=
e4
:
Clone
()
e5
:
SetCode
(
EFFECT_CANNOT_SUMMON
)
c
:
RegisterEffect
(
e5
)
local
e6
=
e4
:
Clone
()
e6
:
SetCode
(
EFFECT_CANNOT_FLIP_SUMMON
)
c
:
RegisterEffect
(
e6
)
end
c24207889
[
0
]
=
nil
c24207889
[
1
]
=
nil
function
c24207889
.
sumlimit
(
e
,
c
,
sump
,
sumtype
,
sumpos
,
targetp
)
if
sumpos
and
bit
.
band
(
sumpos
,
POS_FACEDOWN
)
>
0
then
return
false
end
local
tp
=
sump
if
targetp
then
tp
=
targetp
end
return
Duel
.
IsExistingMatchingCard
(
c24207889
.
rmfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
c
:
GetRace
())
end
function
c24207889
.
rmfilter
(
c
,
rc
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
rc
)
end
function
c24207889
.
filter
(
c
,
g
,
pg
)
if
pg
:
IsContains
(
c
)
then
return
false
end
local
rc
=
c
:
GetRace
()
return
g
:
IsExists
(
Card
.
IsRace
,
1
,
c
,
rc
)
or
pg
:
IsExists
(
Card
.
IsRace
,
1
,
c
,
rc
)
end
function
c24207889
.
acttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
c24207889
[
0
]
=
Group
.
CreateGroup
()
c24207889
[
0
]:
KeepAlive
()
c24207889
[
1
]
=
Group
.
CreateGroup
()
c24207889
[
1
]:
KeepAlive
()
end
function
c24207889
.
actop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
for
p
=
0
,
1
do
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
p
,
LOCATION_MZONE
,
0
,
nil
)
local
race
=
1
while
bit
.
band
(
RACE_ALL
,
race
)
~=
0
do
local
rg
=
g
:
Filter
(
Card
.
IsRace
,
nil
,
race
)
local
rc
=
rg
:
GetCount
()
if
rc
>
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
dg
=
rg
:
Select
(
p
,
rc
-
1
,
rc
-
1
,
nil
)
Duel
.
SendtoGrave
(
dg
,
REASON_EFFECT
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
p
,
LOCATION_MZONE
,
0
,
nil
)
end
race
=
race
*
2
end
end
end
function
c24207889
.
adjustop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
phase
=
Duel
.
GetCurrentPhase
()
if
(
phase
==
PHASE_DAMAGE
and
not
Duel
.
IsDamageCalculated
())
or
phase
==
PHASE_DAMAGE_CAL
then
return
end
local
c
=
e
:
GetHandler
()
if
c
:
GetFlagEffect
(
24207889
)
==
0
then
c
:
RegisterFlagEffect
(
24207889
,
RESET_EVENT
+
0x1ff0000
,
0
,
1
)
c24207889
[
0
]:
Clear
()
c24207889
[
1
]:
Clear
()
end
for
p
=
0
,
1
do
local
pg
=
c24207889
[
p
]
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
p
,
LOCATION_MZONE
,
0
,
nil
)
local
dg
=
g
:
Filter
(
c24207889
.
filter
,
nil
,
g
,
pg
)
if
dg
:
GetCount
()
==
0
or
Duel
.
SendtoGrave
(
dg
,
REASON_EFFECT
)
==
0
then
pg
:
Clear
()
pg
:
Merge
(
g
)
pg
:
Sub
(
dg
)
else
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
p
,
LOCATION_MZONE
,
0
,
nil
)
pg
:
Clear
()
pg
:
Merge
(
g
)
pg
:
Sub
(
dg
)
Duel
.
Readjust
()
end
end
end
expansions/script/c24429467.lua
deleted
100644 → 0
View file @
dc03b44a
--魔導変換
--Magical Burst
--Scripted by Eerie Code
function
c24429467
.
initial_effect
(
c
)
c
:
EnableCounterPermit
(
0x1
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
--add counter
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetOperation
(
aux
.
chainreg
)
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EVENT_CHAIN_SOLVED
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetOperation
(
c24429467
.
acop
)
c
:
RegisterEffect
(
e3
)
--search
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e4
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e4
:
SetCode
(
EVENT_FREE_CHAIN
)
e4
:
SetRange
(
LOCATION_SZONE
)
e4
:
SetCountLimit
(
1
,
24429467
)
e4
:
SetCondition
(
c24429467
.
thcon
)
e4
:
SetCost
(
c24429467
.
thcost
)
e4
:
SetTarget
(
c24429467
.
thtg
)
e4
:
SetOperation
(
c24429467
.
thop
)
c
:
RegisterEffect
(
e4
)
end
function
c24429467
.
acop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_PLAYER
)
local
c
=
e
:
GetHandler
()
if
re
:
IsActiveType
(
TYPE_MONSTER
)
and
p
~=
tp
and
c
:
GetFlagEffect
(
1
)
>
0
then
c
:
AddCounter
(
0x1
,
1
)
end
end
function
c24429467
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetCounter
(
0x1
)
>=
6
end
function
c24429467
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
)
end
function
c24429467
.
thfilter
(
c
)
return
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToHand
()
end
function
c24429467
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c24429467
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c24429467
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c24429467
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
expansions/script/c269510.lua
deleted
100644 → 0
View file @
dc03b44a
--天火の牢獄
--Fire Prison
--Script by nekrozar
function
c269510
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
--defup
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
e2
:
SetRange
(
LOCATION_FZONE
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e2
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsRace
,
RACE_DRAGON
))
e2
:
SetValue
(
300
)
c
:
RegisterEffect
(
e2
)
--cannot link summon
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e3
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e3
:
SetRange
(
LOCATION_FZONE
)
e3
:
SetTargetRange
(
1
,
1
)
e3
:
SetTarget
(
c269510
.
splimit
)
c
:
RegisterEffect
(
e3
)
--cannot attack
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
)
e4
:
SetCode
(
EFFECT_CANNOT_ATTACK
)
e4
:
SetRange
(
LOCATION_FZONE
)
e4
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e4
:
SetTarget
(
c269510
.
atktg
)
c
:
RegisterEffect
(
e4
)
--disable
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e5
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e5
:
SetRange
(
LOCATION_FZONE
)
e5
:
SetCondition
(
c269510
.
discon
)
e5
:
SetOperation
(
c269510
.
disop
)
c
:
RegisterEffect
(
e5
)
--cannot attack
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetType
(
EFFECT_TYPE_FIELD
)
e6
:
SetCode
(
EFFECT_CANNOT_ATTACK
)
e6
:
SetRange
(
LOCATION_FZONE
)
e6
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e6
:
SetCondition
(
c269510
.
limcon
)
e6
:
SetTarget
(
c269510
.
atlimit
)
c
:
RegisterEffect
(
e6
)
--cannot be battle target
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetType
(
EFFECT_TYPE_FIELD
)
e7
:
SetCode
(
EFFECT_CANNOT_SELECT_BATTLE_TARGET
)
e7
:
SetRange
(
LOCATION_FZONE
)
e7
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e7
:
SetCondition
(
c269510
.
limcon
)
e7
:
SetValue
(
c269510
.
atlimit
)
c
:
RegisterEffect
(
e7
)
--cannot be effect target
local
e8
=
Effect
.
CreateEffect
(
c
)
e8
:
SetType
(
EFFECT_TYPE_FIELD
)
e8
:
SetCode
(
EFFECT_CANNOT_BE_EFFECT_TARGET
)
e8
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e8
:
SetRange
(
LOCATION_FZONE
)
e8
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e8
:
SetCondition
(
c269510
.
limcon
)
e8
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsRace
,
RACE_CYBERSE
))
e8
:
SetValue
(
1
)
c
:
RegisterEffect
(
e8
)
end
function
c269510
.
limfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_LINK
)
end
function
c269510
.
splimit
(
e
,
c
,
tp
,
sumtp
,
sumpos
)
local
g
=
Duel
.
GetMatchingGroup
(
c269510
.
limfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
)
if
g
:
GetCount
()
<=
0
then
return
false
end
local
mg
,
lk
=
g
:
GetMinGroup
(
Card
.
GetLink
)
return
lk
>
c
:
GetLink
()
and
bit
.
band
(
sumtp
,
SUMMON_TYPE_LINK
)
==
SUMMON_TYPE_LINK
end
function
c269510
.
atktg
(
e
,
c
)
return
not
c
:
IsType
(
TYPE_LINK
)
end
function
c269510
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_CYBERSE
)
and
c
:
IsType
(
TYPE_LINK
)
end
function
c269510
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
c269510
.
cfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
)
>
1
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
re
:
GetHandler
():
IsRace
(
RACE_CYBERSE
)
end
function
c269510
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
NegateEffect
(
ev
)
end
function
c269510
.
limcon
(
e
)
return
Duel
.
GetMatchingGroupCount
(
c269510
.
cfilter
,
e
:
GetHandler
():
GetControler
(),
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
)
>
1
end
function
c269510
.
atlimit
(
e
,
c
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_CYBERSE
)
end
expansions/script/c27354732.lua
deleted
100644 → 0
View file @
dc03b44a
--魔導獣 キングジャッカル
--Mythical Beast King Jackal
--Scripted by Eerie Code
function
c27354732
.
initial_effect
(
c
)
aux
.
EnablePendulumAttribute
(
c
)
c
:
EnableCounterPermit
(
0x1
)
--destroy & summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
27354732
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetCountLimit
(
1
,
27354732
)
e1
:
SetCondition
(
c27354732
.
spcon
)
e1
:
SetTarget
(
c27354732
.
sptg
)
e1
:
SetOperation
(
c27354732
.
spop
)
c
:
RegisterEffect
(
e1
)
--add counter
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetOperation
(
aux
.
chainreg
)
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetOperation
(
c27354732
.
acop
)
c
:
RegisterEffect
(
e3
)
--negate
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
27354732
,
1
))
e4
:
SetCategory
(
CATEGORY_NEGATE
+
CATEGORY_DESTROY
)
e4
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e4
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
)
e4
:
SetCode
(
EVENT_CHAINING
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCountLimit
(
1
)
e4
:
SetCondition
(
c27354732
.
condition
)
e4
:
SetCost
(
c27354732
.
cost
)
e4
:
SetTarget
(
c27354732
.
target
)
e4
:
SetOperation
(
c27354732
.
operation
)
c
:
RegisterEffect
(
e1
)
end
function
c27354732
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
0
)
or
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
1
)
end
function
c27354732
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x10d
)
and
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_PENDULUM
)
and
not
c
:
IsCode
(
27354732
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c27354732
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsDestructable
()
and
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
Duel
.
IsExistingTarget
(
c27354732
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
e
:
GetHandler
(),
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c27354732
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
c
,
REASON_EFFECT
)
~=
0
then
if
Duel
.
GetLocationCountFromEx
(
tp
)
<
1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c27354732
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
function
c27354732
.
acop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
re
:
IsActiveType
(
TYPE_SPELL
)
and
e
:
GetHandler
():
GetFlagEffect
(
1
)
>
0
then
e
:
GetHandler
():
AddCounter
(
0x1
,
1
)
end
end
function
c27354732
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
rc
=
re
:
GetHandler
()
return
rp
~=
tp
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
not
c
:
IsStatus
(
STATUS_BATTLE_DESTROYED
)
and
Duel
.
IsChainNegatable
(
ev
)
end
function
c27354732
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsCanRemoveCounter
(
tp
,
1
,
0
,
0x1
,
2
,
REASON_COST
)
end
Duel
.
RemoveCounter
(
tp
,
1
,
0
,
0x1
,
2
,
REASON_COST
)
end
function
c27354732
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_NEGATE
,
eg
,
1
,
0
,
0
)
if
re
:
GetHandler
():
IsDestructable
()
and
re
:
GetHandler
():
IsRelateToEffect
(
re
)
then
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
eg
,
1
,
0
,
0
)
end
end
function
c27354732
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
NegateActivation
(
ev
)
and
re
:
GetHandler
():
IsRelateToEffect
(
re
)
then
Duel
.
Destroy
(
eg
,
REASON_EFFECT
)
end
end
expansions/script/c28570310.lua
deleted
100644 → 0
View file @
dc03b44a
--魔導獣 ガルーダ
--Mythical Beast Garuda
--Scripted by Eerie Code
function
c28570310
.
initial_effect
(
c
)
aux
.
EnablePendulumAttribute
(
c
)
c
:
EnableCounterPermit
(
0x1
)
--destroy & counter
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
28570310
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCountLimit
(
1
,
28570310
)
e1
:
SetCondition
(
c28570310
.
descon
)
e1
:
SetTarget
(
c28570310
.
destg
)
e1
:
SetOperation
(
c28570310
.
desop
)
c
:
RegisterEffect
(
e1
)
--add counter
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetOperation
(
aux
.
chainreg
)
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetOperation
(
c28570310
.
acop
)
c
:
RegisterEffect
(
e3
)
--special summon
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
28570310
,
1
))
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_TOHAND
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e4
:
SetRange
(
LOCATION_HAND
)
e4
:
SetCountLimit
(
1
,
28570311
)
e4
:
SetCondition
(
c28570310
.
spcon
)
e4
:
SetCost
(
c28570310
.
spcost
)
e4
:
SetTarget
(
c28570310
.
sptg
)
e4
:
SetOperation
(
c28570310
.
spop
)
c
:
RegisterEffect
(
e4
)
local
e5
=
e4
:
Clone
()
e5
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
c
:
RegisterEffect
(
e5
)
end
function
c28570310
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
0
)
or
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
1
)
end
function
c28570310
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
c
=
e
:
GetHandler
()
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
~=
c
and
chkc
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
end
if
chk
==
0
then
return
c
:
IsDestructable
()
and
Duel
.
IsExistingTarget
(
Card
.
IsType
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
c
,
TYPE_SPELL
+
TYPE_TRAP
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsType
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
1
,
c
,
TYPE_SPELL
+
TYPE_TRAP
)
g
:
AddCard
(
c
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
g
:
GetCount
(),
0
,
0
)
end
function
c28570310
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
then
local
g
=
Group
.
FromCards
(
c
,
tc
)
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
end
end
function
c28570310
.
acop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
re
:
IsActiveType
(
TYPE_SPELL
)
and
e
:
GetHandler
():
GetFlagEffect
(
1
)
>
0
then
e
:
GetHandler
():
AddCounter
(
0x1
,
1
)
end
end
function
c28570310
.
cfilter
(
c
,
tp
)
return
c
:
GetSummonPlayer
()
==
tp
end
function
c28570310
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c28570310
.
cfilter
,
1
,
nil
,
1
-
tp
)
end
function
c28570310
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsCanRemoveCounter
(
tp
,
1
,
0
,
0x1
,
3
,
REASON_COST
)
end
Duel
.
RemoveCounter
(
tp
,
1
,
0
,
0x1
,
3
,
REASON_COST
)
end
function
c28570310
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
g
=
eg
:
Filter
(
c28570310
.
cfilter
,
1
,
nil
,
1
-
tp
):
Filter
(
Card
.
IsAbleToHand
,
nil
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
g
:
GetCount
()
>
0
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
g
:
GetCount
(),
0
,
0
)
end
function
c28570310
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
local
g
=
eg
:
Filter
(
Card
.
IsControler
,
nil
,
1
-
tp
):
Filter
(
Card
.
IsAbleToHand
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
BreakEffect
()
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
end
end
end
expansions/script/c28692962.lua
deleted
100644 → 0
View file @
dc03b44a
--紫宵の機界騎士
--Mekk-Knight of the Purple Dusk
--Scripted by Eerie Code
function
c28692962
.
initial_effect
(
c
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCountLimit
(
1
,
28692962
)
e1
:
SetCondition
(
c28692962
.
hspcon
)
e1
:
SetValue
(
c28692962
.
hspval
)
c
:
RegisterEffect
(
e1
)
--banish & search
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
28692962
,
0
))
e2
:
SetCategory
(
CATEGORY_REMOVE
+
CATEGORY_SEARCH
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
,
28692963
)
e2
:
SetTarget
(
c28692962
.
thtg
)
e2
:
SetOperation
(
c28692962
.
thop
)
c
:
RegisterEffect
(
e2
)
end
function
c28692962
.
cfilter
(
c
)
return
c
:
GetColumnGroupCount
()
>
0
end
function
c28692962
.
getzone
(
tp
)
local
zone
=
0
local
lg
=
Duel
.
GetMatchingGroup
(
c28692962
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
for
tc
in
aux
.
Next
(
lg
)
do
if
tc
:
IsControler
(
tp
)
then
zone
=
bit
.
bor
(
zone
,
bit
.
band
(
tc
:
GetColumnZone
(
LOCATION_MZONE
),
0xff
))
else
zone
=
bit
.
bor
(
zone
,
bit
.
rshift
(
bit
.
band
(
tc
:
GetColumnZone
(
LOCATION_MZONE
),
0xff0000
),
16
))
end
end
return
zone
end
function
c28692962
.
hspcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
zone
=
c28692962
.
getzone
(
tp
)
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
>
0
end
function
c28692962
.
hspval
(
e
,
c
)
local
tp
=
c
:
GetControler
()
return
0
,
c28692962
.
getzone
(
tp
)
end
function
c28692962
.
rmfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x10c
)
and
c
:
IsAbleToRemove
()
end
function
c28692962
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x10c
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
not
c
:
IsCode
(
28692962
)
and
c
:
IsAbleToHand
()
end
function
c28692962
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c28692962
.
rmfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c28692962
.
rmfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
Duel
.
IsExistingMatchingCard
(
c28692962
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c28692962
.
rmfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c28692962
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
Remove
(
tc
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_TEMPORARY
)
~=
0
and
tc
:
IsLocation
(
LOCATION_REMOVED
)
then
local
ct
=
1
if
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetCurrentPhase
()
==
PHASE_STANDBY
then
ct
=
2
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_STANDBY
)
e1
:
SetLabelObject
(
tc
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
c28692962
.
retcon
)
e1
:
SetOperation
(
c28692962
.
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
())
else
e1
:
SetReset
(
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
)
e1
:
SetValue
(
0
)
end
Duel
.
RegisterEffect
(
e1
,
tp
)
tc
:
RegisterFlagEffect
(
28692962
,
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
,
0
,
ct
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c28692962
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
end
function
c28692962
.
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
(
28692962
)
~=
0
end
function
c28692962
.
retop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetLabelObject
()
Duel
.
ReturnToField
(
tc
)
end
expansions/script/c29185231.lua
deleted
100644 → 0
View file @
dc03b44a
--一撃離脱
--Parthian Shot
--Script by nekrozar
function
c29185231
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetHintTiming
(
TIMING_BATTLE_END
)
e1
:
SetCondition
(
c29185231
.
condition
)
e1
:
SetOperation
(
c29185231
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c29185231
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetCurrentPhase
()
==
PHASE_BATTLE
end
function
c29185231
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
turnp
=
Duel
.
GetTurnPlayer
()
Duel
.
SkipPhase
(
turnp
,
PHASE_BATTLE
,
RESET_PHASE
+
PHASE_END
,
1
,
1
)
Duel
.
SkipPhase
(
turnp
,
PHASE_MAIN2
,
RESET_PHASE
+
PHASE_END
,
1
)
end
expansions/script/c2930675.lua
deleted
100644 → 0
View file @
dc03b44a
--星遺物へと至る鍵
--Key to World Legacy
--Script by nekrozar
function
c2930675
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetTarget
(
c2930675
.
target
)
c
:
RegisterEffect
(
e1
)
--disable
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetCondition
(
c2930675
.
discon
)
e2
:
SetOperation
(
c2930675
.
disop
)
c
:
RegisterEffect
(
e2
)
end
function
c2930675
.
thfilter
(
c
)
return
((
c
:
IsSetCard
(
0x10c
)
and
c
:
IsType
(
TYPE_MONSTER
))
or
c
:
IsSetCard
(
0xfe
))
and
c
:
IsFaceup
()
and
c
:
IsAbleToHand
()
end
function
c2930675
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_REMOVED
)
and
chkc
:
IsControler
(
tp
)
and
c2930675
.
thfilter
(
chkc
)
end
if
chk
==
0
then
return
true
end
if
Duel
.
IsExistingTarget
(
c2930675
.
thfilter
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
2930675
,
0
))
then
e
:
SetCategory
(
CATEGORY_TOHAND
)
e
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e
:
SetOperation
(
c2930675
.
activate
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c2930675
.
thfilter
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
1
,
0
,
0
)
else
e
:
SetCategory
(
0
)
e
:
SetProperty
(
0
)
e
:
SetOperation
(
nil
)
end
end
function
c2930675
.
activate
(
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
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
end
end
function
c2930675
.
cfilter
(
c
,
tp
)
return
c
:
IsControler
(
tp
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x10c
)
end
function
c2930675
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
rp
~=
tp
and
re
:
IsActiveType
(
TYPE_TRAP
)
and
re
:
GetHandler
():
GetColumnGroup
():
FilterCount
(
c2930675
.
cfilter
,
nil
,
tp
)
>
0
end
function
c2930675
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
NegateEffect
(
ev
)
end
expansions/script/c29415459.lua
deleted
100644 → 0
View file @
dc03b44a
--黄華の機界騎士
--Mekk-Knight of the Yellow Bloom
--Scripted by Eerie Code
function
c29415459
.
initial_effect
(
c
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCountLimit
(
1
,
29415459
)
e1
:
SetCondition
(
c29415459
.
hspcon
)
e1
:
SetValue
(
c29415459
.
hspval
)
c
:
RegisterEffect
(
e1
)
--destroy
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
29415459
,
0
))
e3
:
SetCategory
(
CATEGORY_DESTROY
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCost
(
c29415459
.
cost
)
e3
:
SetTarget
(
c29415459
.
target
)
e3
:
SetOperation
(
c29415459
.
operation
)
c
:
RegisterEffect
(
e3
)
end
function
c29415459
.
cfilter
(
c
)
return
c
:
GetColumnGroupCount
()
>
0
end
function
c29415459
.
hspcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
zone
=
0
local
lg
=
Duel
.
GetMatchingGroup
(
c29415459
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
for
tc
in
aux
.
Next
(
lg
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetColumnZone
(
LOCATION_MZONE
,
0
,
0
,
tc
:
GetControler
()))
end
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
>
0
end
function
c29415459
.
hspval
(
e
,
c
)
local
tp
=
c
:
GetControler
()
local
zone
=
0
local
lg
=
Duel
.
GetMatchingGroup
(
c29415459
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
for
tc
in
aux
.
Next
(
lg
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetColumnZone
(
LOCATION_MZONE
,
0
,
0
,
tc
:
GetControler
()))
end
return
0
,
zone
end
function
c29415459
.
costfilter
(
c
)
return
c
:
IsSetCard
(
0x10c
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToRemoveAsCost
()
end
function
c29415459
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c29415459
.
costfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c29415459
.
costfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
function
c29415459
.
filter
(
c
,
g
)
return
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
g
:
IsContains
(
c
)
end
function
c29415459
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
cg
=
e
:
GetHandler
():
GetColumnGroup
()
if
chkc
then
return
c29415459
.
filter
(
chkc
,
cg
)
and
chkc
:
IsOnField
()
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c29415459
.
filter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
nil
,
cg
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c29415459
.
filter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
1
,
nil
,
cg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
end
function
c29415459
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
end
end
expansions/script/c313513.lua
deleted
100644 → 0
View file @
dc03b44a
--魔法の歯車
function
c313513
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCost
(
c313513
.
cost
)
e1
:
SetTarget
(
c313513
.
target
)
e1
:
SetOperation
(
c313513
.
activate
)
c
:
RegisterEffect
(
e1
)
end
c313513
.
card_code_list
=
{
83104731
}
function
c313513
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x7
)
and
c
:
IsAbleToGraveAsCost
()
end
function
c313513
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ct
=-
ft
+
1
local
tg
=
Duel
.
GetMatchingGroup
(
c313513
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
if
chk
==
0
then
e
:
SetLabel
(
1
)
return
ct
<=
3
and
tg
:
GetCount
()
>=
3
and
(
ct
<=
0
or
tg
:
IsExists
(
Card
.
IsLocation
,
ct
,
nil
,
LOCATION_MZONE
))
end
local
g
=
nil
if
ct
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
g
=
tg
:
FilterSelect
(
tp
,
Card
.
IsLocation
,
ct
,
ct
,
nil
,
LOCATION_MZONE
)
if
ct
<
3
then
tg
:
Sub
(
g
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g2
=
tg
:
Select
(
tp
,
3
-
ct
,
3
-
ct
,
nil
)
g
:
Merge
(
g2
)
end
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
g
=
tg
:
Select
(
tp
,
3
,
3
,
nil
)
end
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
if
not
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
return
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CANNOT_SUMMON
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
+
EFFECT_FLAG_OATH
)
e1
:
SetReset
(
RESET_SELF_TURN
+
RESET_PHASE
+
PHASE_END
,
2
)
e1
:
SetTargetRange
(
1
,
0
)
Duel
.
RegisterEffect
(
e1
,
tp
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_CANNOT_MSET
)
Duel
.
RegisterEffect
(
e2
,
tp
)
end
function
c313513
.
filter
(
c
,
e
,
tp
)
return
c
:
IsCode
(
83104731
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
end
function
c313513
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
e
:
GetLabel
()
==
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
false
end
e
:
SetLabel
(
0
)
return
Duel
.
IsExistingMatchingCard
(
c313513
.
filter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
)
end
function
c313513
.
dfilter
(
c
)
return
c
:
IsFacedown
()
or
c
:
GetCode
()
~=
83104731
end
function
c313513
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<=
0
then
return
end
local
ct
=
0
if
ft
==
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c313513
.
filter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
ct
=
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
c313513
.
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g1
:
GetCount
()
>
0
and
Duel
.
SpecialSummonStep
(
g1
:
GetFirst
(),
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
then
ct
=
ct
+
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
c313513
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g2
:
GetCount
()
>
0
and
Duel
.
SpecialSummonStep
(
g2
:
GetFirst
(),
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
then
ct
=
ct
+
1
end
Duel
.
SpecialSummonComplete
()
end
if
ct
>
0
then
local
dg
=
Duel
.
GetMatchingGroup
(
c313513
.
dfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
if
dg
:
GetCount
()
>
0
then
Duel
.
BreakEffect
()
Duel
.
Destroy
(
dg
,
REASON_EFFECT
)
end
end
end
expansions/script/c31759689.lua
deleted
100644 → 0
View file @
dc03b44a
--ティンダングル・ハウンド
--Tindangle Hound
function
c31759689
.
initial_effect
(
c
)
--flip
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
31759689
,
0
))
e1
:
SetCategory
(
CATEGORY_POSITION
+
CATEGORY_ATKCHANGE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_FLIP
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetTarget
(
c31759689
.
target
)
e1
:
SetOperation
(
c31759689
.
operation
)
c
:
RegisterEffect
(
e1
)
--atk down
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetTargetRange
(
0
,
LOCATION_MZONE
)
e2
:
SetValue
(
c31759689
.
val
)
c
:
RegisterEffect
(
e2
)
--destroy
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
31759689
,
1
))
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCategory
(
CATEGORY_POSITION
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetCode
(
EVENT_TO_GRAVE
)
e3
:
SetCondition
(
c31759689
.
poscon
)
e3
:
SetTarget
(
c31759689
.
postg
)
e3
:
SetOperation
(
c31759689
.
posop
)
c
:
RegisterEffect
(
e3
)
end
function
c31759689
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsCanTurnSet
()
and
c
:
GetBaseAttack
()
>
0
end
function
c31759689
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c31759689
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c31759689
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
e
:
GetHandler
())
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c31759689
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
e
:
GetHandler
())
end
function
c31759689
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
and
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
atk
=
tc
:
GetBaseAttack
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
atk
)
e1
:
SetReset
(
RESET_EVENT
+
0x1ff0000
)
c
:
RegisterEffect
(
e1
)
Duel
.
ChangePosition
(
tc
,
POS_FACEDOWN_DEFENSE
)
end
end
function
c31759689
.
val
(
e
,
c
)
return
c
:
GetLinkedGroupCount
()
*-
1000
end
function
c31759689
.
poscon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsReason
(
REASON_DESTROY
)
and
c
:
IsReason
(
REASON_BATTLE
+
REASON_EFFECT
)
end
function
c31759689
.
posfilter
(
c
)
return
c
:
IsFacedown
()
and
c
:
IsCanChangePosition
()
end
function
c31759689
.
postg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c31759689
.
posfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c31759689
.
posfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_POSCHANGE
)
Duel
.
SelectTarget
(
tp
,
c31759689
.
posfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
end
function
c31759689
.
posop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
not
tc
:
IsPosition
(
POS_FACEUP_DEFENSE
)
then
Duel
.
ChangePosition
(
tc
,
POS_FACEUP_DEFENSE
)
end
end
expansions/script/c32472237.lua
deleted
100644 → 0
View file @
dc03b44a
--メタルヴァレット・ドラゴン
--Metalrokket Dragon
--Scripted by Eerie Code
function
c32472237
.
initial_effect
(
c
)
--destroy
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
32472237
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
,
32472237
)
e1
:
SetCondition
(
c32472237
.
descon
)
e1
:
SetTarget
(
c32472237
.
destg
)
e1
:
SetOperation
(
c32472237
.
desop
)
c
:
RegisterEffect
(
e1
)
--to grave
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetOperation
(
c32472237
.
regop
)
c
:
RegisterEffect
(
e2
)
end
function
c32472237
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
re
:
IsHasProperty
(
EFFECT_FLAG_CARD_TARGET
)
then
return
false
end
local
g
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TARGET_CARDS
)
if
not
g
or
not
g
:
IsContains
(
c
)
then
return
false
end
return
re
:
IsActiveType
(
TYPE_LINK
)
end
function
c32472237
.
desfilter
(
c
,
g
)
return
g
:
IsContains
(
c
)
end
function
c32472237
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
cg
=
c
:
GetColumnGroup
():
Filter
(
Card
.
IsControler
,
nil
,
1
-
tp
)
if
chk
==
0
then
return
c
:
IsDestructable
()
and
cg
:
GetCount
()
>
0
end
cg
:
AddCard
(
c
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
g
:
GetCount
(),
0
,
0
)
end
function
c32472237
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
cg
=
c
:
GetColumnGroup
():
Filter
(
Card
.
IsControler
,
nil
,
1
-
tp
)
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
c
,
REASON_EFFECT
)
>
0
and
cg
:
GetCount
()
>
0
then
Duel
.
BreakEffect
()
Duel
.
Destroy
(
cg
,
REASON_EFFECT
)
end
end
function
c32472237
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsReason
(
REASON_BATTLE
+
REASON_EFFECT
)
and
c
:
IsReason
(
REASON_DESTROY
)
and
c
:
IsPreviousLocation
(
LOCATION_ONFIELD
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
32472237
,
1
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e1
:
SetCountLimit
(
1
,
32472238
)
e1
:
SetRange
(
LOCATION_GRAVE
)
e1
:
SetTarget
(
c32472237
.
sptg
)
e1
:
SetOperation
(
c32472237
.
spop
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
c
:
RegisterEffect
(
e1
)
end
end
function
c32472237
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x102
)
and
not
c
:
IsCode
(
32472237
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c32472237
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c32472237
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c32472237
.
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
,
c32472237
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
expansions/script/c35146019.lua
deleted
100644 → 0
View file @
dc03b44a
--オルターガイスト・マテリアリゼーション
--Altergeist Materialization
--Scripted by Eerie Code
function
c35146019
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetTarget
(
c35146019
.
target
)
e1
:
SetOperation
(
c35146019
.
operation
)
c
:
RegisterEffect
(
e1
)
--Destroy
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EVENT_LEAVE_FIELD
)
e2
:
SetOperation
(
c35146019
.
desop
)
c
:
RegisterEffect
(
e2
)
--to hand
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetCategory
(
CATEGORY_TOHAND
)
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetCode
(
EVENT_FREE_CHAIN
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetCountLimit
(
1
,
35146019
)
e3
:
SetCost
(
aux
.
bfgcost
)
e3
:
SetTarget
(
c35146019
.
thtg
)
e3
:
SetOperation
(
c35146019
.
thop
)
c
:
RegisterEffect
(
e3
)
end
function
c35146019
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x103
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
end
function
c35146019
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c35146019
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c35146019
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c35146019
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c35146019
.
eqlimit
(
e
,
c
)
return
e
:
GetLabelObject
()
==
c
end
function
c35146019
.
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
)
then
if
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
==
0
then
return
end
Duel
.
Equip
(
tp
,
c
,
tc
)
c
:
CancelToGrave
()
--Add Equip limit
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
e1
:
SetValue
(
c35146019
.
eqlimit
)
e1
:
SetLabelObject
(
tc
)
c
:
RegisterEffect
(
e1
)
end
end
function
c35146019
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
c
:
GetFirstCardTarget
()
if
tc
and
tc
:
IsLocation
(
LOCATION_MZONE
)
then
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
end
end
function
c35146019
.
thfilter
(
c
)
return
c
:
IsType
(
TYPE_TRAP
)
and
c
:
IsSetCard
(
0x103
)
and
c
:
IsAbleToHand
()
end
function
c35146019
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c35146019
.
thfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c35146019
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
e
:
GetHandler
())
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c35146019
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
1
,
0
,
0
)
end
function
c35146019
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
and
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
end
end
expansions/script/c35546670.lua
deleted
100644 → 0
View file @
dc03b44a
--星遺物が刻む傷痕
--Wounds Carved on the World Legacy
--Script by nekrozar
function
c35546670
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
--atk/def
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e2
:
SetRange
(
LOCATION_FZONE
)
e2
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x10c
))
e2
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e2
:
SetValue
(
300
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
c
:
RegisterEffect
(
e3
)
--draw
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
35546670
,
0
))
e4
:
SetCategory
(
CATEGORY_DRAW
)
e4
:
SetType
(
EFFECT_TYPE_IGNITION
)
e4
:
SetRange
(
LOCATION_FZONE
)
e4
:
SetCountLimit
(
1
)
e4
:
SetCost
(
c35546670
.
drcost
)
e4
:
SetTarget
(
c35546670
.
drtg
)
e4
:
SetOperation
(
c35546670
.
drop
)
c
:
RegisterEffect
(
e4
)
--to grave
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
35546670
,
1
))
e5
:
SetCategory
(
CATEGORY_TOGRAVE
)
e5
:
SetType
(
EFFECT_TYPE_IGNITION
)
e5
:
SetRange
(
LOCATION_FZONE
)
e5
:
SetCost
(
c35546670
.
tgcost
)
e5
:
SetTarget
(
c35546670
.
tgtg
)
e5
:
SetOperation
(
c35546670
.
tgop
)
c
:
RegisterEffect
(
e5
)
end
function
c35546670
.
costfilter1
(
c
)
return
((
c
:
IsSetCard
(
0x10c
)
and
c
:
IsType
(
TYPE_MONSTER
))
or
c
:
IsSetCard
(
0xfe
))
and
c
:
IsDiscardable
()
end
function
c35546670
.
drcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c35546670
.
costfilter1
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
Duel
.
DiscardHand
(
tp
,
c35546670
.
costfilter1
,
1
,
1
,
REASON_DISCARD
+
REASON_COST
)
end
function
c35546670
.
drtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
end
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
end
function
c35546670
.
drop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
Duel
.
Draw
(
p
,
d
,
REASON_EFFECT
)
end
function
c35546670
.
costfilter2
(
c
)
return
c
:
IsSetCard
(
0x10c
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
(
c
:
IsLocation
(
LOCATION_GRAVE
)
or
c
:
IsFaceup
())
and
c
:
IsAbleToRemoveAsCost
()
end
function
c35546670
.
tgcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c35546670
.
costfilter2
,
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
0
,
nil
)
if
chk
==
0
then
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
8
end
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
local
rg
=
Group
.
CreateGroup
()
for
i
=
1
,
8
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
rg
:
AddCard
(
sg
:
GetFirst
())
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
end
Duel
.
Remove
(
rg
,
POS_FACEUP
,
REASON_COST
)
end
function
c35546670
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToGrave
,
tp
,
0
,
LOCATION_HAND
+
LOCATION_EXTRA
,
1
,
nil
)
end
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToGrave
,
tp
,
0
,
LOCATION_HAND
+
LOCATION_EXTRA
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g
,
g
:
GetCount
(),
0
,
0
)
end
function
c35546670
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToGrave
,
tp
,
0
,
LOCATION_HAND
+
LOCATION_EXTRA
,
nil
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
end
expansions/script/c36368606.lua
deleted
100644 → 0
View file @
dc03b44a
--サイバネット・リフレッシュ
--Cynet Refresh
--Scripted by Eerie Code
function
c36368606
.
initial_effect
(
c
)
--destroy
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_ATTACK_ANNOUNCE
)
e1
:
SetCondition
(
c36368606
.
condition
)
e1
:
SetTarget
(
c36368606
.
target
)
e1
:
SetOperation
(
c36368606
.
activate
)
c
:
RegisterEffect
(
e1
)
--immune
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCondition
(
c36368606
.
immcon
)
e2
:
SetCost
(
aux
.
bfgcost
)
e2
:
SetTarget
(
c36368606
.
immtg
)
e2
:
SetOperation
(
c36368606
.
immop
)
c
:
RegisterEffect
(
e2
)
end
function
c36368606
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
~=
tp
and
Duel
.
GetAttacker
():
IsRace
(
RACE_CYBERSE
)
end
function
c36368606
.
desfilter
(
c
)
return
c
:
GetSequence
()
<
5
end
function
c36368606
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c36368606
.
desfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
)
if
chk
==
0
then
return
g
:
GetCount
()
>
0
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
g
:
GetCount
(),
0
,
0
)
end
function
c36368606
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c36368606
.
desfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
~=
0
then
local
og
=
Duel
.
GetOperatedGroup
()
og
:
KeepAlive
()
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e1
:
SetCountLimit
(
1
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetLabelObject
(
og
)
e1
:
SetOperation
(
c36368606
.
spop
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
end
function
c36368606
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsRace
(
RACE_CYBERSE
)
and
c
:
IsType
(
TYPE_LINK
)
and
c
:
IsLocation
(
LOCATION_GRAVE
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
,
c
:
GetControler
())
end
function
c36368606
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
e
:
GetLabelObject
():
Filter
(
c36368606
.
spfilter
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
==
0
then
return
end
for
p
=
0
,
1
do
local
tg
=
g
:
Filter
(
Card
.
IsControler
,
nil
,
p
)
local
ft
=
Duel
.
GetLocationCount
(
p
,
LOCATION_MZONE
)
if
tg
:
GetCount
()
>
ft
then
tg
=
tg
:
Select
(
tp
,
ft
,
ft
,
nil
)
end
for
tc
in
aux
.
Next
(
tg
)
do
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
p
,
false
,
false
,
POS_FACEUP
)
end
end
Duel
.
SpecialSummonComplete
()
end
function
c36368606
.
immcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
rp
~=
tp
and
re
:
IsActiveType
(
TYPE_MONSTER
)
end
function
c36368606
.
immfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_CYBERSE
)
and
c
:
IsType
(
TYPE_LINK
)
end
function
c36368606
.
immtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c36368606
.
immfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
end
function
c36368606
.
immop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c36368606
.
immfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
tc
=
g
:
GetFirst
()
while
tc
do
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetCode
(
EFFECT_IMMUNE_EFFECT
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetValue
(
c36368606
.
efilter
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
tc
=
g
:
GetNext
()
end
end
function
c36368606
.
efilter
(
e
,
te
)
return
te
:
GetOwner
()
~=
e
:
GetHandler
()
end
expansions/script/c36668118.lua
deleted
100644 → 0
View file @
dc03b44a
--リボルブート・セクター
--Revolve Boot Sector
--Scripted by Eerie Code
function
c36668118
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
--def up
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
e2
:
SetRange
(
LOCATION_FZONE
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e2
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x102
))
e2
:
SetValue
(
300
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
c
:
RegisterEffect
(
e3
)
--special summon (hand)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
36668118
,
0
))
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e4
:
SetType
(
EFFECT_TYPE_IGNITION
)
e4
:
SetRange
(
LOCATION_FZONE
)
e4
:
SetCountLimit
(
1
,
36668118
)
e4
:
SetTarget
(
c36668118
.
sptg1
)
e4
:
SetOperation
(
c36668118
.
spop1
)
c
:
RegisterEffect
(
e4
)
--special summon (GY)
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
36668118
,
1
))
e5
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e5
:
SetType
(
EFFECT_TYPE_IGNITION
)
e5
:
SetRange
(
LOCATION_FZONE
)
e5
:
SetCountLimit
(
1
,
36668118
)
e5
:
SetCondition
(
c36668118
.
spcon
)
e5
:
SetTarget
(
c36668118
.
sptg2
)
e5
:
SetOperation
(
c36668118
.
spop2
)
c
:
RegisterEffect
(
e5
)
end
function
c36668118
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x102
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
function
c36668118
.
sptg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c36668118
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c36668118
.
spop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetMatchingGroup
(
c36668118
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
,
tp
)
if
ft
<
1
or
g
:
GetCount
()
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
if
ft
>
1
and
g
:
GetCount
()
>
0
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
36668118
,
2
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
sg
:
AddCard
(
sg2
:
GetFirst
())
end
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
function
c36668118
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFieldGroupCount
(
tp
,
0
,
LOCATION_MZONE
)
>
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_MZONE
,
0
)
end
function
c36668118
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c36668118
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_GRAVE
)
end
function
c36668118
.
spop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ct
=
Duel
.
GetFieldGroupCount
(
tp
,
0
,
LOCATION_MZONE
)
-
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_MZONE
,
0
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c36668118
.
spfilter
),
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
ft
<
1
or
ct
<
1
or
g
:
GetCount
()
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
if
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
ft
-
1
ct
=
ct
-
1
while
ft
>
0
and
ct
>
0
and
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
36668118
,
2
))
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
sg
:
AddCard
(
sg2
:
GetFirst
())
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg2
:
GetFirst
():
GetCode
())
ft
=
ft
-
1
ct
=
ct
-
1
end
end
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
expansions/script/c36694815.lua
deleted
100644 → 0
View file @
dc03b44a
--ビットルーパー
--Bitrooper
--Scripted by Eerie Code
function
c36694815
.
initial_effect
(
c
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCountLimit
(
1
,
36694815
)
e1
:
SetCost
(
c36694815
.
spcost
)
e1
:
SetTarget
(
c36694815
.
sptg
)
e1
:
SetOperation
(
c36694815
.
spop
)
c
:
RegisterEffect
(
e1
)
end
function
c36694815
.
cfilter
(
c
)
return
c
:
IsLevelBelow
(
2
)
and
c
:
IsAbleToGraveAsCost
()
end
function
c36694815
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c36694815
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
c
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c36694815
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
c
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
end
function
c36694815
.
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
c36694815
.
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
)
end
end
expansions/script/c37310367.lua
deleted
100644 → 0
View file @
dc03b44a
--ロックアウト・ガードナー
--Lockout Gardna
--Script by nekrozar
function
c37310367
.
initial_effect
(
c
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
37310367
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_ATTACK_ANNOUNCE
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCondition
(
c37310367
.
spcon
)
e1
:
SetTarget
(
c37310367
.
sptg
)
e1
:
SetOperation
(
c37310367
.
spop
)
c
:
RegisterEffect
(
e1
)
--disable
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
37310367
,
1
))
e2
:
SetCategory
(
CATEGORY_DISABLE
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCondition
(
c37310367
.
discon
)
e2
:
SetTarget
(
c37310367
.
distg
)
e2
:
SetOperation
(
c37310367
.
disop
)
c
:
RegisterEffect
(
e2
)
end
function
c37310367
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetAttacker
():
GetControler
()
~=
tp
and
Duel
.
GetAttackTarget
()
==
nil
end
function
c37310367
.
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
,
POS_FACEUP_ATTACK
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
end
function
c37310367
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
~=
0
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetValue
(
1
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
c
:
RegisterEffect
(
e1
)
end
end
function
c37310367
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
rp
==
tp
or
not
re
:
IsHasProperty
(
EFFECT_FLAG_CARD_TARGET
)
then
return
false
end
local
g
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TARGET_CARDS
)
if
not
g
or
g
:
GetCount
()
~=
1
then
return
false
end
local
tc
=
g
:
GetFirst
()
e
:
SetLabelObject
(
tc
)
return
re
:
IsActiveType
(
TYPE_MONSTER
)
and
re
:
GetHandler
():
IsLocation
(
LOCATION_MZONE
)
and
tc
:
IsControler
(
tp
)
and
tc
:
IsFaceup
()
and
tc
:
IsRace
(
RACE_CYBERSE
)
and
tc
:
IsLocation
(
LOCATION_MZONE
)
end
function
c37310367
.
distg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
e
:
GetLabelObject
()
if
chk
==
0
then
return
true
end
local
g
=
Group
.
FromCards
(
tc
,
re
:
GetHandler
())
Duel
.
SetTargetCard
(
g
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DISABLE
,
g
,
2
,
0
,
0
)
end
function
c37310367
.
disfilter
(
c
,
e
)
return
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
end
function
c37310367
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
):
Filter
(
c37310367
.
disfilter
,
nil
,
e
)
local
tc
=
g
:
GetFirst
()
while
tc
do
Duel
.
NegateRelatedChain
(
tc
,
RESET_TURN_SET
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_DISABLE_EFFECT
)
e2
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e2
)
tc
=
g
:
GetNext
()
end
end
expansions/script/c37480144.lua
deleted
100644 → 0
View file @
dc03b44a
--アスポート
--Asport
--Scripted by Eerie Code
function
c37480144
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetTarget
(
c37480144
.
target
)
e1
:
SetOperation
(
c37480144
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c37480144
.
filter
(
c
)
return
c
:
GetSequence
()
<
5
end
function
c37480144
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c37480144
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c37480144
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
37480144
,
0
))
Duel
.
SelectTarget
(
tp
,
c37480144
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
end
function
c37480144
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
571
)
local
s
=
Duel
.
SelectDisableField
(
tp
,
1
,
LOCATION_MZONE
,
0
,
0
)
local
nseq
=
math.log
(
s
,
2
)
Duel
.
MoveSequence
(
tc
,
nseq
)
end
expansions/script/c37880706.lua
deleted
100644 → 0
View file @
dc03b44a
--ドリトル・キメラ
--Do-Little Chimera
--Scripted by Eerie Code
function
c37880706
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsAttribute
,
ATTRIBUTE_FIRE
),
2
,
2
)
c
:
EnableReviveLimit
()
--atk/def
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e1
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsAttribute
,
ATTRIBUTE_FIRE
))
e1
:
SetValue
(
500
)
c
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e1
:
Clone
()
e3
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsAttribute
,
ATTRIBUTE_WATER
))
e3
:
SetValue
(
-
400
)
c
:
RegisterEffect
(
e3
)
local
e4
=
e3
:
Clone
()
e4
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
c
:
RegisterEffect
(
e4
)
--tohand
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
37880706
,
0
))
e5
:
SetCategory
(
CATEGORY_TOHAND
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e5
:
SetCode
(
EVENT_DESTROYED
)
e5
:
SetCountLimit
(
1
,
37880706
)
e5
:
SetCondition
(
c37880706
.
thcon
)
e5
:
SetTarget
(
c37880706
.
thtg
)
e5
:
SetOperation
(
c37880706
.
thop
)
c
:
RegisterEffect
(
e5
)
end
function
c37880706
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
bit
.
band
(
r
,
REASON_EFFECT
+
REASON_BATTLE
)
~=
0
end
function
c37880706
.
thfilter
(
c
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAttribute
(
ATTRIBUTE_FIRE
)
and
c
:
IsAbleToHand
()
end
function
c37880706
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c37880706
.
thfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c37880706
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c37880706
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
1
,
0
,
0
)
end
function
c37880706
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
end
end
expansions/script/c38203732.lua
deleted
100644 → 0
View file @
dc03b44a
--ペンデュラム・パラドックス
--Pendulum Paradox
--Scripted by Eerie Code
function
c38203732
.
initial_effect
(
c
)
--activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_TOHAND
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCountLimit
(
1
,
38203732
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetTarget
(
c38203732
.
target
)
e1
:
SetOperation
(
c38203732
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c38203732
.
filter1
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsAbleToHand
()
and
Duel
.
IsExistingMatchingCard
(
c38203732
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
c
,
c
:
GetLeftScale
(),
c
:
GetCode
())
end
function
c38203732
.
filter2
(
c
,
sc
,
cd
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsAbleToHand
()
and
c
:
GetLeftScale
()
==
sc
and
not
c
:
IsCode
(
cd
)
end
function
c38203732
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c38203732
.
filter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
2
,
tp
,
LOCATION_EXTRA
)
end
function
c38203732
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
tc1
=
Duel
.
SelectMatchingCard
(
tp
,
c38203732
.
filter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
tp
):
GetFirst
()
if
not
tc1
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
tc2
=
Duel
.
SelectMatchingCard
(
tp
,
c38203732
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
tc1
,
tc1
:
GetLeftScale
(),
tc1
:
GetCode
()):
GetFirst
()
Duel
.
SendtoHand
(
Group
.
FromCards
(
tc1
,
tc2
),
nil
,
REASON_EFFECT
)
end
expansions/script/c38325384.lua
deleted
100644 → 0
View file @
dc03b44a
--魔導加速
--Magical Boost
--Scripted by Eerie Code
function
c38325384
.
initial_effect
(
c
)
--counter
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_COUNTER
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCountLimit
(
1
,
38325384
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetCost
(
c38325384
.
cost
)
e1
:
SetTarget
(
c38325384
.
target
)
e1
:
SetOperation
(
c38325384
.
activate
)
c
:
RegisterEffect
(
e1
)
--special summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_COUNTER
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_DESTROYED
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetCondition
(
c38325384
.
spcon
)
e2
:
SetTarget
(
c38325384
.
sptg
)
e2
:
SetOperation
(
c38325384
.
spop
)
c
:
RegisterEffect
(
e2
)
end
function
c38325384
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanDiscardDeckAsCost
(
tp
,
2
)
end
Duel
.
DiscardDeck
(
tp
,
2
,
REASON_COST
)
end
function
c38325384
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsCanAddCounter
(
0x1
,
1
)
end
function
c38325384
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsOnField
()
and
c38325384
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c38325384
.
filter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
Duel
.
SelectTarget
(
tp
,
c38325384
.
filter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
nil
,
1
,
0
,
0x1
)
end
function
c38325384
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
and
tc
:
IsFaceup
()
and
tc
:
IsRelateToEffect
(
e
)
then
if
tc
:
IsCanAddCounter
(
0x1
,
2
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
38325384
,
0
))
then
tc
:
AddCounter
(
0x1
,
2
)
else
tc
:
AddCounter
(
0x1
,
1
)
end
end
end
function
c38325384
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
rp
~=
tp
and
c
:
IsReason
(
REASON_EFFECT
)
and
c
:
GetPreviousControler
()
==
tp
end
function
c38325384
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsCanAddCounter
(
0x1
,
1
,
false
,
LOCATION_MZONE
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c38325384
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c38325384
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c38325384
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
c38325384
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
):
GetFirst
()
if
tc
and
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
if
tc
:
IsCanAddCounter
(
0x1
,
2
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
38325384
,
0
))
then
tc
:
AddCounter
(
0x1
,
2
)
else
tc
:
AddCounter
(
0x1
,
1
)
end
end
end
expansions/script/c38502358.lua
deleted
100644 → 0
View file @
dc03b44a
--星痕の機界騎士
--Mekk-Knight of the World Remains
--Scripted by Eerie Code
function
c38502358
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsSetCard
,
0x10c
),
2
)
--direct attack
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_DIRECT_ATTACK
)
e1
:
SetCondition
(
c38502358
.
dircon
)
c
:
RegisterEffect
(
e1
)
--cannot be target/effect indestructable
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCondition
(
c38502358
.
indcon
)
e2
:
SetValue
(
1
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EFFECT_CANNOT_BE_EFFECT_TARGET
)
e3
:
SetValue
(
aux
.
tgoval
)
c
:
RegisterEffect
(
e3
)
--special summon
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
38502358
,
0
))
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e4
:
SetType
(
EFFECT_TYPE_IGNITION
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCountLimit
(
1
,
38502358
)
e4
:
SetCost
(
c38502358
.
spcost
)
e4
:
SetTarget
(
c38502358
.
sptg
)
e4
:
SetOperation
(
c38502358
.
spop
)
c
:
RegisterEffect
(
e4
)
end
function
c38502358
.
dircon
(
e
)
return
e
:
GetHandler
():
GetColumnGroupCount
()
==
0
end
function
c38502358
.
indcon
(
e
)
local
c
=
e
:
GetHandler
()
return
c
:
GetSequence
()
>
4
and
c
:
GetLinkedGroupCount
()
==
0
end
function
c38502358
.
spcfilter
(
c
,
hc
)
return
c
:
GetColumnGroup
():
IsContains
(
hc
)
and
c
:
IsAbleToGraveAsCost
()
end
function
c38502358
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x10c
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
function
c38502358
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
loc
=
LOCATION_ONFIELD
if
ft
<=
0
then
loc
=
LOCATION_MZONE
end
if
chk
==
0
then
return
ft
>-
1
and
Duel
.
IsExistingMatchingCard
(
c38502358
.
spcfilter
,
tp
,
loc
,
0
,
1
,
c
,
c
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c38502358
.
spcfilter
,
tp
,
loc
,
0
,
1
,
1
,
c
,
c
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
end
function
c38502358
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c38502358
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c38502358
.
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
,
c38502358
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
end
expansions/script/c40669071.lua
deleted
100644 → 0
View file @
dc03b44a
--エクスコード・トーカー
--Excode Talker
--Scripted by Eerie Code
function
c40669071
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsRace
,
RACE_CYBERSE
),
2
)
--lock zones
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
40669071
,
0
))
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCountLimit
(
1
,
40669071
)
e1
:
SetCondition
(
c40669071
.
lzcon
)
e1
:
SetTarget
(
c40669071
.
lztg
)
e1
:
SetOperation
(
c40669071
.
lzop
)
c
:
RegisterEffect
(
e1
)
--atk up/indestructable
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e2
:
SetTarget
(
c40669071
.
tgtg
)
e2
:
SetValue
(
1
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e3
:
SetValue
(
500
)
c
:
RegisterEffect
(
e3
)
end
function
c40669071
.
lzcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
end
function
c40669071
.
lzfilter
(
c
)
return
c
:
GetSequence
()
>
4
end
function
c40669071
.
lztg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ct
=
Duel
.
GetMatchingGroupCount
(
c40669071
.
lzfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>=
ct
end
local
dis
=
Duel
.
SelectDisableField
(
tp
,
ct
,
LOCATION_MZONE
,
LOCATION_MZONE
,
0
)
e
:
SetLabel
(
dis
)
end
function
c40669071
.
lzop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EFFECT_DISABLE_FIELD
)
e1
:
SetOperation
(
c40669071
.
disop
)
e1
:
SetReset
(
RESET_EVENT
+
0x1ff0000
)
e1
:
SetLabel
(
e
:
GetLabel
())
e
:
GetHandler
():
RegisterEffect
(
e1
)
end
function
c40669071
.
disop
(
e
,
tp
)
return
e
:
GetLabel
()
end
function
c40669071
.
tgtg
(
e
,
c
)
return
e
:
GetHandler
():
GetLinkedGroup
():
IsContains
(
c
)
end
expansions/script/c41782653.lua
deleted
100644 → 0
View file @
dc03b44a
--オーバーテクス・ゴアトルス
--Overtex Coatls
--Script by nekrozar
function
c41782653
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--cannot special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
c
:
RegisterEffect
(
e1
)
--special summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e2
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e2
:
SetRange
(
LOCATION_HAND
)
e2
:
SetCondition
(
c41782653
.
sprcon
)
e2
:
SetOperation
(
c41782653
.
sprop
)
c
:
RegisterEffect
(
e2
)
--negate
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
41782653
,
0
))
e3
:
SetCategory
(
CATEGORY_NEGATE
+
CATEGORY_DESTROY
)
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
)
e3
:
SetCode
(
EVENT_CHAINING
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCondition
(
c41782653
.
negcon
)
e3
:
SetTarget
(
c41782653
.
negtg
)
e3
:
SetOperation
(
c41782653
.
negop
)
c
:
RegisterEffect
(
e3
)
--tohand
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
41782653
,
1
))
e4
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e4
:
SetCode
(
EVENT_TO_GRAVE
)
e4
:
SetCountLimit
(
1
,
41782653
)
e4
:
SetCondition
(
c41782653
.
thcon
)
e4
:
SetTarget
(
c41782653
.
thtg
)
e4
:
SetOperation
(
c41782653
.
thop
)
c
:
RegisterEffect
(
e4
)
end
function
c41782653
.
sprfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_DINOSAUR
)
and
c
:
IsAbleToDeckOrExtraAsCost
()
end
function
c41782653
.
sprcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c41782653
.
sprfilter
,
tp
,
LOCATION_REMOVED
,
0
,
5
,
nil
)
end
function
c41782653
.
sprop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c41782653
.
sprfilter
,
tp
,
LOCATION_REMOVED
,
0
,
5
,
5
,
nil
)
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_COST
)
end
function
c41782653
.
negcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
e
:
GetHandler
():
IsStatus
(
STATUS_BATTLE_DESTROYED
)
and
ep
~=
tp
and
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
Duel
.
IsChainNegatable
(
ev
)
end
function
c41782653
.
desfilter
(
c
)
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
c
:
IsFaceup
())
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsRace
(
RACE_DINOSAUR
)
end
function
c41782653
.
negtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c41782653
.
desfilter
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
nil
,
1
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_NEGATE
,
eg
,
1
,
0
,
0
)
if
re
:
GetHandler
():
IsDestructable
()
and
re
:
GetHandler
():
IsRelateToEffect
(
re
)
then
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
eg
,
1
,
0
,
0
)
end
end
function
c41782653
.
negop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
c41782653
.
desfilter
,
tp
,
LOCATION_HAND
+
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
if
g1
:
GetCount
()
>
0
and
Duel
.
Destroy
(
g1
,
REASON_EFFECT
)
~=
0
then
if
Duel
.
NegateActivation
(
ev
)
and
re
:
GetHandler
():
IsRelateToEffect
(
re
)
then
Duel
.
Destroy
(
eg
,
REASON_EFFECT
)
end
end
end
function
c41782653
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsReason
(
REASON_EFFECT
)
end
function
c41782653
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x10e
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToHand
()
end
function
c41782653
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c41782653
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c41782653
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c41782653
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
expansions/script/c49725936.lua
deleted
100644 → 0
View file @
dc03b44a
--スリーバーストショット・ドラゴン
--Three Burst Blast Dragon
--Scripted by Larry126
function
c49725936
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
NOT
(
aux
.
FilterBoolFunction
(
Card
.
IsType
,
TYPE_TOKEN
)),
2
)
c
:
EnableReviveLimit
()
--Negate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
49725936
,
0
))
e1
:
SetCategory
(
CATEGORY_NEGATE
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
c49725936
.
negcon
)
e1
:
SetTarget
(
c49725936
.
negtg
)
e1
:
SetOperation
(
c49725936
.
negop
)
c
:
RegisterEffect
(
e1
)
--pierce
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_PIERCE
)
c
:
RegisterEffect
(
e2
)
--special summon
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e0
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e0
:
SetOperation
(
c49725936
.
regop
)
c
:
RegisterEffect
(
e0
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
49725936
,
1
))
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
,
49725936
)
e3
:
SetCondition
(
c49725936
.
spcon
)
e3
:
SetCost
(
c49725936
.
spcost
)
e3
:
SetTarget
(
c49725936
.
sptg
)
e3
:
SetOperation
(
c49725936
.
spop
)
c
:
RegisterEffect
(
e3
)
end
function
c49725936
.
negcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ph
=
Duel
.
GetCurrentPhase
()
return
(
ph
==
PHASE_DAMAGE
or
ph
==
PHASE_DAMAGE_CAL
)
and
not
e
:
GetHandler
():
IsStatus
(
STATUS_BATTLE_DESTROYED
)
and
(
re
:
IsActiveType
(
TYPE_MONSTER
)
or
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
))
and
Duel
.
IsChainNegatable
(
ev
)
end
function
c49725936
.
negtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_NEGATE
,
eg
,
1
,
0
,
0
)
end
function
c49725936
.
negop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
NegateActivation
(
ev
)
end
function
c49725936
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
GetHandler
():
RegisterFlagEffect
(
49725936
,
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
function
c49725936
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetFlagEffect
(
49725936
)
==
0
end
function
c49725936
.
spcost
(
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
c49725936
.
spfilter1
(
c
,
e
,
tp
)
return
c
:
IsType
(
TYPE_LINK
)
and
c
:
IsLinkBelow
(
2
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c49725936
.
spfilter2
(
c
,
e
,
tp
)
return
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsLevelBelow
(
4
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c49725936
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c49725936
.
spfilter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
(
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
or
e
:
GetHandler
():
GetSequence
()
<
5
)
and
Duel
.
IsExistingTarget
(
c49725936
.
spfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
e
:
GetHandler
(),
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c49725936
.
spfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
end
function
c49725936
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
c49725936
.
spfilter2
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
49725936
,
2
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
expansions/script/c49847524.lua
deleted
100644 → 0
View file @
dc03b44a
--フレイム・アドミニスター
--Flame Administrator
--Scripted by Eerie Code
function
c49847524
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
SetUniqueOnField
(
1
,
0
,
49847524
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsRace
,
RACE_CYBERSE
),
2
,
2
)
--atk up
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e1
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsType
,
TYPE_LINK
))
e1
:
SetValue
(
800
)
c
:
RegisterEffect
(
e1
)
end
expansions/script/c5087128.lua
deleted
100644 → 0
View file @
dc03b44a
--シェルヴァレット・ドラゴン
--Shellrokket Dragon
--Scripted by Eerie Code
function
c5087128
.
initial_effect
(
c
)
--destroy
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
5087128
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
,
5087128
)
e1
:
SetCondition
(
c5087128
.
descon
)
e1
:
SetTarget
(
c5087128
.
destg
)
e1
:
SetOperation
(
c5087128
.
desop
)
c
:
RegisterEffect
(
e1
)
--to grave
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetOperation
(
c5087128
.
regop
)
c
:
RegisterEffect
(
e2
)
end
function
c5087128
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
re
:
IsHasProperty
(
EFFECT_FLAG_CARD_TARGET
)
then
return
false
end
local
g
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TARGET_CARDS
)
if
not
g
or
not
g
:
IsContains
(
c
)
then
return
false
end
return
re
:
IsActiveType
(
TYPE_LINK
)
end
function
c5087128
.
desfilter
(
c
,
g
)
return
g
:
IsContains
(
c
)
end
function
c5087128
.
desfilter2
(
c
,
s
)
local
seq
=
c
:
GetSequence
()
return
seq
<
5
and
math.abs
(
seq
-
s
)
==
1
end
function
c5087128
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
GetMatchingGroup
(
c5087128
.
desfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
,
c
:
GetColumnGroup
())
if
chk
==
0
then
return
c
:
IsDestructable
()
and
g
:
GetCount
()
>
0
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
c
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g
,
1
,
0
,
0
)
end
function
c5087128
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
lg
=
c
:
GetColumnGroup
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
c
,
REASON_EFFECT
)
>
0
then
local
g
=
Duel
.
GetMatchingGroup
(
c5087128
.
desfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
,
lg
)
if
g
:
GetCount
()
==
0
then
return
end
Duel
.
BreakEffect
()
local
tc
=
nil
if
g
:
GetCount
()
==
1
then
tc
=
g
:
GetFirst
()
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
tc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
end
local
seq
=
tc
:
GetSequence
()
local
dg
=
Group
.
CreateGroup
()
if
seq
<
5
then
dg
=
Duel
.
GetMatchingGroup
(
c5087128
.
desfilter2
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
,
seq
)
end
if
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
and
dg
:
GetCount
()
>
0
then
Duel
.
Destroy
(
dg
,
REASON_EFFECT
)
end
end
end
function
c5087128
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsReason
(
REASON_BATTLE
+
REASON_EFFECT
)
and
c
:
IsReason
(
REASON_DESTROY
)
and
c
:
IsPreviousLocation
(
LOCATION_ONFIELD
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
5087128
,
1
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e1
:
SetCountLimit
(
1
,
5087129
)
e1
:
SetRange
(
LOCATION_GRAVE
)
e1
:
SetTarget
(
c5087128
.
sptg
)
e1
:
SetOperation
(
c5087128
.
spop
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
c
:
RegisterEffect
(
e1
)
end
end
function
c5087128
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x102
)
and
not
c
:
IsCode
(
5087128
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c5087128
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c5087128
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c5087128
.
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
,
c5087128
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
expansions/script/c53620899.lua
deleted
100644 → 0
View file @
dc03b44a
--雀姉妹
--Janshimatsu
--Script by nekrozar
function
c53620899
.
initial_effect
(
c
)
--flip
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
53620899
,
0
))
e1
:
SetCategory
(
CATEGORY_DRAW
+
CATEGORY_HANDES
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_FLIP
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetTarget
(
c53620899
.
target
)
e1
:
SetOperation
(
c53620899
.
operation
)
c
:
RegisterEffect
(
e1
)
--turn set
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
53620899
,
1
))
e2
:
SetCategory
(
CATEGORY_POSITION
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetTarget
(
c53620899
.
postg
)
e2
:
SetOperation
(
c53620899
.
posop
)
c
:
RegisterEffect
(
e2
)
end
function
c53620899
.
tgfilter
(
c
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0xed
)
and
c
:
IsDiscardable
()
end
function
c53620899
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_HANDES
,
nil
,
0
,
tp
,
1
)
end
function
c53620899
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
~=
0
then
Duel
.
ShuffleHand
(
tp
)
Duel
.
BreakEffect
()
Duel
.
DiscardHand
(
tp
,
nil
,
1
,
1
,
REASON_EFFECT
+
REASON_DISCARD
)
end
end
function
c53620899
.
postg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsCanTurnSet
()
and
c
:
GetFlagEffect
(
53620899
)
==
0
end
c
:
RegisterFlagEffect
(
53620899
,
RESET_EVENT
+
0x1fc0000
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_POSITION
,
c
,
1
,
0
,
0
)
end
function
c53620899
.
posop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
Duel
.
ChangePosition
(
c
,
POS_FACEDOWN_DEFENSE
)
end
end
expansions/script/c53842431.lua
deleted
100644 → 0
View file @
dc03b44a
--魔導獣 マスターケルベロス
--Mythical Beast Master Cerberus
--Scripted by Eerie Code
function
c53842431
.
initial_effect
(
c
)
aux
.
EnablePendulumAttribute
(
c
)
c
:
EnableCounterPermit
(
0x1
)
--destroy & search
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
53842431
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetCountLimit
(
1
,
53842431
)
e1
:
SetCondition
(
c53842431
.
thcon
)
e1
:
SetTarget
(
c53842431
.
thtg
)
e1
:
SetOperation
(
c53842431
.
thop
)
c
:
RegisterEffect
(
e1
)
--add counter
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetOperation
(
aux
.
chainreg
)
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetOperation
(
c53842431
.
acop
)
c
:
RegisterEffect
(
e3
)
--cannot be destroyed
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
)
e4
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e4
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCondition
(
c53842431
.
incon
)
e4
:
SetValue
(
1
)
c
:
RegisterEffect
(
e4
)
--remove
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
53842431
,
1
))
e5
:
SetCategory
(
CATEGORY_ATKCHANGE
+
CATEGORY_REMOVE
)
e5
:
SetType
(
EFFECT_TYPE_IGNITION
)
e5
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetCountLimit
(
1
)
e5
:
SetCost
(
c53842431
.
rmcost
)
e5
:
SetTarget
(
c53842431
.
rmtg
)
e5
:
SetOperation
(
c53842431
.
rmop
)
c
:
RegisterEffect
(
e5
)
end
function
c53842431
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
0
)
or
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
1
)
end
function
c53842431
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x10d
)
and
c
:
IsLevelBelow
(
7
)
and
c
:
IsType
(
TYPE_EFFECT
)
and
c
:
IsAbleToHand
()
end
function
c53842431
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsDestructable
()
and
Duel
.
IsExistingMatchingCard
(
c53842431
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
c
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c53842431
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
c
,
REASON_EFFECT
)
~=
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c53842431
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
end
function
c53842431
.
acop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
re
:
IsActiveType
(
TYPE_SPELL
)
and
e
:
GetHandler
():
GetFlagEffect
(
1
)
>
0
then
e
:
GetHandler
():
AddCounter
(
0x1
,
2
)
end
end
function
c53842431
.
incon
(
e
)
return
Duel
.
GetCounter
(
e
:
GetHandlerPlayer
(),
1
,
0
,
0x1
)
>=
4
end
function
c53842431
.
rmcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsCanRemoveCounter
(
tp
,
1
,
0
,
0x1
,
4
,
REASON_COST
)
end
Duel
.
RemoveCounter
(
tp
,
1
,
0
,
0x1
,
4
,
REASON_COST
)
end
function
c53842431
.
rmfilter
(
c
)
return
c
:
IsAbleToRemove
()
end
function
c53842431
.
rmtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
1
-
tp
)
and
c53842431
.
rmfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c53842431
.
rmfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c53842431
.
rmfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
1
,
0
,
0
)
end
function
c53842431
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
Remove
(
tc
,
POS_FACEUP
,
REASON_EFFECT
)
~=
0
and
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
then
local
atk
=
tc
:
GetBaseAttack
()
if
atk
<
0
then
atk
=
0
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
atk
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
+
RESET_OPPO_TURN
)
c
:
RegisterEffect
(
e1
)
end
end
expansions/script/c54965929.lua
deleted
100644 → 0
View file @
dc03b44a
--魔導獣 メデューサ
--Mythical Beast Medusa
--Script by nekrozar
function
c54965929
.
initial_effect
(
c
)
aux
.
EnablePendulumAttribute
(
c
)
c
:
EnableCounterPermit
(
0x1
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
54965929
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetCountLimit
(
1
,
54965929
)
e1
:
SetCondition
(
c54965929
.
spcon
)
e1
:
SetTarget
(
c54965929
.
sptg
)
e1
:
SetOperation
(
c54965929
.
spop
)
c
:
RegisterEffect
(
e1
)
--add counter
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetOperation
(
aux
.
chainreg
)
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetOperation
(
c54965929
.
acop
)
c
:
RegisterEffect
(
e3
)
--to hand
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
54965929
,
1
))
e4
:
SetCategory
(
CATEGORY_ATKCHANGE
+
CATEGORY_DEFCHANGE
)
e4
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e4
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
+
EFFECT_FLAG_DAMAGE_STEP
)
e4
:
SetCode
(
EVENT_FREE_CHAIN
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCountLimit
(
1
)
e4
:
SetHintTiming
(
TIMING_DAMAGE_STEP
)
e4
:
SetCondition
(
c54965929
.
atkcon
)
e4
:
SetCost
(
c54965929
.
atkcost
)
e4
:
SetTarget
(
c54965929
.
atktg
)
e4
:
SetOperation
(
c54965929
.
atkop
)
c
:
RegisterEffect
(
e4
)
end
function
c54965929
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
0
)
or
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
1
)
end
function
c54965929
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsCanAddCounter
(
0x1
,
1
,
false
,
LOCATION_MZONE
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c54965929
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
c
=
e
:
GetHandler
()
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c54965929
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
c
:
IsDestructable
()
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c54965929
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c54965929
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
c
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
end
function
c54965929
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
c
,
REASON_EFFECT
)
~=
0
then
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
and
tc
:
IsCanAddCounter
(
0x1
,
1
)
then
tc
:
AddCounter
(
0x1
,
1
)
end
end
end
function
c54965929
.
acop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
re
:
IsActiveType
(
TYPE_SPELL
)
and
e
:
GetHandler
():
GetFlagEffect
(
1
)
>
0
then
e
:
GetHandler
():
AddCounter
(
0x1
,
1
)
end
end
function
c54965929
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetCurrentPhase
()
>=
PHASE_BATTLE_START
and
Duel
.
GetCurrentPhase
()
<=
PHASE_BATTLE
and
(
Duel
.
GetCurrentPhase
()
~=
PHASE_DAMAGE
or
not
Duel
.
IsDamageCalculated
())
end
function
c54965929
.
atkcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsCanRemoveCounter
(
tp
,
1
,
0
,
0x1
,
2
,
REASON_COST
)
end
Duel
.
RemoveCounter
(
tp
,
1
,
0
,
0x1
,
2
,
REASON_COST
)
end
function
c54965929
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsFaceup
()
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
Duel
.
SelectTarget
(
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
end
function
c54965929
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SET_ATTACK_FINAL
)
e1
:
SetValue
(
math.ceil
(
tc
:
GetAttack
()
/
2
))
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_SET_DEFENSE_FINAL
)
e2
:
SetValue
(
math.ceil
(
tc
:
GetDefense
()
/
2
))
e2
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e2
)
end
end
expansions/script/c55573346.lua
deleted
100644 → 0
View file @
dc03b44a
--誤爆
--Script by nekrozar
function
c55573346
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_DESTROY
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetHintTiming
(
0
,
0x1e0
)
e1
:
SetTarget
(
c55573346
.
target
)
e1
:
SetOperation
(
c55573346
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c55573346
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsOnField
()
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
nil
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectTarget
(
tp
,
nil
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
end
function
c55573346
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
end
end
expansions/script/c55787576.lua
deleted
100644 → 0
View file @
dc03b44a
--星遺物-『星盾』
--World Legacy - "World Shield"
--Scripted by Eerie Code
function
c55787576
.
initial_effect
(
c
)
--immune
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_IMMUNE_EFFECT
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetValue
(
c55787576
.
immval
)
c
:
RegisterEffect
(
e1
)
--cannot be target/indestructable
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_CANNOT_BE_EFFECT_TARGET
)
e2
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
+
EFFECT_FLAG_SET_AVAILABLE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetTargetRange
(
LOCATION_ONFIELD
,
0
)
e2
:
SetTarget
(
c55787576
.
tgtg
)
e2
:
SetValue
(
aux
.
tgoval
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e3
:
SetValue
(
c55787576
.
indval
)
c
:
RegisterEffect
(
e3
)
--spsummon
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
55787576
,
0
))
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetCode
(
EVENT_PHASE
+
PHASE_STANDBY
)
e4
:
SetRange
(
LOCATION_GRAVE
)
e4
:
SetCountLimit
(
1
,
55787576
)
e4
:
SetCost
(
c55787576
.
spcost
)
e4
:
SetTarget
(
c55787576
.
sptg
)
e4
:
SetOperation
(
c55787576
.
spop
)
c
:
RegisterEffect
(
e4
)
end
function
c55787576
.
immval
(
e
,
te
)
local
tc
=
te
:
GetHandler
()
return
te
:
GetOwner
()
~=
e
:
GetHandler
()
and
te
:
IsActiveType
(
TYPE_MONSTER
)
and
te
:
IsActivated
()
and
tc
:
IsSummonType
(
SUMMON_TYPE_SPECIAL
)
and
tc
:
GetSummonLocation
()
==
LOCATION_EXTRA
end
function
c55787576
.
tgtg
(
e
,
c
)
return
e
:
GetHandler
()
==
c
or
(
c
:
IsSetCard
(
0xfe
)
and
e
:
GetHandler
():
GetColumnGroup
():
IsContains
(
c
))
end
function
c55787576
.
indval
(
e
,
re
,
rp
)
return
rp
~=
e
:
GetHandlerPlayer
()
end
function
c55787576
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckLPCost
(
tp
,
1000
)
end
Duel
.
PayLPCost
(
tp
,
1000
)
end
function
c55787576
.
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
c55787576
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c55787576
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c55787576
.
spfilter
),
1
-
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
Duel
.
GetLocationCount
(
1
-
tp
,
LOCATION_MZONE
)
>
0
and
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
1
-
tp
,
aux
.
Stringid
(
55787576
,
1
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
1
-
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
1
-
tp
,
1
-
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
expansions/script/c56809158.lua
deleted
100644 → 0
View file @
dc03b44a
--紅蓮の機界騎士
--Mekk-Knight of the Crimson Lotus
--Scripted by Eerie Code
function
c56809158
.
initial_effect
(
c
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCountLimit
(
1
,
56809158
)
e1
:
SetCondition
(
c56809158
.
hspcon
)
e1
:
SetValue
(
c56809158
.
hspval
)
c
:
RegisterEffect
(
e1
)
--destroy
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
56809158
,
0
))
e3
:
SetCategory
(
CATEGORY_DESTROY
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCost
(
c56809158
.
cost
)
e3
:
SetTarget
(
c56809158
.
target
)
e3
:
SetOperation
(
c56809158
.
operation
)
c
:
RegisterEffect
(
e3
)
end
function
c56809158
.
cfilter
(
c
)
return
c
:
GetColumnGroupCount
()
>
0
end
function
c56809158
.
hspcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
zone
=
0
local
lg
=
Duel
.
GetMatchingGroup
(
c56809158
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
for
tc
in
aux
.
Next
(
lg
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetColumnZone
(
LOCATION_MZONE
,
0
,
0
,
tc
:
GetControler
()))
end
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
>
0
end
function
c56809158
.
hspval
(
e
,
c
)
local
tp
=
c
:
GetControler
()
local
zone
=
0
local
lg
=
Duel
.
GetMatchingGroup
(
c56809158
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
for
tc
in
aux
.
Next
(
lg
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetColumnZone
(
LOCATION_MZONE
,
0
,
0
,
tc
:
GetControler
()))
end
return
0
,
zone
end
function
c56809158
.
costfilter
(
c
)
return
c
:
IsSetCard
(
0x10c
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToRemoveAsCost
()
end
function
c56809158
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c56809158
.
costfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c56809158
.
costfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
function
c56809158
.
filter
(
c
,
g
)
return
c
:
IsFaceup
()
and
g
:
IsContains
(
c
)
end
function
c56809158
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
c
=
e
:
GetHandler
()
local
cg
=
c
:
GetColumnGroup
()
if
chkc
then
return
c56809158
.
filter
(
chkc
,
cg
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c56809158
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
,
cg
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c56809158
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
,
cg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
end
function
c56809158
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
end
end
expansions/script/c61818176.lua
deleted
100644 → 0
View file @
dc03b44a
--ゴーストリック・リフォーム
--Ghostrick Reform
--Script by nekrozar
function
c61818176
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_TOHAND
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetTarget
(
c61818176
.
target
)
e1
:
SetOperation
(
c61818176
.
activate
)
c
:
RegisterEffect
(
e1
)
--special summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
61818176
,
0
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCountLimit
(
1
,
61818176
)
e2
:
SetCost
(
aux
.
bfgcost
)
e2
:
SetTarget
(
c61818176
.
sptg
)
e2
:
SetOperation
(
c61818176
.
spop
)
c
:
RegisterEffect
(
e2
)
end
function
c61818176
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
tc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
if
chkc
then
return
false
end
if
chk
==
0
then
return
tc
and
tc
:
IsFaceup
()
and
tc
:
IsSetCard
(
0x8d
)
and
tc
:
IsAbleToHand
()
and
tc
:
IsCanBeEffectTarget
(
e
)
end
Duel
.
SetTargetCard
(
tc
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
tc
,
1
,
0
,
0
)
end
function
c61818176
.
actfilter
(
c
,
tp
)
return
c
:
IsType
(
TYPE_FIELD
)
and
c
:
GetActivateEffect
():
IsActivatable
(
tp
)
end
function
c61818176
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
~=
0
and
tc
:
IsLocation
(
LOCATION_HAND
)
then
local
g
=
Duel
.
GetMatchingGroup
(
c61818176
.
actfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
nil
,
tp
)
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
61818176
,
1
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sc
=
sg
:
GetFirst
()
Duel
.
MoveToField
(
sc
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
local
te
=
sc
:
GetActivateEffect
()
local
tep
=
sc
:
GetControler
()
local
cost
=
te
:
GetCost
()
if
cost
then
cost
(
te
,
tep
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
end
Duel
.
RaiseEvent
(
sc
,
4179255
,
te
,
0
,
tp
,
tp
,
Duel
.
GetCurrentChain
())
end
end
end
function
c61818176
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x8d
)
and
Duel
.
IsExistingMatchingCard
(
c61818176
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
,
c
:
GetCode
())
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
c
)
>
0
end
function
c61818176
.
filter2
(
c
,
e
,
tp
,
mc
,
code
)
return
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x8d
)
and
not
c
:
IsCode
(
code
)
and
mc
:
IsCanBeXyzMaterial
(
c
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
end
function
c61818176
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c61818176
.
filter1
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c61818176
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c61818176
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c61818176
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
tc
)
<=
0
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
tc
:
IsImmuneToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c61818176
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
,
tc
,
tc
:
GetCode
())
local
sc
=
g
:
GetFirst
()
if
sc
then
local
mg
=
tc
:
GetOverlayGroup
()
if
mg
:
GetCount
()
~=
0
then
Duel
.
Overlay
(
sc
,
mg
)
end
sc
:
SetMaterial
(
Group
.
FromCards
(
tc
))
Duel
.
Overlay
(
sc
,
Group
.
FromCards
(
tc
))
Duel
.
SpecialSummon
(
sc
,
SUMMON_TYPE_XYZ
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
sc
:
CompleteProcedure
()
end
end
expansions/script/c62530723.lua
deleted
100644 → 0
View file @
dc03b44a
--星遺物の囁き
--Whisper of the World Legacy
--Script by nekrozar
function
c62530723
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetHintTiming
(
TIMING_DAMAGE_STEP
)
e1
:
SetTarget
(
c62530723
.
target
)
c
:
RegisterEffect
(
e1
)
--disable
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetCondition
(
c62530723
.
discon
)
e2
:
SetOperation
(
c62530723
.
disop
)
c
:
RegisterEffect
(
e2
)
end
function
c62530723
.
atkfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsLevelAbove
(
5
)
end
function
c62530723
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c62530723
.
atkfilter
(
chkc
)
end
if
chk
==
0
then
if
Duel
.
GetCurrentPhase
()
==
PHASE_DAMAGE
then
return
Duel
.
IsExistingTarget
(
c62530723
.
atkfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
return
true
end
if
Duel
.
GetCurrentPhase
()
==
PHASE_DAMAGE
or
(
Duel
.
IsExistingTarget
(
c62530723
.
atkfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
62530723
,
0
)))
then
e
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_CARD_TARGET
)
e
:
SetOperation
(
c62530723
.
activate
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
Duel
.
SelectTarget
(
tp
,
c62530723
.
atkfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
else
e
:
SetCategory
(
0
)
e
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e
:
SetOperation
(
nil
)
end
end
function
c62530723
.
activate
(
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
)
and
tc
:
IsFaceup
()
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
1000
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
tc
:
RegisterEffect
(
e2
)
end
end
function
c62530723
.
cfilter
(
c
,
tp
)
return
c
:
IsControler
(
tp
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x10c
)
end
function
c62530723
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
rp
~=
tp
and
re
:
IsActiveType
(
TYPE_SPELL
)
and
re
:
GetHandler
():
GetColumnGroup
():
FilterCount
(
c62530723
.
cfilter
,
nil
,
tp
)
>
0
end
function
c62530723
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
NegateEffect
(
ev
)
end
expansions/script/c62753201.lua
deleted
100644 → 0
View file @
dc03b44a
--ヴァレル・レフリジェレーション
--Borrel Refrigeration
--Scripted by Eerie Code
function
c62753201
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCost
(
c62753201
.
cost
)
e1
:
SetTarget
(
c62753201
.
target
)
e1
:
SetOperation
(
c62753201
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c62753201
.
cfilter
(
c
)
return
c
:
IsLevelBelow
(
3
)
and
c
:
IsSetCard
(
0x102
)
end
function
c62753201
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
c62753201
.
cfilter
,
1
,
nil
)
end
local
rg
=
Duel
.
SelectReleaseGroup
(
tp
,
c62753201
.
cfilter
,
1
,
1
,
nil
)
Duel
.
Release
(
rg
,
REASON_COST
)
end
function
c62753201
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_LINK
)
and
c
:
IsSetCard
(
0x10f
)
end
function
c62753201
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c62753201
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c62753201
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
SelectTarget
(
tp
,
c62753201
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c62753201
.
eqlimit
(
e
,
c
)
return
c
:
GetControler
()
==
e
:
GetHandlerPlayer
()
and
c
:
IsType
(
TYPE_LINK
)
and
c
:
IsSetCard
(
0x10f
)
end
function
c62753201
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsLocation
(
LOCATION_SZONE
)
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
Duel
.
Equip
(
tp
,
c
,
tc
)
c
:
CancelToGrave
()
--
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetValue
(
c62753201
.
eqlimit
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
c
:
RegisterEffect
(
e1
)
--
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
62753201
,
0
))
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
e2
:
SetCountLimit
(
1
)
e2
:
SetTarget
(
c62753201
.
indtg
)
e2
:
SetOperation
(
c62753201
.
intop
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_GRANT
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e3
:
SetTarget
(
c62753201
.
eftg
)
e3
:
SetLabelObject
(
e2
)
c
:
RegisterEffect
(
e3
)
end
end
function
c62753201
.
eftg
(
e
,
c
)
return
e
:
GetHandler
():
GetEquipTarget
()
==
c
end
function
c62753201
.
indtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
chkc
:
IsFaceup
()
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
Duel
.
SelectTarget
(
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
end
function
c62753201
.
indop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetValue
(
1
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
tc
:
RegisterEffect
(
e2
)
end
end
expansions/script/c63053267.lua
deleted
100644 → 0
View file @
dc03b44a
--ナーゲルの守護天
--Nagel's Protection
--Scripted by Eerie Code
function
c63053267
.
initial_effect
(
c
)
--activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
--indes
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e2
:
SetTarget
(
c63053267
.
indtg
)
e2
:
SetValue
(
1
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e3
:
SetValue
(
c63053267
.
indval
)
c
:
RegisterEffect
(
e3
)
--double damage
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
)
e4
:
SetCode
(
EFFECT_CHANGE_DAMAGE
)
e4
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e4
:
SetTargetRange
(
0
,
1
)
e4
:
SetRange
(
LOCATION_SZONE
)
e4
:
SetValue
(
c63053267
.
damval
)
c
:
RegisterEffect
(
e4
)
--search
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e5
:
SetType
(
EFFECT_TYPE_IGNITION
)
e5
:
SetRange
(
LOCATION_GRAVE
)
e5
:
SetCountLimit
(
1
,
63053267
)
e5
:
SetCost
(
c63053267
.
thcost
)
e5
:
SetTarget
(
c63053267
.
thtg
)
e5
:
SetOperation
(
c63053267
.
thop
)
c
:
RegisterEffect
(
e5
)
end
function
c63053267
.
indtg
(
e
,
c
)
return
c
:
IsSetCard
(
0x10b
)
and
c
:
GetSequence
()
<
5
end
function
c63053267
.
indval
(
e
,
re
,
rp
)
return
rp
~=
e
:
GetHandlerPlayer
()
end
function
c63053267
.
damval
(
e
,
re
,
val
,
r
,
rp
,
rc
)
local
tp
=
e
:
GetHandlerPlayer
()
if
Duel
.
GetFlagEffect
(
tp
,
63053267
)
~=
0
or
bit
.
band
(
r
,
REASON_BATTLE
)
==
0
or
not
rc
:
IsSetCard
(
0x10b
)
or
not
rc
:
IsControler
(
tp
)
then
return
val
end
Duel
.
RegisterFlagEffect
(
tp
,
63053267
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
return
val
*
2
end
function
c63053267
.
cfilter
(
c
)
return
c
:
IsSetCard
(
0x10b
)
and
c
:
IsDiscardable
()
end
function
c63053267
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToRemoveAsCost
()
and
Duel
.
IsExistingMatchingCard
(
c63053267
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
Duel
.
Remove
(
e
:
GetHandler
(),
POS_FACEUP
,
REASON_COST
)
Duel
.
DiscardHand
(
tp
,
c63053267
.
cfilter
,
1
,
1
,
REASON_COST
+
REASON_DISCARD
)
end
function
c63053267
.
filter
(
c
)
return
c
:
IsCode
(
63053267
)
and
c
:
IsAbleToHand
()
end
function
c63053267
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c63053267
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c63053267
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstMatchingCard
(
c63053267
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
tc
then
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
end
end
expansions/script/c63092423.lua
deleted
100644 → 0
View file @
dc03b44a
--弾帯城壁龍
--Beltlink Wall Dragon
--Script by nekrozar
function
c63092423
.
initial_effect
(
c
)
c
:
EnableCounterPermit
(
0x44
)
c
:
EnableReviveLimit
()
--connot special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
c
:
RegisterEffect
(
e1
)
--special summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
63092423
,
0
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_COUNTER
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetRange
(
LOCATION_HAND
)
e2
:
SetCondition
(
c63092423
.
spcon
)
e2
:
SetTarget
(
c63092423
.
sptg
)
e2
:
SetOperation
(
c63092423
.
spop
)
c
:
RegisterEffect
(
e2
)
--cannot link summon
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e3
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetTargetRange
(
1
,
1
)
e3
:
SetTarget
(
c63092423
.
splimit
)
c
:
RegisterEffect
(
e3
)
--cannot attack
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
)
e4
:
SetCode
(
EFFECT_CANNOT_ATTACK
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e4
:
SetTarget
(
c63092423
.
atktg
)
c
:
RegisterEffect
(
e4
)
--counter
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
63092423
,
1
))
e5
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e5
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetCondition
(
c63092423
.
ctcon1
)
e5
:
SetOperation
(
c63092423
.
ctop1
)
c
:
RegisterEffect
(
e5
)
--counter
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetDescription
(
aux
.
Stringid
(
63092423
,
2
))
e6
:
SetCategory
(
CATEGORY_COUNTER
)
e6
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e6
:
SetCode
(
EVENT_PHASE
+
PHASE_STANDBY
)
e6
:
SetCountLimit
(
1
)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetOperation
(
c63092423
.
ctop2
)
c
:
RegisterEffect
(
e6
)
end
function
c63092423
.
cfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
GetSummonPlayer
()
==
tp
and
c
:
IsSummonType
(
SUMMON_TYPE_LINK
)
end
function
c63092423
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c63092423
.
cfilter
,
1
,
nil
,
tp
)
end
function
c63092423
.
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
,
true
,
false
)
and
Duel
.
IsCanAddCounter
(
tp
,
0x44
,
1
,
e
:
GetHandler
())
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c63092423
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
~=
0
then
c
:
AddCounter
(
0x44
,
2
)
c
:
CompleteProcedure
()
end
end
function
c63092423
.
splimit
(
e
,
c
,
tp
,
sumtp
,
sumpos
)
return
c
:
GetLink
()
>
e
:
GetHandler
():
GetCounter
(
0x44
)
and
bit
.
band
(
sumtp
,
SUMMON_TYPE_LINK
)
==
SUMMON_TYPE_LINK
end
function
c63092423
.
atktg
(
e
,
c
)
return
not
c
:
IsType
(
TYPE_LINK
)
end
function
c63092423
.
ctcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
Card
.
IsSummonType
,
1
,
nil
,
SUMMON_TYPE_LINK
)
end
function
c63092423
.
ctop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
then
c
:
RemoveCounter
(
tp
,
0x44
,
2
,
REASON_EFFECT
)
end
end
function
c63092423
.
ctop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
then
c
:
AddCounter
(
0x44
,
1
)
end
end
expansions/script/c63519819.lua
deleted
100644 → 0
View file @
dc03b44a
--サウザンド・アイズ・サクリファイス
function
c63519819
.
initial_effect
(
c
)
--fusion material
c
:
EnableReviveLimit
()
aux
.
AddFusionProcCode2
(
c
,
64631466
,
27125110
,
true
,
true
)
--equip
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
63519819
,
0
))
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
c63519819
.
eqcon
)
e1
:
SetTarget
(
c63519819
.
eqtg
)
e1
:
SetOperation
(
c63519819
.
eqop
)
c
:
RegisterEffect
(
e1
)
--cannot attack
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCode
(
EFFECT_CANNOT_ATTACK
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e2
:
SetTarget
(
c63519819
.
antarget
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EFFECT_CANNOT_CHANGE_POSITION
)
e3
:
SetProperty
(
EFFECT_FLAG_SET_AVAILABLE
)
c
:
RegisterEffect
(
e3
)
--atk/def
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
)
e4
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCode
(
EFFECT_SET_ATTACK
)
e4
:
SetCondition
(
c63519819
.
adcon
)
e4
:
SetValue
(
c63519819
.
atkval
)
c
:
RegisterEffect
(
e4
)
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
)
e5
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetCode
(
EFFECT_SET_DEFENSE
)
e5
:
SetCondition
(
c63519819
.
adcon
)
e5
:
SetValue
(
c63519819
.
defval
)
c
:
RegisterEffect
(
e5
)
end
function
c63519819
.
eqcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c63519819
.
CanEquipMonster
(
c
)
end
function
c63519819
.
eqfilter
(
c
)
return
c
:
GetFlagEffect
(
63519819
)
~=
0
end
function
c63519819
.
CanEquipMonster
(
c
)
local
g
=
c
:
GetEquipGroup
():
Filter
(
c63519819
.
eqfilter
,
nil
)
return
g
:
GetCount
()
==
0
end
function
c63519819
.
eqtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
1
-
tp
)
and
chkc
:
IsAbleToChangeControler
()
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
Duel
.
IsExistingTarget
(
Card
.
IsAbleToChangeControler
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
g
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsAbleToChangeControler
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
g
,
1
,
0
,
0
)
end
function
c63519819
.
eqlimit
(
e
,
c
)
return
e
:
GetOwner
()
==
c
end
function
c63519819
.
EquipMonster
(
c
,
tp
,
tc
)
if
not
Duel
.
Equip
(
tp
,
tc
,
c
,
false
)
then
return
end
--Add Equip limit
tc
:
RegisterFlagEffect
(
63519819
,
RESET_EVENT
+
0x1fe0000
,
0
,
0
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_OWNER_RELATE
)
e1
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
e1
:
SetValue
(
c63519819
.
eqlimit
)
tc
:
RegisterEffect
(
e1
)
--substitute
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_EQUIP
)
e2
:
SetCode
(
EFFECT_DESTROY_SUBSTITUTE
)
e2
:
SetProperty
(
EFFECT_FLAG_SET_AVAILABLE
)
e2
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
e2
:
SetValue
(
c63519819
.
repval
)
tc
:
RegisterEffect
(
e2
)
end
function
c63519819
.
eqop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsType
(
TYPE_MONSTER
)
and
tc
:
IsControler
(
1
-
tp
)
then
if
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
then
c63519819
.
EquipMonster
(
c
,
tp
,
tc
)
else
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
end
end
end
function
c63519819
.
repval
(
e
,
re
,
r
,
rp
)
return
bit
.
band
(
r
,
REASON_BATTLE
)
~=
0
end
function
c63519819
.
antarget
(
e
,
c
)
return
c
~=
e
:
GetHandler
()
end
function
c63519819
.
adcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetEquipGroup
():
Filter
(
c63519819
.
eqfilter
,
nil
)
return
g
:
GetCount
()
>
0
end
function
c63519819
.
atkval
(
e
,
c
)
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetEquipGroup
():
Filter
(
c63519819
.
eqfilter
,
nil
)
local
atk
=
g
:
GetFirst
():
GetTextAttack
()
if
g
:
GetFirst
():
IsFacedown
()
or
bit
.
band
(
g
:
GetFirst
():
GetOriginalType
(),
TYPE_MONSTER
)
==
0
or
atk
<
0
then
return
0
else
return
atk
end
end
function
c63519819
.
defval
(
e
,
c
)
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetEquipGroup
():
Filter
(
c63519819
.
eqfilter
,
nil
)
local
def
=
g
:
GetFirst
():
GetTextDefense
()
if
g
:
GetFirst
():
IsFacedown
()
or
bit
.
band
(
g
:
GetFirst
():
GetOriginalType
(),
TYPE_MONSTER
)
==
0
or
def
<
0
then
return
0
else
return
def
end
end
expansions/script/c63875853.lua
deleted
100644 → 0
View file @
dc03b44a
--身分転換
--Role Reversal
--Script by nekrozar
function
c63875853
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetTarget
(
c63875853
.
target
)
e1
:
SetOperation
(
c63875853
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c63875853
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLP
(
tp
)
>
Duel
.
GetLP
(
1
-
tp
)
end
end
function
c63875853
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
lp1
=
Duel
.
GetLP
(
tp
)
local
lp2
=
Duel
.
GetLP
(
1
-
tp
)
if
lp1
>
lp2
then
Duel
.
SetLP
(
tp
,
lp2
)
Duel
.
SetLP
(
1
-
tp
,
lp1
)
end
end
expansions/script/c64631466.lua
deleted
100644 → 0
View file @
dc03b44a
--サクリファイス
function
c64631466
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--equip
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
64631466
,
0
))
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
c64631466
.
eqcon
)
e1
:
SetTarget
(
c64631466
.
eqtg
)
e1
:
SetOperation
(
c64631466
.
eqop
)
c
:
RegisterEffect
(
e1
)
--atk/def
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCode
(
EFFECT_SET_ATTACK
)
e2
:
SetCondition
(
c64631466
.
adcon
)
e2
:
SetValue
(
c64631466
.
atkval
)
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCode
(
EFFECT_SET_DEFENSE
)
e3
:
SetCondition
(
c64631466
.
adcon
)
e3
:
SetValue
(
c64631466
.
defval
)
c
:
RegisterEffect
(
e3
)
--damage
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e4
:
SetProperty
(
EFFECT_FLAG_AVAILABLE_BD
)
e4
:
SetCode
(
EVENT_DAMAGE
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCondition
(
c64631466
.
damcon
)
e4
:
SetOperation
(
c64631466
.
damop
)
c
:
RegisterEffect
(
e4
)
end
function
c64631466
.
eqcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c64631466
.
CanEquipMonster
(
c
)
end
function
c64631466
.
eqfilter
(
c
)
return
c
:
GetFlagEffect
(
64631466
)
~=
0
end
function
c64631466
.
CanEquipMonster
(
c
)
local
g
=
c
:
GetEquipGroup
():
Filter
(
c64631466
.
eqfilter
,
nil
)
return
g
:
GetCount
()
==
0
end
function
c64631466
.
eqtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
1
-
tp
)
and
chkc
:
IsAbleToChangeControler
()
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
Duel
.
IsExistingTarget
(
Card
.
IsAbleToChangeControler
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
g
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsAbleToChangeControler
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
g
,
1
,
0
,
0
)
end
function
c64631466
.
eqlimit
(
e
,
c
)
return
e
:
GetOwner
()
==
c
end
function
c64631466
.
EquipMonster
(
c
,
tp
,
tc
)
if
not
Duel
.
Equip
(
tp
,
tc
,
c
,
false
)
then
return
end
--Add Equip limit
tc
:
RegisterFlagEffect
(
64631466
,
RESET_EVENT
+
0x1fe0000
,
0
,
0
)
-- e:SetLabelObject(tc)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_OWNER_RELATE
)
e1
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
e1
:
SetValue
(
c64631466
.
eqlimit
)
tc
:
RegisterEffect
(
e1
)
--substitute
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_EQUIP
)
e2
:
SetCode
(
EFFECT_DESTROY_SUBSTITUTE
)
e2
:
SetProperty
(
EFFECT_FLAG_SET_AVAILABLE
)
e2
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
e2
:
SetValue
(
c64631466
.
repval
)
tc
:
RegisterEffect
(
e2
)
end
function
c64631466
.
eqop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsType
(
TYPE_MONSTER
)
and
tc
:
IsControler
(
1
-
tp
)
then
if
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
then
c64631466
.
EquipMonster
(
c
,
tp
,
tc
)
else
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
end
end
end
function
c64631466
.
repval
(
e
,
re
,
r
,
rp
)
return
bit
.
band
(
r
,
REASON_BATTLE
)
~=
0
end
function
c64631466
.
damcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetEquipGroup
():
Filter
(
c64631466
.
eqfilter
,
nil
)
return
g
:
GetCount
()
>
0
and
ep
==
tp
and
bit
.
band
(
r
,
REASON_BATTLE
)
~=
0
and
(
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
or
Duel
.
GetAttackTarget
()
==
e
:
GetHandler
())
end
function
c64631466
.
damop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Damage
(
1
-
tp
,
ev
,
REASON_EFFECT
)
end
function
c64631466
.
adcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetEquipGroup
():
Filter
(
c64631466
.
eqfilter
,
nil
)
return
g
:
GetCount
()
>
0
end
function
c64631466
.
atkval
(
e
,
c
)
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetEquipGroup
():
Filter
(
c64631466
.
eqfilter
,
nil
)
local
atk
=
g
:
GetFirst
():
GetTextAttack
()
if
g
:
GetFirst
():
IsFacedown
()
or
bit
.
band
(
g
:
GetFirst
():
GetOriginalType
(),
TYPE_MONSTER
)
==
0
or
atk
<
0
then
return
0
else
return
atk
end
end
function
c64631466
.
defval
(
e
,
c
)
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetEquipGroup
():
Filter
(
c64631466
.
eqfilter
,
nil
)
local
def
=
g
:
GetFirst
():
GetTextDefense
()
if
g
:
GetFirst
():
IsFacedown
()
or
bit
.
band
(
g
:
GetFirst
():
GetOriginalType
(),
TYPE_MONSTER
)
==
0
or
def
<
0
then
return
0
else
return
def
end
end
expansions/script/c64697431.lua
deleted
100644 → 0
View file @
dc03b44a
--局所的ハリケーン
--Localized Trunade
--Script by nekrozar
function
c64697431
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_TOHAND
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetTarget
(
c64697431
.
target
)
e1
:
SetOperation
(
c64697431
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c64697431
.
filter
(
c
)
return
c
:
IsFacedown
()
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsAbleToHand
()
end
function
c64697431
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c64697431
.
filter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
c
)
end
local
sg
=
Duel
.
GetMatchingGroup
(
c64697431
.
filter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
c
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
sg
,
sg
:
GetCount
(),
0
,
0
)
end
function
c64697431
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
sg
=
Duel
.
GetMatchingGroup
(
c64697431
.
filter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
e
:
GetHandler
())
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
end
expansions/script/c66022706.lua
deleted
100644 → 0
View file @
dc03b44a
--翠嵐の機界騎士
--Mekk-Knight of the Green Heights
--Scripted by Eerie Code
function
c66022706
.
initial_effect
(
c
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCountLimit
(
1
,
66022706
)
e1
:
SetCondition
(
c66022706
.
hspcon
)
e1
:
SetValue
(
c66022706
.
hspval
)
c
:
RegisterEffect
(
e1
)
--to hand
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
66022706
,
0
))
e2
:
SetCategory
(
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCode
(
EVENT_ATTACK_ANNOUNCE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCondition
(
c66022706
.
thcon
)
e2
:
SetTarget
(
c66022706
.
thtg
)
e2
:
SetOperation
(
c66022706
.
thop
)
c
:
RegisterEffect
(
e2
)
end
function
c66022706
.
cfilter
(
c
)
return
c
:
GetColumnGroupCount
()
>
0
end
function
c66022706
.
hspcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
zone
=
0
local
lg
=
Duel
.
GetMatchingGroup
(
c66022706
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
for
tc
in
aux
.
Next
(
lg
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetColumnZone
(
LOCATION_MZONE
,
0
,
0
,
tc
:
GetControler
()))
end
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
>
0
end
function
c66022706
.
hspval
(
e
,
c
)
local
tp
=
c
:
GetControler
()
local
zone
=
0
local
lg
=
Duel
.
GetMatchingGroup
(
c66022706
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
for
tc
in
aux
.
Next
(
lg
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetColumnZone
(
LOCATION_MZONE
,
0
,
0
,
tc
:
GetControler
()))
end
return
0
,
zone
end
function
c66022706
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
c
:
GetBattleTarget
()
return
(
Duel
.
GetAttacker
()
==
c
or
Duel
.
GetAttackTarget
()
==
c
)
and
tc
and
c
:
GetColumnGroup
():
IsContains
(
tc
)
end
function
c66022706
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x10c
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToHand
()
end
function
c66022706
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c66022706
.
thfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c66022706
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c66022706
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
1
,
0
,
0
)
end
function
c66022706
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
end
end
expansions/script/c67744384.lua
deleted
100644 → 0
View file @
dc03b44a
--ティンダングル・アポストル
--Tindangle Apostle
--Script by nekrozar
function
c67744384
.
initial_effect
(
c
)
--flip
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
67744384
,
0
))
e1
:
SetCategory
(
CATEGORY_POSITION
+
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_FLIP
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetCountLimit
(
1
,
67744384
)
e1
:
SetTarget
(
c67744384
.
target
)
e1
:
SetOperation
(
c67744384
.
operation
)
c
:
RegisterEffect
(
e1
)
end
function
c67744384
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsFacedown
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_POSITION
,
nil
,
1
,
0
,
0
)
end
function
c67744384
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x10b
)
and
c
:
IsAbleToHand
()
end
function
c67744384
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_POSCHANGE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsFacedown
,
tp
,
LOCATION_MZONE
,
0
,
1
,
3
,
nil
)
if
g
:
GetCount
()
>
0
then
local
ct
=
Duel
.
ChangePosition
(
g
,
POS_FACEUP_DEFENSE
)
if
ct
==
g
:
GetCount
()
and
g
:
IsExists
(
Card
.
IsSetCard
,
ct
,
nil
,
0x10b
)
then
local
sg
=
Duel
.
GetMatchingGroup
(
c67744384
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
sg
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
67744384
,
1
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
tg
=
sg
:
Select
(
tp
,
1
,
ct
,
nil
)
Duel
.
SendtoHand
(
tg
,
tp
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
tg
)
end
end
end
end
expansions/script/c68860936.lua
deleted
100644 → 0
View file @
dc03b44a
--ティンダングル・エンジェル
--Tindangle Angel
function
c68860936
.
initial_effect
(
c
)
--search
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
68860936
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_FLIP
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetCountLimit
(
1
,
68860936
)
e1
:
SetTarget
(
c68860936
.
target
)
e1
:
SetOperation
(
c68860936
.
operation
)
c
:
RegisterEffect
(
e1
)
end
function
c68860936
.
filter
(
c
,
e
,
tp
)
return
c
:
IsType
(
TYPE_FLIP
)
and
not
c
:
IsCode
(
68860936
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
end
function
c68860936
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c68860936
.
filter
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
)
end
function
c68860936
.
operation
(
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
,
aux
.
NecroValleyFilter
(
c68860936
.
filter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
local
ph
=
Duel
.
GetCurrentPhase
()
if
tp
~=
Duel
.
GetTurnPlayer
()
and
ph
>=
PHASE_BATTLE_START
and
ph
<=
PHASE_BATTLE
then
Duel
.
SkipPhase
(
1
-
tp
,
PHASE_BATTLE
,
RESET_PHASE
+
PHASE_BATTLE
,
1
)
end
end
expansions/script/c73275815.lua
deleted
100644 → 0
View file @
dc03b44a
--リンケージ・ホール
--Linkage Hole
--Scripted by Eerie Code
function
c73275815
.
initial_effect
(
c
)
--activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_DESTROY
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCountLimit
(
1
,
73275815
)
e1
:
SetCondition
(
c73275815
.
condition
)
e1
:
SetTarget
(
c73275815
.
target
)
e1
:
SetOperation
(
c73275815
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c73275815
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsLinkAbove
(
4
)
end
function
c73275815
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
IsExistingMatchingCard
(
c73275815
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
function
c73275815
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsLinkAbove
(
3
)
end
function
c73275815
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ct
=
Duel
.
GetMatchingGroupCount
(
c73275815
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
dg
=
Duel
.
GetFieldGroup
(
tp
,
0
,
LOCATION_MZONE
)
if
chk
==
0
then
return
ct
>
0
and
dg
:
GetCount
()
>
0
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
dg
,
1
,
0
,
0
)
end
function
c73275815
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
Duel
.
GetMatchingGroupCount
(
c73275815
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
if
ct
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
0
,
LOCATION_MZONE
,
1
,
ct
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
end
end
expansions/script/c74715061.lua
deleted
100644 → 0
View file @
dc03b44a
--ストライピング・パートナー
--Striping Panther
--Script by nekrozar
function
c74715061
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--connot special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
c
:
RegisterEffect
(
e1
)
--special summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
74715061
,
0
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_CHAIN_NEGATED
)
e2
:
SetRange
(
LOCATION_HAND
)
e2
:
SetCondition
(
c74715061
.
spcon1
)
e2
:
SetTarget
(
c74715061
.
sptg1
)
e2
:
SetOperation
(
c74715061
.
spop1
)
c
:
RegisterEffect
(
e2
)
--special summon
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
74715061
,
1
))
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetTarget
(
c74715061
.
sptg2
)
e3
:
SetOperation
(
c74715061
.
spop2
)
c
:
RegisterEffect
(
e3
)
end
function
c74715061
.
spcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
loc
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_LOCATION
)
return
re
:
IsActiveType
(
TYPE_MONSTER
)
and
loc
==
LOCATION_MZONE
and
rp
==
tp
end
function
c74715061
.
sptg1
(
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
,
true
,
false
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c74715061
.
spop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
if
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
~=
0
then
c
:
CompleteProcedure
()
end
end
function
c74715061
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsLevelBelow
(
4
)
and
c
:
IsRace
(
RACE_CYBERSE
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c74715061
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c74715061
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c74715061
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c74715061
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
end
function
c74715061
.
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
)
end
end
expansions/script/c74997493.lua
deleted
100644 → 0
View file @
dc03b44a
--鎖龍蛇-スカルデット
--Skulldeat, the Chained Dracoserpent
--Script by nekrozar
function
c74997493
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
99
,
c74997493
.
lcheck
)
c
:
EnableReviveLimit
()
--effect gain
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetCondition
(
c74997493
.
regcon
)
e2
:
SetOperation
(
c74997493
.
regop
)
c
:
RegisterEffect
(
e2
)
--draw
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
74997493
,
2
))
e3
:
SetCategory
(
CATEGORY_DRAW
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetCondition
(
c74997493
.
drcon
)
e3
:
SetTarget
(
c74997493
.
drtg
)
e3
:
SetOperation
(
c74997493
.
drop
)
c
:
RegisterEffect
(
e3
)
end
function
c74997493
.
lcheck
(
g
,
lc
)
return
g
:
GetClassCount
(
Card
.
GetCode
)
==
g
:
GetCount
()
end
function
c74997493
.
regcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
end
function
c74997493
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
GetMaterialCount
()
>=
2
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
74997493
,
0
))
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCondition
(
c74997493
.
atkcon
)
e1
:
SetOperation
(
c74997493
.
atkop
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
c
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterFlagEffect
(
0
,
RESET_EVENT
+
0x1fe0000
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
74997493
,
3
))
end
if
c
:
GetMaterialCount
()
>=
3
then
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
74997493
,
1
))
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetTarget
(
c74997493
.
sptg
)
e3
:
SetOperation
(
c74997493
.
spop
)
e3
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterFlagEffect
(
0
,
RESET_EVENT
+
0x1fe0000
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
74997493
,
4
))
end
end
function
c74997493
.
cfilter
(
c
,
e
,
g
)
return
c
:
IsFaceup
()
and
g
:
IsContains
(
c
)
and
(
not
e
or
c
:
IsRelateToEffect
(
e
))
end
function
c74997493
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
return
lg
and
eg
:
IsExists
(
c74997493
.
cfilter
,
1
,
nil
,
nil
,
lg
)
end
function
c74997493
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
lg
=
c
:
GetLinkedGroup
()
if
not
lg
then
return
end
local
g
=
eg
:
Filter
(
c74997493
.
cfilter
,
nil
,
e
,
g
)
local
tc
=
g
:
GetFirst
()
while
tc
do
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
300
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
tc
:
RegisterEffect
(
e2
)
tc
=
g
:
GetNext
()
end
end
function
c74997493
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c74997493
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c74997493
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c74997493
.
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
,
c74997493
.
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
function
c74997493
.
drcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsSummonType
(
SUMMON_TYPE_LINK
)
and
c
:
GetMaterialCount
()
==
4
end
function
c74997493
.
drtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanDraw
(
tp
,
4
)
end
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
4
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
4
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
nil
,
0
,
tp
,
3
)
end
function
c74997493
.
drop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
if
Duel
.
Draw
(
p
,
d
,
REASON_EFFECT
)
==
4
then
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToDeck
,
p
,
LOCATION_HAND
,
0
,
nil
)
if
g
:
GetCount
()
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
p
,
HINTMSG_TODECK
)
local
sg
=
g
:
Select
(
p
,
3
,
3
,
nil
)
Duel
.
ConfirmCards
(
1
-
p
,
sg
)
Duel
.
SendtoDeck
(
sg
,
nil
,
0
,
REASON_EFFECT
)
Duel
.
SortDecktop
(
p
,
p
,
3
)
for
i
=
1
,
3
do
local
mg
=
Duel
.
GetDecktopGroup
(
p
,
1
)
Duel
.
MoveSequence
(
mg
:
GetFirst
(),
1
)
end
end
end
expansions/script/c75119040.lua
deleted
100644 → 0
View file @
dc03b44a
--ティンダングル・アキュート・ケルベロス
--Tindangle Acute Cerberus
function
c75119040
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsSetCard
,
0x10b
),
3
,
3
)
--atk
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCondition
(
c75119040
.
atkcon
)
e1
:
SetValue
(
3000
)
c
:
RegisterEffect
(
e1
)
--atk
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetValue
(
c75119040
.
atkval
)
c
:
RegisterEffect
(
e2
)
--special summon
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
75119040
,
0
))
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_TOKEN
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_PHASE
+
PHASE_BATTLE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCondition
(
c75119040
.
spcon
)
e3
:
SetTarget
(
c75119040
.
sptg
)
e3
:
SetOperation
(
c75119040
.
spop
)
c
:
RegisterEffect
(
e3
)
end
function
c75119040
.
cfilter
(
c
)
return
c
:
IsSetCard
(
0x10b
)
and
c
:
IsType
(
TYPE_MONSTER
)
end
function
c75119040
.
atkcon
(
e
)
local
g
=
Duel
.
GetMatchingGroup
(
c75119040
.
cfilter
,
e
:
GetHandler
():
GetControler
(),
LOCATION_GRAVE
,
0
,
nil
)
return
g
:
GetClassCount
(
Card
.
GetCode
)
>=
3
and
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
94365540
)
end
function
c75119040
.
atkfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x10b
)
end
function
c75119040
.
atkval
(
e
,
c
)
return
c
:
GetLinkedGroup
():
FilterCount
(
c75119040
.
atkfilter
,
nil
)
*
600
end
function
c75119040
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetAttackedCount
()
>
0
end
function
c75119040
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
75119041
,
0x10b
,
0x4011
,
0
,
0
,
1
,
RACE_FIEND
,
ATTRIBUTE_DARK
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
0
,
0
)
end
function
c75119040
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
not
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
75119041
,
0x10b
,
0x4011
,
0
,
0
,
1
,
RACE_FIEND
,
ATTRIBUTE_DARK
)
then
return
end
local
token
=
Duel
.
CreateToken
(
tp
,
75119041
)
Duel
.
SpecialSummon
(
token
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
expansions/script/c75719089.lua
deleted
100644 → 0
View file @
dc03b44a
--栄光の聖騎士団
--Glory of the Noble Knights
--Script by nekrozar
function
c75719089
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCountLimit
(
1
,
75719089
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetTarget
(
c75719089
.
target
)
e1
:
SetOperation
(
c75719089
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c75719089
.
filter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x107a
)
and
Duel
.
IsExistingMatchingCard
(
c75719089
.
eqfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
c
,
tp
)
end
function
c75719089
.
eqfilter
(
c
,
tc
,
tp
)
return
c
:
IsType
(
TYPE_EQUIP
)
and
c
:
CheckEquipTarget
(
tc
)
and
c
:
CheckUniqueOnField
(
tp
)
and
not
c
:
IsForbidden
()
end
function
c75719089
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c75719089
.
filter
(
chkc
,
tp
)
end
local
ft
=
0
if
e
:
GetHandler
():
IsLocation
(
LOCATION_HAND
)
then
ft
=
1
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
ft
and
Duel
.
IsExistingTarget
(
c75719089
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
Duel
.
SelectTarget
(
tp
,
c75719089
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
tp
)
end
function
c75719089
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
<=
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
tc
:
IsControler
(
tp
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c75719089
.
eqfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
tc
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
Equip
(
tp
,
g
:
GetFirst
(),
tc
)
end
end
end
expansions/script/c76232522.lua
deleted
100644 → 0
View file @
dc03b44a
--リカバリー・ソーサラー
--Recovery Sorcerer
--Script by nekrozar
function
c76232522
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsRace
,
RACE_CYBERSE
),
2
,
2
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
76232522
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
,
76232522
)
e1
:
SetTarget
(
c76232522
.
sptg
)
e1
:
SetOperation
(
c76232522
.
spop
)
c
:
RegisterEffect
(
e1
)
end
function
c76232522
.
spfilter
(
c
,
e
,
tp
,
tid
)
return
c
:
GetTurnID
()
==
tid
and
bit
.
band
(
c
:
GetReason
(),
REASON_DESTROY
)
~=
0
and
c
:
IsRace
(
RACE_CYBERSE
)
and
c
:
IsType
(
TYPE_LINK
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c76232522
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
tid
=
Duel
.
GetTurnCount
()
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c76232522
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c76232522
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c76232522
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
end
function
c76232522
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
tc
:
RegisterEffect
(
e1
,
true
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_DISABLE_EFFECT
)
e2
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
tc
:
RegisterEffect
(
e2
,
true
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e3
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCondition
(
c76232522
.
descon
)
e3
:
SetOperation
(
c76232522
.
desop
)
e3
:
SetLabelObject
(
tc
)
Duel
.
RegisterEffect
(
e3
,
tp
)
tc
:
RegisterFlagEffect
(
76232522
,
RESET_EVENT
+
0x1fe0000
,
0
,
1
)
Duel
.
SpecialSummonComplete
()
end
end
function
c76232522
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetLabelObject
()
if
tc
:
GetFlagEffect
(
76232522
)
==
0
then
e
:
Reset
()
return
false
end
return
true
end
function
c76232522
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetLabelObject
()
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
end
expansions/script/c77058170.lua
deleted
100644 → 0
View file @
dc03b44a
--アンダークロックテイカー
--Underclock Taker
--Script by nekrozar
function
c77058170
.
initial_effect
(
c
)
--link summon
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
2
,
2
)
c
:
EnableReviveLimit
()
--atkdown
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
77058170
,
0
))
e1
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetTarget
(
c77058170
.
atktg
)
e1
:
SetOperation
(
c77058170
.
atkop
)
c
:
RegisterEffect
(
e1
)
end
function
c77058170
.
atkfilter
(
c
,
g
)
return
c
:
IsFaceup
()
and
c
:
GetAttack
()
>
0
and
g
:
IsContains
(
c
)
end
function
c77058170
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
if
chkc
then
return
false
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c77058170
.
atkfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
lg
)
and
Duel
.
IsExistingTarget
(
Card
.
IsFaceup
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SELF
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c77058170
.
atkfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
lg
)
e
:
SetLabelObject
(
g
:
GetFirst
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_OPPO
)
Duel
.
SelectTarget
(
tp
,
Card
.
IsFaceup
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
end
function
c77058170
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc1
=
e
:
GetLabelObject
()
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
)
local
tc2
=
g
:
GetFirst
()
if
tc1
==
tc2
then
tc2
=
g
:
GetNext
()
end
if
tc1
:
IsFaceup
()
and
tc1
:
IsRelateToEffect
(
e
)
and
tc2
:
IsFaceup
()
and
tc2
:
IsRelateToEffect
(
e
)
then
local
atk
=
tc1
:
GetAttack
()
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
-
atk
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc2
:
RegisterEffect
(
e1
)
end
end
expansions/script/c80237445.lua
deleted
100644 → 0
View file @
dc03b44a
--アーティファクト-ミョルニル
--Artifact Mjolnir
--Script by nekrozar
function
c80237445
.
initial_effect
(
c
)
--set
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_MONSTER_SSET
)
e1
:
SetValue
(
TYPE_SPELL
)
c
:
RegisterEffect
(
e1
)
--special summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
80237445
,
0
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetCondition
(
c80237445
.
spcon1
)
e2
:
SetTarget
(
c80237445
.
sptg1
)
e2
:
SetOperation
(
c80237445
.
spop1
)
c
:
RegisterEffect
(
e2
)
--special summon
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
80237445
,
1
))
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetCountLimit
(
1
,
80237445
)
e3
:
SetCondition
(
c80237445
.
spcon2
)
e3
:
SetTarget
(
c80237445
.
sptg2
)
e3
:
SetOperation
(
c80237445
.
spop2
)
c
:
RegisterEffect
(
e3
)
end
function
c80237445
.
spcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsPreviousLocation
(
LOCATION_SZONE
)
and
c
:
IsPreviousPosition
(
POS_FACEDOWN
)
and
c
:
IsReason
(
REASON_DESTROY
)
and
Duel
.
GetTurnPlayer
()
~=
tp
end
function
c80237445
.
sptg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c80237445
.
spop1
(
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
c80237445
.
spcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
~=
tp
end
function
c80237445
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x97
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
function
c80237445
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c80237445
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c80237445
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c80237445
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
end
function
c80237445
.
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_DEFENSE
)
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
c80237445
.
splimit
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
,
2
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
function
c80237445
.
splimit
(
e
,
c
)
return
not
c
:
IsSetCard
(
0x97
)
end
expansions/script/c80959027.lua
deleted
100644 → 0
View file @
dc03b44a
--魔導獣 バジリスク
--Mythical Beast Basilisk
--Script by nekrozar
function
c80959027
.
initial_effect
(
c
)
aux
.
EnablePendulumAttribute
(
c
)
c
:
EnableCounterPermit
(
0x1
)
--todeck
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
80959027
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_TODECK
*
CATEGORY_DRAW
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetCountLimit
(
1
,
80959027
)
e1
:
SetTarget
(
c80959027
.
tdtg
)
e1
:
SetOperation
(
c80959027
.
tdop
)
c
:
RegisterEffect
(
e1
)
--add counter
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetOperation
(
aux
.
chainreg
)
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetOperation
(
c80959027
.
acop
)
c
:
RegisterEffect
(
e3
)
--tohand
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
80959027
,
1
))
e4
:
SetCategory
(
CATEGORY_TOHAND
)
e4
:
SetType
(
EFFECT_TYPE_IGNITION
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCountLimit
(
1
,
80959028
)
e4
:
SetCost
(
c80959027
.
thcost
)
e4
:
SetTarget
(
c80959027
.
thtg
)
e4
:
SetOperation
(
c80959027
.
thop
)
c
:
RegisterEffect
(
e4
)
end
function
c80959027
.
tdfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_SPELLCASTER
)
and
not
c
:
IsCode
(
80959027
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsAbleToDeck
()
end
function
c80959027
.
tdtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsDestructable
()
and
Duel
.
IsExistingMatchingCard
(
c80959027
.
tdfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
)
and
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
c
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
end
function
c80959027
.
tdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
c
,
REASON_EFFECT
)
~=
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c80959027
.
tdfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoDeck
(
sg
,
nil
,
2
,
REASON_EFFECT
)
~=
0
then
Duel
.
BreakEffect
()
Duel
.
ShuffleDeck
(
tp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
end
function
c80959027
.
acop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
re
:
IsActiveType
(
TYPE_SPELL
)
and
e
:
GetHandler
():
GetFlagEffect
(
1
)
>
0
then
e
:
GetHandler
():
AddCounter
(
0x1
,
1
)
end
end
function
c80959027
.
thfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x10d
)
and
c
:
IsAbleToHand
()
end
function
c80959027
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsCanRemoveCounter
(
tp
,
1
,
0
,
0x1
,
2
,
REASON_COST
)
end
Duel
.
RemoveCounter
(
tp
,
1
,
0
,
0x1
,
2
,
REASON_COST
)
end
function
c80959027
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c80959027
.
thfilter
,
tp
,
LOCATION_PZONE
+
LOCATION_EXTRA
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_PZONE
+
LOCATION_EXTRA
)
end
function
c80959027
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RTOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c80959027
.
thfilter
,
tp
,
LOCATION_PZONE
+
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
expansions/script/c879958.lua
deleted
100644 → 0
View file @
dc03b44a
--パラレルポート・アーマー
--Parallel Port Armor
--Scripted by Larry126
function
c879958
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_EQUIP
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetTarget
(
c879958
.
target
)
e1
:
SetOperation
(
c879958
.
operation
)
c
:
RegisterEffect
(
e1
)
--extra attack
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
879958
,
0
))
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetCondition
(
c879958
.
atcon
)
e2
:
SetCost
(
c879958
.
atkcost
)
e2
:
SetTarget
(
c879958
.
atktg
)
e2
:
SetOperation
(
c879958
.
atkop
)
c
:
RegisterEffect
(
e2
)
end
function
c879958
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_LINK
)
end
function
c879958
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c879958
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c879958
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
SelectTarget
(
tp
,
c879958
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c879958
.
eqlimit
(
e
,
c
)
return
c
:
GetControler
()
==
e
:
GetHandlerPlayer
()
and
c
:
IsType
(
TYPE_LINK
)
end
function
c879958
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsLocation
(
LOCATION_SZONE
)
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
Duel
.
Equip
(
tp
,
c
,
tc
)
c
:
CancelToGrave
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_EQUIP
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetValue
(
1
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
c
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_EQUIP
)
e2
:
SetCode
(
EFFECT_CANNOT_BE_EFFECT_TARGET
)
e2
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e2
:
SetValue
(
aux
.
tgoval
)
e2
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetValue
(
c879958
.
eqlimit
)
e3
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
c
:
RegisterEffect
(
e3
)
end
end
function
c879958
.
atcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
IsAbleToEnterBP
()
or
(
Duel
.
GetCurrentPhase
()
>=
PHASE_BATTLE_START
and
Duel
.
GetCurrentPhase
()
<=
PHASE_BATTLE
)
end
function
c879958
.
cfilter
(
c
)
return
c
:
IsType
(
TYPE_LINK
)
and
c
:
IsAbleToRemoveAsCost
()
end
function
c879958
.
atkcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToRemoveAsCost
()
and
Duel
.
IsExistingMatchingCard
(
c879958
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
2
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c879958
.
cfilter
,
tp
,
LOCATION_GRAVE
,
0
,
2
,
2
,
nil
)
g
:
AddCard
(
e
:
GetHandler
())
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
function
c879958
.
atkfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_LINK
)
and
not
c
:
IsHasEffect
(
EFFECT_EXTRA_ATTACK
)
end
function
c879958
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c879958
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c879958
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
Duel
.
SelectTarget
(
tp
,
c879958
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
end
function
c879958
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_EXTRA_ATTACK
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetValue
(
1
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
end
end
expansions/script/c88392300.lua
deleted
100644 → 0
View file @
dc03b44a
--電送擬人エレキネシス
--Electronic Transimulation Wattkinesis
--Scripted by Eerie Code
function
c88392300
.
initial_effect
(
c
)
--move
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetRange
(
LOCATION_HAND
+
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetCost
(
c88392300
.
seqcost
)
e2
:
SetTarget
(
c88392300
.
seqtg
)
e2
:
SetOperation
(
c88392300
.
seqop
)
c
:
RegisterEffect
(
e2
)
end
function
c88392300
.
seqcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
)
end
function
c88392300
.
seqtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
1
-
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
nil
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
and
Duel
.
GetLocationCount
(
1
-
tp
,
LOCATION_MZONE
)
>
0
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
88392300
,
0
))
Duel
.
SelectTarget
(
tp
,
nil
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
end
function
c88392300
.
seqop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
tp
)
or
Duel
.
GetLocationCount
(
1
-
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
571
)
local
s
=
Duel
.
SelectDisableField
(
tp
,
1
,
0
,
LOCATION_MZONE
,
0
)
local
nseq
=
math.log
(
bit
.
rshift
(
s
,
16
),
2
)
Duel
.
MoveSequence
(
tc
,
nseq
)
end
expansions/script/c89015998.lua
deleted
100644 → 0
View file @
dc03b44a
--異次元の探求者
--D.D. Pursuer
--Scripted by Eerie Code
function
c89015998
.
initial_effect
(
c
)
--remove
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_REMOVE
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
,
89015998
)
e1
:
SetTarget
(
c89015998
.
rmtg
)
e1
:
SetOperation
(
c89015998
.
rmop
)
c
:
RegisterEffect
(
e1
)
end
function
c89015998
.
rmfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsAbleToRemove
()
end
function
c89015998
.
rmtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c89015998
.
rmfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c89015998
.
rmfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c89015998
.
rmfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
1
,
0
,
0
)
end
function
c89015998
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
Remove
(
tc
,
0
,
REASON_EFFECT
+
REASON_TEMPORARY
)
~=
0
then
tc
:
RegisterFlagEffect
(
89015998
,
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
,
0
,
2
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
,
2
)
e1
:
SetLabelObject
(
tc
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
c89015998
.
retcon
)
e1
:
SetOperation
(
c89015998
.
retop
)
e1
:
SetLabel
(
Duel
.
GetTurnCount
())
Duel
.
RegisterEffect
(
e1
,
tp
)
end
end
function
c89015998
.
retcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetLabelObject
()
return
Duel
.
GetTurnCount
()
~=
e
:
SetLabel
()
and
tc
:
GetFlagEffect
(
89015998
)
~=
0
end
function
c89015998
.
retop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
ReturnToField
(
e
:
GetLabelObject
())
end
expansions/script/c91182675.lua
deleted
100644 → 0
View file @
dc03b44a
--魔導獣 ジャッカル
--Mythical Beast Jackal
--Scripted by Eerie Code
function
c91182675
.
initial_effect
(
c
)
aux
.
EnablePendulumAttribute
(
c
)
c
:
EnableCounterPermit
(
0x1
)
--destroy & counter
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
91182675
,
0
))
e1
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_COUNTER
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCountLimit
(
1
,
91182675
)
e1
:
SetCondition
(
c91182675
.
ctcon
)
e1
:
SetTarget
(
c91182675
.
cttg
)
e1
:
SetOperation
(
c91182675
.
ctop
)
c
:
RegisterEffect
(
e1
)
--add counter
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetOperation
(
aux
.
chainreg
)
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetOperation
(
c91182675
.
acop
)
c
:
RegisterEffect
(
e3
)
--special summon
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
91182675
,
2
))
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e4
:
SetType
(
EFFECT_TYPE_IGNITION
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCost
(
c91182675
.
spcost
)
e4
:
SetTarget
(
c91182675
.
sptg
)
e4
:
SetOperation
(
c91182675
.
spop
)
c
:
RegisterEffect
(
e4
)
end
function
c91182675
.
ctcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
0
)
or
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
1
)
end
function
c91182675
.
ctfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsCanAddCounter
(
0x1
,
1
)
end
function
c91182675
.
cttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
c
=
e
:
GetHandler
()
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
chkc
~=
c
and
c91182675
.
ctfilter
(
chkc
)
end
if
chk
==
0
then
return
e
:
GetHandler
():
IsDestructable
()
and
Duel
.
IsExistingTarget
(
c91182675
.
ctfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
c
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
91182675
,
1
))
Duel
.
SelectTarget
(
tp
,
c91182675
.
ctfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
c
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
e
:
GetHandler
(),
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_COUNTER
,
nil
,
1
,
0
,
0x1
)
end
function
c91182675
.
ctop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
c
,
REASON_EFFECT
)
~=
0
and
tc
:
IsFaceup
()
and
tc
:
IsRelateToEffect
(
e
)
then
tc
:
AddCounter
(
0x1
,
1
)
end
end
function
c91182675
.
acop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
re
:
IsActiveType
(
TYPE_SPELL
)
and
e
:
GetHandler
():
GetFlagEffect
(
1
)
>
0
then
e
:
GetHandler
():
AddCounter
(
0x1
,
1
)
end
end
function
c91182675
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsCanRemoveCounter
(
tp
,
1
,
0
,
0x1
,
3
,
REASON_COST
)
and
c
:
IsReleasable
()
end
Duel
.
RemoveCounter
(
tp
,
1
,
0
,
0x1
,
3
,
REASON_COST
)
Duel
.
Release
(
c
,
REASON_COST
)
end
function
c91182675
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x10d
)
and
not
c
:
IsCode
(
91182675
)
and
c
:
IsType
(
TYPE_EFFECT
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c91182675
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingMatchingCard
(
c91182675
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c91182675
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c91182675
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
expansions/script/c92080692.lua
deleted
100644 → 0
View file @
dc03b44a
--見切りの極意
--Critical Timing
--Scripted by Eerie Code
function
c92080692
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_NEGATE
+
CATEGORY_DESTROY
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetCondition
(
c92080692
.
condition
)
e1
:
SetTarget
(
c92080692
.
target
)
e1
:
SetOperation
(
c92080692
.
activate
)
c
:
RegisterEffect
(
e1
)
end
function
c92080692
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
rp
~=
tp
and
(
re
:
IsActiveType
(
TYPE_MONSTER
)
or
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
))
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsCode
,
tp
,
0
,
LOCATION_GRAVE
,
1
,
nil
,
re
:
GetHandler
():
GetCode
())
and
Duel
.
IsChainNegatable
(
ev
)
end
function
c92080692
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_NEGATE
,
eg
,
1
,
0
,
0
)
if
re
:
GetHandler
():
IsDestructable
()
and
re
:
GetHandler
():
IsRelateToEffect
(
re
)
then
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
eg
,
1
,
0
,
0
)
end
end
function
c92080692
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
NegateActivation
(
ev
)
and
re
:
GetHandler
():
IsRelateToEffect
(
re
)
then
Duel
.
Destroy
(
eg
,
REASON_EFFECT
)
end
end
expansions/script/c92204263.lua
deleted
100644 → 0
View file @
dc03b44a
--紺碧の機界騎士
--Jack Knight of the Azure Blue
--Scripted by Eerie Code
function
c92204263
.
initial_effect
(
c
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCountLimit
(
1
,
92204263
)
e1
:
SetCondition
(
c92204263
.
hspcon
)
e1
:
SetValue
(
c92204263
.
hspval
)
c
:
RegisterEffect
(
e1
)
--move
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
92204263
,
0
))
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetTarget
(
c92204263
.
seqtg
)
e2
:
SetOperation
(
c92204263
.
seqop
)
c
:
RegisterEffect
(
e2
)
end
function
c92204263
.
cfilter
(
c
)
return
c
:
GetColumnGroupCount
()
>
0
end
function
c92204263
.
hspcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
zone
=
0
local
lg
=
Duel
.
GetMatchingGroup
(
c92204263
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
for
tc
in
aux
.
Next
(
lg
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetColumnZone
(
LOCATION_MZONE
,
0
,
0
,
tc
:
GetControler
()))
end
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
>
0
end
function
c92204263
.
hspval
(
e
,
c
)
local
tp
=
c
:
GetControler
()
local
zone
=
0
local
lg
=
Duel
.
GetMatchingGroup
(
c92204263
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
for
tc
in
aux
.
Next
(
lg
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetColumnZone
(
LOCATION_MZONE
,
0
,
0
,
tc
:
GetControler
()))
end
return
0
,
zone
end
function
c92204263
.
seqfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x10c
)
end
function
c92204263
.
seqtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c92204263
.
seqfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c92204263
.
seqfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
92204263
,
1
))
Duel
.
SelectTarget
(
tp
,
c92204263
.
seqfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
end
function
c92204263
.
seqop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
or
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
571
)
local
s
=
Duel
.
SelectDisableField
(
tp
,
1
,
LOCATION_MZONE
,
0
,
0
)
local
nseq
=
math.log
(
s
,
2
)
Duel
.
MoveSequence
(
tc
,
nseq
)
end
expansions/script/c93020401.lua
deleted
100644 → 0
View file @
dc03b44a
--燈影の機界騎士
--Mekk-Knight of the Flickering Flame
--Scripted by Eerie Code
function
c93020401
.
initial_effect
(
c
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCountLimit
(
1
,
93020401
)
e1
:
SetCondition
(
c93020401
.
hspcon
)
e1
:
SetValue
(
c93020401
.
hspval
)
c
:
RegisterEffect
(
e1
)
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
93020401
,
0
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_LEAVE_FIELD
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e2
:
SetCondition
(
c93020401
.
spcon
)
e2
:
SetTarget
(
c93020401
.
sptg
)
e2
:
SetOperation
(
c93020401
.
spop
)
c
:
RegisterEffect
(
e2
)
end
function
c93020401
.
cfilter
(
c
)
return
c
:
GetColumnGroupCount
()
>
0
end
function
c93020401
.
hspcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
zone
=
0
local
lg
=
Duel
.
GetMatchingGroup
(
c93020401
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
for
tc
in
aux
.
Next
(
lg
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetColumnZone
(
LOCATION_MZONE
,
0
,
0
,
tc
:
GetControler
()))
end
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
>
0
end
function
c93020401
.
hspval
(
e
,
c
)
local
tp
=
c
:
GetControler
()
local
zone
=
0
local
lg
=
Duel
.
GetMatchingGroup
(
c93020401
.
cfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
for
tc
in
aux
.
Next
(
lg
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetColumnZone
(
LOCATION_MZONE
,
0
,
0
,
tc
:
GetControler
()))
end
return
0
,
zone
end
function
c93020401
.
spcfilter
(
c
,
tp
,
mc
)
if
c
:
GetPreviousControler
()
==
tp
then
return
false
end
local
loc
=
LOCATION_MZONE
if
c
:
IsPreviousLocation
(
LOCATION_SZONE
)
then
loc
=
LOCATION_SZONE
end
local
zone
=
mc
:
GetColumnZone
(
loc
)
local
seq
=
c
:
GetPreviousSequence
()
+
16
return
zone
and
bit
.
extract
(
zone
,
seq
)
~=
0
end
function
c93020401
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c93020401
.
spcfilter
,
1
,
nil
,
tp
,
e
:
GetHandler
())
end
function
c93020401
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x10c
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c93020401
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c93020401
.
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c93020401
.
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
,
c93020401
.
filter
,
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
expansions/script/c94142993.lua
deleted
100644 → 0
View file @
dc03b44a
--ティンダングル・イントルーダー
--Tindangle Intruder
--Script by nekrozar
function
c94142993
.
initial_effect
(
c
)
--flip
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
94142993
,
0
))
e1
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_FLIP
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetCountLimit
(
1
,
94142993
)
e1
:
SetTarget
(
c94142993
.
target
)
e1
:
SetOperation
(
c94142993
.
operation
)
c
:
RegisterEffect
(
e1
)
--to grave
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
94142993
,
1
))
e2
:
SetCategory
(
CATEGORY_TOGRAVE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e2
:
SetCountLimit
(
1
,
94142994
)
e2
:
SetTarget
(
c94142993
.
tgtg
)
e2
:
SetOperation
(
c94142993
.
tgop
)
c
:
RegisterEffect
(
e2
)
--special summon
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
94142993
,
2
))
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetCountLimit
(
1
,
94142995
)
e3
:
SetCondition
(
c94142993
.
spcon
)
e3
:
SetTarget
(
c94142993
.
sptg
)
e3
:
SetOperation
(
c94142993
.
spop
)
c
:
RegisterEffect
(
e3
)
end
function
c94142993
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x10b
)
and
c
:
IsAbleToHand
()
end
function
c94142993
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c94142993
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c94142993
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c94142993
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
tp
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
function
c94142993
.
tgfilter
(
c
)
return
c
:
IsSetCard
(
0x10b
)
and
c
:
IsAbleToGrave
()
end
function
c94142993
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c94142993
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c94142993
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c94142993
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
end
end
function
c94142993
.
cfilter
(
c
,
tp
)
return
c
:
IsPosition
(
POS_FACEDOWN_DEFENSE
)
and
c
:
IsControler
(
tp
)
end
function
c94142993
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c94142993
.
cfilter
,
1
,
nil
,
tp
)
end
function
c94142993
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsRelateToEffect
(
e
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c94142993
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
c
)
end
end
expansions/script/c94365540.lua
deleted
100644 → 0
View file @
dc03b44a
--ティンダングル・ベース・ガードナー
--Tindangle Base Gardna
function
c94365540
.
initial_effect
(
c
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_SPSUM_PARAM
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetTargetRange
(
POS_FACEUP_DEFENSE
,
0
)
e1
:
SetCountLimit
(
1
,
94365540
)
e1
:
SetCondition
(
c94365540
.
condition
)
c
:
RegisterEffect
(
e1
)
--Special summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
94365540
,
0
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCost
(
c94365540
.
spcost
)
e2
:
SetCondition
(
c94365540
.
spcon
)
e2
:
SetTarget
(
c94365540
.
sptg
)
e2
:
SetOperation
(
c94365540
.
spop
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
c
:
RegisterEffect
(
e3
)
end
function
c94365540
.
filter
(
c
)
return
c
:
IsFacedown
()
end
function
c94365540
.
condition
(
e
,
c
)
if
c
==
nil
then
return
true
end
return
Duel
.
GetLocationCount
(
c
:
GetControler
(),
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c94365540
.
filter
,
c
:
GetControler
(),
LOCATION_MZONE
,
0
,
1
,
nil
)
end
function
c94365540
.
cfilter
(
c
,
tp
,
zone
)
local
seq
=
c
:
GetSequence
()
if
c
:
IsControler
(
tp
)
then
seq
=
seq
+
16
end
return
bit
.
extract
(
zone
,
seq
)
~=
0
end
function
c94365540
.
lkfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_LINK
)
end
function
c94365540
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
zone
=
0
local
lg
=
Duel
.
GetMatchingGroup
(
c94365540
.
lkfilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
for
tc
in
aux
.
Next
(
lg
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetLinkedZone
())
end
return
not
eg
:
IsContains
(
e
:
GetHandler
())
and
eg
:
IsExists
(
c94365540
.
cfilter
,
1
,
nil
,
tp
,
zone
)
end
function
c94365540
.
spcost
(
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
c94365540
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x10b
)
and
(
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
or
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
))
end
function
c94365540
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
IsExistingMatchingCard
(
c94365540
.
spfilter
,
tp
,
LOCATION_DECK
+
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_HAND
)
end
function
c94365540
.
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
,
aux
.
NecroValleyFilter
(
c94365540
.
spfilter
),
tp
,
LOCATION_DECK
+
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
if
tc
then
local
spos
=
0
if
tc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
then
spos
=
spos
+
POS_FACEUP_ATTACK
end
if
tc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
then
spos
=
spos
+
POS_FACEDOWN_DEFENSE
end
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
spos
)
if
tc
:
IsFacedown
()
then
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
end
end
end
expansions/script/c9547962.lua
deleted
100644 → 0
View file @
dc03b44a
--オイラーサーキット
--Euler Circuit
--Scripted by Eerie Code
function
c9547962
.
initial_effect
(
c
)
--activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
--cannot attack
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_CANNOT_ATTACK
)
e2
:
SetRange
(
LOCATION_FZONE
)
e2
:
SetTargetRange
(
0
,
LOCATION_MZONE
)
e2
:
SetCondition
(
c9547962
.
atkcon
)
c
:
RegisterEffect
(
e2
)
--give control
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetCategory
(
CATEGORY_CONTROL
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_PHASE
+
PHASE_STANDBY
)
e3
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e3
:
SetRange
(
LOCATION_FZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCondition
(
c9547962
.
ctcon
)
e3
:
SetTarget
(
c9547962
.
cttg
)
e3
:
SetOperation
(
c9547962
.
ctop
)
c
:
RegisterEffect
(
e3
)
--search
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetCategory
(
CATEGORY_TOHAND
+
CATEGORY_SEARCH
)
e5
:
SetType
(
EFFECT_TYPE_IGNITION
)
e5
:
SetRange
(
LOCATION_GRAVE
)
e5
:
SetCountLimit
(
1
,
9547962
)
e5
:
SetCost
(
c9547962
.
thcost
)
e5
:
SetTarget
(
c9547962
.
thtg
)
e5
:
SetOperation
(
c9547962
.
thop
)
c
:
RegisterEffect
(
e5
)
end
function
c9547962
.
atkfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x10b
)
end
function
c9547962
.
atkcon
(
e
)
return
Duel
.
IsExistingMatchingCard
(
c9547962
.
atkfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_MZONE
,
0
,
3
,
nil
)
end
function
c9547962
.
ctcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
tp
end
function
c9547962
.
ctfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x10b
)
and
c
:
IsAbleToChangeControler
()
end
function
c9547962
.
cttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c9547962
.
ctfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c9547962
.
ctfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONTROL
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c9547962
.
ctfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_CONTROL
,
g
,
1
,
0
,
0
)
end
function
c9547962
.
ctop
(
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
)
and
tc
:
IsControler
(
tp
)
then
Duel
.
GetControl
(
tc
,
1
-
tp
)
end
end
function
c9547962
.
cfilter
(
c
)
return
c
:
IsSetCard
(
0x10b
)
and
c
:
IsDiscardable
()
end
function
c9547962
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToRemoveAsCost
()
and
Duel
.
IsExistingMatchingCard
(
c9547962
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
Duel
.
Remove
(
e
:
GetHandler
(),
POS_FACEUP
,
REASON_COST
)
Duel
.
DiscardHand
(
tp
,
c9547962
.
cfilter
,
1
,
1
,
REASON_COST
+
REASON_DISCARD
)
end
function
c9547962
.
filter
(
c
)
return
c
:
IsCode
(
9547962
)
and
c
:
IsAbleToHand
()
end
function
c9547962
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c9547962
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c9547962
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstMatchingCard
(
c9547962
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
tc
then
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
end
end
expansions/script/c96540.lua
deleted
100644 → 0
View file @
dc03b44a
--ダウンビート
--Downbeat
--Script by nekrozar
function
c96540
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCountLimit
(
1
,
96540
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetCost
(
c96540
.
cost
)
e1
:
SetTarget
(
c96540
.
target
)
e1
:
SetOperation
(
c96540
.
activate
)
e1
:
SetLabel
(
0
)
c
:
RegisterEffect
(
e1
)
end
function
c96540
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
e
:
SetLabel
(
100
)
if
chk
==
0
then
return
true
end
end
function
c96540
.
costfilter
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
GetOriginalLevel
()
>
0
and
Duel
.
IsExistingMatchingCard
(
c96540
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
c
,
e
,
tp
)
end
function
c96540
.
spfilter
(
c
,
tc
,
e
,
tp
)
return
c
:
GetOriginalLevel
()
==
tc
:
GetOriginalLevel
()
-
1
and
c
:
GetOriginalRace
()
==
tc
:
GetOriginalRace
()
and
c
:
GetOriginalAttribute
()
==
tc
:
GetOriginalAttribute
()
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c96540
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
e
:
GetLabel
()
~=
100
then
return
false
end
e
:
SetLabel
(
0
)
return
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
Duel
.
CheckReleaseGroup
(
tp
,
c96540
.
costfilter
,
1
,
nil
,
e
,
tp
)
end
e
:
SetLabel
(
0
)
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c96540
.
costfilter
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
Release
(
g
,
REASON_COST
)
Duel
.
SetTargetCard
(
g
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
c96540
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c96540
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
tc
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
expansions/script/c97803170.lua
deleted
100644 → 0
View file @
dc03b44a
--デーモンの呼び声
--Call of the Archfiend
--Scripted by Eerie Code
function
c97803170
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetHintTiming
(
0
,
TIMING_END_PHASE
)
e1
:
SetTarget
(
c97803170
.
target
)
c
:
RegisterEffect
(
e1
)
--special summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
97803170
,
0
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_TOGRAVE
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetHintTiming
(
0
,
TIMING_END_PHASE
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetCost
(
c97803170
.
cost
)
e2
:
SetTarget
(
c97803170
.
sptg
)
e2
:
SetOperation
(
c97803170
.
spop
)
c
:
RegisterEffect
(
e2
)
end
function
c97803170
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetFlagEffect
(
tp
,
97803170
)
==
0
end
Duel
.
RegisterFlagEffect
(
tp
,
97803170
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
function
c97803170
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
c97803170
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
end
if
chk
==
0
then
return
true
end
local
b1
=
c97803170
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
and
c97803170
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
if
b1
and
Duel
.
SelectYesNo
(
tp
,
94
)
then
e
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_TOGRAVE
)
e
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e
:
SetOperation
(
c97803170
.
spop
)
c97803170
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
c97803170
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
else
e
:
SetCategory
(
0
)
e
:
SetProperty
(
0
)
e
:
SetOperation
(
nil
)
end
end
function
c97803170
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsRace
(
RACE_FIEND
)
and
c
:
IsLevelAbove
(
5
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c97803170
.
cfilter
(
c
)
return
c
:
IsRace
(
RACE_FIEND
)
end
function
c97803170
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c97803170
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c97803170
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
and
Duel
.
IsExistingMatchingCard
(
c97803170
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c97803170
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c97803170
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
DiscardHand
(
tp
,
c97803170
.
cfilter
,
1
,
1
,
REASON_EFFECT
,
nil
)
~=
0
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
or
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
expansions/script/c98935722.lua
deleted
100644 → 0
View file @
dc03b44a
--星遺物に眠る深層
--Deep Depths of the World Legacy's Slumber
--Script by nekrozar
function
c98935722
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetHintTiming
(
0
,
TIMING_END_PHASE
)
e1
:
SetTarget
(
c98935722
.
target
)
c
:
RegisterEffect
(
e1
)
--destroy
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_SINGLE
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCode
(
EVENT_LEAVE_FIELD_P
)
e2
:
SetOperation
(
c98935722
.
checkop
)
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD
)
e3
:
SetOperation
(
c98935722
.
desop
)
e3
:
SetLabelObject
(
e2
)
c
:
RegisterEffect
(
e3
)
--disable
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e4
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e4
:
SetRange
(
LOCATION_SZONE
)
e4
:
SetCondition
(
c98935722
.
discon
)
e4
:
SetOperation
(
c98935722
.
disop
)
c
:
RegisterEffect
(
e4
)
end
function
c98935722
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsLevelAbove
(
5
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c98935722
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c98935722
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
true
end
if
Duel
.
IsExistingTarget
(
c98935722
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
98935722
,
0
))
then
e
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e
:
SetOperation
(
c98935722
.
activate
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c98935722
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
else
e
:
SetCategory
(
0
)
e
:
SetProperty
(
0
)
e
:
SetOperation
(
nil
)
end
end
function
c98935722
.
activate
(
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
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
c
:
SetCardTarget
(
tc
)
Duel
.
SpecialSummonComplete
()
end
end
function
c98935722
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
e
:
GetHandler
():
IsDisabled
()
then
e
:
SetLabel
(
1
)
else
e
:
SetLabel
(
0
)
end
end
function
c98935722
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
e
:
GetLabelObject
():
GetLabel
()
~=
0
then
return
end
local
tc
=
e
:
GetHandler
():
GetFirstCardTarget
()
if
tc
and
tc
:
IsLocation
(
LOCATION_MZONE
)
then
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
end
end
function
c98935722
.
cfilter
(
c
,
tp
)
return
c
:
IsControler
(
tp
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x10c
)
end
function
c98935722
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
rp
~=
tp
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
re
:
GetHandler
():
GetColumnGroup
():
FilterCount
(
c98935722
.
cfilter
,
nil
,
tp
)
>
0
end
function
c98935722
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
NegateEffect
(
ev
)
end
expansions/script/c99157310.lua
deleted
100644 → 0
View file @
dc03b44a
--ティンダングル・ドロネー
--Tindangle Dalaunay
--Script by nekrozar
function
c99157310
.
initial_effect
(
c
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_BATTLE_DAMAGE
)
e1
:
SetCondition
(
c99157310
.
condition
)
e1
:
SetTarget
(
c99157310
.
target
)
e1
:
SetOperation
(
c99157310
.
activate
)
c
:
RegisterEffect
(
e1
)
--special summon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
99157310
,
0
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetHintTiming
(
0
,
TIMING_END_PHASE
)
e2
:
SetCondition
(
c99157310
.
spcon
)
e2
:
SetCost
(
aux
.
bfgcost
)
e2
:
SetTarget
(
c99157310
.
sptg
)
e2
:
SetOperation
(
c99157310
.
spop
)
c
:
RegisterEffect
(
e2
)
end
function
c99157310
.
cfilter1
(
c
)
return
c
:
IsSetCard
(
0x10b
)
and
c
:
IsType
(
TYPE_MONSTER
)
end
function
c99157310
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
ep
==
tp
and
Duel
.
GetAttacker
():
IsControler
(
1
-
tp
)
and
Duel
.
IsExistingMatchingCard
(
c99157310
.
cfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
3
,
nil
)
end
function
c99157310
.
filter
(
c
,
e
,
tp
)
return
c
:
IsCode
(
75119040
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c99157310
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tg
=
Duel
.
GetAttacker
()
if
chk
==
0
then
return
tg
:
IsOnField
()
and
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c99157310
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetTargetCard
(
tg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tg
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c99157310
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToBattle
()
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
then
if
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c99157310
.
filter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
function
c99157310
.
cfilter2
(
c
)
return
c
:
GetSequence
()
>=
5
end
function
c99157310
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
Duel
.
IsExistingMatchingCard
(
c99157310
.
cfilter2
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
function
c99157310
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x10b
)
and
c
:
IsCanBeEffectTarget
(
e
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
end
function
c99157310
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c99157310
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
chk
==
0
then
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
2
and
g
:
GetClassCount
(
Card
.
GetCode
)
>
2
end
local
tg
=
Group
.
CreateGroup
()
for
i
=
1
,
3
do
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
tg
:
Merge
(
sg
)
g
:
Remove
(
Card
.
IsCode
,
nil
,
sg
:
GetFirst
():
GetCode
())
end
Duel
.
SetTargetCard
(
tg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
tg
,
tg
:
GetCount
(),
0
,
0
)
end
function
c99157310
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
):
Filter
(
Card
.
IsRelateToEffect
,
nil
,
e
)
if
ft
<=
0
or
g
:
GetCount
()
==
0
or
(
g
:
GetCount
()
>
1
and
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
))
then
return
end
if
g
:
GetCount
()
<=
ft
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
ft
,
ft
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment