Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-pre-data
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
ygopro-pre-data
Commits
366e8449
Commit
366e8449
authored
Nov 19, 2019
by
mercury233
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update scripts
parent
7f7e6fcf
Changes
43
Show whitespace changes
Inline
Side-by-side
Showing
43 changed files
with
408 additions
and
518 deletions
+408
-518
script/c100257001.lua
script/c100257001.lua
+13
-16
script/c100257006.lua
script/c100257006.lua
+7
-7
script/c100257011.lua
script/c100257011.lua
+9
-14
script/c100257021.lua
script/c100257021.lua
+1
-1
script/c100257026.lua
script/c100257026.lua
+3
-5
script/c100257031.lua
script/c100257031.lua
+14
-14
script/c100257036.lua
script/c100257036.lua
+15
-15
script/c100257041.lua
script/c100257041.lua
+10
-16
script/c100257046.lua
script/c100257046.lua
+5
-11
script/c100257051.lua
script/c100257051.lua
+4
-3
script/c100257066.lua
script/c100257066.lua
+18
-19
script/c100257071.lua
script/c100257071.lua
+1
-0
script/c100257076.lua
script/c100257076.lua
+2
-2
script/c100257081.lua
script/c100257081.lua
+1
-0
script/c100257086.lua
script/c100257086.lua
+2
-2
script/c100257091.lua
script/c100257091.lua
+7
-10
script/c100257096.lua
script/c100257096.lua
+1
-1
script/c100337001.lua
script/c100337001.lua
+10
-15
script/c100423001.lua
script/c100423001.lua
+7
-7
script/c100423002.lua
script/c100423002.lua
+4
-4
script/c100423004.lua
script/c100423004.lua
+35
-108
script/c100423005.lua
script/c100423005.lua
+2
-2
script/c100423012.lua
script/c100423012.lua
+17
-3
script/c100423013.lua
script/c100423013.lua
+1
-2
script/c100423014.lua
script/c100423014.lua
+30
-62
script/c100423015.lua
script/c100423015.lua
+3
-5
script/c100423016.lua
script/c100423016.lua
+2
-5
script/c100423023.lua
script/c100423023.lua
+12
-16
script/c100423024.lua
script/c100423024.lua
+3
-3
script/c100423025.lua
script/c100423025.lua
+3
-2
script/c100423026.lua
script/c100423026.lua
+9
-10
script/c100423027.lua
script/c100423027.lua
+3
-3
script/c100423034.lua
script/c100423034.lua
+9
-7
script/c100423035.lua
script/c100423035.lua
+7
-5
script/c100423036.lua
script/c100423036.lua
+4
-2
script/c100423038.lua
script/c100423038.lua
+2
-3
script/c100423045.lua
script/c100423045.lua
+18
-6
script/c100423046.lua
script/c100423046.lua
+14
-22
script/c100423047.lua
script/c100423047.lua
+23
-27
script/c100423048.lua
script/c100423048.lua
+55
-32
script/c100423049.lua
script/c100423049.lua
+3
-3
script/c101012001.lua
script/c101012001.lua
+8
-18
script/c101012049.lua
script/c101012049.lua
+11
-10
No files found.
script/c100257001.lua
View file @
366e8449
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
--Scripted by mallu11
--Scripted by mallu11
function
c100257001
.
initial_effect
(
c
)
function
c100257001
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
nil
,
5
,
5
)
aux
.
AddLinkProcedure
(
c
,
nil
,
5
,
5
)
--spsummon condition
--spsummon condition
...
@@ -9,7 +10,7 @@ function c100257001.initial_effect(c)
...
@@ -9,7 +10,7 @@ function c100257001.initial_effect(c)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e1
:
SetValue
(
aux
.
lnklimit
)
e1
:
SetValue
(
aux
.
l
i
nklimit
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--mat check
--mat check
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
...
@@ -24,10 +25,10 @@ function c100257001.initial_effect(c)
...
@@ -24,10 +25,10 @@ function c100257001.initial_effect(c)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetLabelObject
(
e2
)
e3
:
SetCondition
(
c100257001
.
descon
)
e3
:
SetCondition
(
c100257001
.
descon
)
e3
:
SetTarget
(
c100257001
.
destg
)
e3
:
SetTarget
(
c100257001
.
destg
)
e3
:
SetOperation
(
c100257001
.
desop
)
e3
:
SetOperation
(
c100257001
.
desop
)
e3
:
SetLabelObject
(
e2
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
--immume
--immume
local
e4
=
Effect
.
CreateEffect
(
c
)
local
e4
=
Effect
.
CreateEffect
(
c
)
...
@@ -55,12 +56,6 @@ function c100257001.initial_effect(c)
...
@@ -55,12 +56,6 @@ function c100257001.initial_effect(c)
e6
:
SetOperation
(
c100257001
.
rmop
)
e6
:
SetOperation
(
c100257001
.
rmop
)
c
:
RegisterEffect
(
e6
)
c
:
RegisterEffect
(
e6
)
end
end
function
c100257001
.
efilter
(
e
,
te
)
return
te
:
GetOwner
()
~=
e
:
GetOwner
()
end
function
c100257001
.
indes
(
e
,
c
)
return
c
:
IsAttribute
(
ATTRIBUTE_DARK
+
ATTRIBUTE_EARTH
+
ATTRIBUTE_WATER
+
ATTRIBUTE_FIRE
+
ATTRIBUTE_WIND
)
end
function
c100257001
.
matcheck
(
e
,
c
)
function
c100257001
.
matcheck
(
e
,
c
)
local
g
=
c
:
GetMaterial
()
local
g
=
c
:
GetMaterial
()
local
att
=
0
local
att
=
0
...
@@ -86,6 +81,12 @@ function c100257001.desop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -86,6 +81,12 @@ function c100257001.desop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
end
end
function
c100257001
.
efilter
(
e
,
te
)
return
te
:
GetOwner
()
~=
e
:
GetOwner
()
end
function
c100257001
.
indes
(
e
,
c
)
return
c
:
IsAttribute
(
ATTRIBUTE_DARK
+
ATTRIBUTE_EARTH
+
ATTRIBUTE_WATER
+
ATTRIBUTE_FIRE
+
ATTRIBUTE_WIND
)
end
function
c100257001
.
rmcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257001
.
rmcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
1
-
tp
return
Duel
.
GetTurnPlayer
()
==
1
-
tp
end
end
...
@@ -96,19 +97,15 @@ function c100257001.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -96,19 +97,15 @@ function c100257001.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c100257001
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257001
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
res
=
tru
e
local
res
=
fals
e
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemove
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemove
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
if
g
:
GetCount
()
>=
5
then
if
g
:
GetCount
()
>=
5
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToRemove
,
tp
,
LOCATION_GRAVE
,
0
,
5
,
5
,
nil
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToRemove
,
tp
,
LOCATION_GRAVE
,
0
,
5
,
5
,
nil
)
Duel
.
Remove
(
sg
,
POS_FACEDOWN
,
REASON_EFFECT
)
Duel
.
Remove
(
sg
,
POS_FACEDOWN
,
REASON_EFFECT
)
local
tc
=
sg
:
GetFirst
()
if
Duel
.
GetOperatedGroup
():
FilterCount
(
Card
.
IsLocation
,
nil
,
LOCATION_REMOVED
)
==
5
then
res
=
true
end
while
tc
do
res
=
res
and
tc
:
IsLocation
(
LOCATION_REMOVED
)
tc
=
sg
:
GetNext
()
end
end
else
res
=
false
end
if
not
res
and
c
:
IsRelateToEffect
(
e
)
then
if
res
==
false
and
c
:
IsRelateToEffect
(
e
)
then
Duel
.
SendtoGrave
(
c
,
REASON_EFFECT
)
Duel
.
SendtoGrave
(
c
,
REASON_EFFECT
)
end
end
end
end
script/c100257006.lua
View file @
366e8449
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
--Scripted by mallu11
--Scripted by mallu11
function
c100257006
.
initial_effect
(
c
)
function
c100257006
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
2
)
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
2
)
--to grave
--to grave
...
@@ -36,20 +37,19 @@ end
...
@@ -36,20 +37,19 @@ end
function
c100257006
.
tgfilter
(
c
)
function
c100257006
.
tgfilter
(
c
)
return
c
:
IsSetCard
(
0xd6
)
and
c
:
IsAbleToGrave
()
return
c
:
IsSetCard
(
0xd6
)
and
c
:
IsAbleToGrave
()
end
end
function
c100257006
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0xd7
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c100257006
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100257006
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100257006
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100257006
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
end
function
c100257006
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0xd7
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c100257006
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257006
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100257006
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100257006
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
tc
=
g
:
GetFirst
()
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
~=
0
and
g
:
GetFirst
():
IsLocation
(
LOCATION_GRAVE
)
if
tc
and
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
~=
0
and
tc
:
IsLocation
(
LOCATION_GRAVE
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100257006
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
and
Duel
.
IsExistingMatchingCard
(
c100257006
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
100257006
,
2
))
then
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
100257006
,
2
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
@@ -66,7 +66,7 @@ end
...
@@ -66,7 +66,7 @@ end
function
c100257006
.
damtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c100257006
.
damtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c100257006
.
damfilter
(
chkc
)
end
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c100257006
.
damfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c100257006
.
damfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c100257006
.
damfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_
SELF
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_
FACEUP
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c100257006
.
damfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c100257006
.
damfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
1
-
tp
,
g
:
GetFirst
():
GetAttack
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
1
-
tp
,
g
:
GetFirst
():
GetAttack
())
end
end
...
...
script/c100257011.lua
View file @
366e8449
...
@@ -29,7 +29,7 @@ function c100257011.lcheck(g,lc)
...
@@ -29,7 +29,7 @@ function c100257011.lcheck(g,lc)
end
end
function
c100257011
.
lmlimit
(
e
)
function
c100257011
.
lmlimit
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
IsS
ummonType
(
SUMMON_TYPE_LINK
)
and
c
:
GetTurnID
()
==
Duel
.
GetTurnCount
(
)
return
c
:
IsS
tatus
(
STATUS_SPSUMMON_TURN
)
and
c
:
IsSummonType
(
SUMMON_TYPE_LINK
)
end
end
function
c100257011
.
cfilter
(
c
,
tp
)
function
c100257011
.
cfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
return
c
:
IsFaceup
()
...
@@ -51,16 +51,11 @@ function c100257011.eqop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -51,16 +51,11 @@ function c100257011.eqop(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
<=
0
then
return
end
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
local
flag
=
0
local
att
=
tc
:
GetOriginalAttribute
()
local
race
=
tc
:
GetOriginalRace
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100257011
.
eqfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
att
,
race
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100257011
.
eqfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
tc
:
GetOriginalAttribute
(),
tc
:
GetOriginalRace
(),
tp
)
local
gc
=
g
:
GetFirst
()
local
sc
=
g
:
GetFirst
()
if
gc
:
IsLocation
(
LOCATION_DECK
)
then
local
res
=
sc
:
IsLocation
(
LOCATION_DECK
)
and
true
or
false
flag
=
1
if
not
Duel
.
Equip
(
tp
,
sc
,
tc
)
then
return
end
end
if
not
Duel
.
Equip
(
tp
,
gc
,
tc
)
then
return
end
--equip limit
--equip limit
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -69,21 +64,21 @@ function c100257011.eqop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -69,21 +64,21 @@ function c100257011.eqop(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetLabelObject
(
tc
)
e1
:
SetLabelObject
(
tc
)
e1
:
SetValue
(
c100257011
.
eqlimit
)
e1
:
SetValue
(
c100257011
.
eqlimit
)
g
c
:
RegisterEffect
(
e1
)
s
c
:
RegisterEffect
(
e1
)
--atk up
--atk up
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_EQUIP
)
e2
:
SetType
(
EFFECT_TYPE_EQUIP
)
e2
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e2
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e2
:
SetValue
(
1000
)
e2
:
SetValue
(
1000
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
g
c
:
RegisterEffect
(
e2
)
s
c
:
RegisterEffect
(
e2
)
if
flag
==
1
then
if
res
then
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e3
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e3
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e3
:
SetTargetRange
(
1
,
0
)
e3
:
SetTargetRange
(
1
,
0
)
e3
:
SetLabel
(
g
c
:
GetCode
())
e3
:
SetLabel
(
s
c
:
GetCode
())
e3
:
SetTarget
(
c100257011
.
splimit
)
e3
:
SetTarget
(
c100257011
.
splimit
)
e3
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e3
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e3
,
tp
)
Duel
.
RegisterEffect
(
e3
,
tp
)
...
...
script/c100257021.lua
View file @
366e8449
...
@@ -74,7 +74,7 @@ function c100257021.thop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -74,7 +74,7 @@ function c100257021.thop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c100257021
.
thfilter
),
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c100257021
.
thfilter
),
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
2
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
2
)
if
sg
then
if
sg
and
sg
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
end
end
...
...
script/c100257026.lua
View file @
366e8449
...
@@ -71,19 +71,17 @@ function c100257026.desrepop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -71,19 +71,17 @@ function c100257026.desrepop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Destroy
(
tc
,
REASON_EFFECT
+
REASON_REPLACE
)
Duel
.
Destroy
(
tc
,
REASON_EFFECT
+
REASON_REPLACE
)
end
end
function
c100257026
.
spfilter
(
c
,
e
,
tp
,
lv
)
function
c100257026
.
spfilter
(
c
,
e
,
tp
,
lv
)
return
c
:
IsRace
(
RACE_WINDBEAST
)
and
c
:
Is
CanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
IsLevelBelow
(
lv
)
return
c
:
IsRace
(
RACE_WINDBEAST
)
and
c
:
Is
LevelBelow
(
lv
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c100257026
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100257026
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ct
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
local
ct
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
,
PLAYER_NONE
,
0
)
+
Duel
.
GetLocationCount
(
1
-
tp
,
LOCATION_SZONE
,
PLAYER_NONE
,
0
)
ct
=
ct
+
Duel
.
GetLocationCount
(
1
-
tp
,
LOCATION_SZONE
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100257026
.
spfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
,
ct
)
end
and
Duel
.
IsExistingMatchingCard
(
c100257026
.
spfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
,
ct
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
)
end
end
function
c100257026
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257026
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
ct
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
local
ct
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
,
PLAYER_NONE
,
0
)
+
Duel
.
GetLocationCount
(
1
-
tp
,
LOCATION_SZONE
,
PLAYER_NONE
,
0
)
ct
=
ct
+
Duel
.
GetLocationCount
(
1
-
tp
,
LOCATION_SZONE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100257026
.
spfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
,
ct
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100257026
.
spfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
,
ct
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
...
...
script/c100257031.lua
View file @
366e8449
...
@@ -32,12 +32,6 @@ function c100257031.initial_effect(c)
...
@@ -32,12 +32,6 @@ function c100257031.initial_effect(c)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
Duel
.
AddCustomActivityCounter
(
100257031
,
ACTIVITY_SPSUMMON
,
c100257031
.
counterfilter
)
Duel
.
AddCustomActivityCounter
(
100257031
,
ACTIVITY_SPSUMMON
,
c100257031
.
counterfilter
)
end
end
function
c100257031
.
atktg
(
e
,
c
)
return
e
:
GetHandler
():
GetLinkedGroup
():
IsContains
(
c
)
and
c
:
IsRace
(
RACE_FIEND
)
end
function
c100257031
.
atkval
(
e
,
c
)
return
c
:
GetLevel
()
*
100
end
function
c100257031
.
counterfilter
(
c
)
function
c100257031
.
counterfilter
(
c
)
return
c
:
IsSetCard
(
0x8
)
return
c
:
IsSetCard
(
0x8
)
end
end
...
@@ -60,10 +54,10 @@ function c100257031.splimit(e,c)
...
@@ -60,10 +54,10 @@ function c100257031.splimit(e,c)
end
end
function
c100257031
.
ffilter
(
c
,
tp
)
function
c100257031
.
ffilter
(
c
,
tp
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x8
)
return
c
:
IsType
(
TYPE_FUSION
)
and
c
:
IsSetCard
(
0x8
)
and
c
.
material
and
Duel
.
IsExistingMatchingCard
(
c100257031
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
c
)
and
Duel
.
IsExistingMatchingCard
(
c100257031
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
c
)
end
end
function
c100257031
.
thfilter
(
c
,
fc
)
function
c100257031
.
thfilter
(
c
,
fc
)
return
c
:
IsCode
(
table.unpack
(
fc
.
material
))
and
c
:
IsAbleToHand
()
and
c
:
IsType
(
TYPE_MONSTER
)
return
aux
.
IsMaterialListCode
(
fc
,
c
:
GetCode
(
))
and
c
:
IsAbleToHand
()
and
c
:
IsType
(
TYPE_MONSTER
)
end
end
function
c100257031
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100257031
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100257031
.
ffilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100257031
.
ffilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
tp
)
end
...
@@ -71,15 +65,21 @@ function c100257031.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -71,15 +65,21 @@ function c100257031.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c100257031
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257031
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
r
c
=
Duel
.
SelectMatchingCard
(
tp
,
c100257031
.
ffilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
tp
):
GetFirst
()
local
t
c
=
Duel
.
SelectMatchingCard
(
tp
,
c100257031
.
ffilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
tp
):
GetFirst
()
if
r
c
then
if
t
c
then
Duel
.
ConfirmCards
(
1
-
tp
,
r
c
)
Duel
.
ConfirmCards
(
1
-
tp
,
t
c
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
GetMatchingGroup
(
c100257031
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
r
c
)
local
g
=
Duel
.
GetMatchingGroup
(
c100257031
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
t
c
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
2
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
2
)
if
sg
then
if
sg
and
sg
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
end
end
end
end
end
end
function
c100257031
.
atktg
(
e
,
c
)
return
e
:
GetHandler
():
GetLinkedGroup
():
IsContains
(
c
)
and
c
:
IsRace
(
RACE_FIEND
)
end
function
c100257031
.
atkval
(
e
,
c
)
return
c
:
GetLevel
()
*
100
end
script/c100257036.lua
View file @
366e8449
...
@@ -2,9 +2,10 @@
...
@@ -2,9 +2,10 @@
--Scripted by mallu11
--Scripted by mallu11
function
c100257036
.
initial_effect
(
c
)
function
c100257036
.
initial_effect
(
c
)
c
:
EnableCounterPermit
(
0x1
)
--link summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
3
,
c100257036
.
lcheck
)
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
3
,
c100257036
.
lcheck
)
c
:
EnableCounterPermit
(
0x1
)
--add counter
--add counter
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
100257036
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
100257036
,
0
))
...
@@ -41,35 +42,34 @@ end
...
@@ -41,35 +42,34 @@ end
function
c100257036
.
lcheck
(
g
,
lc
)
function
c100257036
.
lcheck
(
g
,
lc
)
return
g
:
IsExists
(
Card
.
IsLinkRace
,
1
,
nil
,
RACE_SPELLCASTER
)
return
g
:
IsExists
(
Card
.
IsLinkRace
,
1
,
nil
,
RACE_SPELLCASTER
)
end
end
function
c100257036
.
atfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x12a
)
end
function
c100257036
.
atcon
(
e
)
return
Duel
.
IsExistingMatchingCard
(
c100257036
.
atfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
nil
)
end
function
c100257036
.
ctfilter
(
c
)
function
c100257036
.
ctfilter
(
c
)
return
c
:
IsFaceup
(
)
and
c
:
IsType
(
TYPE_SPELL
)
return
(
c
:
IsLocation
(
LOCATION_GRAVE
)
or
c
:
IsFaceup
()
)
and
c
:
IsType
(
TYPE_SPELL
)
end
end
function
c100257036
.
ctcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257036
.
ctcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
end
end
function
c100257036
.
ctop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257036
.
ctop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
loc
=
LOCATION_ONFIELD
+
LOCATION_GRAVE
local
g
=
Duel
.
GetMatchingGroup
(
c100257036
.
ctfilter
,
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c100257036
.
ctfilter
,
tp
,
loc
,
loc
,
nil
)
if
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
and
g
:
GetCount
()
>
0
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
and
g
:
GetCount
()
>
0
then
c
:
AddCounter
(
0x1
,
g
:
GetCount
())
c
:
AddCounter
(
0x1
,
g
:
GetCount
())
end
end
end
end
function
c100257036
.
spfilter
(
c
,
e
,
tp
,
zone
)
function
c100257036
.
atfilter
(
c
)
return
c
:
IsRace
(
RACE_SPELLCASTER
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
,
tp
,
zone
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x12a
)
end
function
c100257036
.
atcon
(
e
)
return
Duel
.
IsExistingMatchingCard
(
c100257036
.
atfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
nil
)
end
end
function
c100257036
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257036
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
return
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
end
end
function
c100257036
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100257036
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsCanRemoveCounter
(
tp
,
LOCATION_ONFIELD
,
0
,
0x1
,
3
,
REASON_COST
)
end
if
chk
==
0
then
return
Duel
.
IsCanRemoveCounter
(
tp
,
1
,
0
,
0x1
,
3
,
REASON_COST
)
end
Duel
.
RemoveCounter
(
tp
,
LOCATION_ONFIELD
,
0
,
0x1
,
3
,
REASON_COST
)
Duel
.
RemoveCounter
(
tp
,
1
,
0
,
0x1
,
3
,
REASON_COST
)
end
function
c100257036
.
spfilter
(
c
,
e
,
tp
,
zone
)
return
c
:
IsRace
(
RACE_SPELLCASTER
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
,
tp
,
zone
)
end
end
function
c100257036
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100257036
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
zone
=
bit
.
band
(
e
:
GetHandler
():
GetLinkedZone
(
tp
),
0x1f
)
local
zone
=
bit
.
band
(
e
:
GetHandler
():
GetLinkedZone
(
tp
),
0x1f
)
...
...
script/c100257041.lua
View file @
366e8449
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
--Scripted by mallu11
--Scripted by mallu11
function
c100257041
.
initial_effect
(
c
)
function
c100257041
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
2
,
c100257041
.
lcheck
)
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
2
,
c100257041
.
lcheck
)
--spsummon1
--spsummon1
...
@@ -45,27 +46,20 @@ function c100257041.spfilter1(c,e,tp)
...
@@ -45,27 +46,20 @@ function c100257041.spfilter1(c,e,tp)
return
c
:
IsType
(
TYPE_SYNCHRO
)
and
(
c
:
IsSetCard
(
0x123
)
or
c
:
IsRace
(
RACE_PLANT
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_SYNCHRO
,
tp
,
false
,
false
)
return
c
:
IsType
(
TYPE_SYNCHRO
)
and
(
c
:
IsSetCard
(
0x123
)
or
c
:
IsRace
(
RACE_PLANT
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_SYNCHRO
,
tp
,
false
,
false
)
end
end
function
c100257041
.
spcost1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100257041
.
spcost1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
e
:
SetLabel
(
1
)
if
chk
==
0
then
return
true
end
end
function
c100257041
.
sptg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
if
chk
==
0
then
return
c
:
IsReleasable
()
and
Duel
.
CheckReleaseGroup
(
tp
,
c100257041
.
rfilter
,
1
,
c
,
e
,
tp
,
c
)
end
if
e
:
GetLabel
()
==
0
then
return
false
end
e
:
SetLabel
(
0
)
return
c
:
IsReleasable
()
and
Duel
.
CheckReleaseGroup
(
tp
,
c100257041
.
rfilter
,
1
,
c
,
e
,
tp
,
c
)
and
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_SMATERIAL
)
and
Duel
.
IsExistingMatchingCard
(
c100257041
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
e
:
SetLabel
(
0
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c100257041
.
rfilter
,
1
,
1
,
c
,
e
,
tp
,
c
)
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c100257041
.
rfilter
,
1
,
1
,
c
,
e
,
tp
,
c
)
g
:
AddCard
(
c
)
g
:
AddCard
(
c
)
Duel
.
Release
(
g
,
REASON_COST
)
Duel
.
Release
(
g
,
REASON_COST
)
end
function
c100257041
.
sptg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_SMATERIAL
)
and
Duel
.
IsExistingMatchingCard
(
c100257041
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
end
function
c100257041
.
spop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257041
.
spop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
then
return
end
if
Duel
.
GetLocationCountFromEx
(
tp
)
<=
0
or
not
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_SMATERIAL
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100257041
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100257041
.
spfilter1
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
...
@@ -76,12 +70,12 @@ end
...
@@ -76,12 +70,12 @@ end
function
c100257041
.
cfilter
(
c
,
tp
)
function
c100257041
.
cfilter
(
c
,
tp
)
return
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
GetPreviousControler
()
==
tp
and
c
:
IsReason
(
REASON_EFFECT
)
return
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
GetPreviousControler
()
==
tp
and
c
:
IsReason
(
REASON_EFFECT
)
end
end
function
c100257041
.
spfilter2
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x1123
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c100257041
.
spcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257041
.
spcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c100257041
.
cfilter
,
1
,
nil
,
tp
)
and
not
eg
:
IsContains
(
e
:
GetHandler
())
return
eg
:
IsExists
(
c100257041
.
cfilter
,
1
,
nil
,
tp
)
and
not
eg
:
IsContains
(
e
:
GetHandler
())
end
end
function
c100257041
.
spfilter2
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x1123
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c100257041
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100257041
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100257041
.
spfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingMatchingCard
(
c100257041
.
spfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
...
...
script/c100257046.lua
View file @
366e8449
...
@@ -35,9 +35,9 @@ function c100257046.atkcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -35,9 +35,9 @@ function c100257046.atkcon(e,tp,eg,ep,ev,re,r,rp)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
end
end
function
c100257046
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c100257046
.
atktg
(
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
:
IsFaceup
()
and
chkc
:
GetAttack
()
>
0
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
1
-
tp
)
and
aux
.
nzatk
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
aux
.
nzatk
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
aux
.
nzatk
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_
OPPO
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_
FACEUP
)
Duel
.
SelectTarget
(
tp
,
aux
.
nzatk
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SelectTarget
(
tp
,
aux
.
nzatk
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
end
end
function
c100257046
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257046
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -53,29 +53,23 @@ function c100257046.atkop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -53,29 +53,23 @@ function c100257046.atkop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
c100257046
.
cfilter
(
c
)
function
c100257046
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
GetAttack
()
==
0
return
c
:
IsFaceup
()
and
c
:
IsAttack
(
0
)
end
end
function
c100257046
.
thfilter
(
c
)
function
c100257046
.
thfilter
(
c
)
return
c
:
IsRace
(
RACE_REPTILE
)
and
c
:
IsAbleToHand
()
return
c
:
IsRace
(
RACE_REPTILE
)
and
c
:
IsAbleToHand
()
end
end
function
c100257046
.
fselect
(
g
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
==
g
:
GetCount
()
then
Duel
.
SetSelectedCard
(
g
)
return
true
else
return
false
end
end
function
c100257046
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100257046
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ct
=
Duel
.
GetMatchingGroupCount
(
c100257046
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
ct
=
Duel
.
GetMatchingGroupCount
(
c100257046
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c100257046
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c100257046
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
chk
==
0
then
return
ct
>
0
and
g
:
GetCount
()
>
0
end
if
chk
==
0
then
return
ct
>
0
and
g
:
GetCount
()
>
0
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
0
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
end
function
c100257046
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257046
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
Duel
.
GetMatchingGroupCount
(
c100257046
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
ct
=
Duel
.
GetMatchingGroupCount
(
c100257046
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c100257046
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c100257046
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
ct
>
0
and
g
:
GetCount
()
>
0
then
if
ct
>
0
and
g
:
GetCount
()
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
c100257046
.
fselect
,
false
,
1
,
ct
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ct
)
if
sg
:
GetCount
()
>
0
then
if
sg
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
...
...
script/c100257051.lua
View file @
366e8449
...
@@ -31,14 +31,15 @@ function c100257051.tkcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -31,14 +31,15 @@ function c100257051.tkcon(e,tp,eg,ep,ev,re,r,rp)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_LINK
)
end
end
function
c100257051
.
tktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100257051
.
tktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
2
if
chk
==
0
then
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
100257151
,
0x101b
,
0x4011
,
0
,
0
,
3
,
RACE_MACHINE
,
ATTRIBUTE_WIND
)
end
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
2
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
31533705
,
0x101b
,
0x4011
,
0
,
0
,
3
,
RACE_MACHINE
,
ATTRIBUTE_WIND
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
3
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
3
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
3
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
3
,
0
,
0
)
end
end
function
c100257051
.
tkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257051
.
tkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
2
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
2
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
100257151
,
0x101b
,
0x4011
,
0
,
0
,
3
,
RACE_MACHINE
,
ATTRIBUTE_WIND
)
then
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
31533705
,
0x101b
,
0x4011
,
0
,
0
,
3
,
RACE_MACHINE
,
ATTRIBUTE_WIND
)
then
local
ct
=
3
local
ct
=
3
while
ct
>
0
do
while
ct
>
0
do
local
token
=
Duel
.
CreateToken
(
tp
,
100257151
)
local
token
=
Duel
.
CreateToken
(
tp
,
100257151
)
...
...
script/c100257066.lua
View file @
366e8449
--幻奏の華
樂
聖ブルーム・ハーモニスト
--幻奏の華
楽
聖ブルーム・ハーモニスト
--Scripted by mallu11
--Scripted by mallu11
function
c100257066
.
initial_effect
(
c
)
function
c100257066
.
initial_effect
(
c
)
...
@@ -30,13 +30,6 @@ function c100257066.initial_effect(c)
...
@@ -30,13 +30,6 @@ function c100257066.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
Duel
.
AddCustomActivityCounter
(
100257066
,
ACTIVITY_SPSUMMON
,
c100257066
.
counterfilter
)
Duel
.
AddCustomActivityCounter
(
100257066
,
ACTIVITY_SPSUMMON
,
c100257066
.
counterfilter
)
end
end
function
c100257066
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x9b
)
end
function
c100257066
.
actcon
(
e
)
local
a
=
Duel
.
GetAttacker
()
return
a
and
c100257066
.
cfilter
(
a
)
and
e
:
GetHandler
():
GetLinkedGroup
():
IsContains
(
a
)
end
function
c100257066
.
counterfilter
(
c
)
function
c100257066
.
counterfilter
(
c
)
return
c
:
IsSetCard
(
0x9b
)
return
c
:
IsSetCard
(
0x9b
)
end
end
...
@@ -62,28 +55,34 @@ end
...
@@ -62,28 +55,34 @@ end
function
c100257066
.
spfilter
(
c
,
e
,
tp
,
zone
)
function
c100257066
.
spfilter
(
c
,
e
,
tp
,
zone
)
return
c
:
IsSetCard
(
0x9b
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
,
tp
,
zone
)
return
c
:
IsSetCard
(
0x9b
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
,
tp
,
zone
)
end
end
function
c100257066
.
fselect
(
g
)
if
g
:
GetClassCount
(
Card
.
GetLevel
)
==
g
:
GetCount
()
then
Duel
.
SetSelectedCard
(
g
)
return
true
else
return
false
end
end
function
c100257066
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100257066
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
zone
=
bit
.
band
(
e
:
GetHandler
():
GetLinkedZone
(
tp
),
0x1f
)
local
zone
=
bit
.
band
(
e
:
GetHandler
():
GetLinkedZone
(
tp
),
0x1f
)
local
c
t
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
local
f
t
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
local
g
=
Duel
.
GetMatchingGroup
(
c100257066
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
,
zone
)
local
g
=
Duel
.
GetMatchingGroup
(
c100257066
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
,
zone
)
if
chk
==
0
then
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
ct
>
1
and
g
:
GetClassCount
(
Card
.
GetLevel
)
>=
2
end
if
chk
==
0
then
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
ft
>
1
and
g
:
GetClassCount
(
Card
.
GetLevel
)
>=
2
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
end
function
c100257066
.
fselect
(
g
)
return
g
:
GetClassCount
(
Card
.
GetLevel
)
==
g
:
GetCount
()
end
function
c100257066
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257066
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
zone
=
bit
.
band
(
c
:
GetLinkedZone
(
tp
),
0x1f
)
local
zone
=
bit
.
band
(
c
:
GetLinkedZone
(
tp
),
0x1f
)
local
c
t
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
local
f
t
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
local
g
=
Duel
.
GetMatchingGroup
(
c100257066
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
,
zone
)
local
g
=
Duel
.
GetMatchingGroup
(
c100257066
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
,
e
,
tp
,
zone
)
if
c
:
IsRelateToEffect
(
e
)
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
ct
>
1
and
g
:
GetClassCount
(
Card
.
GetLevel
)
>=
2
then
if
c
:
IsRelateToEffect
(
e
)
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
ft
>
1
and
g
:
GetClassCount
(
Card
.
GetLevel
)
>=
2
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
c100257066
.
fselect
,
false
,
2
,
2
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
c100257066
.
fselect
,
false
,
2
,
2
)
if
sg
:
GetCount
()
==
2
then
if
sg
and
sg
:
GetCount
()
==
2
then
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
,
zone
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
,
zone
)
end
end
end
end
end
end
function
c100257066
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x9b
)
end
function
c100257066
.
actcon
(
e
)
local
a
=
Duel
.
GetAttacker
()
return
a
and
c100257066
.
cfilter
(
a
)
and
e
:
GetHandler
():
GetLinkedGroup
():
IsContains
(
a
)
end
script/c100257071.lua
View file @
366e8449
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
--Scripted by mallu11
--Scripted by mallu11
function
c100257071
.
initial_effect
(
c
)
function
c100257071
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
2
,
2
)
aux
.
AddLinkProcedure
(
c
,
aux
.
FilterBoolFunction
(
Card
.
IsLinkType
,
TYPE_EFFECT
),
2
,
2
)
--change attribute
--change attribute
...
...
script/c100257076.lua
View file @
366e8449
...
@@ -18,14 +18,14 @@ function c100257076.initial_effect(c)
...
@@ -18,14 +18,14 @@ function c100257076.initial_effect(c)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c100257076
.
mfilter
(
c
)
function
c100257076
.
mfilter
(
c
)
return
c
:
IsSetCard
(
0x10ec
)
and
c
:
IsLinkType
(
TYPE_PENDULUM
)
return
c
:
Is
Link
SetCard
(
0x10ec
)
and
c
:
IsLinkType
(
TYPE_PENDULUM
)
end
end
function
c100257076
.
spfilter
(
c
,
e
,
tp
)
function
c100257076
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
Duel
.
IsExistingMatchingCard
(
c100257076
.
stfilter
,
tp
,
LOCATION_EXTRA
+
LOCATION_DECK
,
0
,
1
,
nil
,
c
:
GetCode
())
and
Duel
.
IsExistingMatchingCard
(
c100257076
.
stfilter
,
tp
,
LOCATION_EXTRA
+
LOCATION_DECK
,
0
,
1
,
nil
,
c
:
GetCode
())
end
end
function
c100257076
.
stfilter
(
c
,
code
)
function
c100257076
.
stfilter
(
c
,
code
)
return
(
c
:
IsFaceup
()
or
c
:
IsLocation
(
LOCATION_DECK
))
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsSetCard
(
0x10ec
)
and
not
c
:
IsCode
(
code
)
return
(
c
:
IsFaceup
()
or
c
:
IsLocation
(
LOCATION_DECK
))
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsSetCard
(
0x10ec
)
and
not
c
:
IsCode
(
code
)
and
not
c
:
IsForbidden
()
end
end
function
c100257076
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c100257076
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_PZONE
)
and
chkc
:
IsControler
(
tp
)
and
c100257076
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_PZONE
)
and
chkc
:
IsControler
(
tp
)
and
c100257076
.
spfilter
(
chkc
,
e
,
tp
)
end
...
...
script/c100257081.lua
View file @
366e8449
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
--Scripted by mallu11
--Scripted by mallu11
function
c100257081
.
initial_effect
(
c
)
function
c100257081
.
initial_effect
(
c
)
--link summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
2
)
aux
.
AddLinkProcedure
(
c
,
nil
,
2
,
2
)
--spsummon condition
--spsummon condition
...
...
script/c100257086.lua
View file @
366e8449
...
@@ -11,7 +11,7 @@ function c100257086.initial_effect(c)
...
@@ -11,7 +11,7 @@ function c100257086.initial_effect(c)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e1
:
SetValue
(
aux
.
lnklimit
)
e1
:
SetValue
(
aux
.
l
i
nklimit
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--remove
--remove
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
...
@@ -89,7 +89,7 @@ function c100257086.retop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -89,7 +89,7 @@ function c100257086.retop(e,tp,eg,ep,ev,re,r,rp)
end
end
function
c100257086
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c100257086
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chkc
then
return
chkc
:
Is
Location
(
LOCATION_ONFIELD
)
and
chkc
:
IsControler
(
tp
)
and
chkc
~=
c
end
if
chkc
then
return
chkc
:
Is
OnField
(
)
and
chkc
:
IsControler
(
tp
)
and
chkc
~=
c
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
aux
.
TRUE
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
c
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
aux
.
TRUE
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
c
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectTarget
(
tp
,
aux
.
TRUE
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
c
)
local
g
=
Duel
.
SelectTarget
(
tp
,
aux
.
TRUE
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
c
)
...
...
script/c100257091.lua
View file @
366e8449
...
@@ -47,18 +47,18 @@ function c100257091.atkcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -47,18 +47,18 @@ function c100257091.atkcon(e,tp,eg,ep,ev,re,r,rp)
return
re
:
IsActiveType
(
TYPE_MONSTER
)
and
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_LOCATION
)
==
LOCATION_GRAVE
return
re
:
IsActiveType
(
TYPE_MONSTER
)
and
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_LOCATION
)
==
LOCATION_GRAVE
and
e
:
GetHandler
():
GetFlagEffect
(
1
)
>
0
and
e
:
GetHandler
():
GetFlagEffect
(
1
)
>
0
end
end
function
c100257091
.
atkcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c100257091
.
spfilter
,
1
,
nil
)
and
not
eg
:
IsContains
(
e
:
GetHandler
())
end
function
c100257091
.
spfilter
(
c
)
function
c100257091
.
spfilter
(
c
)
return
c
:
GetSummonLocation
()
==
LOCATION_GRAVE
return
c
:
GetSummonLocation
()
==
LOCATION_GRAVE
end
end
function
c100257091
.
atkcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c100257091
.
spfilter
,
1
,
nil
)
and
not
eg
:
IsContains
(
e
:
GetHandler
())
end
function
c100257091
.
atkfilter
(
c
)
function
c100257091
.
atkfilter
(
c
)
return
c
:
IsFaceup
()
and
not
(
c
:
GetAttack
()
==
0
and
(
c
:
IsDisabled
()
or
(
not
c
:
IsType
(
TYPE_EFFECT
)
and
c
:
GetOriginalType
()
&
TYPE_EFFECT
==
0
)))
return
c
:
IsFaceup
()
and
c
:
GetAttack
()
>
0
end
end
function
c100257091
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c100257091
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c
hkc
~=
c
and
c100257091
.
atkfilter
(
chkc
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
c
100257091
.
atkfilter
(
chkc
)
and
chkc
~=
c
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c100257091
.
atkfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
c
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c100257091
.
atkfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
c
)
end
local
g
=
Duel
.
SelectTarget
(
tp
,
c100257091
.
atkfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
c
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c100257091
.
atkfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
c
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DISABLE
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DISABLE
,
g
,
1
,
0
,
0
)
...
@@ -66,25 +66,22 @@ end
...
@@ -66,25 +66,22 @@ end
function
c100257091
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100257091
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
tc
:
GetAttack
()
>
0
then
Duel
.
NegateRelatedChain
(
tc
,
RESET_TURN_SET
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SET_ATTACK_FINAL
)
e1
:
SetCode
(
EFFECT_SET_ATTACK_FINAL
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetValue
(
0
)
e1
:
SetValue
(
0
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
Duel
.
NegateRelatedChain
(
tc
,
RESET_TURN_SET
)
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_DISABLE
)
e2
:
SetCode
(
EFFECT_DISABLE
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e2
)
tc
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_DISABLE_EFFECT
)
e3
:
SetCode
(
EFFECT_DISABLE_EFFECT
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetValue
(
RESET_TURN_SET
)
e3
:
SetValue
(
RESET_TURN_SET
)
e3
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e3
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e3
)
tc
:
RegisterEffect
(
e3
)
...
...
script/c100257096.lua
View file @
366e8449
...
@@ -52,7 +52,7 @@ function c100257096.tktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -52,7 +52,7 @@ function c100257096.tktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
1
-
tp
)
and
c100257096
.
tkfilter
(
chkc
,
tp
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
1
-
tp
)
and
c100257096
.
tkfilter
(
chkc
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c100257096
.
tkfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c100257096
.
tkfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
,
tp
)
end
local
g
=
Duel
.
SelectTarget
(
tp
,
c100257096
.
tkfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
,
tp
)
Duel
.
SelectTarget
(
tp
,
c100257096
.
tkfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
0
,
0
)
end
end
...
...
script/c100337001.lua
View file @
366e8449
...
@@ -64,20 +64,15 @@ function c100337001.tgop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -64,20 +64,15 @@ function c100337001.tgop(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
c100337001
.
tgfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
):
GetFirst
()
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
c100337001
.
tgfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
):
GetFirst
()
if
tc
and
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
~=
0
and
tc
:
IsLocation
(
LOCATION_GRAVE
)
then
if
tc
and
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
~=
0
and
tc
:
IsLocation
(
LOCATION_GRAVE
)
then
local
lv
=
tc
:
GetOriginalLevel
()
local
lv
=
tc
:
GetOriginalLevel
()
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
gc
=
g
:
GetFirst
()
while
gc
do
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
e1
:
SetValue
(
lv
*
100
)
e1
:
SetValue
(
lv
*
100
)
gc
:
RegisterEffect
(
e1
)
e1
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
Duel
.
RegisterEffect
(
e1
,
tp
)
local
e2
=
e1
:
Clone
()
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
e2
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
gc
:
RegisterEffect
(
e2
)
Duel
.
RegisterEffect
(
e2
,
tp
)
gc
=
g
:
GetNext
()
end
end
end
end
end
script/c100423001.lua
View file @
366e8449
...
@@ -47,6 +47,7 @@ function c100423001.drop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -47,6 +47,7 @@ function c100423001.drop(e,tp,eg,ep,ev,re,r,rp)
local
dc
=
Duel
.
GetOperatedGroup
():
GetFirst
()
local
dc
=
Duel
.
GetOperatedGroup
():
GetFirst
()
if
dc
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
dc
:
IsSSetable
()
if
dc
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
dc
:
IsSSetable
()
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
100423001
,
0
))
then
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
100423001
,
0
))
then
Duel
.
BreakEffect
()
Duel
.
SSet
(
tp
,
dc
)
Duel
.
SSet
(
tp
,
dc
)
if
dc
:
IsType
(
TYPE_QUICKPLAY
)
then
if
dc
:
IsType
(
TYPE_QUICKPLAY
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
...
@@ -75,19 +76,18 @@ function c100423001.spfilter2(c,e,tp)
...
@@ -75,19 +76,18 @@ function c100423001.spfilter2(c,e,tp)
return
c
:
IsCode
(
38033121
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsCode
(
38033121
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c100423001
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423001
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
loc
=
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_GRAVE
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100423001
.
spfilter1
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100423001
.
spfilter1
,
tp
,
loc
,
0
,
1
,
nil
,
e
,
tp
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
1
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
1
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
end
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
loc
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_GRAVE
)
end
end
function
c100423001
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423001
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<
2
then
return
end
local
loc
=
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_GRAVE
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c100423001
.
spfilter1
),
tp
,
loc
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c100423001
.
spfilter1
),
tp
,
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c100423001
.
spfilter2
),
tp
,
loc
,
0
,
1
,
1
,
g1
:
GetFirst
(),
e
,
tp
)
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c100423001
.
spfilter2
),
tp
,
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
g1
:
GetFirst
(),
e
,
tp
)
g1
:
Merge
(
g2
)
g1
:
Merge
(
g2
)
if
g1
:
GetCount
()
==
2
then
if
g1
:
GetCount
()
==
2
then
Duel
.
SpecialSummon
(
g1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
...
...
script/c100423002.lua
View file @
366e8449
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
--Scripted by mallu11
--Scripted by mallu11
function
c100423002
.
initial_effect
(
c
)
function
c100423002
.
initial_effect
(
c
)
aux
.
AddCodeList
(
c
,
46986414
,
38033121
)
--spsummon
--spsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
@@ -79,11 +80,10 @@ function c100423002.drfilter(c)
...
@@ -79,11 +80,10 @@ function c100423002.drfilter(c)
end
end
function
c100423002
.
drcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423002
.
drcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100423002
.
drfilter
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100423002
.
drfilter
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
1
,
nil
)
end
local
gc
=
1
local
ct
=
1
if
Duel
.
IsPlayerCanDraw
(
tp
,
2
)
then
gc
=
2
end
if
Duel
.
IsPlayerCanDraw
(
tp
,
2
)
then
ct
=
2
end
local
g1
=
Duel
.
GetMatchingGroup
(
c100423002
.
drfilter
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
g1
:
Select
(
tp
,
1
,
gc
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100423002
.
drfilter
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
1
,
ct
,
nil
)
e
:
SetLabel
(
Duel
.
SendtoGrave
(
g
,
REASON_COST
))
e
:
SetLabel
(
Duel
.
SendtoGrave
(
g
,
REASON_COST
))
end
end
function
c100423002
.
drtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423002
.
drtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
...
...
script/c100423004.lua
View file @
366e8449
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
--Scripted by mallu11
--Scripted by mallu11
function
c100423004
.
initial_effect
(
c
)
function
c100423004
.
initial_effect
(
c
)
aux
.
AddCodeList
(
c
,
46986414
,
38033121
)
--activate
--activate
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
@@ -12,54 +13,38 @@ function c100423004.initial_effect(c)
...
@@ -12,54 +13,38 @@ function c100423004.initial_effect(c)
e1
:
SetOperation
(
c100423004
.
activate
)
e1
:
SetOperation
(
c100423004
.
activate
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
c100423004
.
card_code_list
=
{
46986414
,
38033121
}
function
c100423004
.
filter1
(
c
,
e
)
function
c100423004
.
filter1
(
c
,
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
return
not
c
:
IsImmuneToEffect
(
e
)
end
end
function
c100423004
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
,
chkf
)
function
c100423004
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
gc
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
and
c
:
CheckFusionMaterial
(
m
,
gc
,
chkf
)
end
function
c100423004
.
fcheck
(
tp
,
sg
,
fc
)
return
sg
:
IsExists
(
Card
.
IsFusionCode
,
1
,
nil
,
46986414
,
38033121
)
end
function
c100423004
.
rcheck
(
tp
,
g
,
c
)
return
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
46986414
,
38033121
)
end
end
function
c100423004
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423004
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
g
=
nil
local
tc
=
nil
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg2
=
nil
aux
.
FCheckAdditional
=
c100423004
.
fcheck
g
=
mg1
:
Filter
(
Card
.
IsCode
,
nil
,
46986414
,
38033121
)
local
res1
=
Duel
.
IsExistingMatchingCard
(
c100423004
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res1
=
false
gc
=
g
:
GetFirst
()
while
gc
do
res1
=
res1
or
Duel
.
IsExistingMatchingCard
(
c100423004
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
gc
,
chkf
)
gc
=
g
:
GetNext
()
end
if
not
res1
then
if
not
res1
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
local
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
g
=
mg3
:
Filter
(
Card
.
IsCode
,
nil
,
46986414
,
38033121
)
res1
=
Duel
.
IsExistingMatchingCard
(
c100423004
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
gc
=
g
:
GetFirst
()
while
gc
do
res1
=
res1
or
Duel
.
IsExistingMatchingCard
(
c100423004
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
gc
,
chkf
)
gc
=
g
:
GetNext
()
end
end
end
end
end
local
mg
=
Duel
.
GetRitualMaterial
(
tp
)
local
mg3
=
Duel
.
GetRitualMaterial
(
tp
)
local
sg
=
nil
aux
.
RCheckAdditional
=
c100423004
.
rcheck
g
=
mg
:
Filter
(
Card
.
IsCode
,
nil
,
46986414
,
38033121
)
local
res2
=
mg3
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
46986414
,
38033121
)
local
res2
=
false
and
Duel
.
IsExistingMatchingCard
(
aux
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
aux
.
TRUE
,
e
,
tp
,
mg3
,
nil
,
Card
.
GetLevel
,
"Greater"
)
gc
=
g
:
GetFirst
()
aux
.
RCheckAdditional
=
nil
while
gc
do
if
chk
==
0
then
return
res1
or
res2
end
res2
=
res2
or
Duel
.
IsExistingMatchingCard
(
aux
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
aux
.
TRUE
,
e
,
tp
,
mg
,
sg
,
Card
.
GetLevel
,
"Greater"
,
gc
)
gc
=
g
:
GetNext
()
end
if
chk
==
0
then
return
res1
or
res2
end
local
s
=
0
local
s
=
0
if
res1
and
not
res2
then
if
res1
and
not
res2
then
s
=
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
100423004
,
0
))
s
=
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
100423004
,
0
))
...
@@ -81,40 +66,19 @@ function c100423004.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -81,40 +66,19 @@ function c100423004.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
end
end
function
c100423004
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423004
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
nil
local
gc
=
nil
if
e
:
GetLabel
()
==
0
then
if
e
:
GetLabel
()
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c100423004
.
filter1
,
nil
,
e
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
):
Filter
(
c100423004
.
filter1
,
nil
,
e
)
aux
.
FCheckAdditional
=
c100423004
.
fcheck
local
sg1
=
Duel
.
GetMatchingGroup
(
c100423004
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg2
=
nil
local
mg2
=
nil
g
=
mg1
:
Filter
(
Card
.
IsCode
,
nil
,
46986414
,
38033121
)
gc
=
g
:
GetFirst
()
local
sg1
=
Group
.
CreateGroup
()
while
gc
do
sg1
:
Merge
(
Duel
.
GetMatchingGroup
(
c100423004
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
gc
,
chkf
))
if
not
Duel
.
IsExistingMatchingCard
(
c100423004
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
gc
,
chkf
)
then
mg1
:
RemoveCard
(
gc
)
end
gc
=
g
:
GetNext
()
end
local
mg3
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
mg
3
=
fgroup
(
ce
,
e
,
tp
)
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
local
mf
=
ce
:
GetValue
()
g
=
mg3
:
Filter
(
Card
.
IsCode
,
nil
,
46986414
,
38033121
)
sg2
=
Duel
.
GetMatchingGroup
(
c100423004
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
gc
=
g
:
GetFirst
()
local
sg2
=
Group
.
CreateGroup
()
while
gc
do
sg2
:
Merge
(
Duel
.
GetMatchingGroup
(
c100423004
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg3
,
mf
,
gc
,
chkf
))
if
not
Duel
.
IsExistingMatchingCard
(
c100423004
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
nil
,
gc
,
chkf
)
then
mg3
:
RemoveCard
(
gc
)
end
gc
=
g
:
GetNext
()
end
end
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
local
sg
=
sg1
:
Clone
()
...
@@ -123,82 +87,45 @@ function c100423004.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -123,82 +87,45 @@ function c100423004.activate(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
g
=
mg1
:
Filter
(
Card
.
IsCode
,
nil
,
46986414
,
38033121
)
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
gc
=
g
:
GetFirst
()
tc
:
SetMaterial
(
mat
)
local
pg
=
Group
.
CreateGroup
()
Duel
.
SendtoGrave
(
mat
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
while
gc
do
if
tc
:
CheckFusionMaterial
(
mg1
,
gc
,
chkf
)
then
pg
:
AddCard
(
gc
)
end
gc
=
g
:
GetNext
()
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
g
=
pg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SetSelectedCard
(
g
:
GetFirst
())
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
g
=
mg3
:
Filter
(
Card
.
IsCode
,
nil
,
46986414
,
38033121
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
gc
=
g
:
GetFirst
()
local
pg
=
nil
while
gc
do
if
tc
:
CheckFusionMaterial
(
mg3
,
gc
,
chkf
)
then
pg
:
AddCard
(
gc
)
end
gc
=
g
:
GetNext
()
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
g
=
pg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SetSelectedCard
(
g
:
GetFirst
())
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
end
aux
.
FCheckAdditional
=
nil
if
e
:
GetLabel
()
==
1
then
else
if
e
:
GetLabel
()
==
1
then
local
mg
=
Duel
.
GetRitualMaterial
(
tp
)
local
mg
=
Duel
.
GetRitualMaterial
(
tp
)
local
sg
=
nil
aux
.
RCheckAdditional
=
c100423004
.
rcheck
g
=
mg
:
Filter
(
Card
.
IsCode
,
nil
,
46986414
,
38033121
)
local
sg1
=
Group
.
CreateGroup
()
gc
=
g
:
GetFirst
()
while
gc
do
sg1
:
Merge
(
Duel
.
GetMatchingGroup
(
aux
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
aux
.
TRUE
,
e
,
tp
,
mg
,
sg
,
Card
.
GetLevel
,
"Greater"
,
gc
))
if
not
Duel
.
IsExistingMatchingCard
(
aux
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
aux
.
TRUE
,
e
,
tp
,
mg
,
sg
,
Card
.
GetLevel
,
"Greater"
,
gc
)
then
mg
:
RemoveCard
(
gc
)
end
gc
=
g
:
GetNext
()
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg1
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
aux
.
TRUE
,
e
,
tp
,
mg
,
nil
,
Card
.
GetLevel
,
"Greater"
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
if
tc
then
if
tc
then
mg
=
mg
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
mg
=
mg
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
if
sg
then
mg
:
Merge
(
sg
)
end
if
tc
.
mat_filter
then
if
tc
.
mat_filter
then
mg
=
mg
:
Filter
(
tc
.
mat_filter
,
tc
,
tp
)
mg
=
mg
:
Filter
(
tc
.
mat_filter
,
tc
,
tp
)
else
else
mg
:
RemoveCard
(
tc
)
mg
:
RemoveCard
(
tc
)
end
end
g
=
mg
:
Filter
(
Card
.
IsCode
,
nil
,
46986414
,
38033121
)
gc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
Duel
.
SetSelectedCard
(
gc
)
aux
.
GCheckAdditional
=
aux
.
RitualCheckAdditional
(
tc
,
tc
:
GetLevel
(),
"Greater"
)
aux
.
GCheckAdditional
=
aux
.
RitualCheckAdditional
(
tc
,
tc
:
GetLevel
(),
"Greater"
)
local
mat
=
mg
:
SelectSubGroup
(
tp
,
aux
.
RitualCheck
,
false
,
1
,
tc
:
GetLevel
(),
tp
,
tc
,
tc
:
GetLevel
(),
"Greater"
)
local
mat
=
mg
:
SelectSubGroup
(
tp
,
aux
.
RitualCheck
,
false
,
1
,
tc
:
GetLevel
(),
tp
,
tc
,
tc
:
GetLevel
(),
"Greater"
)
aux
.
GCheckAdditional
=
nil
aux
.
GCheckAdditional
=
nil
if
not
mat
or
mat
:
GetCount
()
==
0
then
return
end
if
not
mat
or
mat
:
GetCount
()
==
0
then
aux
.
RCheckAdditional
=
nil
return
end
tc
:
SetMaterial
(
mat
)
tc
:
SetMaterial
(
mat
)
Duel
.
ReleaseRitualMaterial
(
mat
)
Duel
.
ReleaseRitualMaterial
(
mat
)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
aux
.
RCheckAdditional
=
nil
end
end
end
end
script/c100423005.lua
View file @
366e8449
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
--Scripted by mallu11
--Scripted by mallu11
function
c100423005
.
initial_effect
(
c
)
function
c100423005
.
initial_effect
(
c
)
aux
.
AddCodeList
(
c
,
46986414
,
38033121
)
--activate
--activate
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
100423005
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
100423005
,
0
))
...
@@ -35,7 +36,6 @@ function c100423005.initial_effect(c)
...
@@ -35,7 +36,6 @@ function c100423005.initial_effect(c)
e4
:
SetOperation
(
c100423005
.
desop
)
e4
:
SetOperation
(
c100423005
.
desop
)
c
:
RegisterEffect
(
e4
)
c
:
RegisterEffect
(
e4
)
end
end
c100423005
.
card_code_list
=
{
46986414
,
38033121
}
function
c100423005
.
cfilter
(
c
,
e
,
tp
)
function
c100423005
.
cfilter
(
c
,
e
,
tp
)
return
c
:
IsCode
(
46986414
,
38033121
)
and
c
:
IsReleasable
()
and
Duel
.
GetMZoneCount
(
tp
,
c
)
>
0
return
c
:
IsCode
(
46986414
,
38033121
)
and
c
:
IsReleasable
()
and
Duel
.
GetMZoneCount
(
tp
,
c
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100423005
.
spfilter
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
,
c
:
GetCode
())
and
Duel
.
IsExistingMatchingCard
(
c100423005
.
spfilter
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
,
c
:
GetCode
())
...
@@ -68,7 +68,7 @@ end
...
@@ -68,7 +68,7 @@ end
function
c100423005
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423005
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c100423005
.
spfilter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
,
e
:
GetLabel
())
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c100423005
.
spfilter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
,
e
:
GetLabel
())
if
g
:
GetCount
()
>
0
and
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
if
g
:
GetCount
()
>
0
and
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
Duel
.
NegateEffect
(
ev
)
Duel
.
NegateEffect
(
ev
)
end
end
end
end
...
...
script/c100423012.lua
View file @
366e8449
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
--Scripted by mallu11
--Scripted by mallu11
function
c100423012
.
initial_effect
(
c
)
function
c100423012
.
initial_effect
(
c
)
--fusion material
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddFusionProcFunRep
(
c
,
c100423012
.
ffilter
,
2
,
true
)
aux
.
AddFusionProcFunRep
(
c
,
c100423012
.
ffilter
,
2
,
true
)
--spsummon condition
--spsummon condition
...
@@ -62,10 +63,23 @@ function c100423012.srop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -62,10 +63,23 @@ function c100423012.srop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
end
end
function
c100423012
.
atkfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
GetAttribute
()
~=
0
end
function
c100423012
.
val
(
e
,
c
)
function
c100423012
.
val
(
e
,
c
)
local
g
=
Duel
.
GetFieldGroup
(
e
:
GetHandlerPlayer
(),
LOCATION_MZONE
,
0
)
local
g
=
Duel
.
GetMatchingGroup
(
c100423012
.
atkfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_MZONE
,
0
,
nil
)
local
sg
=
g
:
Filter
(
Card
.
IsFaceup
,
nil
)
local
att
=
0
return
sg
:
GetClassCount
(
Card
.
GetAttribute
)
*
200
local
tc
=
g
:
GetFirst
()
while
tc
do
att
=
bit
.
bor
(
att
,
tc
:
GetAttribute
())
tc
=
g
:
GetNext
()
end
local
ct
=
0
while
att
~=
0
do
if
bit
.
band
(
att
,
0x1
)
~=
0
then
ct
=
ct
+
1
end
att
=
bit
.
rshift
(
att
,
1
)
end
return
ct
*
200
end
end
function
c100423012
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423012
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
script/c100423013.lua
View file @
366e8449
...
@@ -27,7 +27,7 @@ function c100423013.initial_effect(c)
...
@@ -27,7 +27,7 @@ function c100423013.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c100423013
.
spfilter
(
c
,
e
,
tp
)
function
c100423013
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsLevelBelow
(
4
)
and
c
:
IsSetCard
(
0x8
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsLevelBelow
(
4
)
and
c
:
IsSetCard
(
0x8
)
and
not
c
:
IsCode
(
100423013
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c100423013
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c100423013
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c100423013
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c100423013
.
spfilter
(
chkc
,
e
,
tp
)
end
...
@@ -38,7 +38,6 @@ function c100423013.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -38,7 +38,6 @@ function c100423013.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
end
end
function
c100423013
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423013
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
if
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
...
...
script/c100423014.lua
View file @
366e8449
...
@@ -17,75 +17,43 @@ end
...
@@ -17,75 +17,43 @@ end
function
c100423014
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423014
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetLP
(
tp
)
<
Duel
.
GetLP
(
1
-
tp
)
return
Duel
.
GetLP
(
tp
)
<
Duel
.
GetLP
(
1
-
tp
)
end
end
function
c100423014
.
thfilter
(
c
)
function
c100423014
.
thfilter
(
c
,
e
,
tp
,
ft
,
atk
)
return
(
c
:
IsSetCard
(
0x3008
)
or
c
:
IsSetCard
(
0xa4
)
or
c
:
IsSetCard
(
0x1f
))
and
c
:
IsAttackBelow
(
math.abs
(
Duel
.
GetLP
(
0
)
-
Duel
.
GetLP
(
1
)))
and
c
:
IsAbleToHand
()
return
c
:
IsSetCard
(
0x3008
,
0xa4
,
0x1f
)
and
c
:
IsAttackBelow
(
atk
)
and
(
c
:
IsAbleToHand
()
or
(
ft
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)))
end
function
c100423014
.
spfilter
(
c
,
e
,
tp
)
return
(
c
:
IsSetCard
(
0x3008
)
or
c
:
IsSetCard
(
0xa4
)
or
c
:
IsSetCard
(
0x1f
))
and
c
:
IsAttackBelow
(
math.abs
(
Duel
.
GetLP
(
0
)
-
Duel
.
GetLP
(
1
)))
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c100423014
.
cfilter
(
c
,
e
,
tp
)
return
(
c
:
IsSetCard
(
0x3008
)
or
c
:
IsSetCard
(
0xa4
)
or
c
:
IsSetCard
(
0x1f
))
and
c
:
IsAttackBelow
(
math.abs
(
Duel
.
GetLP
(
0
)
-
Duel
.
GetLP
(
1
)))
and
(
c
:
IsAbleToHand
()
or
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
))
end
end
function
c100423014
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423014
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
loc
=
LOCATION_DECK
+
LOCATION_GRAVE
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100423014
.
thfilter
,
tp
,
loc
,
0
,
1
,
nil
)
or
(
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100423014
.
spfilter
,
tp
,
loc
,
0
,
1
,
nil
,
e
,
tp
))
end
local
atk
=
math.abs
(
Duel
.
GetLP
(
0
)
-
Duel
.
GetLP
(
1
))
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
loc
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100423014
.
thfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
,
ft
,
atk
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
loc
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
end
end
function
c100423014
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423014
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
loc
=
LOCATION_DECK
+
LOCATION_GRAVE
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
g
=
nil
local
atk
=
math.abs
(
Duel
.
GetLP
(
0
)
-
Duel
.
GetLP
(
1
))
local
s
=
0
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
flag
=
0
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c100423014
.
thfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
,
ft
,
atk
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SELECT
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c100423014
.
thfilter
),
tp
,
loc
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
e
:
SetLabelObject
(
tc
)
if
tc
then
s
=
Duel
.
SelectOption
(
tp
,
1190
)
local
res
=
nil
end
if
ft
>
0
and
tc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
(
not
tc
:
IsAbleToHand
()
or
Duel
.
SelectOption
(
tp
,
1190
,
1152
)
==
1
)
then
res
=
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c100423014
.
cfilter
),
tp
,
loc
,
0
,
1
,
1
,
nil
,
e
,
tp
)
res
=
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
e
:
SetLabelObject
(
tc
)
local
b1
=
tc
:
IsAbleToHand
()
local
b2
=
tc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
if
b1
and
not
b2
then
s
=
Duel
.
SelectOption
(
tp
,
1190
)
end
if
not
b1
and
b2
then
s
=
Duel
.
SelectOption
(
tp
,
1152
)
+
1
end
if
b1
and
b2
then
s
=
Duel
.
SelectOption
(
tp
,
1190
,
1152
)
end
end
end
local
tc
=
e
:
GetLabelObject
()
if
s
==
0
then
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
if
tc
:
IsLocation
(
LOCATION_HAND
)
then
flag
=
1
end
end
end
if
res
~=
0
then
if
s
==
1
then
flag
=
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
if
flag
~=
0
then
local
gc
=
e
:
GetLabelObject
()
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e1
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetValue
(
c100423014
.
aclimit
)
e1
:
SetValue
(
c100423014
.
aclimit
)
e1
:
SetLabel
(
g
c
:
GetCode
())
e1
:
SetLabel
(
t
c
:
GetCode
())
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
end
end
end
end
function
c100423014
.
aclimit
(
e
,
re
,
tp
)
function
c100423014
.
aclimit
(
e
,
re
,
tp
)
return
re
:
GetHandler
():
IsCode
(
e
:
GetLabel
())
return
re
:
GetHandler
():
IsCode
(
e
:
GetLabel
())
...
...
script/c100423015.lua
View file @
366e8449
...
@@ -38,7 +38,7 @@ function c100423015.initial_effect(c)
...
@@ -38,7 +38,7 @@ function c100423015.initial_effect(c)
e5
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetCode
(
EVENT_PHASE
+
PHASE_BATTLE_START
)
e5
:
SetCode
(
EVENT_PHASE
+
PHASE_BATTLE_START
)
e5
:
SetRange
(
LOCATION_SZONE
)
e5
:
SetRange
(
LOCATION_SZONE
)
e5
:
SetCountLimit
(
1
)
e5
:
SetCountLimit
(
1
,
100423015
)
e5
:
SetTarget
(
c100423015
.
acttg
)
e5
:
SetTarget
(
c100423015
.
acttg
)
e5
:
SetOperation
(
c100423015
.
actop
)
e5
:
SetOperation
(
c100423015
.
actop
)
c
:
RegisterEffect
(
e5
)
c
:
RegisterEffect
(
e5
)
...
@@ -113,7 +113,7 @@ function c100423015.actop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -113,7 +113,7 @@ function c100423015.actop(e,tp,eg,ep,ev,re,r,rp)
end
end
function
c100423015
.
chacon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423015
.
chacon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ec
=
e
:
GetHandler
():
GetEquipTarget
()
local
ec
=
e
:
GetHandler
():
GetEquipTarget
()
return
Duel
.
GetAttacker
()
==
ec
and
ec
:
IsRelateToBattle
()
and
ec
:
IsStatus
(
STATUS_OPPO_BATTLE
)
return
Duel
.
GetAttacker
()
==
ec
and
ec
:
IsRelateToBattle
()
and
ec
:
IsStatus
(
STATUS_OPPO_BATTLE
)
and
ec
:
IsChainAttackable
()
end
end
function
c100423015
.
chacost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423015
.
chacost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
...
@@ -121,7 +121,5 @@ function c100423015.chacost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -121,7 +121,5 @@ function c100423015.chacost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c100423015
.
chaop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423015
.
chaop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ec
=
e
:
GetHandler
():
GetPreviousEquipTarget
()
local
ec
=
e
:
GetHandler
():
GetPreviousEquipTarget
()
if
ec
:
IsChainAttackable
()
then
Duel
.
ChainAttack
()
Duel
.
ChainAttack
()
end
end
end
script/c100423016.lua
View file @
366e8449
...
@@ -19,13 +19,10 @@ function c100423016.cfilter(c,tp)
...
@@ -19,13 +19,10 @@ function c100423016.cfilter(c,tp)
return
(
c
:
IsFaceup
()
or
c
:
IsLocation
(
LOCATION_GRAVE
))
and
c
:
IsSetCard
(
0x8
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToRemoveAsCost
()
and
Duel
.
GetMZoneCount
(
tp
,
c
)
>
0
return
(
c
:
IsFaceup
()
or
c
:
IsLocation
(
LOCATION_GRAVE
))
and
c
:
IsSetCard
(
0x8
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToRemoveAsCost
()
and
Duel
.
GetMZoneCount
(
tp
,
c
)
>
0
end
end
function
c100423016
.
spfilter
(
c
,
e
,
tp
)
function
c100423016
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x8
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
return
c
:
IsSetCard
(
0x8
)
and
c
:
Is
Type
(
TYPE_MONSTER
)
and
c
:
Is
CanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
end
end
function
c100423016
.
fselect
(
g
,
e
,
tp
)
function
c100423016
.
fselect
(
g
,
e
,
tp
)
if
Duel
.
IsExistingTarget
(
c100423016
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
g
,
e
,
tp
)
then
return
Duel
.
IsExistingTarget
(
c100423016
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
g
,
e
,
tp
)
Duel
.
SetSelectedCard
(
g
)
return
true
else
return
false
end
end
end
function
c100423016
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423016
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c100423016
.
cfilter
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
,
tp
)
local
g
=
Duel
.
GetMatchingGroup
(
c100423016
.
cfilter
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
nil
,
tp
)
...
...
script/c100423023.lua
View file @
366e8449
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
--Scripted by mallu11
--Scripted by mallu11
function
c100423023
.
initial_effect
(
c
)
function
c100423023
.
initial_effect
(
c
)
--synchro summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddSynchroProcedure
(
c
,
nil
,
aux
.
NonTuner
(
Card
.
IsSynchroType
,
TYPE_SYNCHRO
),
1
)
aux
.
AddSynchroProcedure
(
c
,
nil
,
aux
.
NonTuner
(
Card
.
IsSynchroType
,
TYPE_SYNCHRO
),
1
)
--destroy
--destroy
...
@@ -29,16 +30,16 @@ function c100423023.initial_effect(c)
...
@@ -29,16 +30,16 @@ function c100423023.initial_effect(c)
e2
:
SetOperation
(
c100423023
.
spop
)
e2
:
SetOperation
(
c100423023
.
spop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
c100423023
.
synmat_syn
=
true
c100423023
.
material_type
=
TYPE_SYNCHRO
function
c100423023
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423023
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_SYNCHRO
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_SYNCHRO
)
end
end
function
c100423023
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c100423023
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
ct
=
Duel
.
GetMatchingGroupCount
(
Card
.
IsType
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
TYPE_SYNCHRO
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_ONFIELD
)
and
chkc
:
IsControler
(
1
-
tp
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_ONFIELD
)
and
chkc
:
IsControler
(
1
-
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsType
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
TYPE_SYNCHRO
)
and
Duel
.
IsExistingTarget
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
end
if
chk
==
0
then
return
ct
>
0
and
Duel
.
IsExistingTarget
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
end
local
gc
=
Duel
.
GetMatchingGroupCount
(
Card
.
IsType
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
TYPE_SYNCHRO
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectTarget
(
tp
,
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
gc
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
ct
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
g
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
g
:
GetCount
(),
0
,
0
)
end
end
function
c100423023
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423023
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -57,26 +58,21 @@ end
...
@@ -57,26 +58,21 @@ end
function
c100423023
.
spfilter
(
c
,
e
,
tp
)
function
c100423023
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsLevelBelow
(
8
)
and
c
:
IsSetCard
(
0x66
,
0x1017
,
0xa3
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsLevelBelow
(
8
)
and
c
:
IsSetCard
(
0x66
,
0x1017
,
0xa3
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c100423023
.
fselect
(
g
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
==
g
:
GetCount
()
then
Duel
.
SetSelectedCard
(
g
)
return
true
else
return
false
end
end
function
c100423023
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423023
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
IsSummonType
(
SUMMON_TYPE_SYNCHRO
)
return
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
IsSummonType
(
SUMMON_TYPE_SYNCHRO
)
end
end
function
c100423023
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423023
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100423023
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100423023
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
0
,
tp
,
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
0
,
tp
,
LOCATION_GRAVE
)
end
end
function
c100423023
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423023
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c100423023
.
spfilter
),
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c100423023
.
spfilter
),
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
local
mz
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
mz
<=
0
or
g
:
GetCount
()
<=
0
then
return
end
if
ft
<=
0
or
g
:
GetCount
()
<=
0
then
return
end
local
c
ount
=
math.min
(
mz
,
3
)
local
c
t
=
math.min
(
ft
,
3
)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
c
oun
t
=
1
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ct
=
1
end
local
sg
=
g
:
SelectSubGroup
(
tp
,
c100423023
.
fselect
,
false
,
1
,
coun
t
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
c
t
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
script/c100423024.lua
View file @
366e8449
...
@@ -27,10 +27,10 @@ function c100423024.initial_effect(c)
...
@@ -27,10 +27,10 @@ function c100423024.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c100423024
.
dfilter
(
c
)
function
c100423024
.
dfilter
(
c
)
return
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsDiscardable
()
and
c
:
IsAbleToGraveAsCost
()
return
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsDiscardable
()
end
end
function
c100423024
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423024
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsDiscardable
()
and
e
:
GetHandler
():
IsAbleToGraveAsCost
()
if
chk
==
0
then
return
e
:
GetHandler
():
IsDiscardable
()
and
Duel
.
IsExistingMatchingCard
(
c100423024
.
dfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
e
:
GetHandler
())
end
and
Duel
.
IsExistingMatchingCard
(
c100423024
.
dfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
e
:
GetHandler
())
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100423024
.
dfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
e
:
GetHandler
())
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100423024
.
dfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
e
:
GetHandler
())
...
@@ -38,7 +38,7 @@ function c100423024.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -38,7 +38,7 @@ function c100423024.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SendtoGrave
(
g
,
REASON_COST
+
REASON_DISCARD
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
+
REASON_DISCARD
)
end
end
function
c100423024
.
thfilter
(
c
)
function
c100423024
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x1017
)
and
c
:
IsAbleToHand
()
return
c
:
IsSetCard
(
0x1017
)
and
c
:
Is
Type
(
TYPE_MONSTER
)
and
c
:
Is
AbleToHand
()
end
end
function
c100423024
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423024
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100423024
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c100423024
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
...
...
script/c100423025.lua
View file @
366e8449
...
@@ -35,7 +35,8 @@ function c100423025.spcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -35,7 +35,8 @@ function c100423025.spcon(e,tp,eg,ep,ev,re,r,rp)
end
end
function
c100423025
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423025
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
end
end
function
c100423025
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423025
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -45,7 +46,7 @@ function c100423025.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -45,7 +46,7 @@ function c100423025.spop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
c100423025
.
lvfilter
(
c
)
function
c100423025
.
lvfilter
(
c
)
return
c
:
IsFaceup
(
)
and
c
:
IsOriginalSetCard
(
0x66
,
0x1017
,
0xa3
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
return
(
c
:
IsLocation
(
LOCATION_GRAVE
)
or
c
:
IsFaceup
()
)
and
c
:
IsOriginalSetCard
(
0x66
,
0x1017
,
0xa3
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
end
end
function
c100423025
.
lvcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423025
.
lvcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
IsExistingMatchingCard
(
c100423025
.
lvfilter
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
1
,
nil
)
return
Duel
.
IsExistingMatchingCard
(
c100423025
.
lvfilter
,
tp
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
0
,
1
,
nil
)
...
...
script/c100423026.lua
View file @
366e8449
...
@@ -25,12 +25,11 @@ function c100423026.initial_effect(c)
...
@@ -25,12 +25,11 @@ function c100423026.initial_effect(c)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
EVENT_CHAINING
)
e3
:
SetCode
(
EVENT_CHAINING
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetCondition
(
c100423026
.
ccon
)
e3
:
SetOperation
(
c100423026
.
ccop
)
e3
:
SetOperation
(
c100423026
.
ccop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
function
c100423026
.
cfilter
(
c
)
function
c100423026
.
cfilter
(
c
)
return
c
:
IsSummonType
(
SUMMON_TYPE_SYNCHRO
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
(
c
:
IsSetCard
(
0x66
)
or
c
:
IsSetCard
(
0x1017
)
or
c
:
IsSetCard
(
0xa3
)
)
return
c
:
IsSummonType
(
SUMMON_TYPE_SYNCHRO
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsSetCard
(
0x66
,
0x1017
,
0xa3
)
end
end
function
c100423026
.
spfilter
(
c
,
e
,
tp
)
function
c100423026
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsLocation
(
LOCATION_GRAVE
)
and
c
:
IsControler
(
tp
)
and
c
:
IsCanBeEffectTarget
(
e
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
return
c
:
IsLocation
(
LOCATION_GRAVE
)
and
c
:
IsControler
(
tp
)
and
c
:
IsCanBeEffectTarget
(
e
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
...
@@ -41,7 +40,8 @@ end
...
@@ -41,7 +40,8 @@ end
function
c100423026
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c100423026
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
mg
=
eg
:
Filter
(
c100423026
.
cfilter
,
nil
):
GetFirst
():
GetMaterial
()
local
mg
=
eg
:
Filter
(
c100423026
.
cfilter
,
nil
):
GetFirst
():
GetMaterial
()
if
chkc
then
return
mg
:
IsContains
(
chkc
)
and
c100423026
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chkc
then
return
mg
:
IsContains
(
chkc
)
and
c100423026
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
mg
:
IsExists
(
c100423026
.
spfilter
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
mg
:
IsExists
(
c100423026
.
spfilter
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
mg
:
FilterSelect
(
tp
,
c100423026
.
spfilter
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
mg
:
FilterSelect
(
tp
,
c100423026
.
spfilter
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetTargetCard
(
g
)
Duel
.
SetTargetCard
(
g
)
...
@@ -53,13 +53,12 @@ function c100423026.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -53,13 +53,12 @@ function c100423026.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
end
end
end
function
c100423026
.
ccon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
re
:
GetHandler
()
return
re
:
GetHandlerPlayer
()
==
tp
and
tc
:
IsType
(
TYPE_SYNCHRO
)
and
(
tc
:
IsSetCard
(
0x66
)
or
tc
:
IsSetCard
(
0x1017
)
or
tc
:
IsSetCard
(
0xa3
))
end
function
c100423026
.
ccop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423026
.
ccop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
re
:
GetHandler
()
if
ep
==
tp
and
tc
:
IsType
(
TYPE_SYNCHRO
)
and
tc
:
IsOriginalSetCard
(
0x66
,
0x1017
,
0xa3
)
then
Duel
.
SetChainLimit
(
c100423026
.
chainlm
)
Duel
.
SetChainLimit
(
c100423026
.
chainlm
)
end
end
end
function
c100423026
.
chainlm
(
e
,
e
p
,
tp
)
function
c100423026
.
chainlm
(
e
,
r
p
,
tp
)
return
tp
==
e
p
return
tp
==
r
p
end
end
script/c100423027.lua
View file @
366e8449
...
@@ -7,7 +7,6 @@ function c100423027.initial_effect(c)
...
@@ -7,7 +7,6 @@ function c100423027.initial_effect(c)
e1
:
SetCategory
(
CATEGORY_NEGATE
)
e1
:
SetCategory
(
CATEGORY_NEGATE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
)
e1
:
SetCountLimit
(
1
,
100423027
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetCountLimit
(
1
,
100423027
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetCondition
(
c100423027
.
condition
)
e1
:
SetCondition
(
c100423027
.
condition
)
e1
:
SetTarget
(
c100423027
.
target
)
e1
:
SetTarget
(
c100423027
.
target
)
...
@@ -15,10 +14,11 @@ function c100423027.initial_effect(c)
...
@@ -15,10 +14,11 @@ function c100423027.initial_effect(c)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c100423027
.
filter
(
c
)
function
c100423027
.
filter
(
c
)
return
(
c
.
synmat_syn
or
c
:
IsCode
(
7841112
,
24696097
,
97489701
,
67030233
,
25165047
,
21123811
,
26268488
,
35952884
,
97836203
,
62242678
,
36857073
,
89907227
,
80896940
,
51447164
,
74892653
,
89474727
,
9753964
,
2743001
,
50954680
,
84305651
)
)
and
c
:
IsFaceup
()
return
c
:
IsType
(
TYPE_SYNCHRO
)
and
aux
.
IsMaterialListType
(
c
,
TYPE_SYNCHRO
)
and
c
:
IsFaceup
()
end
end
function
c100423027
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423027
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
IsExistingMatchingCard
(
c100423027
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
Duel
.
IsChainNegatable
(
ev
)
and
rp
==
1
-
tp
return
Duel
.
IsExistingMatchingCard
(
c100423027
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
Duel
.
IsChainNegatable
(
ev
)
and
rp
==
1
-
tp
end
end
function
c100423027
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423027
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
if
chk
==
0
then
return
true
end
...
...
script/c100423034.lua
View file @
366e8449
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
--Scripted by mallu11
--Scripted by mallu11
function
c100423034
.
initial_effect
(
c
)
function
c100423034
.
initial_effect
(
c
)
--xyz summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddXyzProcedure
(
c
,
nil
,
4
,
2
)
aux
.
AddXyzProcedure
(
c
,
nil
,
4
,
2
)
--spsummon
--spsummon
...
@@ -28,16 +29,17 @@ function c100423034.initial_effect(c)
...
@@ -28,16 +29,17 @@ function c100423034.initial_effect(c)
e2
:
SetOperation
(
c100423034
.
atkop
)
e2
:
SetOperation
(
c100423034
.
atkop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c100423034
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsType
(
TYPE_XYZ
)
and
not
c
:
IsCode
(
100423034
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c100423034
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423034
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
1
,
REASON_COST
)
end
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
1
,
REASON_COST
)
end
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
end
end
function
c100423034
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsType
(
TYPE_XYZ
)
and
not
c
:
IsCode
(
100423034
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c100423034
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c100423034
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c100423034
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c100423034
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c100423034
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c100423034
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c100423034
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c100423034
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
...
@@ -61,9 +63,6 @@ function c100423034.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -61,9 +63,6 @@ function c100423034.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SpecialSummonComplete
()
Duel
.
SpecialSummonComplete
()
end
end
end
end
function
c100423034
.
atkfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
not
(
c
:
GetAttack
()
==
4000
and
(
c
:
IsDisabled
()
or
not
c
:
IsType
(
TYPE_EFFECT
)))
end
function
c100423034
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423034
.
atkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
IsSetCard
(
0x207f
)
and
c
:
IsType
(
TYPE_XYZ
)
return
c
:
IsSetCard
(
0x207f
)
and
c
:
IsType
(
TYPE_XYZ
)
...
@@ -72,6 +71,9 @@ function c100423034.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -72,6 +71,9 @@ function c100423034.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
2
,
REASON_COST
)
end
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
2
,
REASON_COST
)
end
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
2
,
2
,
REASON_COST
)
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
2
,
2
,
REASON_COST
)
end
end
function
c100423034
.
atkfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
(
not
c
:
IsAttack
(
4000
)
or
aux
.
disfilter1
(
c
))
end
function
c100423034
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c100423034
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c100423034
.
atkfilter
(
chkc
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c100423034
.
atkfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c100423034
.
atkfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c100423034
.
atkfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
...
...
script/c100423035.lua
View file @
366e8449
...
@@ -26,14 +26,15 @@ function c100423035.initial_effect(c)
...
@@ -26,14 +26,15 @@ function c100423035.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c100423035
.
cfilter
(
c
)
function
c100423035
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
(
c
:
IsSetCard
(
0x8f
)
or
c
:
IsSetCard
(
0x54
)
)
and
not
c
:
IsCode
(
100423035
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x8f
,
0x54
)
and
not
c
:
IsCode
(
100423035
)
end
end
function
c100423035
.
spcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423035
.
spcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
c100423035
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
>
0
return
Duel
.
IsExistingMatchingCard
(
c100423035
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
end
function
c100423035
.
sptg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423035
.
sptg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
end
end
function
c100423035
.
spop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423035
.
spop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -43,11 +44,12 @@ function c100423035.spop1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -43,11 +44,12 @@ function c100423035.spop1(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
c100423035
.
spfilter
(
c
,
e
,
tp
)
function
c100423035
.
spfilter
(
c
,
e
,
tp
)
return
(
c
:
IsSetCard
(
0x59
)
or
c
:
IsSetCard
(
0x82
)
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0x59
,
0x82
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c100423035
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c100423035
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c100423035
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
c100423035
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c100423035
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c100423035
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c100423035
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c100423035
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
...
...
script/c100423036.lua
View file @
366e8449
...
@@ -28,7 +28,8 @@ function c100423036.spfilter(c,e,tp)
...
@@ -28,7 +28,8 @@ function c100423036.spfilter(c,e,tp)
return
c
:
IsSetCard
(
0x8f
,
0x54
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0x8f
,
0x54
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c100423036
.
sptg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423036
.
sptg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100423036
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100423036
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
end
function
c100423036
.
spop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423036
.
spop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -47,7 +48,8 @@ function c100423036.spcon2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -47,7 +48,8 @@ function c100423036.spcon2(e,tp,eg,ep,ev,re,r,rp)
end
end
function
c100423036
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423036
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
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
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
end
end
function
c100423036
.
spop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423036
.
spop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
script/c100423038.lua
View file @
366e8449
...
@@ -24,7 +24,7 @@ end
...
@@ -24,7 +24,7 @@ end
function
c100423038
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423038
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
not
(
tc
:
IsFaceup
()
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsControler
(
tp
)
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsControler
(
1
-
tp
)
then
return
end
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_ATTACK_ALL
)
e1
:
SetCode
(
EFFECT_ATTACK_ALL
)
...
@@ -71,8 +71,7 @@ end
...
@@ -71,8 +71,7 @@ end
function
c100423038
.
damop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423038
.
damop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
bc
=
e
:
GetHandler
():
GetBattleTarget
()
local
bc
=
e
:
GetHandler
():
GetBattleTarget
()
if
not
bc
then
return
end
if
not
bc
then
return
end
local
dam
=
bc
:
GetBaseAttack
()
local
dam
=
math.max
(
bc
:
GetBaseAttack
(),
0
)
if
dam
<
0
then
dam
=
0
end
if
dam
>
0
then
if
dam
>
0
then
Duel
.
Hint
(
HINT_CARD
,
0
,
100423038
)
Duel
.
Hint
(
HINT_CARD
,
0
,
100423038
)
Duel
.
Damage
(
1
-
tp
,
dam
,
REASON_EFFECT
)
Duel
.
Damage
(
1
-
tp
,
dam
,
REASON_EFFECT
)
...
...
script/c100423045.lua
View file @
366e8449
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
--Scripted by mallu11
--Scripted by mallu11
function
c100423045
.
initial_effect
(
c
)
function
c100423045
.
initial_effect
(
c
)
--pendulum summon
aux
.
EnablePendulumAttribute
(
c
)
aux
.
EnablePendulumAttribute
(
c
)
--spsummon
--spsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
...
@@ -45,15 +46,23 @@ end
...
@@ -45,15 +46,23 @@ end
function
c100423045
.
spfilter
(
c
,
tp
,
rp
)
function
c100423045
.
spfilter
(
c
,
tp
,
rp
)
return
(
c
:
IsReason
(
REASON_BATTLE
)
or
(
c
:
IsReason
(
REASON_EFFECT
)
and
rp
==
1
-
tp
))
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
return
(
c
:
IsReason
(
REASON_BATTLE
)
or
(
c
:
IsReason
(
REASON_EFFECT
)
and
rp
==
1
-
tp
))
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
GetPreviousControler
()
==
tp
and
c
:
GetSummonLocation
()
==
LOCATION_EXTRA
and
c
:
GetPreviousControler
()
==
tp
and
c
:
GetSummonLocation
()
==
LOCATION_EXTRA
and
c
:
IsType
(
TYPE_FUSION
+
TYPE_SYNCHRO
+
TYPE_XYZ
)
and
c
:
IsFaceup
(
)
and
bit
.
band
(
c
:
GetPreviousTypeOnField
(),
TYPE_FUSION
+
TYPE_SYNCHRO
+
TYPE_XYZ
)
~=
0
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
end
end
function
c100423045
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423045
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
GetCount
()
==
1
and
eg
:
IsExists
(
c100423045
.
spfilter
,
1
,
nil
,
tp
,
rp
)
return
eg
:
GetCount
()
==
1
and
eg
:
IsExists
(
c100423045
.
spfilter
,
1
,
nil
,
tp
,
rp
)
end
end
function
c100423045
.
spfilter2
(
c
,
e
,
tp
)
if
c
:
IsLocation
(
LOCATION_HAND
+
LOCATION_DECK
)
or
(
not
c
:
IsLocation
(
LOCATION_GRAVE
)
and
c
:
IsFacedown
())
or
not
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
or
c
:
IsControler
(
1
-
tp
)
then
return
false
end
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
c
:
IsLocation
(
LOCATION_EXTRA
)
then
ft
=
Duel
.
GetLocationCountFromEx
(
tp
)
end
return
ft
>
0
end
function
c100423045
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423045
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ec
=
eg
:
GetFirst
()
local
ec
=
eg
:
GetFirst
()
if
chk
==
0
then
return
((
ec
:
IsLocation
(
LOCATION_GRAVE
+
LOCATION_REMOVED
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
)
if
chk
==
0
then
return
c100423045
.
spfilter2
(
ec
,
e
,
tp
)
end
or
(
ec
:
IsLocation
(
LOCATION_EXTRA
)
and
Duel
.
GetLocationCountFromEx
(
tp
)
>
0
))
and
ec
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
Duel
.
SetTargetCard
(
ec
)
Duel
.
SetTargetCard
(
ec
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
ec
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
ec
,
1
,
0
,
0
)
end
end
...
@@ -83,12 +92,15 @@ function c100423045.metg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -83,12 +92,15 @@ function c100423045.metg(e,tp,eg,ep,ev,re,r,rp,chk)
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsType
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
TYPE_PENDULUM
))
end
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsType
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
TYPE_PENDULUM
))
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
end
function
c100423045
.
cfilter
(
c
,
type
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
type
)
end
function
c100423045
.
meop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423045
.
meop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
GetMatchingGroup
(
c100423045
.
mefilter1
,
tp
,
LOCATION_MZONE
,
0
,
c
)
local
g
=
Duel
.
GetMatchingGroup
(
c100423045
.
mefilter1
,
tp
,
LOCATION_MZONE
,
0
,
c
)
local
b1
=
g
:
IsExists
(
Card
.
IsType
,
1
,
c
,
TYPE_FUSION
)
local
b1
=
c
:
IsRelateToEffect
(
e
)
and
g
:
IsExists
(
c100423045
.
cfilter
,
1
,
c
,
TYPE_FUSION
)
local
b2
=
g
:
IsExists
(
Card
.
IsType
,
1
,
c
,
TYPE_SYNCHRO
)
local
b2
=
g
:
IsExists
(
c100423045
.
cfilter
,
1
,
c
,
TYPE_SYNCHRO
)
local
b3
=
g
:
IsExists
(
Card
.
IsType
,
1
,
c
,
TYPE_XYZ
)
local
b3
=
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
and
g
:
IsExists
(
c100423045
.
cfilter
,
1
,
c
,
TYPE_XYZ
)
local
b4
=
Duel
.
IsExistingMatchingCard
(
c100423045
.
mefilter2
,
tp
,
LOCATION_MZONE
,
0
,
1
,
e
:
GetHandler
())
local
b4
=
Duel
.
IsExistingMatchingCard
(
c100423045
.
mefilter2
,
tp
,
LOCATION_MZONE
,
0
,
1
,
e
:
GetHandler
())
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsType
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
TYPE_PENDULUM
)
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsType
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
TYPE_PENDULUM
)
if
b1
then
if
b1
then
...
...
script/c100423046.lua
View file @
366e8449
...
@@ -26,14 +26,12 @@ function c100423046.initial_effect(c)
...
@@ -26,14 +26,12 @@ function c100423046.initial_effect(c)
end
end
function
c100423046
.
cfilter
(
c
,
tp
)
function
c100423046
.
cfilter
(
c
,
tp
)
return
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
return
c
:
IsAttribute
(
ATTRIBUTE_DARK
)
and
(
c
:
GetSequence
()
>
4
and
Duel
.
IsExistingMatchingCard
(
c100423046
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
c
,
tp
)
and
Duel
.
IsExistingMatchingCard
(
c100423046
.
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_MZONE
,
0
,
1
,
c
,
tp
,
c
)
or
(
Duel
.
GetMZoneCount
(
tp
,
c
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100423046
.
filter2
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_MZONE
,
0
,
1
,
c
)))
end
end
function
c100423046
.
filter1
(
c
,
tp
)
function
c100423046
.
filter1
(
c
,
tp
,
mc
)
return
c
:
IsCode
(
53025096
)
and
c
:
IsAbleToGrave
()
and
c
:
IsFaceup
()
and
Duel
.
GetMZoneCount
(
tp
,
c
)
>
0
local
g
=
Group
.
FromCards
(
c
)
end
if
mc
then
g
:
AddCard
(
mc
)
end
function
c100423046
.
filter2
(
c
)
return
(
c
:
IsLocation
(
LOCATION_HAND
+
LOCATION_DECK
)
or
c
:
IsFaceup
())
and
c
:
IsCode
(
53025096
)
and
c
:
IsAbleToGrave
()
and
Duel
.
GetMZoneCount
(
tp
,
g
)
>
0
return
c
:
IsCode
(
53025096
)
and
c
:
IsAbleToGrave
()
and
(
c
:
IsFaceup
()
or
c
:
IsLocation
(
LOCATION_HAND
+
LOCATION_DECK
))
end
end
function
c100423046
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423046
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
c100423046
.
cfilter
,
1
,
nil
,
tp
)
end
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
c100423046
.
cfilter
,
1
,
nil
,
tp
)
end
...
@@ -47,37 +45,31 @@ function c100423046.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -47,37 +45,31 @@ function c100423046.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c100423046
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423046
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
nil
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100423046
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
tp
)
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100423046
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
tp
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
~=
0
and
g
:
GetFirst
():
IsLocation
(
LOCATION_GRAVE
)
and
c
:
IsRelateToEffect
(
e
)
then
else
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100423046
.
filter2
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
end
local
tc
=
g
:
GetFirst
()
if
tc
and
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
~=
0
and
tc
:
IsLocation
(
LOCATION_GRAVE
)
and
c
:
IsRelateToEffect
(
e
)
then
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
end
function
c100423046
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x99
)
and
not
c
:
IsCode
(
100423046
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c100423046
.
thfilter
(
c
)
return
c
:
IsCode
(
82768499
)
and
c
:
IsAbleToHand
()
end
function
c100423046
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423046
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
GetPreviousControler
()
==
tp
and
c
:
IsReason
(
REASON_DESTROY
)
and
rp
==
1
-
tp
return
c
:
GetPreviousControler
()
==
tp
and
c
:
IsReason
(
REASON_DESTROY
)
and
rp
==
1
-
tp
end
end
function
c100423046
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x99
)
and
not
c
:
IsCode
(
100423046
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c100423046
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423046
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c100423046
.
spfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingMatchingCard
(
c100423046
.
spfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
end
function
c100423046
.
thfilter
(
c
)
return
c
:
IsCode
(
82768499
)
and
c
:
IsAbleToHand
()
end
function
c100423046
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423046
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
Duel
.
Hint
(
HINT_
OPSELECTED
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_
SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c100423046
.
spfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c100423046
.
spfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
and
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
if
g
:
GetCount
()
>
0
and
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
and
Duel
.
IsExistingMatchingCard
(
c100423046
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
and
Duel
.
IsExistingMatchingCard
(
c100423046
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
...
...
script/c100423047.lua
View file @
366e8449
...
@@ -15,24 +15,18 @@ function c100423047.initial_effect(c)
...
@@ -15,24 +15,18 @@ function c100423047.initial_effect(c)
end
end
function
c100423047
.
cfilter
(
c
,
e
,
tp
,
lsc
,
rsc
)
function
c100423047
.
cfilter
(
c
,
e
,
tp
,
lsc
,
rsc
)
local
lv
=
c
:
GetLevel
()
local
lv
=
c
:
GetLevel
()
return
(
c
:
IsSetCard
(
0x9f
)
or
(
c
:
IsSetCard
(
0x98
)
and
c
:
IsType
(
TYPE_PENDULUM
))
or
c
:
IsSetCard
(
0x99
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
lv
>
lsc
and
lv
<
rsc
return
(
c
:
IsSetCard
(
0x9f
,
0x99
)
or
(
c
:
IsSetCard
(
0x98
)
and
c
:
IsType
(
TYPE_PENDULUM
)))
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
and
lv
>
0
and
lv
>
lsc
and
lv
<
rsc
function
c100423047
.
fselect
(
g
)
if
g
:
GetClassCount
(
Card
.
GetCode
)
==
g
:
GetCount
()
then
Duel
.
SetSelectedCard
(
g
)
return
true
else
return
false
end
end
end
function
c100423047
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423047
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
h
=
Duel
.
GetMatchingGroupCount
(
Card
.
IsAbleToGraveAsCost
,
tp
,
LOCATION_HAND
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToGraveAsCost
,
tp
,
LOCATION_HAND
,
0
,
e
:
GetHandler
())
if
e
:
GetHandler
():
IsLocation
(
LOCATION_HAND
)
then
h
=
h
-
1
end
if
chk
==
0
then
return
g
:
GetCount
()
>
0
end
if
chk
==
0
then
return
h
>
0
end
local
ct
=
1
local
gc
=
1
for
i
=
2
,
3
do
if
Duel
.
IsPlayerCanDraw
(
tp
,
2
)
then
gc
=
2
end
if
Duel
.
IsPlayerCanDraw
(
tp
,
i
)
then
ct
=
i
end
if
Duel
.
IsPlayerCanDraw
(
tp
,
3
)
then
gc
=
3
end
end
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToGraveAsCost
,
tp
,
LOCATION_HAND
,
0
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
sg
=
g
:
Select
(
tp
,
1
,
gc
,
nil
)
local
sg
=
g
:
Select
(
tp
,
1
,
ct
,
nil
)
e
:
SetLabel
(
Duel
.
SendtoGrave
(
sg
,
REASON_COST
))
e
:
SetLabel
(
Duel
.
SendtoGrave
(
sg
,
REASON_COST
))
end
end
function
c100423047
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423047
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
...
@@ -46,23 +40,25 @@ end
...
@@ -46,23 +40,25 @@ end
function
c100423047
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423047
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
local
ct
=
Duel
.
Draw
(
p
,
d
,
REASON_EFFECT
)
local
ct
=
Duel
.
Draw
(
p
,
d
,
REASON_EFFECT
)
local
mz
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
flag
=
0
local
res
=
false
if
ct
>
0
and
mz
>
0
and
Duel
.
GetFieldCard
(
tp
,
LOCATION_PZONE
,
0
)
and
Duel
.
GetFieldCard
(
tp
,
LOCATION_PZONE
,
1
)
then
local
lc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_PZONE
,
0
)
local
lsc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_PZONE
,
0
):
GetLeftScale
()
local
rc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_PZONE
,
1
)
local
rsc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_PZONE
,
1
):
GetRightScale
()
if
ct
>
0
and
ft
>
0
and
lc
and
rc
then
local
lsc
=
lc
:
GetLeftScale
()
local
rsc
=
rc
:
GetRightScale
()
if
lsc
>
rsc
then
lsc
,
rsc
=
rsc
,
lsc
end
if
lsc
>
rsc
then
lsc
,
rsc
=
rsc
,
lsc
end
if
Duel
.
IsExistingMatchingCard
(
c100423047
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
,
lsc
,
rsc
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
100423047
,
0
))
then
if
Duel
.
IsExistingMatchingCard
(
c100423047
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
,
lsc
,
rsc
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
100423047
,
0
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
local
count
=
math.min
(
ct
,
mz
)
ct
=
math.min
(
ct
,
ft
)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
c
oun
t
=
1
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ct
=
1
end
local
g
=
Duel
.
GetMatchingGroup
(
c100423047
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
,
tp
,
lsc
,
rsc
)
local
g
=
Duel
.
GetMatchingGroup
(
c100423047
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
,
tp
,
lsc
,
rsc
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
c100423047
.
fselect
,
false
,
1
,
count
,
tp
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
1
,
ct
)
flag
=
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
res
=
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
end
if
flag
==
0
then
if
not
res
then
local
h
=
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_HAND
,
0
)
local
lp
=
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_HAND
,
0
)
Duel
.
SetLP
(
tp
,
Duel
.
GetLP
(
tp
)
-
h
*
1000
)
Duel
.
SetLP
(
tp
,
Duel
.
GetLP
(
tp
)
-
lp
*
1000
)
end
end
end
end
script/c100423048.lua
View file @
366e8449
...
@@ -7,6 +7,7 @@ function c100423048.initial_effect(c)
...
@@ -7,6 +7,7 @@ function c100423048.initial_effect(c)
e1
:
SetCategory
(
CATEGORY_REMOVE
)
e1
:
SetCategory
(
CATEGORY_REMOVE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetTarget
(
c100423048
.
target
)
e1
:
SetOperation
(
c100423048
.
activate
)
e1
:
SetOperation
(
c100423048
.
activate
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--disable attack
--disable attack
...
@@ -18,65 +19,87 @@ function c100423048.initial_effect(c)
...
@@ -18,65 +19,87 @@ function c100423048.initial_effect(c)
e2
:
SetTarget
(
c100423048
.
atktg
)
e2
:
SetTarget
(
c100423048
.
atktg
)
e2
:
SetOperation
(
c100423048
.
atkop
)
e2
:
SetOperation
(
c100423048
.
atkop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
e1
:
SetLabelObject
(
e2
)
local
ng
=
Group
.
CreateGroup
()
ng
:
KeepAlive
()
e1
:
SetLabelObject
(
ng
)
e2
:
SetLabelObject
(
ng
)
end
end
function
c100423048
.
rmfilter
(
c
)
function
c100423048
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToRemove
()
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
nil
,
1
,
PLAYER_ALL
,
LOCATION_GRAVE
)
end
function
c100423048
.
rmfilter
(
c
,
tp
)
return
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToRemove
(
tp
)
end
end
function
c100423048
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423048
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
c
=
e
:
GetHandler
()
local
g
1
=
Duel
.
GetMatchingGroup
(
c100423048
.
rmfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g
=
Group
.
CreateGroup
(
)
local
g
2
=
Duel
.
GetMatchingGroup
(
c100423048
.
rmfilter
,
tp
,
0
,
LOCATION_GRAVE
,
nil
)
local
g
1
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c100423048
.
rmfilter
),
tp
,
LOCATION_GRAVE
,
0
,
nil
,
tp
)
local
sg
=
Group
.
CreateGroup
(
)
local
g2
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c100423048
.
rmfilter
),
tp
,
0
,
LOCATION_GRAVE
,
nil
,
1
-
tp
)
if
g1
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
100423048
,
0
))
then
if
g1
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
100423048
,
0
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
sg1
=
g1
:
Select
(
tp
,
1
,
5
,
nil
)
local
sg1
=
g1
:
Select
(
tp
,
1
,
5
,
nil
)
s
g
:
Merge
(
sg1
)
g
:
Merge
(
sg1
)
end
end
if
g2
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
1
-
tp
,
aux
.
Stringid
(
100423048
,
0
))
then
if
g2
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
1
-
tp
,
aux
.
Stringid
(
100423048
,
0
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_REMOVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_REMOVE
)
local
sg2
=
g2
:
Select
(
1
-
tp
,
1
,
5
,
nil
)
local
sg2
=
g2
:
Select
(
1
-
tp
,
1
,
5
,
nil
)
sg
:
Merge
(
sg2
)
g
:
Merge
(
sg2
)
end
if
g
:
GetCount
()
>
0
then
Duel
.
Remove
(
g
,
POS_FACEDOWN
,
REASON_EFFECT
)
local
og
=
Duel
.
GetOperatedGroup
()
if
og
:
GetCount
()
==
0
then
return
end
local
sg
=
e
:
GetLabelObject
()
if
c
:
GetFlagEffect
(
100423048
)
==
0
then
sg
:
Clear
()
c
:
RegisterFlagEffect
(
100423048
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
local
tc
=
og
:
GetFirst
()
while
tc
do
if
tc
:
IsLocation
(
LOCATION_REMOVED
)
then
sg
:
AddCard
(
tc
)
tc
:
CreateRelation
(
c
,
RESET_EVENT
+
RESETS_STANDARD
)
end
tc
=
og
:
GetNext
()
end
end
else
local
sg
=
e
:
GetLabelObject
()
if
sg
:
GetCount
()
>
0
then
if
sg
:
GetCount
()
>
0
then
Duel
.
Remove
(
sg
,
POS_FACEDOWN
,
REASON_EFFECT
)
sg
:
Clear
()
local
rg
=
sg
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_REMOVED
)
rg
:
KeepAlive
()
e
:
GetLabelObject
():
SetLabelObject
(
rg
)
local
rc
=
rg
:
GetFirst
()
while
rc
do
rc
:
RegisterFlagEffect
(
100423048
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
rc
=
rg
:
GetNext
()
end
end
end
end
end
end
function
c100423048
.
thfilter
(
c
,
p
)
return
c
:
GetFlagEffect
(
100423048
)
>
0
and
c
:
IsControler
(
p
)
and
c
:
IsAbleToHand
()
end
function
c100423048
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c100423048
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
if
chk
==
0
then
return
true
end
local
p
=
1
-
ep
local
p
=
1
-
ep
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
p
,
LOCATION_REMOVED
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
p
,
LOCATION_REMOVED
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_HANDES
,
nil
,
1
,
p
,
LOCATION_HAND
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_HANDES
,
nil
,
1
,
p
,
LOCATION_HAND
)
end
end
function
c100423048
.
thfilter
(
c
,
rc
,
p
)
return
c
:
IsRelateToCard
(
rc
)
and
c
:
IsControler
(
p
)
and
c
:
IsAbleToHand
()
end
function
c100423048
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423048
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
GetFlagEffect
(
100423048
)
==
0
then
return
end
local
p
=
1
-
ep
local
p
=
1
-
ep
local
g
=
e
:
GetLabelObject
():
Filter
(
c100423048
.
thfilter
,
nil
,
p
)
local
g
=
e
:
GetLabelObject
():
Filter
(
c100423048
.
thfilter
,
nil
,
c
,
p
)
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
p
,
aux
.
Stringid
(
100423048
,
1
))
then
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
p
,
aux
.
Stringid
(
100423048
,
1
))
then
local
flag
=
false
local
res
=
false
local
sg
=
g
:
RandomSelect
(
1
-
p
,
1
)
local
sg
=
g
:
RandomSelect
(
1
-
p
,
1
)
local
sc
=
sg
:
GetFirst
()
local
tc
=
sg
:
GetFirst
()
if
Duel
.
SendtoHand
(
sc
,
nil
,
REASON_EFFECT
)
~=
0
and
sc
:
IsLocation
(
LOCATION_HAND
)
and
sc
:
IsControler
(
p
)
then
if
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
~=
0
and
tc
:
IsLocation
(
LOCATION_HAND
)
then
Duel
.
ConfirmCards
(
1
-
p
,
sc
)
Duel
.
ConfirmCards
(
1
-
p
,
tc
)
if
sc
:
IsDiscardable
()
and
Duel
.
SelectYesNo
(
p
,
aux
.
Stringid
(
100423048
,
2
))
then
if
tc
:
IsControler
(
p
)
and
tc
:
IsDiscardable
(
REASON_EFFECT
)
and
Duel
.
SelectYesNo
(
p
,
aux
.
Stringid
(
100423048
,
2
))
then
flag
=
true
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SendtoGrave
(
sc
,
REASON_EFFECT
+
REASON_DISCARD
)
if
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
+
REASON_DISCARD
)
~=
0
then
res
=
true
Duel
.
NegateAttack
()
Duel
.
NegateAttack
()
end
end
end
end
if
flag
==
false
then
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
if
not
res
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CHANGE_DAMAGE
)
e1
:
SetCode
(
EFFECT_CHANGE_DAMAGE
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
...
...
script/c100423049.lua
View file @
366e8449
...
@@ -49,7 +49,7 @@ function c100423049.valcheck(e,c)
...
@@ -49,7 +49,7 @@ function c100423049.valcheck(e,c)
end
end
end
end
function
c100423049
.
effcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423049
.
effcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
GetCount
()
==
1
and
eg
:
GetFirst
():
IsType
(
e
:
GetLabel
())
and
eg
:
GetFirst
():
GetFlagEffect
(
100423049
)
~=
0
return
eg
:
GetCount
()
==
1
and
eg
:
GetFirst
():
Is
Faceup
()
and
eg
:
GetFirst
():
Is
Type
(
e
:
GetLabel
())
and
eg
:
GetFirst
():
GetFlagEffect
(
100423049
)
~=
0
end
end
function
c100423049
.
spfilter
(
c
,
e
,
tp
,
lv
)
function
c100423049
.
spfilter
(
c
,
e
,
tp
,
lv
)
local
lvl
=
c
:
GetOriginalLevel
()
local
lvl
=
c
:
GetOriginalLevel
()
...
@@ -64,7 +64,7 @@ end
...
@@ -64,7 +64,7 @@ end
function
c100423049
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423049
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetFlagEffect
(
tp
,
100423049
)
~=
0
then
return
end
if
Duel
.
GetFlagEffect
(
tp
,
100423049
)
~=
0
then
return
end
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
if
eg
:
GetFirst
():
IsFaceup
()
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100423049
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
,
eg
:
GetFirst
():
GetOriginalLevel
())
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100423049
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
,
eg
:
GetFirst
():
GetOriginalLevel
())
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
tc
and
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
then
if
tc
and
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
then
...
@@ -110,7 +110,7 @@ function c100423049.thtg2(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -110,7 +110,7 @@ function c100423049.thtg2(e,tp,eg,ep,ev,re,r,rp,chk)
and
Duel
.
GetFlagEffect
(
tp
,
100423249
)
==
0
end
and
Duel
.
GetFlagEffect
(
tp
,
100423249
)
==
0
end
end
end
function
c100423049
.
thop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c100423049
.
thop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetFlagEffect
(
tp
,
100423249
)
~=
0
then
return
end
if
Duel
.
GetFlagEffect
(
tp
,
100423249
)
~=
0
or
eg
:
GetFirst
():
IsFacedown
()
then
return
end
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100423049
.
thfilter2
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
,
ft
,
eg
:
GetFirst
():
GetRank
())
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c100423049
.
thfilter2
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
,
ft
,
eg
:
GetFirst
():
GetRank
())
...
...
script/c101012001.lua
View file @
366e8449
...
@@ -60,9 +60,6 @@ function c101012001.lvop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -60,9 +60,6 @@ function c101012001.lvop(e,tp,eg,ep,ev,re,r,rp)
e3
:
SetValue
(
c
:
GetBaseDefense
()
/
2
)
e3
:
SetValue
(
c
:
GetBaseDefense
()
/
2
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
function
c101012001
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_LINK
)
end
function
c101012001
.
cfilter1
(
c
,
tp
)
function
c101012001
.
cfilter1
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsSummonType
(
SUMMON_TYPE_LINK
)
and
c
:
GetSummonPlayer
()
==
tp
return
c
:
IsFaceup
()
and
c
:
IsSummonType
(
SUMMON_TYPE_LINK
)
and
c
:
GetSummonPlayer
()
==
tp
end
end
...
@@ -70,28 +67,21 @@ function c101012001.spcon1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -70,28 +67,21 @@ function c101012001.spcon1(e,tp,eg,ep,ev,re,r,rp)
return
eg
:
IsExists
(
c101012001
.
cfilter1
,
1
,
nil
,
tp
)
return
eg
:
IsExists
(
c101012001
.
cfilter1
,
1
,
nil
,
tp
)
end
end
function
c101012001
.
sptg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c101012001
.
sptg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c101012001
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
if
eg
:
GetCount
()
~=
1
then
return
false
end
if
g
:
GetCount
()
<=
0
then
return
false
end
local
tc
=
eg
:
GetFirst
()
local
zone
=
0
local
zone
=
bit
.
band
(
tc
:
GetLinkedZone
(
tp
),
0x1f
)
for
tc
in
aux
.
Next
(
g
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetLinkedZone
(
tp
))
end
zone
=
bit
.
band
(
zone
,
0x1f
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
tp
,
LOCATION_REASON_TOFIELD
,
zone
)
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
,
tp
,
zone
)
end
Duel
.
SetTargetCard
(
tc
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
end
end
function
c101012001
.
spop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c101012001
.
spop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
then
if
c
:
IsRelateToEffect
(
e
)
then
local
g
=
Duel
.
GetMatchingGroup
(
c101012001
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
tc
=
Duel
.
GetFirstTarget
()
if
g
:
GetCount
()
<=
0
then
return
end
if
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
local
zone
=
0
local
zone
=
bit
.
band
(
tc
:
GetLinkedZone
(
tp
),
0x1f
)
for
tc
in
aux
.
Next
(
g
)
do
zone
=
bit
.
bor
(
zone
,
tc
:
GetLinkedZone
(
tp
))
end
zone
=
bit
.
band
(
zone
,
0x1f
)
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
,
zone
)
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
,
zone
)
end
end
end
end
...
...
script/c101012049.lua
View file @
366e8449
...
@@ -28,7 +28,7 @@ function c101012049.tktg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -28,7 +28,7 @@ function c101012049.tktg(e,tp,eg,ep,ev,re,r,rp,chk)
local
mg
=
e
:
GetHandler
():
GetMaterial
()
local
mg
=
e
:
GetHandler
():
GetMaterial
()
if
mg
:
GetCount
()
~=
1
then
return
false
end
if
mg
:
GetCount
()
~=
1
then
return
false
end
if
chk
==
0
then
return
mg
:
IsExists
(
Card
.
IsType
,
1
,
nil
,
TYPE_LINK
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
mg
:
IsExists
(
Card
.
IsType
,
1
,
nil
,
TYPE_LINK
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
10101214
9
,
0
,
0x4011
,
0
,
0
,
1
,
RACE_CYBERSE
,
ATTRIBUTE_LIGHT
)
end
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
4806837
9
,
0
,
0x4011
,
0
,
0
,
1
,
RACE_CYBERSE
,
ATTRIBUTE_LIGHT
)
end
e
:
SetLabel
(
mg
:
GetFirst
():
GetLink
())
e
:
SetLabel
(
mg
:
GetFirst
():
GetLink
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
0
,
0
)
...
@@ -36,7 +36,7 @@ end
...
@@ -36,7 +36,7 @@ end
function
c101012049
.
tkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c101012049
.
tkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ct
=
e
:
GetLabel
()
local
ct
=
e
:
GetLabel
()
if
ft
<=
0
or
ct
<=
0
or
not
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
101012149
,
0
,
0x4011
,
0
,
0
,
1
,
RACE_CYBERSE
,
ATTRIBUTE_LIGHT
)
then
return
end
if
ft
>
0
and
ct
>
0
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
48068379
,
0
,
0x4011
,
0
,
0
,
1
,
RACE_CYBERSE
,
ATTRIBUTE_LIGHT
)
then
local
count
=
math.min
(
ft
,
ct
)
local
count
=
math.min
(
ft
,
ct
)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
count
=
1
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
count
=
1
end
repeat
repeat
...
@@ -45,6 +45,7 @@ function c101012049.tkop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -45,6 +45,7 @@ function c101012049.tkop(e,tp,eg,ep,ev,re,r,rp)
count
=
count
-
1
count
=
count
-
1
until
count
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
210
)
until
count
==
0
or
not
Duel
.
SelectYesNo
(
tp
,
210
)
Duel
.
SpecialSummonComplete
()
Duel
.
SpecialSummonComplete
()
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e1
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
...
...
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