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
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
Commits
0905d81f
Commit
0905d81f
authored
Dec 06, 2013
by
VanillaSalt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
ec18fa74
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
61 additions
and
41 deletions
+61
-41
gframe/data_manager.cpp
gframe/data_manager.cpp
+1
-1
ocgcore/card.cpp
ocgcore/card.cpp
+26
-26
script/c10275411.lua
script/c10275411.lua
+1
-0
script/c11047543.lua
script/c11047543.lua
+1
-1
script/c13166204.lua
script/c13166204.lua
+1
-1
script/c16304628.lua
script/c16304628.lua
+5
-4
script/c25435080.lua
script/c25435080.lua
+1
-1
script/c26842483.lua
script/c26842483.lua
+1
-1
script/c37675138.lua
script/c37675138.lua
+2
-1
script/c50260683.lua
script/c50260683.lua
+6
-1
script/c51435705.lua
script/c51435705.lua
+1
-1
script/c53347303.lua
script/c53347303.lua
+1
-2
script/c59048135.lua
script/c59048135.lua
+8
-0
script/c64605089.lua
script/c64605089.lua
+3
-0
script/c77153811.lua
script/c77153811.lua
+1
-1
script/c81816475.lua
script/c81816475.lua
+2
-0
No files found.
gframe/data_manager.cpp
View file @
0905d81f
...
@@ -54,7 +54,7 @@ bool DataManager::LoadDB(const char* file) {
...
@@ -54,7 +54,7 @@ bool DataManager::LoadDB(const char* file) {
if
(
len
)
{
if
(
len
)
{
cs
.
desc
[
i
-
14
]
=
new
wchar_t
[
len
+
1
];
cs
.
desc
[
i
-
14
]
=
new
wchar_t
[
len
+
1
];
memcpy
(
cs
.
desc
[
i
-
14
],
strBuffer
,
(
len
+
1
)
*
sizeof
(
wchar_t
));
memcpy
(
cs
.
desc
[
i
-
14
],
strBuffer
,
(
len
+
1
)
*
sizeof
(
wchar_t
));
}
else
break
;
}
else
cs
.
desc
[
i
-
14
]
=
0
;
}
}
_strings
.
insert
(
std
::
make_pair
(
cd
.
code
,
cs
));
_strings
.
insert
(
std
::
make_pair
(
cd
.
code
,
cs
));
}
}
...
...
ocgcore/card.cpp
View file @
0905d81f
...
@@ -326,6 +326,16 @@ int32 card::get_attack(uint8 swap) {
...
@@ -326,6 +326,16 @@ int32 card::get_attack(uint8 swap) {
for
(
int32
i
=
0
;
i
<
eset
.
count
;
++
i
)
{
for
(
int32
i
=
0
;
i
<
eset
.
count
;
++
i
)
{
switch
(
eset
[
i
]
->
code
)
{
switch
(
eset
[
i
]
->
code
)
{
case
EFFECT_UPDATE_ATTACK
:
case
EFFECT_UPDATE_ATTACK
:
if
((
eset
[
i
]
->
type
&
EFFECT_TYPE_SINGLE
)
&&
!
(
eset
[
i
]
->
flag
&
EFFECT_FLAG_SINGLE_RANGE
))
{
for
(
int32
j
=
0
;
j
<
effects
.
count
;
++
j
)
{
if
(
effects
[
j
]
->
flag
&
EFFECT_FLAG_REPEAT
)
{
base
=
effects
[
j
]
->
get_value
(
this
);
up
=
0
;
upc
=
0
;
temp
.
attack
=
base
;
}
}
}
if
(
eset
[
i
]
->
type
&
EFFECT_TYPE_SINGLE
)
if
(
eset
[
i
]
->
type
&
EFFECT_TYPE_SINGLE
)
up
+=
eset
[
i
]
->
get_value
(
this
);
up
+=
eset
[
i
]
->
get_value
(
this
);
else
else
...
@@ -337,7 +347,7 @@ int32 card::get_attack(uint8 swap) {
...
@@ -337,7 +347,7 @@ int32 card::get_attack(uint8 swap) {
up
=
0
;
up
=
0
;
break
;
break
;
case
EFFECT_SET_ATTACK_FINAL
:
case
EFFECT_SET_ATTACK_FINAL
:
if
(
eset
[
i
]
->
type
&
EFFECT_TYPE_SINGLE
)
{
if
(
(
eset
[
i
]
->
type
&
EFFECT_TYPE_SINGLE
)
&&
!
(
eset
[
i
]
->
flag
&
EFFECT_FLAG_SINGLE_RANGE
)
)
{
base
=
eset
[
i
]
->
get_value
(
this
);
base
=
eset
[
i
]
->
get_value
(
this
);
up
=
0
;
up
=
0
;
upc
=
0
;
upc
=
0
;
...
@@ -349,20 +359,10 @@ int32 card::get_attack(uint8 swap) {
...
@@ -349,20 +359,10 @@ int32 card::get_attack(uint8 swap) {
temp
.
attack
=
base
+
up
+
upc
;
temp
.
attack
=
base
+
up
+
upc
;
else
else
temp
.
attack
=
base
-
up
-
upc
;
temp
.
attack
=
base
-
up
-
upc
;
for
(
int32
i
=
0
;
i
<
effects
.
count
;
++
i
)
{
if
(
effects
[
i
]
->
flag
&
EFFECT_FLAG_REPEAT
)
{
base
=
effects
[
i
]
->
get_value
(
this
);
up
=
0
;
upc
=
0
;
temp
.
attack
=
base
;
}
}
}
}
for
(
int32
i
=
0
;
i
<
effects
.
count
;
++
i
)
{
for
(
int32
i
=
0
;
i
<
effects
.
count
;
++
i
)
{
if
(
!
(
effects
[
i
]
->
flag
&
EFFECT_FLAG_REPEAT
))
{
final
=
effects
[
i
]
->
get_value
(
this
);
final
=
effects
[
i
]
->
get_value
(
this
);
temp
.
attack
=
final
;
temp
.
attack
=
final
;
}
}
}
if
(
final
==
-
1
)
{
if
(
final
==
-
1
)
{
if
(
!
rev
)
if
(
!
rev
)
...
@@ -424,6 +424,16 @@ int32 card::get_defence(uint8 swap) {
...
@@ -424,6 +424,16 @@ int32 card::get_defence(uint8 swap) {
for
(
int32
i
=
0
;
i
<
eset
.
count
;
++
i
)
{
for
(
int32
i
=
0
;
i
<
eset
.
count
;
++
i
)
{
switch
(
eset
[
i
]
->
code
)
{
switch
(
eset
[
i
]
->
code
)
{
case
EFFECT_UPDATE_DEFENCE
:
case
EFFECT_UPDATE_DEFENCE
:
if
((
eset
[
i
]
->
type
&
EFFECT_TYPE_SINGLE
)
&&
!
(
eset
[
i
]
->
flag
&
EFFECT_FLAG_SINGLE_RANGE
))
{
for
(
int32
j
=
0
;
j
<
effects
.
count
;
++
j
)
{
if
(
effects
[
j
]
->
flag
&
EFFECT_FLAG_REPEAT
)
{
base
=
effects
[
j
]
->
get_value
(
this
);
up
=
0
;
upc
=
0
;
temp
.
defence
=
base
;
}
}
}
if
(
eset
[
i
]
->
type
&
EFFECT_TYPE_SINGLE
)
if
(
eset
[
i
]
->
type
&
EFFECT_TYPE_SINGLE
)
up
+=
eset
[
i
]
->
get_value
(
this
);
up
+=
eset
[
i
]
->
get_value
(
this
);
else
else
...
@@ -435,7 +445,7 @@ int32 card::get_defence(uint8 swap) {
...
@@ -435,7 +445,7 @@ int32 card::get_defence(uint8 swap) {
up
=
0
;
up
=
0
;
break
;
break
;
case
EFFECT_SET_DEFENCE_FINAL
:
case
EFFECT_SET_DEFENCE_FINAL
:
if
(
eset
[
i
]
->
type
&
EFFECT_TYPE_SINGLE
)
{
if
(
(
eset
[
i
]
->
type
&
EFFECT_TYPE_SINGLE
)
&&
!
(
eset
[
i
]
->
flag
&
EFFECT_FLAG_SINGLE_RANGE
)
)
{
base
=
eset
[
i
]
->
get_value
(
this
);
base
=
eset
[
i
]
->
get_value
(
this
);
up
=
0
;
up
=
0
;
upc
=
0
;
upc
=
0
;
...
@@ -447,20 +457,10 @@ int32 card::get_defence(uint8 swap) {
...
@@ -447,20 +457,10 @@ int32 card::get_defence(uint8 swap) {
temp
.
defence
=
base
+
up
+
upc
;
temp
.
defence
=
base
+
up
+
upc
;
else
else
temp
.
defence
=
base
-
up
-
upc
;
temp
.
defence
=
base
-
up
-
upc
;
for
(
int32
i
=
0
;
i
<
effects
.
count
;
++
i
)
{
if
(
effects
[
i
]
->
flag
&
EFFECT_FLAG_REPEAT
)
{
base
=
effects
[
i
]
->
get_value
(
this
);
up
=
0
;
upc
=
0
;
temp
.
defence
=
base
;
}
}
}
}
for
(
int32
i
=
0
;
i
<
effects
.
count
;
++
i
)
{
for
(
int32
i
=
0
;
i
<
effects
.
count
;
++
i
)
{
if
(
!
(
effects
[
i
]
->
flag
&
EFFECT_FLAG_REPEAT
))
{
final
=
effects
[
i
]
->
get_value
(
this
);
final
=
effects
[
i
]
->
get_value
(
this
);
temp
.
defence
=
final
;
temp
.
defence
=
final
;
}
}
}
if
(
final
==
-
1
)
{
if
(
final
==
-
1
)
{
if
(
!
rev
)
if
(
!
rev
)
...
...
script/c10275411.lua
View file @
0905d81f
...
@@ -40,6 +40,7 @@ function c10275411.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -40,6 +40,7 @@ function c10275411.activate(e,tp,eg,ep,ev,re,r,rp)
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
if
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
local
g1
=
Duel
.
GetOverlayGroup
(
tp
,
0
,
1
)
local
g1
=
Duel
.
GetOverlayGroup
(
tp
,
0
,
1
)
if
g1
:
GetCount
()
==
0
then
return
end
if
g1
:
GetCount
()
==
0
then
return
end
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
10275411
,
0
))
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
10275411
,
0
))
local
mg
=
g1
:
Select
(
tp
,
1
,
1
,
nil
)
local
mg
=
g1
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
Overlay
(
tc
,
mg
)
Duel
.
Overlay
(
tc
,
mg
)
...
...
script/c11047543.lua
View file @
0905d81f
...
@@ -21,7 +21,7 @@ function c11047543.filter2(c,e,tp,lv)
...
@@ -21,7 +21,7 @@ function c11047543.filter2(c,e,tp,lv)
and
Duel
.
IsExistingMatchingCard
(
c11047543
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
lv
+
clv
)
and
Duel
.
IsExistingMatchingCard
(
c11047543
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
lv
+
clv
)
end
end
function
c11047543
.
spfilter
(
c
,
e
,
tp
,
lv
)
function
c11047543
.
spfilter
(
c
,
e
,
tp
,
lv
)
return
c
:
IsRace
(
RACE_PSYCHO
)
and
c
:
GetLevel
()
==
lv
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsRace
(
RACE_PSYCHO
)
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
GetLevel
()
==
lv
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c11047543
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c11047543
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
false
end
if
chkc
then
return
false
end
...
...
script/c13166204.lua
View file @
0905d81f
...
@@ -14,7 +14,7 @@ function c13166204.filter(c,tp)
...
@@ -14,7 +14,7 @@ function c13166204.filter(c,tp)
return
c
:
IsFaceup
()
and
c
:
IsControler
(
tp
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsSetCard
(
0x54
)
return
c
:
IsFaceup
()
and
c
:
IsControler
(
tp
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsSetCard
(
0x54
)
end
end
function
c13166204
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c13166204
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
rp
~=
tp
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
eg
:
IsExists
(
c13166204
.
filter
,
1
,
nil
,
tp
)
return
rp
~=
tp
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
eg
:
IsExists
(
c13166204
.
filter
,
1
,
nil
,
tp
)
and
Duel
.
IsChainDisablable
(
ev
)
end
end
function
c13166204
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c13166204
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
if
chk
==
0
then
return
true
end
...
...
script/c16304628.lua
View file @
0905d81f
...
@@ -29,16 +29,16 @@ function c16304628.atkcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -29,16 +29,16 @@ function c16304628.atkcon(e,tp,eg,ep,ev,re,r,rp)
return
bit
.
band
(
e
:
GetHandler
():
GetSummonType
(),
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
return
bit
.
band
(
e
:
GetHandler
():
GetSummonType
(),
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
end
end
function
c16304628
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c16304628
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
GetControler
()
~=
tp
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsFaceup
()
end
if
chkc
then
return
chkc
:
IsControler
(
1
-
tp
)
and
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsFaceup
()
end
if
chk
==
0
then
return
true
end
if
chk
==
0
then
return
true
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
local
g
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsFaceup
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsFaceup
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_ATKCHANGE
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_ATKCHANGE
,
g
,
g
:
GetCount
()
,
0
,
0
)
end
end
function
c16304628
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c16304628
.
atkop
(
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
tc
and
tc
:
IsRelateToEffect
(
e
)
then
if
tc
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
local
atk
=
tc
:
GetAttack
()
local
atk
=
tc
:
GetAttack
()
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -46,10 +46,11 @@ function c16304628.atkop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -46,10 +46,11 @@ function c16304628.atkop(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetValue
(
atk
/
2
)
e1
:
SetValue
(
atk
/
2
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
if
c
:
IsRelateToEffect
(
e
)
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e2
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetValue
(
atk
/
2
)
e2
:
SetValue
(
atk
/
2
)
e2
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
e2
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
...
...
script/c25435080.lua
View file @
0905d81f
...
@@ -21,7 +21,7 @@ function c25435080.cfilter(c,tp)
...
@@ -21,7 +21,7 @@ function c25435080.cfilter(c,tp)
return
c
:
IsSetCard
(
0x33
)
and
Duel
.
IsExistingTarget
(
c25435080
.
tfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
c
)
return
c
:
IsSetCard
(
0x33
)
and
Duel
.
IsExistingTarget
(
c25435080
.
tfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
c
)
end
end
function
c25435080
.
tfilter
(
c
)
function
c25435080
.
tfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
Is
SetCard
(
0x33
)
and
c
:
Is
Type
(
TYPE_SYNCHRO
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_SYNCHRO
)
end
end
function
c25435080
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c25435080
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
SetLabel
(
1
)
e
:
SetLabel
(
1
)
...
...
script/c26842483.lua
View file @
0905d81f
...
@@ -16,7 +16,7 @@ function c26842483.initial_effect(c)
...
@@ -16,7 +16,7 @@ function c26842483.initial_effect(c)
end
end
function
c26842483
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c26842483
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
loc
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_LOCATION
)
local
loc
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_LOCATION
)
return
ep
~=
tp
and
loc
==
LOCATION_MZONE
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
Duel
.
IsChain
Disabl
able
(
ev
)
return
ep
~=
tp
and
loc
==
LOCATION_MZONE
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
Duel
.
IsChain
Negat
able
(
ev
)
and
bit
.
band
(
re
:
GetHandler
():
GetSummonType
(),
SUMMON_TYPE_SPECIAL
)
~=
0
and
bit
.
band
(
re
:
GetHandler
():
GetSummonType
(),
SUMMON_TYPE_SPECIAL
)
~=
0
end
end
function
c26842483
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c26842483
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
...
...
script/c37675138.lua
View file @
0905d81f
...
@@ -21,12 +21,13 @@ function c37675138.initial_effect(c)
...
@@ -21,12 +21,13 @@ function c37675138.initial_effect(c)
end
end
function
c37675138
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c37675138
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
GetOwner
():
IsRace
(
RACE_ZOMBIE
)
and
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_GRAVE
)
return
re
:
GetOwner
():
IsRace
(
RACE_ZOMBIE
)
and
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_GRAVE
)
and
e
:
GetHandler
():
GetPreviousControler
()
==
tp
end
end
function
c37675138
.
desfilter
(
c
)
function
c37675138
.
desfilter
(
c
)
return
c
:
IsDestructable
()
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
return
c
:
IsDestructable
()
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
end
end
function
c37675138
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c37675138
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsOnField
()
and
c37675138
.
desfilter
(
chkc
)
end
if
chkc
then
return
chkc
:
Is
Controler
(
1
-
tp
)
and
chkc
:
Is
OnField
()
and
c37675138
.
desfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c37675138
.
desfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c37675138
.
desfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c37675138
.
desfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c37675138
.
desfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
...
...
script/c50260683.lua
View file @
0905d81f
...
@@ -8,9 +8,11 @@ function c50260683.initial_effect(c)
...
@@ -8,9 +8,11 @@ function c50260683.initial_effect(c)
e1
:
SetDescription
(
aux
.
Stringid
(
50260683
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
50260683
,
0
))
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
+
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetHintTiming
(
TIMING_DAMAGE_STEP
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
c50260683
.
condition
)
e1
:
SetCost
(
c50260683
.
cost
)
e1
:
SetCost
(
c50260683
.
cost
)
e1
:
SetTarget
(
c50260683
.
target
)
e1
:
SetTarget
(
c50260683
.
target
)
e1
:
SetOperation
(
c50260683
.
operation
)
e1
:
SetOperation
(
c50260683
.
operation
)
...
@@ -27,6 +29,9 @@ function c50260683.initial_effect(c)
...
@@ -27,6 +29,9 @@ function c50260683.initial_effect(c)
e2
:
SetOperation
(
c50260683
.
desop
)
e2
:
SetOperation
(
c50260683
.
desop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c50260683
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetCurrentPhase
()
~=
PHASE_DAMAGE
or
not
Duel
.
IsDamageCalculated
()
end
function
c50260683
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c50260683
.
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
)
...
...
script/c51435705.lua
View file @
0905d81f
...
@@ -19,7 +19,7 @@ function c51435705.shcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -19,7 +19,7 @@ function c51435705.shcon(e,tp,eg,ep,ev,re,r,rp)
return
Duel
.
IsExistingMatchingCard
(
c51435705
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
return
Duel
.
IsExistingMatchingCard
(
c51435705
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
end
function
c51435705
.
shcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c51435705
.
shcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsDiscardable
()
end
if
chk
==
0
then
return
e
:
GetHandler
():
IsDiscardable
()
and
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_DISCARD
+
REASON_COST
)
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_DISCARD
+
REASON_COST
)
end
end
function
c51435705
.
filter
(
c
)
function
c51435705
.
filter
(
c
)
...
...
script/c53347303.lua
View file @
0905d81f
...
@@ -55,8 +55,7 @@ function c53347303.discon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -55,8 +55,7 @@ function c53347303.discon(e,tp,eg,ep,ev,re,r,rp)
if
not
re
:
IsHasProperty
(
EFFECT_FLAG_CARD_TARGET
)
then
return
end
if
not
re
:
IsHasProperty
(
EFFECT_FLAG_CARD_TARGET
)
then
return
end
local
loc
,
tg
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_LOCATION
,
CHAININFO_TARGET_CARDS
)
local
loc
,
tg
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_LOCATION
,
CHAININFO_TARGET_CARDS
)
if
not
tg
or
not
tg
:
IsContains
(
c
)
then
return
false
end
if
not
tg
or
not
tg
:
IsContains
(
c
)
then
return
false
end
if
(
not
Duel
.
IsChainNegatable
(
ev
))
or
loc
==
LOCATION_DECK
then
return
false
end
return
Duel
.
IsChainDisablable
(
ev
)
and
loc
~=
LOCATION_DECK
return
true
end
end
function
c53347303
.
distg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c53347303
.
distg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
if
chk
==
0
then
return
true
end
...
...
script/c59048135.lua
View file @
0905d81f
...
@@ -31,6 +31,11 @@ function c59048135.initial_effect(c)
...
@@ -31,6 +31,11 @@ function c59048135.initial_effect(c)
ge1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
ge1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
ge1
:
SetOperation
(
c59048135
.
checkop
)
ge1
:
SetOperation
(
c59048135
.
checkop
)
Duel
.
RegisterEffect
(
ge1
,
0
)
Duel
.
RegisterEffect
(
ge1
,
0
)
local
ge2
=
Effect
.
CreateEffect
(
c
)
ge2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
ge2
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
ge2
:
SetOperation
(
c59048135
.
checkop
)
Duel
.
RegisterEffect
(
ge2
,
0
)
end
end
end
end
function
c59048135
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c59048135
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -67,6 +72,9 @@ function c59048135.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -67,6 +72,9 @@ function c59048135.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
c59048135
.
splimit
)
e1
:
SetTarget
(
c59048135
.
splimit
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_CANNOT_SUMMON
)
Duel
.
RegisterEffect
(
e2
,
tp
)
end
end
function
c59048135
.
splimit
(
e
,
c
)
function
c59048135
.
splimit
(
e
,
c
)
return
not
(
c
:
IsRace
(
RACE_PSYCHO
)
and
c
:
IsType
(
TYPE_XYZ
))
and
not
c
:
IsSetCard
(
0x76
)
return
not
(
c
:
IsRace
(
RACE_PSYCHO
)
and
c
:
IsType
(
TYPE_XYZ
))
and
not
c
:
IsSetCard
(
0x76
)
...
...
script/c64605089.lua
View file @
0905d81f
...
@@ -26,6 +26,9 @@ function c64605089.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -26,6 +26,9 @@ function c64605089.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
e
:
GetHandler
():
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
and
e
:
GetHandler
():
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
0
)
if
Duel
.
GetAttacker
():
GetAttack
()
<
e
:
GetHandler
():
GetDefence
()
then
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
Duel
.
GetAttacker
(),
1
,
0
,
0
)
end
end
end
function
c64605089
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c64605089
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
script/c77153811.lua
View file @
0905d81f
...
@@ -25,7 +25,7 @@ function c77153811.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -25,7 +25,7 @@ function c77153811.operation(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetDescription
(
aux
.
Stringid
(
77153811
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
77153811
,
0
))
e1
:
SetProperty
(
EFFECT_FLAG_CLIENT_HINT
)
e1
:
SetProperty
(
EFFECT_FLAG_CLIENT_HINT
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetRange
(
LOCATION_
S
ZONE
)
e1
:
SetRange
(
LOCATION_
M
ZONE
)
e1
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e1
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e1
:
SetTarget
(
c77153811
.
distg
)
e1
:
SetTarget
(
c77153811
.
distg
)
e1
:
SetCode
(
EFFECT_DISABLE
)
e1
:
SetCode
(
EFFECT_DISABLE
)
...
...
script/c81816475.lua
View file @
0905d81f
...
@@ -29,5 +29,7 @@ function c81816475.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -29,5 +29,7 @@ function c81816475.operation(e,tp,eg,ep,ev,re,r,rp)
local
mg
=
g1
:
Select
(
tp
,
1
,
1
,
nil
)
local
mg
=
g1
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
81816475
,
1
))
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
81816475
,
1
))
local
tc
=
g2
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
local
tc
=
g2
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
local
oc
=
mg
:
GetFirst
():
GetOverlayTarget
()
Duel
.
Overlay
(
tc
,
mg
)
Duel
.
Overlay
(
tc
,
mg
)
Duel
.
RaiseSingleEvent
(
oc
,
EVENT_DETACH_MATERIAL
,
e
,
0
,
0
,
0
,
0
)
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment