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
3
Merge Requests
3
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
60444c5d
Commit
60444c5d
authored
Jun 26, 2024
by
mercury233
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
c9a2bae4
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
96 additions
and
71 deletions
+96
-71
c10796448.lua
c10796448.lua
+7
-4
c12381100.lua
c12381100.lua
+8
-9
c1269512.lua
c1269512.lua
+3
-0
c17217034.lua
c17217034.lua
+4
-4
c19974890.lua
c19974890.lua
+1
-0
c23530726.lua
c23530726.lua
+2
-1
c42427230.lua
c42427230.lua
+7
-8
c43502497.lua
c43502497.lua
+22
-26
c44201739.lua
c44201739.lua
+6
-3
c48486809.lua
c48486809.lua
+12
-9
c48654267.lua
c48654267.lua
+4
-0
c71818935.lua
c71818935.lua
+2
-2
c74652966.lua
c74652966.lua
+5
-1
c75874514.lua
c75874514.lua
+11
-4
c83589191.lua
c83589191.lua
+2
-0
No files found.
c10796448.lua
View file @
60444c5d
...
@@ -59,16 +59,19 @@ end
...
@@ -59,16 +59,19 @@ end
function
c10796448
.
costfilter
(
c
)
function
c10796448
.
costfilter
(
c
)
return
c
:
IsReleasable
()
and
((
c
:
IsFacedown
()
and
c
:
IsDefensePos
())
or
(
c
:
IsFaceup
()
and
c
:
IsAttackPos
()))
return
c
:
IsReleasable
()
and
((
c
:
IsFacedown
()
and
c
:
IsDefensePos
())
or
(
c
:
IsFaceup
()
and
c
:
IsAttackPos
()))
end
end
function
c10796448
.
spcheck
(
g
,
tp
)
return
Duel
.
GetMZoneCount
(
tp
,
g
)
>
0
and
aux
.
gfcheck
(
g
,
Card
.
IsPosition
,
POS_FACEUP_ATTACK
,
POS_FACEDOWN_DEFENSE
)
end
function
c10796448
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c10796448
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c10796448
.
costfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c10796448
.
costfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
if
chk
==
0
then
return
g
:
CheckSubGroup
(
aux
.
gfcheck
,
2
,
2
,
Card
.
IsPosition
,
POS_FACEUP_ATTACK
,
POS_FACEDOWN_DEFENSE
)
end
if
chk
==
0
then
return
g
:
CheckSubGroup
(
c10796448
.
spcheck
,
2
,
2
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
gfcheck
,
false
,
2
,
2
,
Card
.
IsPosition
,
POS_FACEUP_ATTACK
,
POS_FACEDOWN_DEFENSE
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
c10796448
.
spcheck
,
false
,
2
,
2
,
tp
)
Duel
.
Release
(
sg
,
REASON_COST
)
Duel
.
Release
(
sg
,
REASON_COST
)
end
end
function
c10796448
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c10796448
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
if
chk
==
0
then
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
end
end
function
c10796448
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c10796448
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c12381100.lua
View file @
60444c5d
...
@@ -41,8 +41,8 @@ function s.initial_effect(c)
...
@@ -41,8 +41,8 @@ function s.initial_effect(c)
e3
:
SetOperation
(
s
.
spop
)
e3
:
SetOperation
(
s
.
spop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
function
s
.
ffilter1
(
c
)
function
s
.
ffilter1
(
c
,
fc
)
return
c
:
IsFusionCode
(
23995346
)
return
c
:
IsFusionCode
(
23995346
)
or
c
:
CheckFusionSubstitute
(
fc
)
end
end
function
s
.
ffilter2
(
c
)
function
s
.
ffilter2
(
c
)
return
c
:
IsFusionSetCard
(
0xdd
)
and
c
:
IsType
(
TYPE_MONSTER
)
return
c
:
IsFusionSetCard
(
0xdd
)
and
c
:
IsType
(
TYPE_MONSTER
)
...
@@ -51,7 +51,7 @@ function s.ffilter3(c)
...
@@ -51,7 +51,7 @@ function s.ffilter3(c)
return
c
:
IsFusionSetCard
(
0xcf
)
and
c
:
IsAllTypes
(
TYPE_MONSTER
+
TYPE_RITUAL
)
return
c
:
IsFusionSetCard
(
0xcf
)
and
c
:
IsAllTypes
(
TYPE_MONSTER
+
TYPE_RITUAL
)
end
end
function
s
.
ffilter
(
c
,
fc
)
function
s
.
ffilter
(
c
,
fc
)
return
c
:
IsCanBeFusionMaterial
(
fc
)
and
(
s
.
ffilter1
(
c
)
or
s
.
ffilter2
(
c
)
or
s
.
ffilter3
(
c
))
return
c
:
IsCanBeFusionMaterial
(
fc
)
and
(
s
.
ffilter1
(
c
,
fc
)
or
s
.
ffilter2
(
c
)
or
s
.
ffilter3
(
c
))
end
end
function
s
.
f2filter3
(
c
,
sg
)
function
s
.
f2filter3
(
c
,
sg
)
return
s
.
ffilter3
(
c
)
and
sg
:
IsExists
(
s
.
ffilter2
,
3
,
c
)
return
s
.
ffilter3
(
c
)
and
sg
:
IsExists
(
s
.
ffilter2
,
3
,
c
)
...
@@ -66,7 +66,7 @@ function s.fcheck(sg,fc,tp,gc,chkf)
...
@@ -66,7 +66,7 @@ function s.fcheck(sg,fc,tp,gc,chkf)
if
aux
.
FCheckAdditional
and
not
aux
.
FCheckAdditional
(
tp
,
sg
,
fc
)
if
aux
.
FCheckAdditional
and
not
aux
.
FCheckAdditional
(
tp
,
sg
,
fc
)
or
aux
.
FGoalCheckAdditional
and
not
aux
.
FGoalCheckAdditional
(
tp
,
sg
,
fc
)
then
return
false
end
or
aux
.
FGoalCheckAdditional
and
not
aux
.
FGoalCheckAdditional
(
tp
,
sg
,
fc
)
then
return
false
end
if
ct
==
2
then
if
ct
==
2
then
return
aux
.
gffcheck
(
sg
,
s
.
ffilter1
,
nil
,
s
.
ffilter3
,
nil
)
return
aux
.
gffcheck
(
sg
,
s
.
ffilter1
,
fc
,
s
.
ffilter3
,
nil
)
else
else
return
sg
:
IsExists
(
s
.
f2filter3
,
1
,
nil
,
sg
)
return
sg
:
IsExists
(
s
.
f2filter3
,
1
,
nil
,
sg
)
end
end
...
@@ -87,7 +87,7 @@ function s.foperation(e,tp,eg,ep,ev,re,r,rp,gc,chkf)
...
@@ -87,7 +87,7 @@ function s.foperation(e,tp,eg,ep,ev,re,r,rp,gc,chkf)
Duel
.
SetFusionMaterial
(
g
)
Duel
.
SetFusionMaterial
(
g
)
end
end
function
s
.
ultimate_fusion_check
(
tp
,
sg
,
fc
)
function
s
.
ultimate_fusion_check
(
tp
,
sg
,
fc
)
return
#
sg
==
2
and
aux
.
gffcheck
(
sg
,
s
.
ffilter1
,
nil
,
s
.
ffilter3
,
nil
)
return
#
sg
==
2
and
aux
.
gffcheck
(
sg
,
s
.
ffilter1
,
fc
,
s
.
ffilter3
,
nil
)
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
rp
==
1
-
tp
and
not
e
:
GetHandler
():
IsStatus
(
STATUS_BATTLE_DESTROYED
)
and
Duel
.
IsChainNegatable
(
ev
)
return
rp
==
1
-
tp
and
not
e
:
GetHandler
():
IsStatus
(
STATUS_BATTLE_DESTROYED
)
and
Duel
.
IsChainNegatable
(
ev
)
...
@@ -140,9 +140,8 @@ function s.spcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -140,9 +140,8 @@ function s.spcon(e,tp,eg,ep,ev,re,r,rp)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
IsPreviousControler
(
tp
)
and
c
:
GetReasonPlayer
()
==
1
-
tp
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
IsPreviousControler
(
tp
)
and
c
:
GetReasonPlayer
()
==
1
-
tp
end
end
function
s
.
spfilter
(
c
,
e
,
tp
)
function
s
.
spfilter
(
c
,
e
,
tp
)
return
(
c
:
IsFusionSetCard
(
0xdd
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
(
c
:
IsSetCard
(
0xdd
)
or
c
:
IsSetCard
(
0xcf
)
and
c
:
IsAllTypes
(
TYPE_MONSTER
+
TYPE_RITUAL
))
or
c
:
IsFusionSetCard
(
0xcf
)
and
c
:
IsFusionType
(
TYPE_RITUAL
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
not
(
c
:
IsCode
(
70551291
)
or
c
:
IsCode
(
55410871
)
or
c
:
IsCode
(
20654247
)))
and
(
c
:
IsLocation
(
LOCATION_GRAVE
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
(
c
:
IsLocation
(
LOCATION_GRAVE
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
or
c
:
IsLocation
(
LOCATION_EXTRA
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
nil
,
c
)
>
0
)
or
c
:
IsLocation
(
LOCATION_EXTRA
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
nil
,
c
)
>
0
)
end
end
...
@@ -154,6 +153,6 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -154,6 +153,6 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
s
.
spfilter
),
tp
,
LOCATION_GRAVE
+
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
s
.
spfilter
),
tp
,
LOCATION_GRAVE
+
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
#
g
>
0
then
if
#
g
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
tru
e
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
fals
e
,
false
,
POS_FACEUP
)
end
end
end
end
c1269512.lua
View file @
60444c5d
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
function
c1269512
.
initial_effect
(
c
)
function
c1269512
.
initial_effect
(
c
)
aux
.
AddXyzProcedure
(
c
,
nil
,
4
,
3
,
c1269512
.
ovfilter
,
aux
.
Stringid
(
1269512
,
0
),
3
,
c1269512
.
xyzop
)
aux
.
AddXyzProcedure
(
c
,
nil
,
4
,
3
,
c1269512
.
ovfilter
,
aux
.
Stringid
(
1269512
,
0
),
3
,
c1269512
.
xyzop
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetRange
(
LOCATION_MZONE
)
...
@@ -9,6 +10,7 @@ function c1269512.initial_effect(c)
...
@@ -9,6 +10,7 @@ function c1269512.initial_effect(c)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
-
500
)
e1
:
SetValue
(
-
500
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
1269512
,
2
))
e2
:
SetDescription
(
aux
.
Stringid
(
1269512
,
2
))
e2
:
SetCategory
(
CATEGORY_DISABLE
)
e2
:
SetCategory
(
CATEGORY_DISABLE
)
...
@@ -19,6 +21,7 @@ function c1269512.initial_effect(c)
...
@@ -19,6 +21,7 @@ function c1269512.initial_effect(c)
e2
:
SetTarget
(
c1269512
.
distg
)
e2
:
SetTarget
(
c1269512
.
distg
)
e2
:
SetOperation
(
c1269512
.
disop
)
e2
:
SetOperation
(
c1269512
.
disop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
1269512
,
3
))
e3
:
SetDescription
(
aux
.
Stringid
(
1269512
,
3
))
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
...
...
c17217034.lua
View file @
60444c5d
...
@@ -8,7 +8,7 @@ function s.initial_effect(c)
...
@@ -8,7 +8,7 @@ function s.initial_effect(c)
--Negate
--Negate
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e1
:
SetCategory
(
CATEGORY_
EQUIP
)
e1
:
SetCategory
(
CATEGORY_
DISABLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
...
@@ -34,12 +34,12 @@ function s.initial_effect(c)
...
@@ -34,12 +34,12 @@ function s.initial_effect(c)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
function
s
.
nefilter
(
c
)
function
s
.
nefilter
(
c
)
return
c
:
IsFaceup
(
)
and
c
:
IsAttackAbove
(
2500
)
return
aux
.
NegateMonsterFilter
(
c
)
and
c
:
IsAttackAbove
(
2500
)
end
end
function
s
.
netg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
s
.
netg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
s
.
nefilter
(
chkc
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
s
.
nefilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
s
.
nefilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
s
.
nefilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_
FACEUP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_
DISABLE
)
local
g
=
Duel
.
SelectTarget
(
tp
,
s
.
nefilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
s
.
nefilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DISABLE
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DISABLE
,
g
,
1
,
0
,
0
)
end
end
...
...
c19974890.lua
View file @
60444c5d
--獣累々
--獣累々
function
c19974890
.
initial_effect
(
c
)
function
c19974890
.
initial_effect
(
c
)
--
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_POSITION
)
e1
:
SetCategory
(
CATEGORY_POSITION
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
...
...
c23530726.lua
View file @
60444c5d
...
@@ -23,7 +23,7 @@ function s.initial_effect(c)
...
@@ -23,7 +23,7 @@ function s.initial_effect(c)
--Disable
--Disable
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e3
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e3
:
SetCategory
(
CATEGORY_DISABLE
)
e3
:
SetCategory
(
CATEGORY_DISABLE
+
CATEGORY_DESTROY
)
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetCode
(
EVENT_CHAINING
)
e3
:
SetCode
(
EVENT_CHAINING
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetRange
(
LOCATION_MZONE
)
...
@@ -61,6 +61,7 @@ function s.disop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -61,6 +61,7 @@ function s.disop(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
NegateEffect
(
ev
)
and
#
g
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
1
))
then
if
Duel
.
NegateEffect
(
ev
)
and
#
g
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
id
,
1
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
sg
)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Destroy
(
sg
,
REASON_EFFECT
)
Duel
.
Destroy
(
sg
,
REASON_EFFECT
)
end
end
...
...
c42427230.lua
View file @
60444c5d
...
@@ -17,25 +17,24 @@ function c42427230.initial_effect(c)
...
@@ -17,25 +17,24 @@ function c42427230.initial_effect(c)
e2
:
SetCategory
(
CATEGORY_DESTROY
)
e2
:
SetCategory
(
CATEGORY_DESTROY
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_REMOVE
)
e2
:
SetCode
(
EVENT_REMOVE
)
e2
:
SetProperty
(
EFFECT_FLAG_
DAMAGE_STEP
+
EFFECT_FLAG_
CARD_TARGET
+
EFFECT_FLAG_DELAY
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
+
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
42427231
)
e2
:
SetCountLimit
(
1
,
42427231
)
e2
:
SetTarget
(
c42427230
.
destg
)
e2
:
SetTarget
(
c42427230
.
destg
)
e2
:
SetOperation
(
c42427230
.
desop
)
e2
:
SetOperation
(
c42427230
.
desop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c42427230
.
cfilter
(
c
,
tp
)
function
c42427230
.
cfilter
(
c
,
tp
)
return
(
c
:
IsControler
(
tp
)
or
c
:
IsFaceup
())
and
c
:
IsCode
(
42427230
)
and
c
:
IsReleasable
()
return
(
c
:
IsControler
(
tp
)
or
c
:
IsFaceup
())
and
c
:
IsCode
(
42427230
)
end
end
function
c42427230
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c42427230
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
rg
=
Duel
.
GetMatchingGroup
(
c42427230
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
)
local
rg
=
Duel
.
GetMatchingGroup
(
c42427230
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
)
if
chk
==
0
then
return
rg
:
GetCount
()
==
Duel
.
GetMatchingGroup
(
Card
.
IsCode
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
42427230
):
GetCount
()
and
rg
:
GetCount
()
~=
0
and
Duel
.
GetMZoneCount
(
tp
,
rg
)
>
0
end
if
chk
==
0
then
return
rg
:
GetCount
()
==
rg
:
FilterCount
(
Card
.
IsReleasable
,
nil
)
and
rg
:
GetCount
()
~=
0
and
Duel
.
GetMZoneCount
(
tp
,
rg
)
>
0
end
local
ct
=
Duel
.
Release
(
rg
,
REASON_COST
)
*
2
local
ct
=
Duel
.
Release
(
rg
,
REASON_COST
)
*
2
e
:
SetLabel
(
ct
)
e
:
SetLabel
(
ct
)
end
end
function
c42427230
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c42427230
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
42427231
,
0
,
TYPES_TOKEN_MONSTER
,
200
,
200
,
1
,
RACE_MACHINE
,
ATTRIBUTE_FIRE
)
end
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
42427231
,
0
,
TYPES_TOKEN_MONSTER
,
200
,
200
,
1
,
RACE_MACHINE
,
ATTRIBUTE_FIRE
)
end
local
ct
=
e
:
GetLabel
()
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOKEN
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
0
,
0
)
end
end
...
@@ -74,9 +73,9 @@ function c42427230.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -74,9 +73,9 @@ function c42427230.spop(e,tp,eg,ep,ev,re,r,rp)
end
end
function
c42427230
.
damop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c42427230
.
damop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
t
p
=
e
:
GetLabel
()
local
p
=
e
:
GetLabel
()
if
c
:
IsReason
(
REASON_DESTROY
)
then
if
c
:
IsReason
(
REASON_DESTROY
)
then
Duel
.
Damage
(
1
-
t
p
,
500
,
REASON_EFFECT
)
Duel
.
Damage
(
1
-
p
,
500
,
REASON_EFFECT
)
end
end
e
:
Reset
()
e
:
Reset
()
end
end
...
@@ -88,7 +87,7 @@ function c42427230.desfilter2(c,e)
...
@@ -88,7 +87,7 @@ function c42427230.desfilter2(c,e)
end
end
function
c42427230
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c42427230
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
c42427230
.
desfilter
(
chkc
)
end
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
c42427230
.
desfilter
(
chkc
)
end
local
g
=
Duel
.
GetMatchingGroup
(
c42427230
.
desfilter2
,
tp
,
LOCATION_
MZONE
,
0
,
nil
,
e
)
local
g
=
Duel
.
GetMatchingGroup
(
c42427230
.
desfilter2
,
tp
,
LOCATION_
ONFIELD
,
0
,
nil
,
e
)
if
chk
==
0
then
return
g
:
GetCount
()
~=
0
end
if
chk
==
0
then
return
g
:
GetCount
()
~=
0
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
sg
=
g
:
Select
(
tp
,
1
,
g
:
GetCount
(),
nil
)
local
sg
=
g
:
Select
(
tp
,
1
,
g
:
GetCount
(),
nil
)
...
...
c43502497.lua
View file @
60444c5d
...
@@ -7,7 +7,7 @@ function s.initial_effect(c)
...
@@ -7,7 +7,7 @@ function s.initial_effect(c)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
id
,
0
))
e1
:
SetCategory
(
CATEGORY_TOEXTRA
)
e1
:
SetCategory
(
CATEGORY_TOEXTRA
)
e1
:
SetType
(
EFFECT_TYPE_
SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetType
(
EFFECT_TYPE_
FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_CUSTOM
+
id
)
e1
:
SetCode
(
EVENT_CUSTOM
+
id
)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetCountLimit
(
1
,
id
)
e1
:
SetCountLimit
(
1
,
id
)
...
@@ -42,40 +42,35 @@ function s.initial_effect(c)
...
@@ -42,40 +42,35 @@ function s.initial_effect(c)
e4
:
SetOperation
(
s
.
pzop
)
e4
:
SetOperation
(
s
.
pzop
)
c
:
RegisterEffect
(
e4
)
c
:
RegisterEffect
(
e4
)
end
end
function
s
.
cfilter
(
c
,
tp
,
chk
)
function
s
.
cfilter
(
c
,
tp
,
tg
chk
)
return
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
GetPreviousTypeOnField
()
&
(
TYPE_FUSION
+
TYPE_SYNCHRO
+
TYPE_XYZ
)
>
0
return
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
GetPreviousTypeOnField
()
&
(
TYPE_FUSION
+
TYPE_SYNCHRO
+
TYPE_XYZ
)
>
0
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
IsPreviousControler
(
tp
)
and
(
c
:
IsReason
(
REASON_BATTLE
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
IsPreviousControler
(
tp
)
or
c
:
IsReason
(
REASON_EFFECT
)
and
c
:
GetReasonPlayer
()
==
1
-
tp
)
and
(
c
:
IsReason
(
REASON_BATTLE
)
or
c
:
IsReason
(
REASON_EFFECT
)
and
c
:
GetReasonPlayer
()
==
1
-
tp
)
and
(
not
chk
or
Duel
.
IsExistingMatchingCard
(
s
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
c
))
and
(
tgchk
or
Duel
.
IsExistingMatchingCard
(
s
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
c
:
GetOriginalRace
()
))
end
end
function
s
.
chk
(
c
,
tc
)
function
s
.
filter
(
c
,
race
)
return
c
:
GetOriginalRace
()
==
tc
:
GetOriginalRace
()
return
c
:
IsType
(
TYPE_PENDULUM
)
and
(
c
:
GetOriginalRace
()
&
race
)
>
0
end
function
s
.
filter
(
c
,
r
)
if
not
c
:
IsType
(
TYPE_PENDULUM
)
then
return
false
end
local
t
=
type
(
r
)
if
t
==
'userdata'
then
local
v
=
aux
.
GetValueType
(
r
)
if
v
==
'Card'
then
return
s
.
chk
(
c
,
r
)
elseif
v
==
'Group'
then
return
r
:
IsExists
(
s
.
chk
,
1
,
c
,
c
)
else
return
false
end
elseif
t
==
'number'
then
return
c
:
GetOriginalRace
()
==
r
else
return
false
end
end
end
function
s
.
txcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
txcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
s
.
cfilter
,
1
,
nil
,
tp
)
return
eg
:
IsExists
(
s
.
cfilter
,
1
,
nil
,
tp
,
false
)
end
end
function
s
.
txtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
txtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
eg
:
Filter
(
s
.
cfilter
,
nil
,
tp
,
chk
==
0
)
if
chk
==
0
then
return
true
end
if
chk
==
0
then
return
#
g
>
0
end
local
g
=
eg
:
Filter
(
s
.
cfilter
,
nil
,
tp
,
true
)
Duel
.
SetTargetCard
(
g
)
local
race
=
0
for
tc
in
aux
.
Next
(
g
)
do
race
=
race
|
tc
:
GetOriginalRace
()
end
e
:
SetLabel
(
race
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOEXTRA
,
nil
,
1
,
tp
,
LOCATION_DECK
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOEXTRA
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
end
function
s
.
txop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
txop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetTargetsRelateToChain
()
local
race
=
e
:
GetLabel
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
id
,
3
))
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
id
,
3
))
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
g
)
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
race
)
if
#
tg
>
0
then
Duel
.
SendtoExtraP
(
tg
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoExtraP
(
tg
,
nil
,
REASON_EFFECT
)
end
end
end
function
s
.
sfilter
(
c
)
function
s
.
sfilter
(
c
)
return
c
:
IsLevelBelow
(
4
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsAbleToHand
()
return
c
:
IsLevelBelow
(
4
)
and
c
:
IsType
(
TYPE_PENDULUM
)
and
c
:
IsAbleToHand
()
...
@@ -96,6 +91,7 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -96,6 +91,7 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
if
#
g
<
2
or
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
<
2
then
return
end
if
#
g
<
2
or
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
<
2
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
sfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
s
.
sfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
#
sg
==
0
then
return
end
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
end
end
...
...
c44201739.lua
View file @
60444c5d
--ミラァと燐寸之仔
--ミラァと燐寸之仔
function
c44201739
.
initial_effect
(
c
)
function
c44201739
.
initial_effect
(
c
)
--
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
44201739
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
44201739
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
@@ -9,6 +10,7 @@ function c44201739.initial_effect(c)
...
@@ -9,6 +10,7 @@ function c44201739.initial_effect(c)
e1
:
SetTarget
(
c44201739
.
sptg
)
e1
:
SetTarget
(
c44201739
.
sptg
)
e1
:
SetOperation
(
c44201739
.
spop
)
e1
:
SetOperation
(
c44201739
.
spop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
44201739
,
1
))
e2
:
SetDescription
(
aux
.
Stringid
(
44201739
,
1
))
e2
:
SetCategory
(
CATEGORY_NEGATE
)
e2
:
SetCategory
(
CATEGORY_NEGATE
)
...
@@ -39,9 +41,10 @@ function c44201739.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -39,9 +41,10 @@ function c44201739.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
,
nil
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
aux
.
dncheck
,
false
,
3
,
3
,
nil
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ShuffleHand
(
tp
)
Duel
.
ShuffleDeck
(
tp
)
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
Duel
.
SpecialSummon
(
c
,
SUMMON_VALUE_SELF
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
c
,
SUMMON_VALUE_SELF
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
ShuffleDeck
(
tp
)
end
end
end
end
function
c44201739
.
negcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c44201739
.
negcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -62,7 +65,7 @@ end
...
@@ -62,7 +65,7 @@ end
function
c44201739
.
negop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c44201739
.
negop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c44201739
.
filter
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
re
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c44201739
.
filter
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
re
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
~=
0
then
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
~=
0
and
g
:
GetFirst
():
IsLocation
(
LOCATION_GRAVE
)
then
Duel
.
NegateActivation
(
ev
)
Duel
.
NegateActivation
(
ev
)
end
end
end
end
c48486809.lua
View file @
60444c5d
...
@@ -38,14 +38,14 @@ function s.initial_effect(c)
...
@@ -38,14 +38,14 @@ function s.initial_effect(c)
c
:
RegisterEffect
(
e4
)
c
:
RegisterEffect
(
e4
)
end
end
s
.
lvup
=
{
id
}
s
.
lvup
=
{
id
}
function
s
.
spfilter
(
c
)
function
s
.
spfilter
(
c
,
tp
)
return
(
c
:
IsCode
(
57116033
)
or
c
:
IsSetCard
(
0x3008
)
and
c
:
IsType
(
TYPE_FUSION
))
and
c
:
IsFaceupEx
()
and
c
:
IsAbleToRemoveAsCost
()
return
(
c
:
IsCode
(
57116033
)
or
c
:
IsSetCard
(
0x3008
)
and
c
:
IsType
(
TYPE_FUSION
))
and
c
:
IsFaceupEx
()
and
c
:
IsAbleToRemoveAsCost
()
and
Duel
.
GetMZoneCount
(
tp
,
c
)
>
0
end
end
function
s
.
spcon
(
e
,
c
)
function
s
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
tp
=
c
:
GetControler
()
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
return
Duel
.
IsExistingMatchingCard
(
s
.
spfilter
,
tp
,
LOCATION_GRAVE
+
LOCATION_ONFIELD
+
LOCATION_HAND
,
0
,
1
,
c
,
tp
)
and
Duel
.
IsExistingMatchingCard
(
s
.
spfilter
,
tp
,
LOCATION_GRAVE
+
LOCATION_ONFIELD
+
LOCATION_HAND
,
0
,
1
,
c
)
end
end
function
s
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
function
s
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
...
@@ -63,12 +63,14 @@ function s.destg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -63,12 +63,14 @@ function s.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local
tc
=
Duel
.
GetAttacker
()
local
tc
=
Duel
.
GetAttacker
()
if
chk
==
0
then
return
tc
:
IsDestructable
()
end
if
chk
==
0
then
return
tc
:
IsDestructable
()
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tc
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
tc
,
1
,
0
,
0
)
if
math.max
(
0
,
tc
:
GetTextAttack
())
>
0
then
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
1
-
tp
,
0
)
end
if
tc
:
GetTextAttack
()
>
0
then
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
1
-
tp
,
tc
:
GetTextAttack
())
end
end
end
function
s
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetAttacker
()
local
tc
=
Duel
.
GetAttacker
()
if
tc
:
IsRelateToBattle
()
and
tc
:
IsLocation
(
LOCATION_MZONE
)
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
>
0
then
if
tc
:
IsRelateToBattle
()
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
>
0
and
tc
:
GetTextAttack
(
)
>
0
then
Duel
.
Damage
(
1
-
tp
,
math.max
(
0
,
tc
:
GetTextAttack
()
),
REASON_EFFECT
)
Duel
.
Damage
(
1
-
tp
,
tc
:
GetTextAttack
(
),
REASON_EFFECT
)
end
end
end
end
function
s
.
descon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
descon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -82,7 +84,8 @@ function s.destg2(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -82,7 +84,8 @@ function s.destg2(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
s
.
desop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
desop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
re
:
GetHandler
()
local
tc
=
re
:
GetHandler
()
if
tc
:
IsRelateToEffect
(
re
)
and
tc
:
IsLocation
(
LOCATION_MZONE
)
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
>
0
then
if
tc
:
IsRelateToEffect
(
re
)
and
tc
:
IsLocation
(
LOCATION_MZONE
)
Duel
.
Damage
(
1
-
tp
,
math.max
(
0
,
tc
:
GetTextAttack
()),
REASON_EFFECT
)
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
>
0
and
tc
:
GetTextAttack
()
>
0
then
Duel
.
Damage
(
1
-
tp
,
tc
:
GetTextAttack
(),
REASON_EFFECT
)
end
end
end
end
\ No newline at end of file
c48654267.lua
View file @
60444c5d
...
@@ -5,6 +5,7 @@ function c48654267.initial_effect(c)
...
@@ -5,6 +5,7 @@ function c48654267.initial_effect(c)
aux
.
EnablePendulumAttribute
(
c
)
aux
.
EnablePendulumAttribute
(
c
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddSynchroProcedure
(
c
,
nil
,
aux
.
NonTuner
(
c48654267
.
matfilter
),
1
)
aux
.
AddSynchroProcedure
(
c
,
nil
,
aux
.
NonTuner
(
c48654267
.
matfilter
),
1
)
--
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
48654267
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
48654267
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
@@ -15,6 +16,7 @@ function c48654267.initial_effect(c)
...
@@ -15,6 +16,7 @@ function c48654267.initial_effect(c)
e1
:
SetTarget
(
c48654267
.
psptg
)
e1
:
SetTarget
(
c48654267
.
psptg
)
e1
:
SetOperation
(
c48654267
.
pspop
)
e1
:
SetOperation
(
c48654267
.
pspop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
48654267
,
1
))
e2
:
SetDescription
(
aux
.
Stringid
(
48654267
,
1
))
e2
:
SetCategory
(
CATEGORY_POSITION
)
e2
:
SetCategory
(
CATEGORY_POSITION
)
...
@@ -30,6 +32,7 @@ function c48654267.initial_effect(c)
...
@@ -30,6 +32,7 @@ function c48654267.initial_effect(c)
e3
:
SetCode
(
EVENT_BATTLE_DAMAGE
)
e3
:
SetCode
(
EVENT_BATTLE_DAMAGE
)
e3
:
SetCondition
(
c48654267
.
spcon2
)
e3
:
SetCondition
(
c48654267
.
spcon2
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
--
local
e4
=
Effect
.
CreateEffect
(
c
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
48654267
,
2
))
e4
:
SetDescription
(
aux
.
Stringid
(
48654267
,
2
))
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
...
@@ -49,6 +52,7 @@ function c48654267.cfilter(c,tp)
...
@@ -49,6 +52,7 @@ function c48654267.cfilter(c,tp)
end
end
function
c48654267
.
pspcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c48654267
.
pspcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
c48654267
.
cfilter
,
1
,
nil
,
tp
)
end
if
chk
==
0
then
return
Duel
.
CheckReleaseGroup
(
tp
,
c48654267
.
cfilter
,
1
,
nil
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c48654267
.
cfilter
,
1
,
1
,
nil
,
tp
)
local
g
=
Duel
.
SelectReleaseGroup
(
tp
,
c48654267
.
cfilter
,
1
,
1
,
nil
,
tp
)
Duel
.
Release
(
g
,
REASON_COST
)
Duel
.
Release
(
g
,
REASON_COST
)
end
end
...
...
c71818935.lua
View file @
60444c5d
...
@@ -15,13 +15,13 @@ function s.initial_effect(c)
...
@@ -15,13 +15,13 @@ function s.initial_effect(c)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
s
.
filter
(
c
,
lg
)
function
s
.
filter
(
c
,
lg
)
return
c
:
IsFaceup
()
and
lg
:
IsContains
(
c
)
and
c
:
IsCanBeEffectTarget
()
return
c
:
IsFaceup
()
and
lg
:
IsContains
(
c
)
end
end
function
s
.
lmtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
s
.
lmtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
local
lg
=
e
:
GetHandler
():
GetLinkedGroup
()
if
chkc
then
return
chkc
:
IsControler
(
1
-
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
s
.
filter
(
chkc
,
lg
)
end
if
chkc
then
return
chkc
:
IsControler
(
1
-
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
s
.
filter
(
chkc
,
lg
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
s
.
filter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
,
lg
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
s
.
filter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
,
lg
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_
OPERATECARD
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_
TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
s
.
filter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
,
lg
)
local
g
=
Duel
.
SelectTarget
(
tp
,
s
.
filter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
,
lg
)
end
end
function
s
.
lmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
lmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c74652966.lua
View file @
60444c5d
--コード・オブ・ソウル
--コード・オブ・ソウル
function
c74652966
.
initial_effect
(
c
)
function
c74652966
.
initial_effect
(
c
)
--spsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
74652966
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
74652966
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
@@ -10,6 +11,7 @@ function c74652966.initial_effect(c)
...
@@ -10,6 +11,7 @@ function c74652966.initial_effect(c)
e1
:
SetTarget
(
c74652966
.
sptg
)
e1
:
SetTarget
(
c74652966
.
sptg
)
e1
:
SetOperation
(
c74652966
.
spop
)
e1
:
SetOperation
(
c74652966
.
spop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--link summon
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
74652966
,
1
))
e2
:
SetDescription
(
aux
.
Stringid
(
74652966
,
1
))
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
...
@@ -17,6 +19,7 @@ function c74652966.initial_effect(c)
...
@@ -17,6 +19,7 @@ function c74652966.initial_effect(c)
e2
:
SetCountLimit
(
1
,
44201739
+
1
)
e2
:
SetCountLimit
(
1
,
44201739
+
1
)
e2
:
SetOperation
(
c74652966
.
efop
)
e2
:
SetOperation
(
c74652966
.
efop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--link summon
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
74652966
,
2
))
e3
:
SetDescription
(
aux
.
Stringid
(
74652966
,
2
))
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
@@ -24,7 +27,8 @@ function c74652966.initial_effect(c)
...
@@ -24,7 +27,8 @@ function c74652966.initial_effect(c)
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetCode
(
EVENT_FREE_CHAIN
)
e3
:
SetCode
(
EVENT_FREE_CHAIN
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetCountLimit
(
1
,
44201739
+
300
)
e3
:
SetHintTiming
(
0
,
TIMING_MAIN_END
)
e3
:
SetCountLimit
(
1
,
44201739
+
2
)
e3
:
SetCondition
(
c74652966
.
lkcon
)
e3
:
SetCondition
(
c74652966
.
lkcon
)
e3
:
SetCost
(
aux
.
bfgcost
)
e3
:
SetCost
(
aux
.
bfgcost
)
e3
:
SetTarget
(
c74652966
.
lktg
)
e3
:
SetTarget
(
c74652966
.
lktg
)
...
...
c75874514.lua
View file @
60444c5d
...
@@ -29,16 +29,18 @@ function s.spcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -29,16 +29,18 @@ function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return
Duel
.
GetTurnPlayer
()
~=
tp
and
(
ph
==
PHASE_MAIN1
or
ph
==
PHASE_MAIN2
)
return
Duel
.
GetTurnPlayer
()
~=
tp
and
(
ph
==
PHASE_MAIN1
or
ph
==
PHASE_MAIN2
)
end
end
function
s
.
filter
(
c
,
e
,
tp
)
function
s
.
filter
(
c
,
e
,
tp
)
return
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
)
return
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
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
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
s
.
filter
(
chkc
,
e
,
tp
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
chkc
:
IsControler
(
tp
)
and
s
.
filter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
1
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
Duel
.
IsExistingTarget
(
s
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
1
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
Duel
.
IsExistingTarget
(
s
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
s
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectTarget
(
tp
,
s
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
g
:
AddCard
(
c
)
g
:
AddCard
(
c
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
0
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
2
,
0
,
0
)
end
end
function
s
.
spfilter
(
c
,
tuner
)
function
s
.
spfilter
(
c
,
tuner
)
return
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsSynchroSummonable
(
tuner
)
return
c
:
IsRace
(
RACE_DRAGON
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsSynchroSummonable
(
tuner
)
...
@@ -46,7 +48,10 @@ end
...
@@ -46,7 +48,10 @@ 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
()
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
>
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
local
comp
=
false
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummonStep
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
and
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_DISABLE
)
e1
:
SetCode
(
EFFECT_DISABLE
)
...
@@ -59,6 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -59,6 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e2
)
tc
:
RegisterEffect
(
e2
)
Duel
.
SpecialSummonComplete
()
Duel
.
SpecialSummonComplete
()
comp
=
true
Duel
.
AdjustAll
()
Duel
.
AdjustAll
()
local
g
=
Duel
.
GetMatchingGroup
(
s
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
c
)
local
g
=
Duel
.
GetMatchingGroup
(
s
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
c
)
if
g
:
GetCount
()
>
0
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsControler
(
tp
)
and
c
:
IsFaceup
()
if
g
:
GetCount
()
>
0
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsControler
(
tp
)
and
c
:
IsFaceup
()
...
@@ -69,6 +75,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -69,6 +75,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SynchroSummon
(
tp
,
sg
:
GetFirst
(),
c
)
Duel
.
SynchroSummon
(
tp
,
sg
:
GetFirst
(),
c
)
end
end
end
end
if
not
comp
then
Duel
.
SpecialSummonComplete
()
end
end
end
function
s
.
indcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
indcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
r
==
REASON_SYNCHRO
and
e
:
GetHandler
():
GetReasonCard
():
IsRace
(
RACE_DRAGON
)
return
r
==
REASON_SYNCHRO
and
e
:
GetHandler
():
GetReasonCard
():
IsRace
(
RACE_DRAGON
)
...
...
c83589191.lua
View file @
60444c5d
--ライフハック
--ライフハック
function
c83589191
.
initial_effect
(
c
)
function
c83589191
.
initial_effect
(
c
)
--
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
83589191
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
83589191
,
0
))
e1
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e1
:
SetCategory
(
CATEGORY_ATKCHANGE
)
...
@@ -12,6 +13,7 @@ function c83589191.initial_effect(c)
...
@@ -12,6 +13,7 @@ function c83589191.initial_effect(c)
e1
:
SetTarget
(
c83589191
.
target
)
e1
:
SetTarget
(
c83589191
.
target
)
e1
:
SetOperation
(
c83589191
.
activate
)
e1
:
SetOperation
(
c83589191
.
activate
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
83589191
,
1
))
e2
:
SetDescription
(
aux
.
Stringid
(
83589191
,
1
))
e2
:
SetCategory
(
CATEGORY_TOHAND
)
e2
:
SetCategory
(
CATEGORY_TOHAND
)
...
...
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