Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-2pick
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
ygopro-2pick
Commits
006c6214
Commit
006c6214
authored
May 26, 2015
by
VanillaSalt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
9363964b
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
132 additions
and
115 deletions
+132
-115
script/c26268488.lua
script/c26268488.lua
+27
-28
script/c52653092.lua
script/c52653092.lua
+34
-31
script/c53485634.lua
script/c53485634.lua
+24
-15
script/c88757791.lua
script/c88757791.lua
+40
-34
script/c89870349.lua
script/c89870349.lua
+7
-7
No files found.
script/c26268488.lua
View file @
006c6214
...
@@ -20,40 +20,39 @@ function c26268488.initial_effect(c)
...
@@ -20,40 +20,39 @@ function c26268488.initial_effect(c)
local
g
=
Group
.
CreateGroup
()
local
g
=
Group
.
CreateGroup
()
g
:
KeepAlive
()
g
:
KeepAlive
()
e2
:
SetLabelObject
(
g
)
e2
:
SetLabelObject
(
g
)
--
negat
e
--
disabl
e
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
26268488
,
0
))
e3
:
SetDescription
(
aux
.
Stringid
(
26268488
,
0
))
e3
:
SetCategory
(
CATEGORY_
NEGATE
+
CATEGORY_DESTROY
)
e3
:
SetCategory
(
CATEGORY_
DESTROY
+
CATEGORY_DISABLE
)
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
)
e3
:
SetCode
(
EVENT_CHAINING
)
e3
:
SetCode
(
EVENT_CHAINING
)
e3
:
SetCountLimit
(
1
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCondition
(
c26268488
.
discon
)
e3
:
SetCondition
(
c26268488
.
discon
)
e3
:
SetTarget
(
c26268488
.
distg
)
e3
:
SetTarget
(
c26268488
.
distg
)
e3
:
SetOperation
(
c26268488
.
disop
)
e3
:
SetOperation
(
c26268488
.
disop
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
--
Special S
ummon
--
sps
ummon
local
e4
=
Effect
.
CreateEffect
(
c
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
26268488
,
1
))
e4
:
SetDescription
(
aux
.
Stringid
(
26268488
,
1
))
e4
:
SetType
(
EFFECT_TYPE_IGNITION
)
e4
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e4
:
SetType
(
EFFECT_TYPE_IGNITION
)
e4
:
SetRange
(
LOCATION_GRAVE
)
e4
:
SetRange
(
LOCATION_GRAVE
)
e4
:
SetCost
(
c26268488
.
sumcost
)
e4
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e4
:
SetTarget
(
c26268488
.
sumtg
)
e4
:
SetCost
(
c26268488
.
spcost
)
e4
:
SetOperation
(
c26268488
.
sumop
)
e4
:
SetTarget
(
c26268488
.
sptg
)
e4
:
SetOperation
(
c26268488
.
spop
)
c
:
RegisterEffect
(
e4
)
c
:
RegisterEffect
(
e4
)
end
end
function
c26268488
.
repfilter
(
c
,
tp
)
function
c26268488
.
repfilter
(
c
,
tp
)
return
c
:
IsControler
(
tp
)
and
c
:
IsReason
(
REASON_BATTLE
+
REASON_EFFECT
)
and
c
:
GetFlagEffect
(
26268488
)
==
0
return
c
:
IsControler
(
tp
)
and
c
:
Is
OnField
()
and
c
:
Is
Reason
(
REASON_BATTLE
+
REASON_EFFECT
)
and
c
:
GetFlagEffect
(
26268488
)
==
0
end
end
function
c26268488
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c26268488
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
eg
:
IsExists
(
c26268488
.
repfilter
,
1
,
nil
,
tp
)
end
if
chk
==
0
then
return
eg
:
IsExists
(
c26268488
.
repfilter
,
1
,
nil
,
tp
)
end
local
g
=
eg
:
Filter
(
c26268488
.
repfilter
,
nil
,
tp
)
local
g
=
eg
:
Filter
(
c26268488
.
repfilter
,
nil
,
tp
)
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
while
tc
do
while
tc
do
tc
:
RegisterFlagEffect
(
26268488
,
RESET_EVENT
+
0x1fc0000
+
RESET_PHASE
+
RESET_END
,
0
,
1
)
tc
:
RegisterFlagEffect
(
26268488
,
RESET_EVENT
+
0x1fc0000
+
RESET_PHASE
+
RESET_END
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
26268488
,
2
)
)
tc
=
g
:
GetNext
()
tc
=
g
:
GetNext
()
end
end
e
:
GetLabelObject
():
Clear
()
e
:
GetLabelObject
():
Clear
()
...
@@ -65,38 +64,38 @@ function c26268488.repval(e,c)
...
@@ -65,38 +64,38 @@ function c26268488.repval(e,c)
return
g
:
IsContains
(
c
)
return
g
:
IsContains
(
c
)
end
end
function
c26268488
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c26268488
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
rp
~=
tp
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
not
e
:
GetHandler
():
IsStatus
(
STATUS_BATTLE_DESTROYED
)
and
Duel
.
IsChainNegat
able
(
ev
)
return
not
e
:
GetHandler
():
IsStatus
(
STATUS_BATTLE_DESTROYED
)
and
rp
~=
tp
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
Duel
.
IsChainDisabl
able
(
ev
)
end
end
function
c26268488
.
distg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c26268488
.
distg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_NEGATE
,
eg
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DISABLE
,
eg
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
nil
,
1
,
PLAYER_ALL
,
LOCATION_ONFIELD
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsDestructable
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
end
end
function
c26268488
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c26268488
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
NegateActivation
(
ev
)
then
Duel
.
NegateEffect
(
ev
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsDestructable
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
if
g
:
GetCount
()
>
0
then
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsDestructable
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
if
g
:
GetCount
()
>
0
then
end
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
end
end
end
end
function
c26268488
.
s
um
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c26268488
.
s
p
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToRemoveAsCost
()
end
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToRemoveAsCost
()
end
Duel
.
Remove
(
e
:
GetHandler
(),
POS_FACEUP
,
REASON_COST
)
Duel
.
Remove
(
e
:
GetHandler
(),
POS_FACEUP
,
REASON_COST
)
end
end
function
c26268488
.
filter
(
c
,
e
,
tp
)
function
c26268488
.
sp
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0xa3
)
and
c
:
IsLevelBelow
(
8
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0xa3
)
and
c
:
IsLevelBelow
(
8
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c26268488
.
s
umtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c26268488
.
s
ptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c26268488
.
filter
(
chkc
,
e
,
tp
)
end
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c26268488
.
sp
filter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c26268488
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
e
:
GetHandler
(),
e
,
tp
)
end
and
Duel
.
IsExistingTarget
(
c26268488
.
sp
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
e
:
GetHandler
(),
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c26268488
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
e
:
GetHandler
()
,
e
,
tp
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c26268488
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
1
,
0
,
0
)
end
end
function
c26268488
.
sumop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c26268488
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
then
if
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
...
...
script/c52653092.lua
View file @
006c6214
--
SNo.0
ホープ・ゼアル
--
SNo.0
ホープ・ゼアル
function
c52653092
.
initial_effect
(
c
)
function
c52653092
.
initial_effect
(
c
)
--xyz summon
--xyz summon
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetRange
(
LOCATION_EXTRA
)
e1
:
SetRange
(
LOCATION_EXTRA
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCondition
(
c52653092
.
xyzcon
)
e1
:
SetCondition
(
c52653092
.
xyzcon
)
e1
:
SetOperation
(
c52653092
.
xyzop
)
e1
:
SetOperation
(
c52653092
.
xyzop
)
e1
:
SetValue
(
SUMMON_TYPE_XYZ
)
e1
:
SetValue
(
SUMMON_TYPE_XYZ
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--cannot disable
--cannot disable
spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_CANNOT_DISABLE_SPSUMMON
)
e2
:
SetCode
(
EFFECT_CANNOT_DISABLE_SPSUMMON
)
e2
:
SetCondition
(
c52653092
.
ndcon
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e2
:
SetCondition
(
c52653092
.
effcon
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--
activate limit
--
summon success
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetOperation
(
c52653092
.
sumop
)
e3
:
SetCondition
(
c52653092
.
effcon2
)
e3
:
SetOperation
(
c52653092
.
spsumsuc
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
--atk
/def up
--atk
& def
local
e4
=
Effect
.
CreateEffect
(
c
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
)
e4
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e4
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e4
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e4
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetValue
(
c52653092
.
val
)
e4
:
SetValue
(
c52653092
.
atk
val
)
c
:
RegisterEffect
(
e4
)
c
:
RegisterEffect
(
e4
)
local
e5
=
e4
:
Clone
()
local
e5
=
e4
:
Clone
()
e5
:
SetCode
(
EFFECT_UPDATE_DEFENCE
)
e5
:
SetCode
(
EFFECT_UPDATE_DEFENCE
)
...
@@ -42,9 +44,9 @@ function c52653092.initial_effect(c)
...
@@ -42,9 +44,9 @@ function c52653092.initial_effect(c)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetHintTiming
(
0
,
TIMING_DRAW_PHASE
)
e6
:
SetHintTiming
(
0
,
TIMING_DRAW_PHASE
)
e6
:
SetCountLimit
(
1
)
e6
:
SetCountLimit
(
1
)
e6
:
SetCondition
(
c52653092
.
na
con
)
e6
:
SetCondition
(
c52653092
.
act
con
)
e6
:
SetCost
(
c52653092
.
na
cost
)
e6
:
SetCost
(
c52653092
.
act
cost
)
e6
:
SetOperation
(
c52653092
.
na
op
)
e6
:
SetOperation
(
c52653092
.
act
op
)
c
:
RegisterEffect
(
e6
)
c
:
RegisterEffect
(
e6
)
end
end
c52653092
.
xyz_number
=
0
c52653092
.
xyz_number
=
0
...
@@ -54,8 +56,8 @@ end
...
@@ -54,8 +56,8 @@ end
function
c52653092
.
ovfilter
(
c
)
function
c52653092
.
ovfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x7f
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x7f
)
end
end
function
c52653092
.
mfilter
(
c
)
function
c52653092
.
mfilter
(
c
,
xyzc
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x48
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsSetCard
(
0x48
)
and
c
:
IsCanBeXyzMaterial
(
xyzc
)
end
end
function
c52653092
.
xyzfilter1
(
c
,
g
)
function
c52653092
.
xyzfilter1
(
c
,
g
)
return
g
:
IsExists
(
c52653092
.
xyzfilter2
,
2
,
c
,
c
:
GetRank
())
return
g
:
IsExists
(
c52653092
.
xyzfilter2
,
2
,
c
,
c
:
GetRank
())
...
@@ -68,23 +70,23 @@ function c52653092.xyzcon(e,c,og)
...
@@ -68,23 +70,23 @@ function c52653092.xyzcon(e,c,og)
local
tp
=
c
:
GetControler
()
local
tp
=
c
:
GetControler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ct
=-
ft
local
ct
=-
ft
if
ct
>=
2
then
return
false
end
if
3
<=
ct
then
return
false
end
if
ct
<
1
and
Duel
.
IsExistingMatchingCard
(
aux
.
XyzAlterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
c52653092
.
ovfilter
,
c
)
if
ct
<
1
and
Duel
.
IsExistingMatchingCard
(
aux
.
XyzAlterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
c52653092
.
ovfilter
,
c
)
and
Duel
.
IsExistingMatchingCard
(
c52653092
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
then
and
Duel
.
IsExistingMatchingCard
(
c52653092
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
then
return
true
return
true
end
end
local
mg
=
Duel
.
GetMatchingGroup
(
c52653092
.
mfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
mg
=
Duel
.
GetMatchingGroup
(
c52653092
.
mfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
c
)
return
mg
:
IsExists
(
c5
727
.
xyzfilter1
,
1
,
nil
,
mg
)
return
mg
:
IsExists
(
c5
2653092
.
xyzfilter1
,
1
,
nil
,
mg
)
end
end
function
c52653092
.
xyzop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
,
og
)
function
c52653092
.
xyzop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
,
og
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ct
=-
ft
local
ct
=-
ft
local
mg
=
Duel
.
GetMatchingGroup
(
c52653092
.
mfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
mg
=
Duel
.
GetMatchingGroup
(
c52653092
.
mfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
c
)
local
b1
=
mg
:
IsExists
(
c52653092
.
xyzfilter1
,
1
,
nil
,
mg
)
local
b1
=
mg
:
IsExists
(
c52653092
.
xyzfilter1
,
1
,
nil
,
mg
)
local
b2
=
ct
<
1
and
Duel
.
IsExistingMatchingCard
(
aux
.
XyzAlterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
c52653092
.
ovfilter
,
c
)
local
b2
=
ct
<
1
and
Duel
.
IsExistingMatchingCard
(
aux
.
XyzAlterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
c52653092
.
ovfilter
,
c
)
and
Duel
.
IsExistingMatchingCard
(
c52653092
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
and
Duel
.
IsExistingMatchingCard
(
c52653092
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
if
b2
and
(
not
b1
or
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
52653092
,
0
)))
then
if
b2
and
(
not
b1
or
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
52653092
,
0
)))
then
Duel
.
DiscardHand
(
tp
,
c52653092
.
cfilter
,
1
,
1
,
REASON_COST
+
REASON_DISCARD
)
Duel
.
DiscardHand
(
tp
,
c52653092
.
cfilter
,
1
,
1
,
REASON_COST
+
REASON_DISCARD
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
XyzAlterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
c52653092
.
ovfilter
,
c
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
XyzAlterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
c52653092
.
ovfilter
,
c
)
local
g2
=
g
:
GetFirst
():
GetOverlayGroup
()
local
g2
=
g
:
GetFirst
():
GetOverlayGroup
()
...
@@ -110,32 +112,33 @@ function c52653092.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og)
...
@@ -110,32 +112,33 @@ function c52653092.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og)
Duel
.
Overlay
(
c
,
g1
)
Duel
.
Overlay
(
c
,
g1
)
end
end
end
end
function
c52653092
.
ndcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c52653092
.
effcon
(
e
)
return
e
:
GetHandler
():
GetSummonType
()
==
SUMMON_TYPE_XYZ
end
function
c52653092
.
effcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetSummonType
()
==
SUMMON_TYPE_XYZ
return
e
:
GetHandler
():
GetSummonType
()
==
SUMMON_TYPE_XYZ
end
end
function
c52653092
.
sumop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c52653092
.
spsumsuc
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
e
:
GetHandler
():
GetSummonType
()
~=
SUMMON_TYPE_XYZ
then
return
end
Duel
.
SetChainLimitTillChainEnd
(
c52653092
.
chlimit
)
Duel
.
SetChainLimitTillChainEnd
(
c52653092
.
chainlm
)
end
end
function
c52653092
.
ch
ainlm
(
e
,
r
p
,
tp
)
function
c52653092
.
ch
limit
(
e
,
e
p
,
tp
)
return
tp
==
r
p
return
tp
==
e
p
end
end
function
c52653092
.
val
(
e
,
c
)
function
c52653092
.
atk
val
(
e
,
c
)
return
c
:
GetOverlayCount
()
*
1000
return
c
:
GetOverlayCount
()
*
1000
end
end
function
c52653092
.
na
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c52653092
.
act
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
~=
tp
return
Duel
.
GetTurnPlayer
()
~=
tp
end
end
function
c52653092
.
na
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c52653092
.
act
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
1
,
REASON_COST
)
end
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
1
,
REASON_COST
)
end
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
end
end
function
c52653092
.
naop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c52653092
.
actop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e1
:
SetTargetRange
(
0
,
1
)
e1
:
SetTargetRange
(
0
,
1
)
e1
:
SetValue
(
aux
.
TRUE
)
e1
:
SetValue
(
aux
.
TRUE
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
...
...
script/c53485634.lua
View file @
006c6214
...
@@ -5,9 +5,9 @@ function c53485634.initial_effect(c)
...
@@ -5,9 +5,9 @@ function c53485634.initial_effect(c)
e1
:
SetDescription
(
aux
.
Stringid
(
53485634
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
53485634
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e1
:
SetCode
(
EVENT_TO_GRAVE
)
e1
:
SetCode
(
EVENT_TO_GRAVE
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e1
:
SetCondition
(
c53485634
.
spcon
)
e1
:
SetCondition
(
c53485634
.
spcon
)
e1
:
SetTarget
(
c53485634
.
sptg
)
e1
:
SetTarget
(
c53485634
.
sptg
)
e1
:
SetOperation
(
c53485634
.
spop
)
e1
:
SetOperation
(
c53485634
.
spop
)
...
@@ -17,56 +17,65 @@ function c53485634.initial_effect(c)
...
@@ -17,56 +17,65 @@ function c53485634.initial_effect(c)
e2
:
SetDescription
(
aux
.
Stringid
(
53485634
,
1
))
e2
:
SetDescription
(
aux
.
Stringid
(
53485634
,
1
))
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCondition
(
c53485634
.
sumcon
)
e2
:
SetCost
(
c53485634
.
sumcost
)
e2
:
SetCost
(
c53485634
.
sumcost
)
e2
:
SetOperation
(
c53485634
.
sumop
)
e2
:
SetOperation
(
c53485634
.
sumop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c53485634
.
cfilter
(
c
,
tp
)
function
c53485634
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsLevelBelow
(
7
)
and
c
:
IsSetCard
(
0x3b
)
and
c
:
GetPreviousControler
()
==
tp
return
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
GetPreviousControler
()
==
tp
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
IsReason
(
REASON_DESTROY
)
and
(
c
:
IsReason
(
REASON_EFFECT
)
or
(
c
:
IsReason
(
REASON_BATTLE
)
and
Duel
.
GetAttacker
():
IsControler
(
1
-
tp
)))
and
c
:
IsReason
(
REASON_EFFECT
+
REASON_BATTLE
)
and
c
:
GetReasonPlayer
()
~=
tp
and
c
:
IsControler
(
tp
)
and
c
:
IsSetCard
(
0x3b
)
and
c
:
IsLevelBelow
(
7
)
and
c
:
IsControler
(
tp
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c53485634
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c53485634
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
c53485634
.
cfilter
,
1
,
nil
,
tp
)
return
rp
~=
tp
end
end
function
c53485634
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c53485634
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonCount
(
tp
,
2
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanSpecialSummonCount
(
tp
,
2
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
e
:
GetHandler
():
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
and
e
:
GetHandler
():
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
eg
:
IsExists
(
c53485634
.
spfilter
,
1
,
nil
,
e
,
tp
)
end
local
g
=
eg
:
Filter
(
c53485634
.
spfilter
,
nil
,
e
,
tp
)
Duel
.
SetTargetCard
(
g
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
end
function
c53485634
.
sp
filter
(
c
,
e
,
tp
)
function
c53485634
.
filter
(
c
,
e
,
tp
)
return
c
:
Is
CanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
c
:
GetPreviousPosition
()
)
return
c
:
Is
RelateToEffect
(
e
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c53485634
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c53485634
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENCE
)
~=
0
then
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
local
g
=
eg
:
Filter
(
c5724
.
spfilter
,
nil
,
e
,
tp
)
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
):
Filter
(
c53485634
.
filter
,
nil
,
e
,
tp
)
if
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_DEFENCE
)
~=
0
then
local
ct
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ct
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
g
:
GetCount
()
<=
0
or
ct
<
=
0
then
return
end
if
ct
<=
0
or
g
:
GetCount
()
=
=
0
then
return
end
if
g
:
GetCount
()
>
ct
then
if
g
:
GetCount
()
>
ct
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
g
=
g
:
Select
(
tp
,
ct
,
ct
,
nil
)
g
=
g
:
Select
(
tp
,
ct
,
ct
,
nil
)
end
end
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
while
tc
do
while
tc
do
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
tc
:
GetPreviousPosition
())
local
pos
=
tc
:
GetPreviousPosition
()
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
pos
)
tc
=
g
:
GetNext
()
tc
=
g
:
GetNext
()
end
end
Duel
.
SpecialSummonComplete
()
Duel
.
SpecialSummonComplete
()
end
end
end
end
function
c53485634
.
sumcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFlagEffect
(
tp
,
53485634
)
==
0
end
function
c53485634
.
sumcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c53485634
.
sumcost
(
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
c53485634
.
sumop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c53485634
.
sumop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetFlagEffect
(
tp
,
53485634
)
~=
0
then
return
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetTargetRange
(
LOCATION_HAND
,
0
)
e1
:
SetCode
(
EFFECT_EXTRA_SUMMON_COUNT
)
e1
:
SetCode
(
EFFECT_EXTRA_SUMMON_COUNT
)
e1
:
SetTargetRange
(
LOCATION_HAND
+
LOCATION_MZONE
,
0
)
e1
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x3b
))
e1
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x3b
))
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
...
...
script/c88757791.lua
View file @
006c6214
...
@@ -7,43 +7,54 @@ function c88757791.initial_effect(c)
...
@@ -7,43 +7,54 @@ function c88757791.initial_effect(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
)
--
scale chang
e
--
change scal
e
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
88757791
,
0
))
e2
:
SetDescription
(
aux
.
Stringid
(
88757791
,
0
))
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_PZONE
)
e2
:
SetRange
(
LOCATION_PZONE
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCountLimit
(
1
)
e2
:
SetCountLimit
(
1
)
e2
:
SetTarget
(
c88757791
.
target
)
e2
:
SetTarget
(
c88757791
.
sctg
)
e2
:
SetOperation
(
c88757791
.
operation
)
e2
:
SetOperation
(
c88757791
.
scop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--
summon succes
s
--
inde
s
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetOperation
(
c88757791
.
sumsuc
)
e3
:
SetOperation
(
c88757791
.
sumsuc
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
)
e4
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e4
:
SetCondition
(
c88757791
.
indcon
)
e4
:
SetTarget
(
c88757791
.
indtg
)
e4
:
SetValue
(
c88757791
.
indval
)
c
:
RegisterEffect
(
e4
)
end
end
function
c88757791
.
cf
f
ilter
(
c
,
tp
)
function
c88757791
.
cfilter
(
c
,
tp
)
return
c
:
IsType
(
TYPE_PENDULUM
)
and
not
c
:
IsPublic
()
return
c
:
IsType
(
TYPE_PENDULUM
)
and
not
c
:
IsPublic
()
and
Duel
.
IsExistingTarget
(
c88757791
.
filter
,
tp
,
LOCATION_SZONE
,
0
,
1
,
nil
,
c
)
and
Duel
.
IsExistingTarget
(
c88757791
.
sc
filter
,
tp
,
LOCATION_SZONE
,
0
,
1
,
nil
,
c
)
end
end
function
c88757791
.
filter
(
c
,
pc
)
function
c88757791
.
sc
filter
(
c
,
pc
)
return
c
:
Is
Faceup
()
and
c
:
Is
SetCard
(
0x98
)
return
c
:
IsSetCard
(
0x98
)
and
((
c
:
GetSequence
()
==
6
and
c
:
GetLeftScale
()
~=
pc
:
GetOriginal
LeftScale
())
and
((
pc
:
GetSequence
()
==
6
and
c
:
GetLeftScale
()
~=
pc
:
Get
LeftScale
())
or
(
c
:
GetSequence
()
==
7
and
c
:
GetRightScale
()
~=
pc
:
GetOriginal
RightScale
()))
or
(
pc
:
GetSequence
()
==
7
and
c
:
GetRightScale
()
~=
pc
:
Get
RightScale
()))
end
end
function
c88757791
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c88757791
.
sctg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_SZONE
)
and
c88757791
.
filter
(
chkc
,
e
:
GetLabelObject
())
end
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_SZONE
)
and
c88757791
.
scfilter
(
chkc
,
e
:
GetLabelObject
())
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c88757791
.
cffilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c88757791
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
tp
)
end
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c88757791
.
cffilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
tc
=
g
:
GetFirst
()
local
cg
=
Duel
.
SelectMatchingCard
(
tp
,
c88757791
.
cfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
tp
)
e
:
SetLabelObject
(
tc
)
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
Duel
.
ShuffleHand
(
tp
)
e
:
SetLabelObject
(
cg
:
GetFirst
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c88757791
.
filter
,
tp
,
LOCATION_SZONE
,
0
,
1
,
1
,
nil
,
tc
)
Duel
.
SelectTarget
(
tp
,
c88757791
.
scfilter
,
tp
,
LOCATION_SZONE
,
0
,
1
,
1
,
nil
,
cg
:
GetFirst
()
)
end
end
function
c88757791
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c88757791
.
scop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
local
pc
=
e
:
GetLabelObject
()
local
pc
=
e
:
GetLabelObject
()
...
@@ -51,29 +62,24 @@ function c88757791.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -51,29 +62,24 @@ function c88757791.operation(e,tp,eg,ep,ev,re,r,rp)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_CHANGE_LSCALE
)
e1
:
SetCode
(
EFFECT_CHANGE_LSCALE
)
e1
:
SetValue
(
pc
:
Get
Original
LeftScale
())
e1
:
SetValue
(
pc
:
GetLeftScale
())
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
RESET_END
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
RESET_END
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_CHANGE_RSCALE
)
e2
:
SetCode
(
EFFECT_CHANGE_RSCALE
)
e2
:
SetValue
(
pc
:
Get
Original
RightScale
())
e2
:
SetValue
(
pc
:
GetRightScale
())
tc
:
RegisterEffect
(
e2
)
tc
:
RegisterEffect
(
e2
)
end
end
end
end
function
c88757791
.
sumsuc
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c88757791
.
sumsuc
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
GetHandler
():
RegisterFlagEffect
(
88757791
,
RESET_EVENT
+
0x1ec0000
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
function
c88757791
.
indcon
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
GetSummonType
()
~=
SUMMON_TYPE_PENDULUM
then
return
end
return
c
:
GetFlagEffect
(
88757791
)
~=
0
and
c
:
GetSummonType
()
==
SUMMON_TYPE_PENDULUM
--indes
end
local
e1
=
Effect
.
CreateEffect
(
c
)
function
c88757791
.
indtg
(
e
,
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
return
c
:
IsSetCard
(
0x98
)
and
c
:
IsType
(
TYPE_PENDULUM
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e1
:
SetProperty
(
EFFECT_FLAG_SET_AVAILABLE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e1
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x98
))
e1
:
SetValue
(
c88757791
.
indval
)
e1
:
SetReset
(
RESET_EVENT
+
0x1ec0000
+
RESET_PHASE
+
PHASE_END
)
c
:
RegisterEffect
(
e1
,
true
)
end
end
function
c88757791
.
indval
(
e
,
re
,
rp
)
function
c88757791
.
indval
(
e
,
re
,
rp
)
return
rp
~=
e
:
GetHandlerPlayer
()
return
rp
~=
e
:
GetHandlerPlayer
()
...
...
script/c89870349.lua
View file @
006c6214
--
M・HERO
ブラスト
--
M・HERO
ブラスト
function
c89870349
.
initial_effect
(
c
)
function
c89870349
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--spsummon condition
--sp
ecial
summon condition
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_CANNOT_DISABLE
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--atk
down
--atk
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
89870349
,
0
))
e2
:
SetDescription
(
aux
.
Stringid
(
89870349
,
0
))
e2
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e2
:
SetCategory
(
CATEGORY_ATKCHANGE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
+
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
+
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e2
:
SetTarget
(
c89870349
.
atktg
)
e2
:
SetTarget
(
c89870349
.
atktg
)
e2
:
SetOperation
(
c89870349
.
atkop
)
e2
:
SetOperation
(
c89870349
.
atkop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
...
@@ -43,8 +43,8 @@ function c89870349.atkop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -43,8 +43,8 @@ function c89870349.atkop(e,tp,eg,ep,ev,re,r,rp)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SET_ATTACK_FINAL
)
e1
:
SetCode
(
EFFECT_SET_ATTACK_FINAL
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
e1
:
SetValue
(
tc
:
GetAttack
()
/
2
)
e1
:
SetValue
(
tc
:
GetAttack
()
/
2
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
end
end
end
end
...
@@ -60,7 +60,7 @@ function c89870349.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -60,7 +60,7 @@ function c89870349.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c89870349
.
thfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c89870349
.
thfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RTOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RTOHAND
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c89870349
.
thfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c89870349
.
thfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
g
:
GetCount
()
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
1
,
0
,
0
)
end
end
function
c89870349
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c89870349
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
...
...
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