Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-scripts-888
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
4
Merge Requests
4
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-scripts-888
Commits
72d92271
Commit
72d92271
authored
Mar 16, 2025
by
wind2009
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'upstream/master' into master
parents
eddb2bc0
f10071b5
Changes
29
Show whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
207 additions
and
113 deletions
+207
-113
c11646785.lua
c11646785.lua
+1
-1
c16197610.lua
c16197610.lua
+3
-3
c1683982.lua
c1683982.lua
+13
-23
c24643913.lua
c24643913.lua
+1
-1
c25259669.lua
c25259669.lua
+4
-6
c27781371.lua
c27781371.lua
+0
-1
c28279365.lua
c28279365.lua
+11
-8
c31386180.lua
c31386180.lua
+4
-0
c34267821.lua
c34267821.lua
+5
-0
c42199039.lua
c42199039.lua
+1
-1
c44874522.lua
c44874522.lua
+2
-2
c57031794.lua
c57031794.lua
+1
-1
c57450198.lua
c57450198.lua
+1
-1
c60398723.lua
c60398723.lua
+2
-2
c64664373.lua
c64664373.lua
+1
-1
c65898344.lua
c65898344.lua
+10
-3
c66532962.lua
c66532962.lua
+2
-2
c69811710.lua
c69811710.lua
+2
-0
c81096431.lua
c81096431.lua
+119
-39
c81269231.lua
c81269231.lua
+2
-2
c85123771.lua
c85123771.lua
+1
-1
c85252081.lua
c85252081.lua
+1
-1
c85888377.lua
c85888377.lua
+1
-1
c86999951.lua
c86999951.lua
+1
-2
c91800273.lua
c91800273.lua
+5
-0
c93860227.lua
c93860227.lua
+1
-1
c9396662.lua
c9396662.lua
+1
-1
c97223101.lua
c97223101.lua
+10
-8
procedure.lua
procedure.lua
+1
-1
No files found.
c11646785.lua
View file @
72d92271
...
@@ -69,7 +69,7 @@ function c11646785.setop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -69,7 +69,7 @@ function c11646785.setop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
c11646785
.
mtfilter
(
c
,
e
)
function
c11646785
.
mtfilter
(
c
,
e
)
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
c
:
IsFaceup
()
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
return
c
:
IsFaceupEx
()
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
end
end
function
c11646785
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c11646785
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
...
...
c16197610.lua
View file @
72d92271
...
@@ -22,7 +22,7 @@ function c16197610.initial_effect(c)
...
@@ -22,7 +22,7 @@ function c16197610.initial_effect(c)
e3
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e3
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e3
:
SetOperation
(
c16197610
.
addc
)
e3
:
SetOperation
(
c16197610
.
addc
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
--
destroy
--
special summon
local
e4
=
Effect
.
CreateEffect
(
c
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
16197610
,
1
))
e4
:
SetDescription
(
aux
.
Stringid
(
16197610
,
1
))
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
@@ -54,13 +54,13 @@ function c16197610.spfilter(c,e,tp)
...
@@ -54,13 +54,13 @@ function c16197610.spfilter(c,e,tp)
end
end
function
c16197610
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c16197610
.
sptg
(
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
(
c16197610
.
spfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingMatchingCard
(
c16197610
.
spfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
LOCATION_GRAVE
,
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
)
end
end
function
c16197610
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c16197610
.
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
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c16197610
.
spfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c16197610
.
spfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
LOCATION_GRAVE
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
...
...
c1683982.lua
View file @
72d92271
...
@@ -18,28 +18,21 @@ function c1683982.initial_effect(c)
...
@@ -18,28 +18,21 @@ function c1683982.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--SpecialSummon
--SpecialSummon
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetDescription
(
aux
.
Stringid
(
1683982
,
1
))
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_DESTROYED
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetCode
(
EVENT_BATTLE_DESTROYED
)
e3
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
+
EFFECT_FLAG_DELAY
)
e3
:
SetCondition
(
c1683982
.
regcon
)
e3
:
SetCountLimit
(
1
,
1683982
)
e3
:
SetOperation
(
c1683982
.
regop
)
e3
:
SetCondition
(
c1683982
.
spcon
)
e3
:
SetTarget
(
c1683982
.
sptg
)
e3
:
SetOperation
(
c1683982
.
spop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
local
e4
=
e3
:
Clone
()
local
e4
=
e3
:
Clone
()
e4
:
SetCode
(
EVENT_TO_GRAVE
)
e4
:
SetCode
(
EVENT_TO_GRAVE
)
e4
:
SetCondition
(
c1683982
.
reg
con2
)
e4
:
SetCondition
(
c1683982
.
sp
con2
)
c
:
RegisterEffect
(
e4
)
c
:
RegisterEffect
(
e4
)
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
1683982
,
1
))
e5
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e5
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
+
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e5
:
SetCode
(
EVENT_CUSTOM
+
1683982
)
e5
:
SetRange
(
LOCATION_SZONE
)
e5
:
SetCountLimit
(
1
,
1683982
)
e5
:
SetTarget
(
c1683982
.
sptg
)
e5
:
SetOperation
(
c1683982
.
spop
)
c
:
RegisterEffect
(
e5
)
--return to grave
--return to grave
local
e6
=
Effect
.
CreateEffect
(
c
)
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetDescription
(
aux
.
Stringid
(
1683982
,
2
))
e6
:
SetDescription
(
aux
.
Stringid
(
1683982
,
2
))
...
@@ -57,21 +50,18 @@ function c1683982.atktg(e,c)
...
@@ -57,21 +50,18 @@ function c1683982.atktg(e,c)
return
not
c
:
IsRace
(
RACE_REPTILE
)
return
not
c
:
IsRace
(
RACE_REPTILE
)
end
end
function
c1683982
.
cfilter
(
c
,
tp
)
function
c1683982
.
cfilter
(
c
,
tp
)
return
c
:
IsPreviousControler
(
tp
)
and
c
:
Is
PreviousLocation
(
LOCATION_MZON
E
)
and
c
:
GetPreviousRaceOnField
()
&
RACE_REPTILE
~=
0
return
c
:
IsPreviousControler
(
tp
)
and
c
:
Is
Reason
(
REASON_BATTL
E
)
and
c
:
GetPreviousRaceOnField
()
&
RACE_REPTILE
~=
0
end
end
function
c1683982
.
reg
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c1683982
.
sp
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c1683982
.
cfilter
,
1
,
nil
,
tp
)
return
eg
:
IsExists
(
c1683982
.
cfilter
,
1
,
nil
,
tp
)
end
end
function
c1683982
.
cfilter2
(
c
,
tp
)
function
c1683982
.
cfilter2
(
c
,
tp
)
return
not
c
:
IsReason
(
REASON_BATTLE
)
and
c
:
IsPreviousControler
(
tp
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
return
not
c
:
IsReason
(
REASON_BATTLE
)
and
c
:
IsPreviousControler
(
tp
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
GetPreviousRaceOnField
()
&
RACE_REPTILE
~=
0
and
c
:
IsRace
(
RACE_REPTILE
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
GetPreviousRaceOnField
()
&
RACE_REPTILE
~=
0
and
c
:
IsRace
(
RACE_REPTILE
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
end
end
function
c1683982
.
reg
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c1683982
.
sp
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c1683982
.
cfilter2
,
1
,
nil
,
tp
)
return
eg
:
IsExists
(
c1683982
.
cfilter2
,
1
,
nil
,
tp
)
end
end
function
c1683982
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RaiseSingleEvent
(
e
:
GetHandler
(),
EVENT_CUSTOM
+
1683982
,
e
,
0
,
tp
,
0
,
0
)
end
function
c1683982
.
spfilter
(
c
,
e
,
tp
)
function
c1683982
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsRace
(
RACE_REPTILE
)
and
c
:
IsLevelBelow
(
4
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsRace
(
RACE_REPTILE
)
and
c
:
IsLevelBelow
(
4
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
...
...
c24643913.lua
View file @
72d92271
...
@@ -51,7 +51,7 @@ function s.initial_effect(c)
...
@@ -51,7 +51,7 @@ function s.initial_effect(c)
c
:
RegisterEffect
(
e8
)
c
:
RegisterEffect
(
e8
)
end
end
function
s
.
quick_filter
(
e
)
function
s
.
quick_filter
(
e
)
return
e
:
GetCode
()
==
EVENT_CHAINING
and
e
:
IsHasType
(
EFFECT_TYPE_QUICK_O
+
EFFECT_TYPE_QUICK_F
)
and
e
:
IsHasRange
(
LOCATION_HAND
+
LOCATION_MZONE
)
return
(
e
:
GetCode
()
==
EVENT_CHAINING
or
e
:
GetCode
()
==
EVENT_BECOME_TARGET
)
and
e
:
IsHasType
(
EFFECT_TYPE_QUICK_O
+
EFFECT_TYPE_QUICK_F
)
and
e
:
IsHasRange
(
LOCATION_HAND
+
LOCATION_MZONE
)
end
end
function
s
.
cfilter
(
c
)
function
s
.
cfilter
(
c
)
return
c
:
IsOriginalEffectProperty
(
s
.
quick_filter
)
and
c
:
GetOriginalType
()
&
TYPE_MONSTER
==
TYPE_MONSTER
and
c
:
IsFaceupEx
()
return
c
:
IsOriginalEffectProperty
(
s
.
quick_filter
)
and
c
:
GetOriginalType
()
&
TYPE_MONSTER
==
TYPE_MONSTER
and
c
:
IsFaceupEx
()
...
...
c25259669.lua
View file @
72d92271
...
@@ -23,12 +23,10 @@ function c25259669.sumop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -23,12 +23,10 @@ function c25259669.sumop(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_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c25259669
.
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c25259669
.
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
and
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
>
0
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
and
c
:
IsRelateToEffect
(
e
)
and
c
:
IsPosition
(
POS_FACEUP_ATTACK
)
then
end
end
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsPosition
(
POS_FACEUP_ATTACK
)
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
ChangePosition
(
c
,
POS_FACEUP_DEFENSE
)
Duel
.
ChangePosition
(
c
,
POS_FACEUP_DEFENSE
)
end
end
end
end
end
c27781371.lua
View file @
72d92271
...
@@ -119,6 +119,5 @@ function s.tgop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -119,6 +119,5 @@ function s.tgop(e,tp,eg,ep,ev,re,r,rp)
local
fid
=
e
:
GetLabel
()
local
fid
=
e
:
GetLabel
()
local
g
=
e
:
GetLabelObject
()
local
g
=
e
:
GetLabelObject
()
local
sg
=
g
:
Filter
(
s
.
tcfilter
,
nil
,
fid
)
local
sg
=
g
:
Filter
(
s
.
tcfilter
,
nil
,
fid
)
g
:
DeleteGroup
()
Duel
.
SendtoGrave
(
sg
,
REASON_EFFECT
)
Duel
.
SendtoGrave
(
sg
,
REASON_EFFECT
)
end
end
c28279365.lua
View file @
72d92271
...
@@ -29,14 +29,17 @@ end
...
@@ -29,14 +29,17 @@ end
function
s
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
if
tc
:
IsFacedown
()
or
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
local
mg
=
tc
:
GetMaterial
()
:
Filter
(
aux
.
NecroValleyFilter
(
s
.
mgfilter
),
nil
,
e
,
tp
,
tc
)
local
mg
=
tc
:
GetMaterial
()
local
sumtype
=
tc
:
GetSummonType
()
local
sumtype
=
tc
:
GetSummonType
()
if
Duel
.
SendtoDeck
(
tc
,
nil
,
SEQ_DECKTOP
,
REASON_EFFECT
)
~=
0
and
sumtype
==
SUMMON_TYPE_LINK
if
Duel
.
SendtoDeck
(
tc
,
nil
,
SEQ_DECKTOP
,
REASON_EFFECT
)
~=
0
then
and
tc
:
IsLocation
(
LOCATION_EXTRA
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
mg
:
GetCount
()
>
0
mg
=
mg
:
Filter
(
aux
.
NecroValleyFilter
(
s
.
mgfilter
),
nil
,
e
,
tp
,
tc
)
if
sumtype
==
SUMMON_TYPE_LINK
and
tc
:
IsLocation
(
LOCATION_EXTRA
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
mg
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
0
))
then
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
0
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
mg
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg
=
mg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
end
end
c31386180.lua
View file @
72d92271
...
@@ -21,6 +21,7 @@ function c31386180.initial_effect(c)
...
@@ -21,6 +21,7 @@ function c31386180.initial_effect(c)
e2
:
SetCode
(
EVENT_PHASE
+
PHASE_BATTLE
)
e2
:
SetCode
(
EVENT_PHASE
+
PHASE_BATTLE
)
e2
:
SetCountLimit
(
1
)
e2
:
SetCountLimit
(
1
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCondition
(
c31386180
.
decon
)
e2
:
SetTarget
(
c31386180
.
destg
)
e2
:
SetTarget
(
c31386180
.
destg
)
e2
:
SetOperation
(
c31386180
.
desop
)
e2
:
SetOperation
(
c31386180
.
desop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
...
@@ -38,6 +39,9 @@ end
...
@@ -38,6 +39,9 @@ end
function
c31386180
.
condition
(
e
)
function
c31386180
.
condition
(
e
)
return
e
:
GetHandler
():
GetOverlayCount
()
>
0
return
e
:
GetHandler
():
GetOverlayCount
()
>
0
end
end
function
c31386180
.
decon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetBattledGroupCount
()
>
0
end
function
c31386180
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c31386180
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
1
-
tp
)
and
chkc
:
IsOnField
()
end
if
chkc
then
return
chkc
:
IsControler
(
1
-
tp
)
and
chkc
:
IsOnField
()
end
if
chk
==
0
then
return
true
end
if
chk
==
0
then
return
true
end
...
...
c34267821.lua
View file @
72d92271
...
@@ -24,6 +24,7 @@ function c34267821.initial_effect(c)
...
@@ -24,6 +24,7 @@ function c34267821.initial_effect(c)
e3
:
SetRange
(
LOCATION_HAND
+
LOCATION_MZONE
)
e3
:
SetRange
(
LOCATION_HAND
+
LOCATION_MZONE
)
e3
:
SetCondition
(
c34267821
.
rmcon
)
e3
:
SetCondition
(
c34267821
.
rmcon
)
e3
:
SetCost
(
c34267821
.
rmcost
)
e3
:
SetCost
(
c34267821
.
rmcost
)
e3
:
SetTarget
(
c34267821
.
rmtg
)
e3
:
SetOperation
(
c34267821
.
rmop
)
e3
:
SetOperation
(
c34267821
.
rmop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
...
@@ -48,6 +49,9 @@ function c34267821.rmcost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -48,6 +49,9 @@ function c34267821.rmcost(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
return
e
:
GetHandler
():
IsReleasable
()
end
if
chk
==
0
then
return
e
:
GetHandler
():
IsReleasable
()
end
Duel
.
Release
(
e
:
GetHandler
(),
REASON_COST
)
Duel
.
Release
(
e
:
GetHandler
(),
REASON_COST
)
end
end
function
c34267821
.
rmtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetFlagEffect
(
tp
,
34267821
)
==
0
end
end
function
c34267821
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c34267821
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
...
@@ -57,4 +61,5 @@ function c34267821.rmop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -57,4 +61,5 @@ function c34267821.rmop(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterFlagEffect
(
tp
,
34267821
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
end
c42199039.lua
View file @
72d92271
...
@@ -57,7 +57,7 @@ end
...
@@ -57,7 +57,7 @@ end
function
c42199039
.
dttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c42199039
.
dttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
c42199039
.
filter
(
chkc
)
and
chkc
~=
e
:
GetHandler
()
end
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
c42199039
.
filter
(
chkc
)
and
chkc
~=
e
:
GetHandler
()
end
local
eq
=
e
:
GetHandler
():
GetEquipTarget
()
local
eq
=
e
:
GetHandler
():
GetEquipTarget
()
if
chk
==
0
then
return
eq
and
not
eq
:
IsHasEffect
(
EFFECT_DIRECT_ATTACK
)
and
Duel
.
Is
AbleToEnterBP
()
and
Duel
.
Is
ExistingTarget
(
c42199039
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
e
:
GetHandler
())
end
if
chk
==
0
then
return
eq
and
not
eq
:
IsHasEffect
(
EFFECT_DIRECT_ATTACK
)
and
Duel
.
IsExistingTarget
(
c42199039
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
e
:
GetHandler
())
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RTOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RTOHAND
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c42199039
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
e
:
GetHandler
())
local
g
=
Duel
.
SelectTarget
(
tp
,
c42199039
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
e
:
GetHandler
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
1
,
0
,
0
)
...
...
c44874522.lua
View file @
72d92271
...
@@ -41,8 +41,8 @@ function c44874522.valcheck(e,c)
...
@@ -41,8 +41,8 @@ function c44874522.valcheck(e,c)
local
flag
=
0
local
flag
=
0
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
while
tc
do
while
tc
do
if
tc
:
IsSetCard
(
0x7
)
then
flag
=
bit
.
bor
(
flag
,
0x1
)
end
if
tc
:
IsSetCard
(
0x7
)
and
tc
:
IsType
(
TYPE_MONSTER
)
then
flag
=
bit
.
bor
(
flag
,
0x1
)
end
if
tc
:
IsSetCard
(
0x51
)
then
flag
=
bit
.
bor
(
flag
,
0x2
)
end
if
tc
:
IsSetCard
(
0x51
)
and
tc
:
IsType
(
TYPE_MONSTER
)
then
flag
=
bit
.
bor
(
flag
,
0x2
)
end
tc
=
g
:
GetNext
()
tc
=
g
:
GetNext
()
end
end
e
:
SetLabel
(
flag
)
e
:
SetLabel
(
flag
)
...
...
c57031794.lua
View file @
72d92271
...
@@ -66,7 +66,7 @@ function c57031794.desop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -66,7 +66,7 @@ function c57031794.desop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
c57031794
.
mtfilter
(
c
,
e
)
function
c57031794
.
mtfilter
(
c
,
e
)
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
c
:
IsFaceup
()
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
return
c
:
IsFaceupEx
()
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
end
end
function
c57031794
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c57031794
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
...
...
c57450198.lua
View file @
72d92271
...
@@ -77,7 +77,7 @@ function c57450198.disop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -77,7 +77,7 @@ function c57450198.disop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
c57450198
.
mtfilter
(
c
,
e
)
function
c57450198
.
mtfilter
(
c
,
e
)
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
c
:
IsFaceup
()
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
return
c
:
IsFaceupEx
()
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
end
end
function
c57450198
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c57450198
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
...
...
c60398723.lua
View file @
72d92271
...
@@ -25,8 +25,8 @@ function c60398723.rfilter(c)
...
@@ -25,8 +25,8 @@ function c60398723.rfilter(c)
end
end
function
c60398723
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60398723
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsControler
(
1
-
tp
)
and
tc
:
IsFaceup
()
then
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsControler
(
1
-
tp
)
and
tc
:
IsFaceup
()
Duel
.
ChangePosition
(
tc
,
POS_FACEDOWN_DEFENSE
)
and
Duel
.
ChangePosition
(
tc
,
POS_FACEDOWN_DEFENSE
)
>
0
then
local
rg
=
Duel
.
GetMatchingGroup
(
c60398723
.
rfilter
,
tp
,
LOCATION_FZONE
,
LOCATION_FZONE
,
nil
)
local
rg
=
Duel
.
GetMatchingGroup
(
c60398723
.
rfilter
,
tp
,
LOCATION_FZONE
,
LOCATION_FZONE
,
nil
)
if
rg
:
GetCount
()
~=
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
60398723
,
0
))
then
if
rg
:
GetCount
()
~=
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
60398723
,
0
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
...
...
c64664373.lua
View file @
72d92271
...
@@ -14,7 +14,7 @@ function s.initial_effect(c)
...
@@ -14,7 +14,7 @@ function s.initial_effect(c)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
s
.
tgfilter
(
c
,
e
,
tp
)
function
s
.
tgfilter
(
c
,
e
,
tp
)
return
c
:
IsFaceup
(
)
and
not
c
:
IsType
(
TYPE_TOKEN
)
return
aux
.
NegateEffectMonsterFilter
(
c
)
and
not
c
:
IsType
(
TYPE_TOKEN
)
and
Duel
.
IsExistingMatchingCard
(
s
.
spfilter
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
+
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
,
c
:
GetRace
(),
c
:
GetAttribute
(),
c
:
GetAttack
())
and
Duel
.
IsExistingMatchingCard
(
s
.
spfilter
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
+
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
,
c
:
GetRace
(),
c
:
GetAttribute
(),
c
:
GetAttack
())
end
end
function
s
.
spfilter
(
c
,
e
,
tp
,
race
,
att
,
atk
)
function
s
.
spfilter
(
c
,
e
,
tp
,
race
,
att
,
atk
)
...
...
c65898344.lua
View file @
72d92271
...
@@ -51,19 +51,24 @@ end
...
@@ -51,19 +51,24 @@ end
function
s
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
):
Filter
(
Card
.
IsRelateToEffect
,
nil
,
e
)
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
):
Filter
(
Card
.
IsRelateToEffect
,
nil
,
e
)
if
#
g
==
2
and
Duel
.
Remove
(
g
,
0
,
REASON_EFFECT
+
REASON_TEMPORARY
)
~=
0
then
if
#
g
==
2
and
Duel
.
Remove
(
g
,
0
,
REASON_EFFECT
+
REASON_TEMPORARY
)
~=
0
then
local
resetv
=
1
if
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetCurrentPhase
()
<=
PHASE_STANDBY
then
resetv
=
2
end
local
og
=
Duel
.
GetOperatedGroup
()
local
og
=
Duel
.
GetOperatedGroup
()
local
oc
=
og
:
GetFirst
()
local
oc
=
og
:
GetFirst
()
while
oc
do
while
oc
do
oc
:
RegisterFlagEffect
(
id
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
,
0
,
1
)
oc
:
RegisterFlagEffect
(
id
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
,
0
,
resetv
)
oc
=
og
:
GetNext
()
oc
=
og
:
GetNext
()
end
end
og
:
KeepAlive
()
og
:
KeepAlive
()
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_STANDBY
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_STANDBY
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
,
resetv
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCountLimit
(
1
)
e1
:
SetLabelObject
(
og
)
e1
:
SetLabelObject
(
og
)
e1
:
SetValue
(
Duel
.
GetTurnCount
())
e1
:
SetCondition
(
s
.
retcon
)
e1
:
SetCondition
(
s
.
retcon
)
e1
:
SetOperation
(
s
.
retop
)
e1
:
SetOperation
(
s
.
retop
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
...
@@ -73,7 +78,9 @@ function s.retfilter(c)
...
@@ -73,7 +78,9 @@ function s.retfilter(c)
return
c
:
GetFlagEffect
(
id
)
>
0
return
c
:
GetFlagEffect
(
id
)
>
0
end
end
function
s
.
retcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
retcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
tp
if
Duel
.
GetTurnPlayer
()
~=
tp
or
Duel
.
GetTurnCount
()
==
e
:
GetValue
()
then
return
false
end
local
g
=
e
:
GetLabelObject
()
return
g
:
IsExists
(
s
.
retfilter
,
1
,
nil
)
end
end
function
s
.
retop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
retop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
e
:
GetLabelObject
()
local
g
=
e
:
GetLabelObject
()
...
...
c66532962.lua
View file @
72d92271
...
@@ -39,13 +39,13 @@ end
...
@@ -39,13 +39,13 @@ end
function
s
.
natg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
s
.
natg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
a
=
Duel
.
GetAttacker
()
local
a
=
Duel
.
GetAttacker
()
if
chkc
then
return
chkc
==
a
end
if
chkc
then
return
chkc
==
a
end
if
chk
==
0
then
return
a
~=
nil
and
a
:
IsCanBeEffectTarget
(
e
)
and
a
:
GetAttack
()
>
0
end
if
chk
==
0
then
return
a
~=
nil
and
a
:
IsCanBeEffectTarget
(
e
)
end
Duel
.
SetTargetCard
(
a
)
Duel
.
SetTargetCard
(
a
)
end
end
function
s
.
naop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
naop
(
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
Duel
.
NegateAttack
()
and
tc
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
then
if
Duel
.
NegateAttack
()
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
GetAttack
()
>
0
and
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
then
local
preatk
=
c
:
GetAttack
()
local
preatk
=
c
:
GetAttack
()
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
...
c69811710.lua
View file @
72d92271
...
@@ -32,6 +32,7 @@ function c69811710.tgfilter(c)
...
@@ -32,6 +32,7 @@ function c69811710.tgfilter(c)
end
end
function
c69811710
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c69811710
.
tgtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c69811710
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c69811710
.
tgfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
end
function
c69811710
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c69811710
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -62,6 +63,7 @@ function c69811710.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -62,6 +63,7 @@ function c69811710.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
46647145
,
0xfe
,
TYPES_TOKEN_MONSTER
,
0
,
0
,
1
,
RACE_MACHINE
,
ATTRIBUTE_DARK
,
POS_FACEUP_DEFENSE
,
tp
)
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
46647145
,
0xfe
,
TYPES_TOKEN_MONSTER
,
0
,
0
,
1
,
RACE_MACHINE
,
ATTRIBUTE_DARK
,
POS_FACEUP_DEFENSE
,
tp
)
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
46647145
,
0xfe
,
TYPES_TOKEN_MONSTER
,
0
,
0
,
1
,
RACE_MACHINE
,
ATTRIBUTE_DARK
,
POS_FACEUP_DEFENSE
,
1
-
tp
)
and
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
46647145
,
0xfe
,
TYPES_TOKEN_MONSTER
,
0
,
0
,
1
,
RACE_MACHINE
,
ATTRIBUTE_DARK
,
POS_FACEUP_DEFENSE
,
1
-
tp
)
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
end
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
end
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
2
,
0
,
0
)
end
end
...
...
c81096431.lua
View file @
72d92271
--ドレイク・シャーク
--ドレイク・シャーク
local
s
,
id
,
o
=
GetID
()
local
s
,
id
,
o
=
GetID
()
function
s
.
initial_effect
(
c
)
function
s
.
initial_effect
(
c
)
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e0
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e0
:
SetCode
(
EVENT_ADJUST
)
e0
:
SetRange
(
0xff
)
e0
:
SetOperation
(
s
.
adjustop
)
c
:
RegisterEffect
(
e0
)
--spsummon
--spsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
...
@@ -18,7 +25,9 @@ function s.initial_effect(c)
...
@@ -18,7 +25,9 @@ function s.initial_effect(c)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetCode
(
id
)
e2
:
SetCode
(
id
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetValue
(
id
)
e2
:
SetRange
(
0xff
)
e2
:
SetTarget
(
s
.
sxyzfilter
)
e2
:
SetCountLimit
(
1
,
id
+
o
)
e2
:
SetCountLimit
(
1
,
id
+
o
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--material effect
--material effect
...
@@ -33,21 +42,79 @@ function s.initial_effect(c)
...
@@ -33,21 +42,79 @@ function s.initial_effect(c)
e3
:
SetTarget
(
s
.
xyztg
)
e3
:
SetTarget
(
s
.
xyztg
)
e3
:
SetOperation
(
s
.
xyzop
)
e3
:
SetOperation
(
s
.
xyzop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
if
not
s
.
global_check
then
end
s
.
global_check
=
true
function
s
.
sxyzfilter
(
e
,
c
)
return
c
:
IsAttribute
(
ATTRIBUTE_WATER
)
end
function
s
.
Drake_shark_f
(
function_f
,
int_lv
,
card_c
)
return
function
(
c
)
return
c
:
IsXyzLevel
(
card_c
,
int_lv
)
and
(
not
function_f
or
function_f
(
c
))
end
end
function
s
.
sxfilter
(
c
,
tp
,
xc
)
local
te
=
c
:
IsHasEffect
(
id
,
tp
)
if
te
then
local
etg
=
te
:
GetTarget
()
return
not
etg
or
etg
(
te
,
xc
)
end
return
false
end
function
s
.
sxvalue
(
c
,
tp
,
xc
)
local
te
=
c
:
IsHasEffect
(
id
,
tp
)
if
te
then
local
etg
=
te
:
GetTarget
()
if
not
etg
or
etg
(
te
,
xc
)
then
return
te
:
GetValue
()
end
end
end
function
s
.
Drake_shark_gf
(
int_ct
,
int_tp
,
xc
)
return
function
(
g
)
local
ct
=
g
:
GetCount
()
local
eg
=
g
:
Filter
(
s
.
sxfilter
,
nil
,
int_tp
,
xc
)
if
#
eg
>
0
then
ct
=
ct
+
eg
:
GetClassCount
(
s
.
sxvalue
,
int_tp
,
xc
)
end
local
tc
=
g
:
GetFirst
()
while
tc
do
local
te
=
tc
:
IsHasEffect
(
EFFECT_XYZ_LEVEL
,
int_tp
)
if
te
then
local
evf
=
te
:
GetValue
()
if
evf
then
local
ev
=
evf
(
te
,
tc
,
xc
)
local
lmct
=
(
ev
>>
12
)
&
0xf
if
lmct
>
0
and
lmct
>
g
:
GetCount
()
then
return
false
end
end
end
tc
=
g
:
GetNext
()
end
return
ct
>=
int_ct
end
end
function
s
.
xfilter
(
c
,
tp
)
return
c
:
IsHasEffect
(
id
,
tp
)
end
function
s
.
eftfilter
(
c
,
tp
)
local
te
=
c
:
IsHasEffect
(
id
,
tp
)
return
te
:
GetValue
()
end
function
s
.
gcheck
(
g
,
tp
)
return
g
:
GetClassCount
(
s
.
eftfilter
,
tp
)
==
g
:
GetCount
()
end
function
s
.
adjustop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetFlagEffect
(
0
,
81096431
)
==
0
then
Duel
.
RegisterFlagEffect
(
0
,
81096431
,
0
,
0
,
1
)
Drake_shark_AddXyzProcedure
=
aux
.
AddXyzProcedure
Drake_shark_AddXyzProcedure
=
aux
.
AddXyzProcedure
function
aux
.
AddXyzProcedure
(
card_c
,
function_f
,
int_lv
,
int_ct
,
function_alterf
,
int_dese
,
int_maxc
,
function_op
)
function
aux
.
AddXyzProcedure
(
card_c
,
function_f
,
int_lv
,
int_ct
,
function_alterf
,
int_dese
,
int_maxc
,
function_op
)
if
card_c
:
IsAttribute
(
ATTRIBUTE_WATER
)
and
int_ct
>=
3
then
if
int_ct
>=
3
then
if
function_alterf
then
if
function_alterf
then
Drake_shark_XyzLevelFreeOperationAlter
=
Auxiliary
.
XyzLevelFreeOperationAlter
Drake_shark_XyzLevelFreeOperationAlter
=
Auxiliary
.
XyzLevelFreeOperationAlter
function
Auxiliary
.
XyzLevelFreeOperationAlter
(
f
,
gf
,
minc
,
maxc
,
alterf
,
alterdesc
,
alterop
)
function
Auxiliary
.
XyzLevelFreeOperationAlter
(
f
,
gf
,
minc
,
maxc
,
alterf
,
alterdesc
,
alterop
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
,
og
,
min
,
max
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
,
og
,
min
,
max
)
if
og
and
not
min
then
if
og
and
not
min
then
if
og
:
GetCount
()
==
minc
and
og
:
IsExists
(
s
.
xfilter
,
1
,
nil
)
then
Auxiliary
.
Drake_Solve
(
tp
,
og
,
maxc
,
minc
)
local
ttc
=
og
:
Filter
(
s
.
xfilter
,
nil
):
GetFirst
()
local
tte
=
ttc
:
IsHasEffect
(
id
,
tp
)
tte
:
UseCountLimit
(
tp
)
end
local
sg
=
Group
.
CreateGroup
()
local
sg
=
Group
.
CreateGroup
()
local
tc
=
og
:
GetFirst
()
local
tc
=
og
:
GetFirst
()
while
tc
do
while
tc
do
...
@@ -60,11 +127,7 @@ function s.initial_effect(c)
...
@@ -60,11 +127,7 @@ function s.initial_effect(c)
Duel
.
Overlay
(
c
,
og
)
Duel
.
Overlay
(
c
,
og
)
else
else
local
mg
=
e
:
GetLabelObject
()
local
mg
=
e
:
GetLabelObject
()
if
mg
:
GetCount
()
==
minc
and
mg
:
IsExists
(
s
.
xfilter
,
1
,
nil
)
then
Auxiliary
.
Drake_Solve
(
tp
,
mg
,
maxc
,
minc
)
local
ttc
=
mg
:
Filter
(
s
.
xfilter
,
nil
):
GetFirst
()
local
tte
=
ttc
:
IsHasEffect
(
id
,
tp
)
tte
:
UseCountLimit
(
tp
)
end
if
e
:
GetLabel
()
==
1
then
if
e
:
GetLabel
()
==
1
then
local
mg2
=
mg
:
GetFirst
():
GetOverlayGroup
()
local
mg2
=
mg
:
GetFirst
():
GetOverlayGroup
()
if
mg2
:
GetCount
()
~=
0
then
if
mg2
:
GetCount
()
~=
0
then
...
@@ -86,18 +149,14 @@ function s.initial_effect(c)
...
@@ -86,18 +149,14 @@ function s.initial_effect(c)
end
end
end
end
end
end
aux
.
AddXyzProcedureLevelFree
(
card_c
,
s
.
f
(
function_f
,
int_lv
,
card_c
),
s
.
gf
(
int_ct
,
card_c
:
GetOwner
()),
int_ct
-
1
,
int_ct
,
function_alterf
,
int_dese
,
function_op
)
aux
.
AddXyzProcedureLevelFree
(
card_c
,
s
.
Drake_shark_f
(
function_f
,
int_lv
,
card_c
),
s
.
Drake_shark_gf
(
int_ct
,
card_c
:
GetOwner
(),
card_c
),
int_ct
-
2
,
int_ct
,
function_alterf
,
int_dese
,
function_op
)
Auxiliary
.
XyzLevelFreeOperationAlter
=
Drake_shark_XyzLevelFreeOperationAlter
Auxiliary
.
XyzLevelFreeOperationAlter
=
Drake_shark_XyzLevelFreeOperationAlter
else
else
Drake_shark_XyzLevelFreeOperation
=
Auxiliary
.
XyzLevelFreeOperation
Drake_shark_XyzLevelFreeOperation
=
Auxiliary
.
XyzLevelFreeOperation
function
Auxiliary
.
XyzLevelFreeOperation
(
f
,
gf
,
minct
,
maxct
)
function
Auxiliary
.
XyzLevelFreeOperation
(
f
,
gf
,
minct
,
maxct
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
,
og
,
min
,
max
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
,
og
,
min
,
max
)
if
og
and
not
min
then
if
og
and
not
min
then
if
og
:
GetCount
()
==
minct
and
og
:
IsExists
(
s
.
xfilter
,
1
,
nil
)
then
Auxiliary
.
Drake_Solve
(
tp
,
og
,
maxct
,
minct
)
local
ttc
=
og
:
Filter
(
s
.
xfilter
,
nil
):
GetFirst
()
local
tte
=
ttc
:
IsHasEffect
(
id
,
tp
)
tte
:
UseCountLimit
(
tp
)
end
local
sg
=
Group
.
CreateGroup
()
local
sg
=
Group
.
CreateGroup
()
local
tc
=
og
:
GetFirst
()
local
tc
=
og
:
GetFirst
()
while
tc
do
while
tc
do
...
@@ -110,11 +169,7 @@ function s.initial_effect(c)
...
@@ -110,11 +169,7 @@ function s.initial_effect(c)
Duel
.
Overlay
(
c
,
og
)
Duel
.
Overlay
(
c
,
og
)
else
else
local
mg
=
e
:
GetLabelObject
()
local
mg
=
e
:
GetLabelObject
()
if
mg
:
GetCount
()
==
minct
and
mg
:
IsExists
(
s
.
xfilter
,
1
,
nil
)
then
Auxiliary
.
Drake_Solve
(
tp
,
mg
,
maxct
,
minct
)
local
ttc
=
mg
:
Filter
(
s
.
xfilter
,
nil
):
GetFirst
()
local
tte
=
ttc
:
IsHasEffect
(
id
,
tp
)
tte
:
UseCountLimit
(
tp
)
end
if
e
:
GetLabel
()
==
1
then
if
e
:
GetLabel
()
==
1
then
local
mg2
=
mg
:
GetFirst
():
GetOverlayGroup
()
local
mg2
=
mg
:
GetFirst
():
GetOverlayGroup
()
if
mg2
:
GetCount
()
~=
0
then
if
mg2
:
GetCount
()
~=
0
then
...
@@ -136,7 +191,7 @@ function s.initial_effect(c)
...
@@ -136,7 +191,7 @@ function s.initial_effect(c)
end
end
end
end
end
end
aux
.
AddXyzProcedureLevelFree
(
card_c
,
s
.
f
(
function_f
,
int_lv
,
card_c
),
s
.
gf
(
int_ct
,
card_c
:
GetOwner
()),
int_ct
-
1
,
int_ct
)
aux
.
AddXyzProcedureLevelFree
(
card_c
,
s
.
Drake_shark_f
(
function_f
,
int_lv
,
card_c
),
s
.
Drake_shark_gf
(
int_ct
,
card_c
:
GetOwner
(),
card_c
),
int_ct
-
2
,
int_ct
)
Auxiliary
.
XyzLevelFreeOperation
=
Drake_shark_XyzLevelFreeOperation
Auxiliary
.
XyzLevelFreeOperation
=
Drake_shark_XyzLevelFreeOperation
end
end
else
else
...
@@ -147,20 +202,18 @@ function s.initial_effect(c)
...
@@ -147,20 +202,18 @@ function s.initial_effect(c)
end
end
end
end
end
end
local
rg
=
Duel
.
GetMatchingGroup
(
Card
.
IsType
,
tp
,
LOCATION_EXTRA
,
LOCATION_EXTRA
,
nil
,
TYPE_MONSTER
)
for
tc
in
aux
.
Next
(
rg
)
do
if
tc
.
initial_effect
then
local
Traitor_initial_effect
=
s
.
initial_effect
s
.
initial_effect
=
function
()
end
tc
:
ReplaceEffect
(
id
,
0
)
s
.
initial_effect
=
Traitor_initial_effect
tc
.
initial_effect
(
tc
)
end
end
end
function
s
.
f
(
function_f
,
int_lv
,
card_c
)
return
function
(
c
)
return
c
:
IsXyzLevel
(
card_c
,
int_lv
)
and
(
not
function_f
or
function_f
(
c
))
end
end
end
function
s
.
gf
(
int_ct
,
int_tp
)
return
function
(
g
)
return
g
:
GetCount
()
==
int_ct
or
g
:
GetCount
()
==
int_ct
-
1
and
g
:
IsExists
(
s
.
xfilter
,
1
,
nil
,
int_tp
)
end
end
end
e
:
Reset
()
function
s
.
xfilter
(
c
,
tp
)
return
c
:
IsHasEffect
(
id
,
tp
)
end
end
function
s
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
e
:
GetHandler
():
IsReason
(
REASON_DRAW
)
return
not
e
:
GetHandler
():
IsReason
(
REASON_DRAW
)
...
@@ -202,3 +255,30 @@ function s.xyzop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -202,3 +255,30 @@ function s.xyzop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Overlay
(
c
,
Group
.
FromCards
(
tc
))
Duel
.
Overlay
(
c
,
Group
.
FromCards
(
tc
))
end
end
end
end
function
Auxiliary
.
Drake_Solve
(
tp
,
g
,
maxct
,
minct
,
chkg
)
if
g
:
GetCount
()
<
maxct
and
g
:
GetCount
()
>=
minct
and
maxct
==
minct
+
2
then
local
et
=
maxct
-
g
:
GetCount
()
local
exg
=
g
:
Filter
(
Card
.
IsHasEffect
,
nil
,
81096431
,
tp
)
local
ext
=
exg
:
GetClassCount
(
s
.
eftfilter
,
tp
)
if
(
et
==
0
or
et
==
ext
)
and
#
exg
>
0
then
for
ttc
in
aux
.
Next
(
exg
)
do
local
tte
=
ttc
:
IsHasEffect
(
81096431
,
tp
)
if
tte
then
Duel
.
Hint
(
HINT_CARD
,
0
,
ttc
:
GetCode
())
tte
:
UseCountLimit
(
tp
)
end
end
elseif
#
exg
>
0
then
local
st
=
et
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RESOLVECARD
)
local
reg
=
exg
:
SelectSubGroup
(
tp
,
s
.
gcheck
,
false
,
st
,
st
,
tp
)
for
ttc
in
aux
.
Next
(
reg
)
do
local
tte
=
ttc
:
IsHasEffect
(
81096431
,
tp
)
if
tte
then
Duel
.
Hint
(
HINT_CARD
,
0
,
ttc
:
GetCode
())
tte
:
UseCountLimit
(
tp
)
end
end
end
end
end
c81269231.lua
View file @
72d92271
...
@@ -31,8 +31,8 @@ function c81269231.valcheck(e,c)
...
@@ -31,8 +31,8 @@ function c81269231.valcheck(e,c)
local
flag
=
0
local
flag
=
0
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
while
tc
do
while
tc
do
if
tc
:
IsSetCard
(
0x7
)
then
flag
=
bit
.
bor
(
flag
,
0x1
)
end
if
tc
:
IsSetCard
(
0x7
)
and
tc
:
IsType
(
TYPE_MONSTER
)
then
flag
=
bit
.
bor
(
flag
,
0x1
)
end
if
tc
:
IsSetCard
(
0x51
)
then
flag
=
bit
.
bor
(
flag
,
0x2
)
end
if
tc
:
IsSetCard
(
0x51
)
and
tc
:
IsType
(
TYPE_MONSTER
)
then
flag
=
bit
.
bor
(
flag
,
0x2
)
end
tc
=
g
:
GetNext
()
tc
=
g
:
GetNext
()
end
end
e
:
SetLabel
(
flag
)
e
:
SetLabel
(
flag
)
...
...
c85123771.lua
View file @
72d92271
...
@@ -19,7 +19,7 @@ function s.initial_effect(c)
...
@@ -19,7 +19,7 @@ function s.initial_effect(c)
e2
:
SetCategory
(
CATEGORY_TOHAND
)
e2
:
SetCategory
(
CATEGORY_TOHAND
)
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
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCountLimit
(
1
,
id
+
o
)
e2
:
SetCountLimit
(
1
,
id
+
o
)
e2
:
SetCondition
(
s
.
thcon
)
e2
:
SetCondition
(
s
.
thcon
)
...
...
c85252081.lua
View file @
72d92271
...
@@ -69,7 +69,7 @@ function c85252081.desop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -69,7 +69,7 @@ function c85252081.desop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
c85252081
.
mtfilter
(
c
,
e
)
function
c85252081
.
mtfilter
(
c
,
e
)
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
c
:
IsFaceup
()
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
return
c
:
IsFaceupEx
()
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x10dc
)
and
c
:
IsCanOverlay
()
and
not
(
e
and
c
:
IsImmuneToEffect
(
e
))
end
end
function
c85252081
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c85252081
.
mttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsType
(
TYPE_XYZ
)
...
...
c85888377.lua
View file @
72d92271
...
@@ -31,7 +31,7 @@ function c85888377.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -31,7 +31,7 @@ function c85888377.activate(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
~=
0
then
if
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
~=
0
then
local
ct
=
Duel
.
GetMatchingGroupCount
(
c85888377
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
c
)
local
ct
=
Duel
.
GetMatchingGroupCount
(
c85888377
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
c
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NegateAnyFilter
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NegateAnyFilter
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
if
ct
>
0
and
g
:
GetCount
()
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
85888377
,
0
))
then
if
ct
>
0
and
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
85888377
,
0
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISABLE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISABLE
)
local
sg
=
g
:
Select
(
tp
,
1
,
ct
,
nil
)
local
sg
=
g
:
Select
(
tp
,
1
,
ct
,
nil
)
...
...
c86999951.lua
View file @
72d92271
...
@@ -32,8 +32,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -32,8 +32,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
s
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanTurnSet
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanTurnSet
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
and
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_DEFENSE
)
>
0
then
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_DEFENSE
)
local
g1
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
local
g1
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
if
g1
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
1
))
then
if
g1
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
1
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
...
...
c91800273.lua
View file @
72d92271
...
@@ -8,6 +8,7 @@ function c91800273.initial_effect(c)
...
@@ -8,6 +8,7 @@ function c91800273.initial_effect(c)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCondition
(
c91800273
.
redcon
)
e1
:
SetCondition
(
c91800273
.
redcon
)
e1
:
SetCost
(
c91800273
.
redcost
)
e1
:
SetCost
(
c91800273
.
redcost
)
e1
:
SetTarget
(
c91800273
.
redtg
)
e1
:
SetOperation
(
c91800273
.
redop
)
e1
:
SetOperation
(
c91800273
.
redop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
...
@@ -18,6 +19,9 @@ function c91800273.redcost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -18,6 +19,9 @@ function c91800273.redcost(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
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
)
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
)
end
end
function
c91800273
.
redtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetFlagEffect
(
tp
,
91800273
)
==
0
end
end
function
c91800273
.
redop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c91800273
.
redop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
...
@@ -27,4 +31,5 @@ function c91800273.redop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -27,4 +31,5 @@ function c91800273.redop(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetValue
(
LOCATION_REMOVED
)
e1
:
SetValue
(
LOCATION_REMOVED
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
,
2
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
,
2
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterFlagEffect
(
tp
,
91800273
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
end
c93860227.lua
View file @
72d92271
...
@@ -35,7 +35,7 @@ function s.ffilter1(c,fc,sub,mg,sg)
...
@@ -35,7 +35,7 @@ function s.ffilter1(c,fc,sub,mg,sg)
return
c
:
GetEquipGroup
():
IsExists
(
s
.
eqilter
,
1
,
nil
)
return
c
:
GetEquipGroup
():
IsExists
(
s
.
eqilter
,
1
,
nil
)
end
end
function
s
.
ffilter2
(
c
,
fc
,
sub
,
mg
,
sg
)
function
s
.
ffilter2
(
c
,
fc
,
sub
,
mg
,
sg
)
return
c
:
GetOriginalType
()
&
TYPE_MONSTER
~=
0
and
c
:
GetOriginalRace
()
&
RACE_FIEND
~=
0
return
c
:
GetOriginalType
()
&
TYPE_MONSTER
~=
0
and
c
:
IsRace
(
RACE_FIEND
)
end
end
function
s
.
tgfilter
(
c
)
function
s
.
tgfilter
(
c
)
return
c
:
IsPreviousLocation
(
LOCATION_HAND
)
and
c
:
IsType
(
TYPE_MONSTER
)
return
c
:
IsPreviousLocation
(
LOCATION_HAND
)
and
c
:
IsType
(
TYPE_MONSTER
)
...
...
c9396662.lua
View file @
72d92271
...
@@ -29,7 +29,7 @@ function s.rfilter(c,tp)
...
@@ -29,7 +29,7 @@ function s.rfilter(c,tp)
end
end
function
s
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
s
.
rfilter
,
1
,
c
,
1
,
tp
)
end
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
s
.
rfilter
,
1
,
c
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
s
.
rfilter
,
1
,
1
,
c
,
tp
)
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
s
.
rfilter
,
1
,
1
,
c
,
tp
)
Duel
.
Release
(
g
,
REASON_COST
)
Duel
.
Release
(
g
,
REASON_COST
)
...
...
c97223101.lua
View file @
72d92271
...
@@ -3,12 +3,12 @@ local s,id,o=GetID()
...
@@ -3,12 +3,12 @@ local s,id,o=GetID()
function
s
.
initial_effect
(
c
)
function
s
.
initial_effect
(
c
)
c
:
EnableCounterPermit
(
0x6c
)
c
:
EnableCounterPermit
(
0x6c
)
c
:
SetCounterLimit
(
0x6c
,
10
)
c
:
SetCounterLimit
(
0x6c
,
10
)
--
--
activate
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--
--
add counter
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e2
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e2
:
SetCategory
(
CATEGORY_COUNTER
)
e2
:
SetCategory
(
CATEGORY_COUNTER
)
...
@@ -20,7 +20,7 @@ function s.initial_effect(c)
...
@@ -20,7 +20,7 @@ function s.initial_effect(c)
e2
:
SetTarget
(
s
.
cttg
)
e2
:
SetTarget
(
s
.
cttg
)
e2
:
SetOperation
(
s
.
ctop
)
e2
:
SetOperation
(
s
.
ctop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--
--
atk up
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
...
@@ -28,7 +28,7 @@ function s.initial_effect(c)
...
@@ -28,7 +28,7 @@ function s.initial_effect(c)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e3
:
SetValue
(
s
.
val
)
e3
:
SetValue
(
s
.
val
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
--
--
set
local
e4
=
Effect
.
CreateEffect
(
c
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e4
:
SetDescription
(
aux
.
Stringid
(
id
,
1
))
e4
:
SetCategory
(
CATEGORY_TOHAND
)
e4
:
SetCategory
(
CATEGORY_TOHAND
)
...
@@ -58,8 +58,8 @@ end
...
@@ -58,8 +58,8 @@ end
function
s
.
val
(
e
,
c
)
function
s
.
val
(
e
,
c
)
return
e
:
GetHandler
():
GetCounter
(
0x6c
)
*
100
return
e
:
GetHandler
():
GetCounter
(
0x6c
)
*
100
end
end
function
s
.
filter
(
c
)
function
s
.
filter
(
c
,
ignore
)
return
c
:
IsType
(
TYPE_TRAP
)
and
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsSSetable
()
return
c
:
IsType
(
TYPE_TRAP
)
and
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsSSetable
(
ignore
)
and
(
c
:
GetOriginalLevel
()
>
0
and
(
c
:
GetOriginalLevel
()
>
0
or
bit
.
band
(
c
:
GetOriginalRace
(),
0x3fffffff
)
~=
0
or
bit
.
band
(
c
:
GetOriginalRace
(),
0x3fffffff
)
~=
0
or
bit
.
band
(
c
:
GetOriginalAttribute
(),
0x7f
)
~=
0
or
bit
.
band
(
c
:
GetOriginalAttribute
(),
0x7f
)
~=
0
...
@@ -68,7 +68,9 @@ function s.filter(c)
...
@@ -68,7 +68,9 @@ function s.filter(c)
end
end
function
s
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
settg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
eg
:
IsContains
(
c
)
and
c
:
GetCounter
(
0x6c
)
==
10
and
c
:
IsAbleToHand
()
and
Duel
.
IsExistingMatchingCard
(
s
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
eg
:
IsContains
(
c
)
and
c
:
GetCounter
(
0x6c
)
==
10
and
c
:
IsAbleToHand
()
and
Duel
.
GetSZoneCount
(
tp
,
c
)
>
0
and
Duel
.
IsExistingMatchingCard
(
s
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
true
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
c
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
c
,
1
,
0
,
0
)
end
end
function
s
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -76,7 +78,7 @@ function s.setop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -76,7 +78,7 @@ function s.setop(e,tp,eg,ep,ev,re,r,rp)
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SendtoHand
(
c
,
nil
,
REASON_EFFECT
)
~=
0
and
c
:
IsLocation
(
LOCATION_HAND
)
then
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SendtoHand
(
c
,
nil
,
REASON_EFFECT
)
~=
0
and
c
:
IsLocation
(
LOCATION_HAND
)
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
false
)
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
tc
and
Duel
.
SSet
(
tp
,
tc
)
~=
0
then
if
tc
and
Duel
.
SSet
(
tp
,
tc
)
~=
0
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
...
...
procedure.lua
View file @
72d92271
...
@@ -2165,7 +2165,7 @@ function Auxiliary.LExtraFilter(c,f,lc,tp)
...
@@ -2165,7 +2165,7 @@ function Auxiliary.LExtraFilter(c,f,lc,tp)
return
false
return
false
end
end
function
Auxiliary
.
GetLinkCount
(
c
)
function
Auxiliary
.
GetLinkCount
(
c
)
if
c
:
IsType
(
TYPE_LINK
)
and
c
:
GetLink
()
>
1
then
if
c
:
Is
Link
Type
(
TYPE_LINK
)
and
c
:
GetLink
()
>
1
then
return
1
+
0x10000
*
c
:
GetLink
()
return
1
+
0x10000
*
c
:
GetLink
()
else
return
1
end
else
return
1
end
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment