Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
P
pre-release-database-cdb
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
pre-release-database-cdb
Commits
ca465b77
Commit
ca465b77
authored
Dec 20, 2025
by
wind2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix
parent
1d45ccae
Pipeline
#42067
canceled with stages
in 3 seconds
Changes
10
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
175 additions
and
137 deletions
+175
-137
BLZD.cdb
BLZD.cdb
+0
-0
script/c101304008.lua
script/c101304008.lua
+15
-12
script/c101304009.lua
script/c101304009.lua
+6
-4
script/c101304022.lua
script/c101304022.lua
+17
-7
script/c101304031.lua
script/c101304031.lua
+36
-33
script/c101304038.lua
script/c101304038.lua
+8
-2
script/c101304039.lua
script/c101304039.lua
+5
-5
script/c101304050.lua
script/c101304050.lua
+66
-47
script/c101304055.lua
script/c101304055.lua
+8
-8
script/c101304069.lua
script/c101304069.lua
+14
-19
No files found.
BLZD.cdb
View file @
ca465b77
No preview for this file type
script/c101304008.lua
View file @
ca465b77
...
@@ -24,17 +24,17 @@ function s.initial_effect(c)
...
@@ -24,17 +24,17 @@ function s.initial_effect(c)
e2
:
SetOperation
(
s
.
attop
)
e2
:
SetOperation
(
s
.
attop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--draw
--draw
local
e
4
=
Effect
.
CreateEffect
(
c
)
local
e
3
=
Effect
.
CreateEffect
(
c
)
e
4
:
SetDescription
(
aux
.
Stringid
(
id
,
2
))
e
3
:
SetDescription
(
aux
.
Stringid
(
id
,
2
))
e
4
:
SetCategory
(
CATEGORY_DRAW
)
e
3
:
SetCategory
(
CATEGORY_DRAW
)
e
4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e
3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e
4
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e
3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e
4
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e
3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e
4
:
SetCountLimit
(
1
,
id
+
o
*
2
)
e
3
:
SetCountLimit
(
1
,
id
+
o
*
2
)
e
4
:
SetCondition
(
s
.
drcon
)
e
3
:
SetCondition
(
s
.
drcon
)
e
4
:
SetTarget
(
s
.
drtg
)
e
3
:
SetTarget
(
s
.
drtg
)
e
4
:
SetOperation
(
s
.
drop
)
e
3
:
SetOperation
(
s
.
drop
)
c
:
RegisterEffect
(
e
4
)
c
:
RegisterEffect
(
e
3
)
end
end
function
s
.
cfilter
(
c
)
function
s
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x10f3
,
0x1050
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x10f3
,
0x1050
)
...
@@ -53,7 +53,9 @@ function s.thfilter(c)
...
@@ -53,7 +53,9 @@ function s.thfilter(c)
end
end
function
s
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToChain
()
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
and
Duel
.
IsExistingMatchingCard
(
s
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
3
))
then
if
c
:
IsRelateToChain
()
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
and
Duel
.
IsExistingMatchingCard
(
s
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
3
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
...
@@ -78,6 +80,7 @@ function s.attop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -78,6 +80,7 @@ function s.attop(e,tp,eg,ep,ev,re,r,rp)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_CHANGE_ATTRIBUTE
)
e1
:
SetCode
(
EFFECT_CHANGE_ATTRIBUTE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetValue
(
ATTRIBUTE_DARK
)
e1
:
SetValue
(
ATTRIBUTE_DARK
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
...
...
script/c101304009.lua
View file @
ca465b77
...
@@ -18,6 +18,7 @@ function s.initial_effect(c)
...
@@ -18,6 +18,7 @@ function s.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--effect
--effect
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e3
:
SetCategory
(
CATEGORY_COUNTER
)
e3
:
SetCategory
(
CATEGORY_COUNTER
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetRange
(
LOCATION_GRAVE
)
...
@@ -31,12 +32,12 @@ function s.thfilter(c)
...
@@ -31,12 +32,12 @@ function s.thfilter(c)
return
not
c
:
IsCode
(
id
)
and
c
:
IsSetCard
(
0xf3
)
and
c
:
IsAbleToHand
()
return
not
c
:
IsCode
(
id
)
and
c
:
IsSetCard
(
0xf3
)
and
c
:
IsAbleToHand
()
end
end
function
s
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
s
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
s
.
th
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
end
function
s
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
th
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
#
g
>
0
then
if
#
g
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
...
@@ -55,8 +56,8 @@ function s.efftg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -55,8 +56,8 @@ function s.efftg(e,tp,eg,ep,ev,re,r,rp,chk)
local
op
=
0
local
op
=
0
if
b1
or
b2
then
if
b1
or
b2
then
op
=
aux
.
SelectFromOptions
(
tp
,
op
=
aux
.
SelectFromOptions
(
tp
,
{
b1
,
aux
.
Stringid
(
id
,
1
),
1
},
{
b1
,
aux
.
Stringid
(
id
,
2
),
1
},
{
b2
,
aux
.
Stringid
(
id
,
2
),
2
})
{
b2
,
aux
.
Stringid
(
id
,
3
),
2
})
end
end
e
:
SetLabel
(
op
)
e
:
SetLabel
(
op
)
if
op
==
1
then
if
op
==
1
then
...
@@ -77,6 +78,7 @@ function s.effop(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -77,6 +78,7 @@ function s.effop(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
tc
:
AddCounter
(
0x1041
,
1
)
and
tc
:
GetLevel
()
>
1
then
if
tc
:
AddCounter
(
0x1041
,
1
)
and
tc
:
GetLevel
()
>
1
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetCode
(
EFFECT_CHANGE_LEVEL
)
e1
:
SetCode
(
EFFECT_CHANGE_LEVEL
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetCondition
(
s
.
lvcon
)
e1
:
SetCondition
(
s
.
lvcon
)
...
...
script/c101304022.lua
View file @
ca465b77
...
@@ -27,7 +27,7 @@ function s.initial_effect(c)
...
@@ -27,7 +27,7 @@ function s.initial_effect(c)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
--Special Summon (deck)
--Special Summon (deck)
local
e4
=
Effect
.
CreateEffect
(
c
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
id
,
3
))
e4
:
SetDescription
(
aux
.
Stringid
(
id
,
2
))
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e4
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
...
@@ -39,7 +39,7 @@ function s.initial_effect(c)
...
@@ -39,7 +39,7 @@ function s.initial_effect(c)
c
:
RegisterEffect
(
e4
)
c
:
RegisterEffect
(
e4
)
end
end
function
s
.
thfilter
(
c
)
function
s
.
thfilter
(
c
)
return
(
c
:
IsSetCard
(
0xc0
)
and
c
:
IsType
(
TYPE_SPELL
)
or
c
:
IsCode
(
38057522
))
and
c
:
IsAbleToHand
()
return
(
c
:
IsSetCard
(
0xc0
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
or
c
:
IsCode
(
38057522
))
and
c
:
IsAbleToHand
()
end
end
function
s
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
s
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
s
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
...
@@ -54,17 +54,27 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -54,17 +54,27 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
s
.
artg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
artg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
((
RACE_ALL
&~
c
:
GetRace
())
~=
0
or
(
ATTRIBUTE_ALL
&~
c
:
GetAttribute
())
~=
0
)
end
local
race
,
att
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RACE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RACE
)
local
rac
=
Duel
.
AnnounceRace
(
tp
,
1
,
RACE_ALL
)
if
ATTRIBUTE_ALL
&~
c
:
GetAttribute
()
==
0
then
race
=
Duel
.
AnnounceRace
(
tp
,
1
,
RACE_ALL
&~
c
:
GetRace
())
else
race
=
Duel
.
AnnounceRace
(
tp
,
1
,
RACE_ALL
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATTRIBUTE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATTRIBUTE
)
local
att
=
Duel
.
AnnounceAttribute
(
tp
,
1
,
ATTRIBUTE_ALL
)
if
RACE_ALL
&~
c
:
GetRace
()
==
0
or
race
==
c
:
GetRace
()
then
e
:
SetLabel
(
rac
,
att
)
att
=
Duel
.
AnnounceAttribute
(
tp
,
1
,
ATTRIBUTE_ALL
&~
c
:
GetAttribute
())
else
att
=
Duel
.
AnnounceAttribute
(
tp
,
1
,
ATTRIBUTE_ALL
)
end
e
:
SetLabel
(
race
,
att
)
end
end
function
s
.
arop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
arop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
rac
,
att
=
e
:
GetLabel
()
local
rac
,
att
=
e
:
GetLabel
()
if
c
:
IsRelateTo
Effect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateTo
Chain
(
)
and
c
:
IsFaceup
()
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_CHANGE_ATTRIBUTE
)
e1
:
SetCode
(
EFFECT_CHANGE_ATTRIBUTE
)
...
...
script/c101304031.lua
View file @
ca465b77
...
@@ -13,7 +13,7 @@ function s.initial_effect(c)
...
@@ -13,7 +13,7 @@ function s.initial_effect(c)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetOperation
(
s
.
acop
)
e1
:
SetOperation
(
s
.
acop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--
destroy
--
gain atk
local
custom_code
=
aux
.
RegisterMergedDelayedEvent_ToSingleCard
(
c
,
id
,
EVENT_SPSUMMON_SUCCESS
)
local
custom_code
=
aux
.
RegisterMergedDelayedEvent_ToSingleCard
(
c
,
id
,
EVENT_SPSUMMON_SUCCESS
)
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e2
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
...
@@ -27,19 +27,18 @@ function s.initial_effect(c)
...
@@ -27,19 +27,18 @@ function s.initial_effect(c)
e2
:
SetTarget
(
s
.
distg
)
e2
:
SetTarget
(
s
.
distg
)
e2
:
SetOperation
(
s
.
disop
)
e2
:
SetOperation
(
s
.
disop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--negate
--destroy
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e3
:
SetDescription
(
aux
.
Stringid
(
id
,
2
))
e2
:
SetCategory
(
CATEGORY_DESTROY
)
e3
:
SetCategory
(
CATEGORY_DESTROY
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_CHAINING
)
e3
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
)
e3
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e2
:
SetCountLimit
(
1
)
e3
:
SetCondition
(
s
.
descon
)
e2
:
SetCondition
(
s
.
descon
)
e3
:
SetTarget
(
s
.
destg
)
e2
:
SetTarget
(
s
.
destg
)
e3
:
SetOperation
(
s
.
desop
)
e2
:
SetOperation
(
s
.
desop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e2
)
--pendulum
--pendulum
local
e4
=
Effect
.
CreateEffect
(
c
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
id
,
3
))
e4
:
SetDescription
(
aux
.
Stringid
(
id
,
3
))
...
@@ -60,6 +59,7 @@ function s.acop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -60,6 +59,7 @@ function s.acop(e,tp,eg,ep,ev,re,r,rp)
if
tc
:
AddCounter
(
0x1041
,
1
)
and
tc
:
GetLevel
()
>
1
then
if
tc
:
AddCounter
(
0x1041
,
1
)
and
tc
:
GetLevel
()
>
1
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetCode
(
EFFECT_CHANGE_LEVEL
)
e1
:
SetCode
(
EFFECT_CHANGE_LEVEL
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetCondition
(
s
.
lvcon
)
e1
:
SetCondition
(
s
.
lvcon
)
...
@@ -73,10 +73,9 @@ function s.lvcon(e)
...
@@ -73,10 +73,9 @@ function s.lvcon(e)
end
end
function
s
.
disfilter
(
c
,
tp
,
e
)
function
s
.
disfilter
(
c
,
tp
,
e
)
return
c
:
IsFaceup
()
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsSummonPlayer
(
1
-
tp
)
and
c
:
IsCanBeEffectTarget
(
e
)
return
c
:
IsFaceup
()
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsSummonPlayer
(
1
-
tp
)
and
c
:
IsCanBeEffectTarget
(
e
)
and
aux
.
NegateMonsterFilter
(
c
)
end
end
function
s
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
Card
.
IsControler
,
1
,
nil
,
1
-
tp
)
return
eg
:
IsExists
(
aux
.
AND
(
Card
.
IsSummonPlayer
,
Card
.
IsFaceup
)
,
1
,
nil
,
1
-
tp
)
end
end
function
s
.
distg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
s
.
distg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -95,27 +94,27 @@ function s.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -95,27 +94,27 @@ function s.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
end
function
s
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToChain
()
and
tc
:
IsType
(
TYPE_MONSTER
)
and
tc
:
IsCanBeDisabledByEffect
(
e
)
then
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
tc
:
IsRelateToChain
()
and
tc
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsRelateToChain
(
)
and
c
:
IsFaceup
()
then
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_DISABLE
)
e3
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
tc
:
GetAttack
()
)
e3
:
SetValue
(
atk
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e3
)
if
not
c
:
IsHasEffect
(
EFFECT_REVERSE_UPDATE
)
then
Duel
.
NegateRelatedChain
(
tc
,
RESET_TURN_SET
)
Duel
.
NegateRelatedChain
(
tc
,
RESET_TURN_SET
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_DISABLE_EFFECT
)
e2
:
SetCode
(
EFFECT_DISABLE
)
e2
:
SetValue
(
RESET_TURN_SET
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e2
)
tc
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_DISABLE_EFFECT
)
e3
:
SetValue
(
RESET_TURN_SET
)
e3
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e3
)
end
end
end
end
end
end
...
@@ -144,10 +143,14 @@ function s.pencon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -144,10 +143,14 @@ function s.pencon(e,tp,eg,ep,ev,re,r,rp)
end
end
function
s
.
pentg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
pentg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
0
)
or
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
1
)
end
if
chk
==
0
then
return
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
0
)
or
Duel
.
CheckLocation
(
tp
,
LOCATION_PZONE
,
1
)
end
local
c
=
e
:
GetHandler
()
if
c
:
IsLocation
(
LOCATION_GRAVE
)
then
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
c
,
1
,
0
,
0
)
end
end
end
function
s
.
penop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
penop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateTo
Effect
(
e
)
then
if
c
:
IsRelateTo
Chain
()
and
aux
.
NecroValleyFilter
()(
c
)
then
Duel
.
MoveToField
(
c
,
tp
,
tp
,
LOCATION_PZONE
,
POS_FACEUP
,
true
)
Duel
.
MoveToField
(
c
,
tp
,
tp
,
LOCATION_PZONE
,
POS_FACEUP
,
true
)
end
end
end
end
script/c101304038.lua
View file @
ca465b77
...
@@ -57,6 +57,9 @@ function s.initial_effect(c)
...
@@ -57,6 +57,9 @@ function s.initial_effect(c)
c
:
RegisterEffect
(
e6
)
c
:
RegisterEffect
(
e6
)
end
end
s
.
material_type
=
TYPE_SYNCHRO
s
.
material_type
=
TYPE_SYNCHRO
function
s
.
synlimit
(
e
,
se
,
sp
,
st
)
return
st
&
SUMMON_TYPE_SYNCHRO
==
SUMMON_TYPE_SYNCHRO
and
not
se
end
function
s
.
mfilter
(
e
,
c
)
function
s
.
mfilter
(
e
,
c
)
return
c
:
IsSynchroType
(
TYPE_TUNER
)
or
not
c
:
IsSynchroType
(
TYPE_TUNER
)
and
c
:
IsSynchroType
(
TYPE_SYNCHRO
)
return
c
:
IsSynchroType
(
TYPE_TUNER
)
or
not
c
:
IsSynchroType
(
TYPE_TUNER
)
and
c
:
IsSynchroType
(
TYPE_SYNCHRO
)
end
end
...
@@ -86,16 +89,19 @@ function s.spfilter(c,e,tp)
...
@@ -86,16 +89,19 @@ function s.spfilter(c,e,tp)
return
c
:
IsCode
(
97489701
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
return
c
:
IsCode
(
97489701
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_SYNCHRO
,
tp
,
false
,
false
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
nil
,
c
)
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_SYNCHRO
,
tp
,
false
,
false
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
nil
,
c
)
>
0
end
end
function
s
.
rmfilter
(
c
,
tp
)
return
c
:
GetPreviousControler
()
==
tp
end
function
s
.
reop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
reop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
sg
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemove
,
tp
,
0
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
nil
)
local
sg
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToRemove
,
tp
,
0
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
,
nil
)
if
c
:
IsRelateToChain
()
and
c
:
IsAbleToRemove
()
then
sg
:
AddCard
(
c
)
end
if
c
:
IsRelateToChain
()
and
c
:
IsAbleToRemove
()
then
sg
:
AddCard
(
c
)
end
if
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_EFFECT
)
~=
0
then
if
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_EFFECT
)
~=
0
then
local
og
=
Duel
.
GetOperatedGroup
()
local
og
=
Duel
.
GetOperatedGroup
()
if
res
and
og
:
IsContains
(
c
)
if
og
:
IsContains
(
c
)
and
og
:
IsExists
(
s
.
rmfilter
,
1
,
nil
,
1
-
tp
)
and
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_SMATERIAL
)
and
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_SMATERIAL
)
and
Duel
.
IsExistingMatchingCard
(
s
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
and
Duel
.
IsExistingMatchingCard
(
s
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
2
))
then
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
1
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
...
...
script/c101304039.lua
View file @
ca465b77
...
@@ -26,7 +26,7 @@ function s.initial_effect(c)
...
@@ -26,7 +26,7 @@ function s.initial_effect(c)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetLabelObject
(
e0
)
e2
:
SetLabelObject
(
e0
)
e2
:
SetCountLimit
(
1
,
id
+
o
)
e2
:
SetCountLimit
(
1
,
id
+
o
)
e2
:
SetCondition
(
s
.
spcon2
)
e2
:
SetCondition
(
s
.
spcon2
)
...
@@ -63,7 +63,7 @@ function s.spcon2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -63,7 +63,7 @@ function s.spcon2(e,tp,eg,ep,ev,re,r,rp)
return
eg
:
IsExists
(
s
.
spfilter2
,
1
,
nil
,
1
-
tp
,
se
)
return
eg
:
IsExists
(
s
.
spfilter2
,
1
,
nil
,
1
-
tp
,
se
)
end
end
function
s
.
costfilter
(
c
,
exc
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
costfilter
(
c
,
exc
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
c
:
IsCode
(
24094653
)
and
c
:
IsAbleToRemoveAsCost
()
return
c
:
IsCode
(
24094653
)
and
c
:
IsAbleToRemoveAsCost
()
end
end
function
s
.
spcost2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
spcost2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -84,7 +84,7 @@ end
...
@@ -84,7 +84,7 @@ end
function
s
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
local
mg1
=
Duel
.
GetFusionMaterial
(
tp
)
:
Filter
(
s
.
filter1
,
nil
,
e
)
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
filter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
...
@@ -118,13 +118,13 @@ function s.spop2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -118,13 +118,13 @@ function s.spop2(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
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
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
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
if
ce
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
...
...
script/c101304050.lua
View file @
ca465b77
...
@@ -12,25 +12,25 @@ function s.initial_effect(c)
...
@@ -12,25 +12,25 @@ function s.initial_effect(c)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetValue
(
s
.
atkval
)
e1
:
SetValue
(
s
.
atkval
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--
destroy
--
special summon
local
e
1
=
Effect
.
CreateEffect
(
c
)
local
e
2
=
Effect
.
CreateEffect
(
c
)
e
1
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e
2
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e
1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e
2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e
1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e
2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e
1
:
SetCode
(
EVENT_FREE_CHAIN
)
e
2
:
SetCode
(
EVENT_FREE_CHAIN
)
e
1
:
SetRange
(
LOCATION_MZONE
)
e
2
:
SetRange
(
LOCATION_MZONE
)
e
1
:
SetCountLimit
(
1
,
id
)
e
2
:
SetCountLimit
(
1
,
id
)
e
1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
+
EFFECT_FLAG_NO_TURN_RESET
)
e
2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
+
EFFECT_FLAG_NO_TURN_RESET
)
e
1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e
2
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e
1
:
SetCondition
(
s
.
spcon
)
e
2
:
SetCondition
(
s
.
spcon
)
e
1
:
SetTarget
(
s
.
sptg
)
e
2
:
SetTarget
(
s
.
sptg
)
e
1
:
SetOperation
(
s
.
spop
)
e
2
:
SetOperation
(
s
.
spop
)
c
:
RegisterEffect
(
e
1
)
c
:
RegisterEffect
(
e
2
)
end
end
function
s
.
atkfilter
(
c
)
function
s
.
atkfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
GetAttribute
()
~=
0
return
c
:
IsFaceup
()
and
c
:
GetAttribute
()
~=
0
end
end
function
s
.
val
(
e
,
c
)
function
s
.
atk
val
(
e
,
c
)
local
g
=
Duel
.
GetMatchingGroup
(
s
.
atkfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
s
.
atkfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
)
return
aux
.
GetAttributeCount
(
g
)
*
300
return
aux
.
GetAttributeCount
(
g
)
*
300
end
end
...
@@ -40,11 +40,9 @@ end
...
@@ -40,11 +40,9 @@ end
function
s
.
spfilter
(
c
,
e
,
tp
)
function
s
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
)
and
c
:
IsCanBeEffectTarget
(
e
)
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
)
and
c
:
IsCanBeEffectTarget
(
e
)
end
end
function
s
.
gcheck
(
g
,
tp
)
function
s
.
gcheck
(
g
)
return
g
:
FilterCount
(
Card
.
GetRace
)
==
g
:
GetCount
()
return
aux
.
SameValueCheck
(
g
,
Card
.
GetRace
)
and
not
aux
.
SameValueCheck
(
g
,
Card
.
GetAttribute
)
and
g
:
FilterCount
(
Card
.
GetAttribute
)
~=
g
:
GetCount
()
or
aux
.
SameValueCheck
(
g
,
Card
.
GetAttribute
)
and
not
aux
.
SameValueCheck
(
g
,
Card
.
GetRace
)
or
g
:
FilterCount
(
Card
.
GetAttribute
)
==
g
:
GetCount
()
and
g
:
FilterCount
(
Card
.
GetRace
)
~=
g
:
GetCount
()
end
end
function
s
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
s
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
false
end
if
chkc
then
return
false
end
...
@@ -52,7 +50,7 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -52,7 +50,7 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chk
==
0
then
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
if
chk
==
0
then
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
1
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
1
and
g
:
CheckSubGroup
(
s
.
gcheck
,
2
,
2
)
end
and
g
:
CheckSubGroup
(
s
.
gcheck
,
2
,
2
)
end
e
:
GetHandler
():
RegisterFlagEffect
(
0
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
id
,
3
))
e
:
GetHandler
():
RegisterFlagEffect
(
0
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
id
,
2
))
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
s
.
gcheck
,
false
,
2
,
2
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
s
.
gcheck
,
false
,
2
,
2
)
Duel
.
SetTargetCard
(
g1
)
Duel
.
SetTargetCard
(
g1
)
...
@@ -60,37 +58,58 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -60,37 +58,58 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
end
function
s
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToChain
()
and
c
:
IsFaceup
()
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
2
)
e1
:
SetValue
(
1
)
c
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_CANNOT_BE_FUSION_MATERIAL
)
e2
:
SetValue
(
s
.
fuslimit
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e1
:
Clone
()
e3
:
SetCode
(
EFFECT_CANNOT_BE_SYNCHRO_MATERIAL
)
c
:
RegisterEffect
(
e3
)
local
e4
=
e1
:
Clone
()
e4
:
SetCode
(
EFFECT_CANNOT_BE_XYZ_MATERIAL
)
e4
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e4
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
+
EFFECT_FLAG_CLIENT_HINT
)
c
:
RegisterEffect
(
e4
)
end
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<=
0
then
return
end
if
ft
<=
0
then
return
end
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
)
local
sg
=
Duel
.
GetTargetsRelateToChain
()
local
sg
=
g
:
Filter
(
Card
.
IsRelateToChain
,
nil
)
if
sg
:
GetCount
()
<
2
or
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
if
sg
:
GetCount
()
<
2
or
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
or
sg
:
GetCount
()
>
ft
then
return
end
or
sg
:
GetCount
()
>
ft
then
return
end
if
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
local
tc
=
sg
:
GetFirst
()
if
c
:
IsRelateToChain
()
and
c
:
IsFaceup
()
then
sg
:
AddCard
(
c
)
end
while
tc
do
for
tc
in
aux
.
Next
(
sg
)
do
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e1
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
2
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
2
)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
local
e3
=
e1
:
Clone
()
local
e2
=
e1
:
Clone
()
e3
:
SetCode
(
EFFECT_CANNOT_BE_FUSION_MATERIAL
)
e2
:
SetCode
(
EFFECT_CANNOT_BE_FUSION_MATERIAL
)
e3
:
SetValue
(
s
.
fuslimit
)
e2
:
SetValue
(
s
.
fuslimit
)
tc
:
RegisterEffect
(
e3
)
tc
:
RegisterEffect
(
e2
)
local
e4
=
e1
:
Clone
()
local
e3
=
e1
:
Clone
()
e4
:
SetCode
(
EFFECT_CANNOT_BE_SYNCHRO_MATERIAL
)
e3
:
SetCode
(
EFFECT_CANNOT_BE_SYNCHRO_MATERIAL
)
tc
:
RegisterEffect
(
e4
)
tc
:
RegisterEffect
(
e3
)
local
e5
=
e1
:
Clone
()
local
e4
=
e1
:
Clone
()
e5
:
SetCode
(
EFFECT_CANNOT_BE_XYZ_MATERIAL
)
e4
:
SetCode
(
EFFECT_CANNOT_BE_XYZ_MATERIAL
)
e5
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e4
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e5
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
+
EFFECT_FLAG_CLIENT_HINT
)
e4
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
+
EFFECT_FLAG_CLIENT_HINT
)
tc
:
RegisterEffect
(
e5
)
tc
:
RegisterEffect
(
e4
)
end
end
end
Duel
.
SpecialSummonComplete
()
end
end
function
s
.
fuslimit
(
e
,
c
,
sumtype
)
function
s
.
fuslimit
(
e
,
c
,
sumtype
)
return
sumtype
==
SUMMON_TYPE_FUSION
return
sumtype
==
SUMMON_TYPE_FUSION
...
...
script/c101304055.lua
View file @
ca465b77
...
@@ -14,7 +14,7 @@ function s.initial_effect(c)
...
@@ -14,7 +14,7 @@ function s.initial_effect(c)
e1
:
SetTarget
(
s
.
target
)
e1
:
SetTarget
(
s
.
target
)
e1
:
SetOperation
(
s
.
activate
)
e1
:
SetOperation
(
s
.
activate
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--
to hand
--
destroy
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e2
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e2
:
SetCategory
(
CATEGORY_DESTROY
)
e2
:
SetCategory
(
CATEGORY_DESTROY
)
...
@@ -29,19 +29,19 @@ function s.initial_effect(c)
...
@@ -29,19 +29,19 @@ function s.initial_effect(c)
e2
:
SetOperation
(
s
.
desop
)
e2
:
SetOperation
(
s
.
desop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
s
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x46
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToHand
()
end
function
s
.
costfilter
(
c
,
tp
)
function
s
.
costfilter
(
c
,
tp
)
return
not
c
:
IsCode
(
id
)
and
c
:
IsSetCard
(
0xf3
)
and
c
:
IsAbleToGraveAsCost
()
return
not
c
:
IsCode
(
id
)
and
c
:
IsSetCard
(
0xf3
)
and
c
:
IsAbleToGraveAsCost
()
and
Duel
.
IsExistingMatchingCard
(
s
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
c
)
and
Duel
.
IsExistingMatchingCard
(
s
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
c
)
end
end
function
s
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
s
.
costfilter
,
tp
,
LOCATION_
ONFIELD
,
0
,
1
,
nil
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
s
.
costfilter
,
tp
,
LOCATION_
DECK
,
0
,
1
,
nil
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
costfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
costfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
tp
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
end
end
function
s
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0x46
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
:
IsAbleToHand
()
end
function
s
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
s
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
s
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
...
@@ -65,10 +65,10 @@ function s.desfilter(c)
...
@@ -65,10 +65,10 @@ function s.desfilter(c)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_FUSION
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_FUSION
)
end
end
function
s
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
s
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
s
.
desfilter
(
c
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
s
.
desfilter
(
c
hkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
s
.
desfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
SUMMON_TYPE_SPECIAL
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
s
.
desfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectTarget
(
tp
,
s
.
desfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
SUMMON_TYPE_SPECIAL
)
local
g
=
Duel
.
SelectTarget
(
tp
,
s
.
desfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
end
end
function
s
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
script/c101304069.lua
View file @
ca465b77
...
@@ -14,20 +14,14 @@ function s.initial_effect(c)
...
@@ -14,20 +14,14 @@ function s.initial_effect(c)
e1
:
SetOperation
(
s
.
activate
)
e1
:
SetOperation
(
s
.
activate
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c61322713
.
cost1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetActivityCount
(
tp
,
ACTIVITY_BATTLE_PHASE
)
==
0
end
if
chk
==
0
then
return
Duel
.
CheckLPCost
(
tp
,
2000
)
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
Duel
.
PayLPCost
(
tp
,
2000
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CANNOT_BP
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
+
EFFECT_FLAG_OATH
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
end
function
s
.
filter
(
c
,
e
,
tp
)
function
s
.
filter
(
c
,
e
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_EFFECT
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_EFFECT
)
and
c
:
GetOriginalLevel
()
>
0
and
c
:
GetOriginalLevel
()
>
0
and
Duel
.
IsExistingMatchingCard
(
s
.
spfilter
,
tp
,
LOCATION_
DECK
+
LOCATION_
EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
)
and
Duel
.
IsExistingMatchingCard
(
s
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
c
)
end
end
function
s
.
spfilter
(
c
,
e
,
tp
,
tc
)
function
s
.
spfilter
(
c
,
e
,
tp
,
tc
)
return
c
:
IsAttribute
(
tc
:
GetAttribute
())
return
c
:
IsAttribute
(
tc
:
GetAttribute
())
...
@@ -41,11 +35,14 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -41,11 +35,14 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
s
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
s
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
s
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectTarget
(
tp
,
s
.
filter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
Duel
.
SetChainLimit
(
aux
.
FALSE
)
end
end
end
function
s
.
fspfilter
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
function
s
.
fspfilter
(
c
,
e
,
tp
,
m
g
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
return
c
:
IsType
(
TYPE_FUSION
)
and
(
not
f
or
f
(
c
))
and
not
mg
:
IsExists
(
Card
.
IsImmuneToEffect
,
1
,
nil
,
e
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
g
,
nil
,
chkf
)
end
end
function
s
.
ffilter
(
c
,
mg
)
function
s
.
ffilter
(
c
,
mg
)
return
mg
:
IsContains
(
c
)
return
mg
:
IsContains
(
c
)
...
@@ -83,10 +80,9 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -83,10 +80,9 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
local
b2
=
fc
:
IsAbleToGrave
()
local
b2
=
fc
:
IsAbleToGrave
()
local
op
=
aux
.
SelectFromOptions
(
tp
,
local
op
=
aux
.
SelectFromOptions
(
tp
,
{
b1
,
aux
.
Stringid
(
id
,
1
),
1
},
{
b1
,
aux
.
Stringid
(
id
,
1
),
1
},
{
b2
,
aux
.
Stringid
(
id
,
2
),
2
}
,
{
b2
,
aux
.
Stringid
(
id
,
2
),
2
}
)
{
true
,
aux
.
Stringid
(
id
,
3
),
3
}
)
Duel
.
BreakEffect
(
)
if
op
==
1
then
if
op
==
1
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tfc
=
tg
:
GetFirst
()
local
tfc
=
tg
:
GetFirst
()
...
@@ -97,9 +93,8 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -97,9 +93,8 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SpecialSummon
(
tfc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tfc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
tfc
:
CompleteProcedure
()
tfc
:
CompleteProcedure
()
elseif
op
==
2
then
elseif
op
==
2
then
Duel
.
BreakEffect
()
Duel
.
SendtoGrave
(
fc
,
REASON_EFFECT
)
Duel
.
SendtoGrave
(
fc
,
REASON_EFFECT
)
end
end
end
end
end
end
end
end
\ No newline at end of file
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