Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
ygopro
Commits
7d8e25b5
Commit
7d8e25b5
authored
Aug 22, 2013
by
Fluorohydride
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #598 from VanillaSalt/patch78
fix
parents
0f4ff2e2
f50a642a
Changes
34
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
104 additions
and
83 deletions
+104
-83
ocgcore/field.cpp
ocgcore/field.cpp
+2
-0
script/c10591919.lua
script/c10591919.lua
+3
-1
script/c14506878.lua
script/c14506878.lua
+1
-1
script/c14618326.lua
script/c14618326.lua
+3
-3
script/c14772491.lua
script/c14772491.lua
+1
-1
script/c16693254.lua
script/c16693254.lua
+5
-3
script/c1804528.lua
script/c1804528.lua
+1
-1
script/c26495087.lua
script/c26495087.lua
+1
-1
script/c27655513.lua
script/c27655513.lua
+6
-3
script/c27971137.lua
script/c27971137.lua
+6
-8
script/c31440542.lua
script/c31440542.lua
+2
-2
script/c32919136.lua
script/c32919136.lua
+10
-11
script/c34086406.lua
script/c34086406.lua
+5
-3
script/c40607210.lua
script/c40607210.lua
+1
-1
script/c42548470.lua
script/c42548470.lua
+1
-1
script/c45898858.lua
script/c45898858.lua
+4
-2
script/c45986603.lua
script/c45986603.lua
+10
-11
script/c46239604.lua
script/c46239604.lua
+4
-2
script/c47247413.lua
script/c47247413.lua
+1
-1
script/c53839837.lua
script/c53839837.lua
+1
-1
script/c56995655.lua
script/c56995655.lua
+1
-0
script/c58820853.lua
script/c58820853.lua
+1
-1
script/c59297550.lua
script/c59297550.lua
+3
-2
script/c59344077.lua
script/c59344077.lua
+7
-4
script/c67030233.lua
script/c67030233.lua
+1
-1
script/c68786330.lua
script/c68786330.lua
+1
-1
script/c69408987.lua
script/c69408987.lua
+5
-0
script/c75840616.lua
script/c75840616.lua
+1
-1
script/c7841112.lua
script/c7841112.lua
+1
-1
script/c78610936.lua
script/c78610936.lua
+7
-9
script/c91822647.lua
script/c91822647.lua
+5
-3
script/c92933195.lua
script/c92933195.lua
+1
-1
script/c93157004.lua
script/c93157004.lua
+1
-1
script/c97489701.lua
script/c97489701.lua
+1
-1
No files found.
ocgcore/field.cpp
View file @
7d8e25b5
...
...
@@ -1320,6 +1320,8 @@ void field::add_unique_card(card* pcard) {
void
field
::
remove_unique_card
(
card
*
pcard
)
{
uint8
con
=
pcard
->
current
.
controler
;
if
(
con
==
PLAYER_NONE
)
return
;
if
(
pcard
->
unique_pos
[
0
])
core
.
unique_cards
[
con
].
erase
(
pcard
);
if
(
pcard
->
unique_pos
[
1
])
...
...
script/c10591919.lua
View file @
7d8e25b5
...
...
@@ -36,6 +36,8 @@ function c10591919.opa(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10591919
.
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
if
not
tc
then
return
end
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
...
...
@@ -44,7 +46,7 @@ function c10591919.opa(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetOperation
(
c10591919
.
desop
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
e1
:
SetCountLimit
(
1
)
g
:
GetFirst
()
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
end
function
c10591919
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Destroy
(
e
:
GetHandler
(),
REASON_EFFECT
)
...
...
script/c14506878.lua
View file @
7d8e25b5
...
...
@@ -18,7 +18,7 @@ function c14506878.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chk
==
0
then
return
true
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c14506878
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
g
:
GetCount
()
,
0
,
0
)
end
function
c14506878
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
...
...
script/c14618326.lua
View file @
7d8e25b5
...
...
@@ -11,13 +11,13 @@ function c14618326.initial_effect(c)
c
:
RegisterEffect
(
e1
)
end
function
c14618326
.
filter
(
c
)
return
c
:
Is
Facedown
()
or
c
:
IsType
(
TYPE_TRAP
)
return
c
:
Is
Type
(
TYPE_TRAP
)
or
(
c
:
IsFacedown
()
and
c
:
IsLocation
(
LOCATION_SZONE
)
and
c
:
GetSequence
()
~=
5
)
end
function
c14618326
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
Is
Location
(
LOCATION_SZONE
)
and
c14618326
.
filter
(
chkc
)
end
if
chkc
then
return
chkc
:
Is
OnField
(
)
and
c14618326
.
filter
(
chkc
)
end
if
chk
==
0
then
return
true
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c14618326
.
filter
,
tp
,
LOCATION_
SZONE
,
LOCATION_SZONE
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c14618326
.
filter
,
tp
,
LOCATION_
ONFIELD
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
g
:
GetFirst
():
IsFaceup
()
then
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
end
...
...
script/c14772491.lua
View file @
7d8e25b5
...
...
@@ -64,7 +64,7 @@ function c14772491.rcon(e)
end
function
c14772491
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetLabelObject
()
return
tc
:
IsOnField
()
and
e
:
GetHandler
():
IsHasCardTarget
(
tc
)
return
tc
and
tc
:
IsOnField
()
and
e
:
GetHandler
():
IsHasCardTarget
(
tc
)
end
function
c14772491
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
SendtoHand
(
e
:
GetLabelObject
(),
nil
,
REASON_EFFECT
)
...
...
script/c16693254.lua
View file @
7d8e25b5
...
...
@@ -21,7 +21,9 @@ function c16693254.operation(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
16693254
,
1
))
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c16693254
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
tc
=
g
:
GetFirst
()
Duel
.
ShuffleDeck
(
tp
)
Duel
.
MoveSequence
(
tc
,
0
)
Duel
.
ConfirmDecktop
(
tp
,
1
)
if
tc
then
Duel
.
ShuffleDeck
(
tp
)
Duel
.
MoveSequence
(
tc
,
0
)
Duel
.
ConfirmDecktop
(
tp
,
1
)
end
end
script/c1804528.lua
View file @
7d8e25b5
...
...
@@ -30,7 +30,7 @@ function c1804528.desop(e,tp,eg,ep,ev,re,r,rp)
local
dg
=
g1
:
RandomSelect
(
1
-
tp
,
1
)
Duel
.
SendtoGrave
(
dg
,
REASON_EFFECT
+
REASON_DISCARD
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_DESTROY
)
local
dg
=
g2
:
Select
(
1
-
tp
,
1
,
1
,
nil
)
Duel
.
Destroy
(
dg
,
REASON_EFFECT
)
end
...
...
script/c26495087.lua
View file @
7d8e25b5
...
...
@@ -26,7 +26,7 @@ function c26495087.tgfilter(c,ty)
end
function
c26495087
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
nil
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_TOGRAVE
)
if
e
:
GetLabel
()
==
0
then
g
=
Duel
.
SelectMatchingCard
(
1
-
tp
,
c26495087
.
tgfilter
,
1
-
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
TYPE_MONSTER
)
elseif
e
:
GetLabel
()
==
1
then
g
=
Duel
.
SelectMatchingCard
(
1
-
tp
,
c26495087
.
tgfilter
,
1
-
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
TYPE_SPELL
)
else
g
=
Duel
.
SelectMatchingCard
(
1
-
tp
,
c26495087
.
tgfilter
,
1
-
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
TYPE_TRAP
)
end
...
...
script/c27655513.lua
View file @
7d8e25b5
...
...
@@ -22,7 +22,10 @@ function c27655513.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
nil
,
2
,
tp
,
LOCATION_DECK
)
end
function
c27655513
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c27655513
.
filter
,
tp
,
LOCATION_DECK
,
0
,
2
,
2
,
nil
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
local
g
=
Duel
.
GetMatchingGroup
(
c27655513
.
filter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
GetCount
()
>
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
sg
=
g
:
Select
(
tp
,
2
,
2
,
nil
)
Duel
.
SendtoGrave
(
sg
,
REASON_EFFECT
)
end
end
script/c27971137.lua
View file @
7d8e25b5
...
...
@@ -21,14 +21,12 @@ function c27971137.initial_effect(c)
end
function
c27971137
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
500
)
e1
:
SetReset
(
RESET_EVENT
+
0x1ff0000
)
c
:
RegisterEffect
(
e1
)
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
500
)
e1
:
SetReset
(
RESET_EVENT
+
0x1ff0000
)
c
:
RegisterEffect
(
e1
)
end
function
c27971137
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
and
e
:
GetHandler
():
IsReason
(
REASON_DESTROY
)
...
...
script/c31440542.lua
View file @
7d8e25b5
...
...
@@ -18,11 +18,11 @@ function c31440542.ctltg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if
chk
==
0
then
return
true
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONTROL
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c31440542
.
filter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_CONTROL
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_CONTROL
,
g
,
g
:
GetCount
()
,
0
,
0
)
end
function
c31440542
.
ctlop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
not
Duel
.
GetControl
(
tc
,
tp
,
PHASE_END
,
1
)
then
if
tc
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
not
Duel
.
GetControl
(
tc
,
tp
,
PHASE_END
,
1
)
then
if
not
tc
:
IsImmuneToEffect
(
e
)
and
tc
:
IsAbleToChangeControler
()
then
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
end
...
...
script/c32919136.lua
View file @
7d8e25b5
...
...
@@ -29,10 +29,20 @@ function c32919136.initial_effect(c)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetCondition
(
c32919136
.
descon
)
c
:
RegisterEffect
(
e3
)
--equip limit
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
)
e4
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e4
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e4
:
SetValue
(
c32919136
.
eqlimit
)
c
:
RegisterEffect
(
e4
)
end
function
c32919136
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsControlerCanBeChanged
()
end
function
c32919136
.
eqlimit
(
e
,
c
)
return
e
:
GetHandlerPlayer
()
~=
c
:
GetControler
()
or
e
:
GetHandler
():
GetEquipTarget
()
==
c
end
function
c32919136
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
1
-
tp
)
and
c32919136
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
...
...
@@ -42,22 +52,11 @@ function c32919136.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_CONTROL
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c32919136
.
eqlimit
(
e
,
c
)
return
e
:
GetOwner
()
==
c
end
function
c32919136
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
Equip
(
tp
,
c
,
tc
)
--Add Equip limit
local
e1
=
Effect
.
CreateEffect
(
tc
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
e1
:
SetValue
(
c32919136
.
eqlimit
)
c
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_EQUIP
)
e2
:
SetCode
(
EFFECT_SET_CONTROL
)
...
...
script/c34086406.lua
View file @
7d8e25b5
...
...
@@ -46,7 +46,9 @@ function c34086406.operation2(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
34086406
,
3
))
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsType
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
TYPE_MONSTER
)
local
tc
=
g
:
GetFirst
()
Duel
.
ShuffleDeck
(
tp
)
Duel
.
MoveSequence
(
tc
,
0
)
Duel
.
ConfirmDecktop
(
tp
,
1
)
if
tc
then
Duel
.
ShuffleDeck
(
tp
)
Duel
.
MoveSequence
(
tc
,
0
)
Duel
.
ConfirmDecktop
(
tp
,
1
)
end
end
script/c40607210.lua
View file @
7d8e25b5
...
...
@@ -59,7 +59,7 @@ function c40607210.tgfilter(c,ty)
end
function
c40607210
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
nil
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_TOGRAVE
)
if
e
:
GetLabel
()
==
0
then
g
=
Duel
.
SelectMatchingCard
(
1
-
tp
,
c40607210
.
tgfilter
,
1
-
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
TYPE_MONSTER
)
elseif
e
:
GetLabel
()
==
1
then
g
=
Duel
.
SelectMatchingCard
(
1
-
tp
,
c40607210
.
tgfilter
,
1
-
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
TYPE_SPELL
)
else
g
=
Duel
.
SelectMatchingCard
(
1
-
tp
,
c40607210
.
tgfilter
,
1
-
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
TYPE_TRAP
)
end
...
...
script/c42548470.lua
View file @
7d8e25b5
...
...
@@ -34,7 +34,7 @@ function c42548470.activate(e,tp,eg,ep,ev,re,r,rp)
local
lv2
=
tc2
:
GetLevel
()
if
lv1
==
lv2
then
return
end
if
tc1
:
IsFaceup
()
and
tc1
:
IsRelateToEffect
(
e
)
and
tc2
:
IsFaceup
()
and
tc2
:
IsRelateToEffect
(
e
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_TARGET
)
local
sg
=
g
:
Select
(
1
-
tp
,
1
,
1
,
nil
)
if
sg
:
GetFirst
()
==
tc1
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
...
...
script/c45898858.lua
View file @
7d8e25b5
...
...
@@ -30,6 +30,8 @@ function c45898858.activate(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c45898858
.
filter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
true
,
true
,
POS_FACEUP
)
g
:
GetFirst
():
CompleteProcedure
()
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
true
,
true
,
POS_FACEUP
)
g
:
GetFirst
():
CompleteProcedure
()
end
end
script/c45986603.lua
View file @
7d8e25b5
...
...
@@ -21,10 +21,20 @@ function c45986603.initial_effect(c)
e2
:
SetTarget
(
c45986603
.
rectg
)
e2
:
SetOperation
(
c45986603
.
recop
)
c
:
RegisterEffect
(
e2
)
--equip limit
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetValue
(
c45986603
.
eqlimit
)
c
:
RegisterEffect
(
e3
)
end
function
c45986603
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsControlerCanBeChanged
()
end
function
c45986603
.
eqlimit
(
e
,
c
)
return
e
:
GetHandlerPlayer
()
~=
c
:
GetControler
()
or
e
:
GetHandler
():
GetEquipTarget
()
==
c
end
function
c45986603
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
1
-
tp
)
and
c45986603
.
filter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
...
...
@@ -34,22 +44,11 @@ function c45986603.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_CONTROL
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_EQUIP
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c45986603
.
eqlimit
(
e
,
c
)
return
e
:
GetOwner
()
==
c
end
function
c45986603
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
tc
:
IsRelateToEffect
(
e
)
then
Duel
.
Equip
(
tp
,
c
,
tc
)
--Add Equip limit
local
e1
=
Effect
.
CreateEffect
(
tc
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_EQUIP_LIMIT
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
e1
:
SetValue
(
c45986603
.
eqlimit
)
c
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_EQUIP
)
e2
:
SetCode
(
EFFECT_SET_CONTROL
)
...
...
script/c46239604.lua
View file @
7d8e25b5
...
...
@@ -46,6 +46,8 @@ end
function
c46239604
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c46239604
.
filter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
script/c47247413.lua
View file @
7d8e25b5
...
...
@@ -24,7 +24,7 @@ end
function
c47247413
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
eg
:
Filter
(
c47247413
.
filter
,
nil
,
e
,
1
-
tp
)
if
g
:
GetCount
()
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_TODECK
)
local
rg
=
g
:
Select
(
1
-
tp
,
1
,
1
,
nil
)
Duel
.
ConfirmCards
(
tp
,
rg
)
Duel
.
SendtoDeck
(
rg
,
nil
,
2
,
REASON_EFFECT
)
...
...
script/c53839837.lua
View file @
7d8e25b5
...
...
@@ -70,7 +70,7 @@ function c53839837.tgfilter(c,ty)
end
function
c53839837
.
tgop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
nil
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_TOGRAVE
)
if
e
:
GetLabel
()
==
0
then
g
=
Duel
.
SelectMatchingCard
(
1
-
tp
,
c53839837
.
tgfilter
,
1
-
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
TYPE_MONSTER
)
elseif
e
:
GetLabel
()
==
1
then
g
=
Duel
.
SelectMatchingCard
(
1
-
tp
,
c53839837
.
tgfilter
,
1
-
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
TYPE_SPELL
)
else
g
=
Duel
.
SelectMatchingCard
(
1
-
tp
,
c53839837
.
tgfilter
,
1
-
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
TYPE_TRAP
)
end
...
...
script/c56995655.lua
View file @
7d8e25b5
...
...
@@ -27,6 +27,7 @@ function c56995655.op(e,tp,eg,ep,ev,re,r,rp)
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
local
g
=
Duel
.
GetFieldGroup
(
tp
,
0
,
LOCATION_HAND
):
RandomSelect
(
tp
,
1
,
nil
)
local
tc
=
g
:
GetFirst
()
if
not
tc
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CARDTYPE
)
local
op
=
Duel
.
SelectOption
(
tp
,
70
,
71
,
72
)
Duel
.
ConfirmCards
(
tp
,
tc
)
...
...
script/c58820853.lua
View file @
7d8e25b5
...
...
@@ -33,7 +33,7 @@ function c58820853.operation(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c58820853
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
if
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
>
0
then
if
tc
and
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
>
0
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_DISABLE
)
...
...
script/c59297550.lua
View file @
7d8e25b5
...
...
@@ -3,7 +3,7 @@ function c59297550.initial_effect(c)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
59297550
,
0
))
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_NO_TURN_RESET
+
EFFECT_FLAG_CHAIN_UNIQUE
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_NO_TURN_RESET
)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_TRIGGER_O
+
EFFECT_TYPE_FIELD
)
e1
:
SetRange
(
LOCATION_MZONE
)
...
...
@@ -23,7 +23,8 @@ function c59297550.filter(c,e,tp)
end
function
c59297550
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
c
:
IsFaceup
()
and
c
:
IsRelateToEffect
(
e
)
and
not
c
:
IsStatus
(
STATUS_CHAINING
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c59297550
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
...
...
script/c59344077.lua
View file @
7d8e25b5
...
...
@@ -14,11 +14,14 @@ function c59344077.condition(e,tp,eg,ep,ev,re,r,rp)
end
function
c59344077
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsType
,
tp
,
0
,
LOCATION_HAND
,
nil
,
TYPE_SPELL
)
if
g
:
GetCount
()
>
0
and
Duel
.
IsChainNegatable
(
Duel
.
GetCurrentChain
())
and
Duel
.
SelectYesNo
(
1
-
tp
,
aux
.
Stringid
(
59344077
,
0
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
local
sg
=
Duel
.
SelectMatchingCard
(
1
-
tp
,
Card
.
IsType
,
tp
,
0
,
LOCATION_HAND
,
1
,
1
,
nil
,
TYPE_SPELL
)
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
1
-
tp
,
aux
.
Stringid
(
59344077
,
0
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_DISCARD
)
local
sg
=
g
:
Select
(
1
-
tp
,
1
,
1
,
nil
)
Duel
.
SendtoGrave
(
sg
,
REASON_EFFECT
+
REASON_DISCARD
)
return
if
Duel
.
IsChainDisablable
(
0
)
then
Duel
.
NegateEffect
(
0
)
return
end
end
Duel
.
NegateActivation
(
ev
)
if
re
:
GetHandler
():
IsRelateToEffect
(
re
)
then
...
...
script/c67030233.lua
View file @
7d8e25b5
...
...
@@ -5,7 +5,7 @@ function c67030233.initial_effect(c)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetRange
(
LOCATION_EXTRA
)
e1
:
SetCondition
(
c67030233
.
syncon
)
e1
:
SetOperation
(
c67030233
.
synop
)
...
...
script/c68786330.lua
View file @
7d8e25b5
...
...
@@ -19,7 +19,7 @@ end
function
c68786330
.
poscon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
a
=
Duel
.
GetAttacker
()
local
d
=
Duel
.
GetAttackTarget
()
return
a
:
IsRelateToBattle
()
and
d
:
IsRelateToBattle
()
and
a
:
IsRace
(
RACE_REPTILE
)
and
d
:
IsPosition
(
POS_DEFENCE
)
return
d
and
a
:
IsRelateToBattle
()
and
d
:
IsRelateToBattle
()
and
a
:
IsRace
(
RACE_REPTILE
)
and
d
:
IsDefencePos
(
)
end
function
c68786330
.
posop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
...
...
script/c69408987.lua
View file @
7d8e25b5
...
...
@@ -21,10 +21,15 @@ end
function
c69408987
.
posop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
a
=
Duel
.
GetAttacker
()
if
Duel
.
ChangePosition
(
a
,
POS_FACEUP_DEFENCE
)
~=
0
then
e
:
GetHandler
():
CreateRelation
(
a
,
RESET_EVENT
+
0x1fe0000
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_CANNOT_CHANGE_POSITION
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
,
3
)
e1
:
SetCondition
(
c69408987
.
poscon2
)
a
:
RegisterEffect
(
e1
)
end
end
function
c69408987
.
poscon2
(
e
)
return
e
:
GetOwner
():
IsRelateToCard
(
e
:
GetHandler
())
end
script/c75840616.lua
View file @
7d8e25b5
...
...
@@ -35,7 +35,7 @@ function c75840616.operation(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c75840616
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
tc
=
g
:
GetFirst
()
if
not
tc
:
IsAbleToGrave
()
or
(
tc
:
IsAbleToHand
()
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
75840616
,
1
)))
then
if
tc
and
tc
:
IsAbleToHand
()
and
(
not
tc
:
IsAbleToGrave
()
or
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
75840616
,
1
)))
then
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
else
...
...
script/c7841112.lua
View file @
7d8e25b5
...
...
@@ -5,7 +5,7 @@ function c7841112.initial_effect(c)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetRange
(
LOCATION_EXTRA
)
e1
:
SetCondition
(
c7841112
.
syncon
)
e1
:
SetOperation
(
c7841112
.
synop
)
...
...
script/c78610936.lua
View file @
7d8e25b5
...
...
@@ -20,10 +20,7 @@ function c78610936.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c78610936
.
filter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
1
,
0
,
0
)
Duel
.
SetChainLimit
(
c78610936
.
chlimit
)
end
function
c78610936
.
chlimit
(
e
,
ep
,
tp
)
return
tp
==
ep
Duel
.
SetChainLimit
(
aux
.
FALSE
)
end
function
c78610936
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsLocation
(
LOCATION_GRAVE
)
and
c
:
GetLevel
()
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP
,
1
-
tp
)
...
...
@@ -34,13 +31,14 @@ function c78610936.activate(e,tp,eg,ep,ev,re,r,rp)
if
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
local
mg
=
tc
:
GetOverlayGroup
()
if
Duel
.
SendtoDeck
(
tc
,
nil
,
0
,
REASON_EFFECT
)
>
0
then
local
g
=
mg
:
Filter
(
c78610936
.
spfilter
,
nil
,
e
,
tp
)
local
ft
=
Duel
.
GetLocationCount
(
1
-
tp
,
LOCATION_MZONE
)
if
ft
>
0
and
m
g
:
GetCount
()
>
0
then
if
m
g
:
GetCount
()
>
ft
then
if
ft
>
0
and
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
ft
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
mg
=
m
g
:
Select
(
tp
,
ft
,
ft
,
nil
)
g
=
g
:
Select
(
tp
,
ft
,
ft
,
nil
)
end
local
tc
=
m
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
while
tc
do
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
1
-
tp
,
false
,
false
,
POS_FACEUP_DEFENCE
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
...
...
@@ -49,7 +47,7 @@ function c78610936.activate(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetValue
(
-
1
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
tc
:
RegisterEffect
(
e1
)
tc
=
m
g
:
GetNext
()
tc
=
g
:
GetNext
()
end
Duel
.
SpecialSummonComplete
()
end
...
...
script/c91822647.lua
View file @
7d8e25b5
...
...
@@ -32,11 +32,13 @@ function c91822647.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function
c91822647
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
)
if
g
:
GetFirst
():
IsRelateToEffect
(
e
)
and
g
:
GetNext
():
IsRelateToEffect
(
e
)
then
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_EFFECT
)
local
tg
=
g
:
Filter
(
Card
.
IsRelateToEffect
,
nil
,
e
)
if
tg
:
GetCount
()
==
2
then
Duel
.
SendtoDeck
(
tg
,
nil
,
2
,
REASON_EFFECT
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c91822647
.
filter2
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
sg
:
GetCount
()
>
0
then
if
sg
:
GetCount
()
>
0
then
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
...
...
script/c92933195.lua
View file @
7d8e25b5
...
...
@@ -24,7 +24,7 @@ function c92933195.handop(e,tp,eg,ep,ev,re,r,rp)
end
local
ht2
=
Duel
.
GetFieldGroupCount
(
1
-
tp
,
LOCATION_HAND
,
0
)
if
ht2
>=
5
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
1
-
tp
,
HINTMSG_TOGRAVE
)
local
sg
=
Duel
.
SelectMatchingCard
(
1
-
tp
,
aux
.
TRUE
,
1
-
tp
,
LOCATION_HAND
,
0
,
ht2
-
4
,
ht2
-
4
,
nil
)
g
:
Merge
(
sg
)
end
...
...
script/c93157004.lua
View file @
7d8e25b5
...
...
@@ -5,7 +5,7 @@ function c93157004.initial_effect(c)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetRange
(
LOCATION_EXTRA
)
e1
:
SetCondition
(
c93157004
.
syncon
)
e1
:
SetOperation
(
c93157004
.
synop
)
...
...
script/c97489701.lua
View file @
7d8e25b5
...
...
@@ -5,7 +5,7 @@ function c97489701.initial_effect(c)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetRange
(
LOCATION_EXTRA
)
e1
:
SetCondition
(
c97489701
.
syncon
)
e1
:
SetOperation
(
c97489701
.
synop
)
...
...
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