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
赤子奈落
ygopro
Commits
1bcbcdfe
Commit
1bcbcdfe
authored
Jan 21, 2012
by
argon.sun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
42c400f5
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
48 additions
and
35 deletions
+48
-35
gframe/deck_manager.cpp
gframe/deck_manager.cpp
+2
-0
gframe/netserver.cpp
gframe/netserver.cpp
+2
-2
gframe/single_duel.cpp
gframe/single_duel.cpp
+8
-2
ocgcore/libduel.cpp
ocgcore/libduel.cpp
+6
-3
script/c46363422.lua
script/c46363422.lua
+3
-4
script/c47297616.lua
script/c47297616.lua
+4
-4
script/c47355498.lua
script/c47355498.lua
+8
-3
script/c49633574.lua
script/c49633574.lua
+8
-8
script/c51554871.lua
script/c51554871.lua
+1
-1
script/c67779172.lua
script/c67779172.lua
+1
-1
script/c73752131.lua
script/c73752131.lua
+2
-4
script/c75116619.lua
script/c75116619.lua
+1
-1
script/c85852291.lua
script/c85852291.lua
+2
-2
No files found.
gframe/deck_manager.cpp
View file @
1bcbcdfe
...
@@ -152,6 +152,8 @@ bool DeckManager::LoadSide(Deck& deck, int* dbuf, int mainc, int sidec) {
...
@@ -152,6 +152,8 @@ bool DeckManager::LoadSide(Deck& deck, int* dbuf, int mainc, int sidec) {
pcount
[
deck
.
side
[
i
]
->
first
]
++
;
pcount
[
deck
.
side
[
i
]
->
first
]
++
;
Deck
ndeck
;
Deck
ndeck
;
LoadDeck
(
ndeck
,
dbuf
,
mainc
,
sidec
);
LoadDeck
(
ndeck
,
dbuf
,
mainc
,
sidec
);
if
(
ndeck
.
main
.
size
()
!=
deck
.
main
.
size
()
||
ndeck
.
extra
.
size
()
!=
deck
.
extra
.
size
())
return
false
;
for
(
int
i
=
0
;
i
<
ndeck
.
main
.
size
();
++
i
)
for
(
int
i
=
0
;
i
<
ndeck
.
main
.
size
();
++
i
)
ncount
[
ndeck
.
main
[
i
]
->
first
]
++
;
ncount
[
ndeck
.
main
[
i
]
->
first
]
++
;
for
(
int
i
=
0
;
i
<
ndeck
.
extra
.
size
();
++
i
)
for
(
int
i
=
0
;
i
<
ndeck
.
extra
.
size
();
++
i
)
...
...
gframe/netserver.cpp
View file @
1bcbcdfe
...
@@ -35,7 +35,7 @@ bool NetServer::StartServer(unsigned short port) {
...
@@ -35,7 +35,7 @@ bool NetServer::StartServer(unsigned short port) {
void
NetServer
::
StopServer
()
{
void
NetServer
::
StopServer
()
{
if
(
!
net_evbase
)
if
(
!
net_evbase
)
return
;
return
;
event_base_loop
break
(
net_evbase
);
event_base_loop
exit
(
net_evbase
,
0
);
}
}
void
NetServer
::
StopListen
()
{
void
NetServer
::
StopListen
()
{
evconnlistener_disable
(
listener
);
evconnlistener_disable
(
listener
);
...
@@ -51,7 +51,7 @@ void NetServer::ServerAccept(evconnlistener* listener, evutil_socket_t fd, socka
...
@@ -51,7 +51,7 @@ void NetServer::ServerAccept(evconnlistener* listener, evutil_socket_t fd, socka
bufferevent_enable
(
bev
,
EV_READ
);
bufferevent_enable
(
bev
,
EV_READ
);
}
}
void
NetServer
::
ServerAcceptError
(
evconnlistener
*
listener
,
void
*
ctx
)
{
void
NetServer
::
ServerAcceptError
(
evconnlistener
*
listener
,
void
*
ctx
)
{
event_base_loop
break
(
net_evbase
);
event_base_loop
exit
(
net_evbase
,
0
);
}
}
void
NetServer
::
ServerEchoRead
(
bufferevent
*
bev
,
void
*
ctx
)
{
void
NetServer
::
ServerEchoRead
(
bufferevent
*
bev
,
void
*
ctx
)
{
evbuffer
*
input
=
bufferevent_get_input
(
bev
);
evbuffer
*
input
=
bufferevent_get_input
(
bev
);
...
...
gframe/single_duel.cpp
View file @
1bcbcdfe
...
@@ -284,6 +284,7 @@ void SingleDuel::HandResult(DuelPlayer* dp, unsigned char res) {
...
@@ -284,6 +284,7 @@ void SingleDuel::HandResult(DuelPlayer* dp, unsigned char res) {
void
SingleDuel
::
TPResult
(
DuelPlayer
*
dp
,
unsigned
char
tp
)
{
void
SingleDuel
::
TPResult
(
DuelPlayer
*
dp
,
unsigned
char
tp
)
{
if
(
dp
->
state
!=
CTOS_TP_RESULT
)
if
(
dp
->
state
!=
CTOS_TP_RESULT
)
return
;
return
;
bool
swapped
=
false
;
if
((
tp
&&
dp
->
type
==
1
)
||
(
!
tp
&&
dp
->
type
==
0
))
{
if
((
tp
&&
dp
->
type
==
1
)
||
(
!
tp
&&
dp
->
type
==
0
))
{
DuelPlayer
*
p
=
players
[
0
];
DuelPlayer
*
p
=
players
[
0
];
players
[
0
]
=
players
[
1
];
players
[
0
]
=
players
[
1
];
...
@@ -293,6 +294,7 @@ void SingleDuel::TPResult(DuelPlayer* dp, unsigned char tp) {
...
@@ -293,6 +294,7 @@ void SingleDuel::TPResult(DuelPlayer* dp, unsigned char tp) {
Deck
d
=
pdeck
[
0
];
Deck
d
=
pdeck
[
0
];
pdeck
[
0
]
=
pdeck
[
1
];
pdeck
[
0
]
=
pdeck
[
1
];
pdeck
[
1
]
=
d
;
pdeck
[
1
]
=
d
;
swapped
=
true
;
}
}
dp
->
state
=
CTOS_RESPONSE
;
dp
->
state
=
CTOS_RESPONSE
;
ReplayHeader
rh
;
ReplayHeader
rh
;
...
@@ -362,10 +364,14 @@ void SingleDuel::TPResult(DuelPlayer* dp, unsigned char tp) {
...
@@ -362,10 +364,14 @@ void SingleDuel::TPResult(DuelPlayer* dp, unsigned char tp) {
BufferIO
::
WriteInt16
(
pbuf
,
query_field_count
(
pduel
,
1
,
0x1
));
BufferIO
::
WriteInt16
(
pbuf
,
query_field_count
(
pduel
,
1
,
0x1
));
BufferIO
::
WriteInt16
(
pbuf
,
query_field_count
(
pduel
,
1
,
0x40
));
BufferIO
::
WriteInt16
(
pbuf
,
query_field_count
(
pduel
,
1
,
0x40
));
NetServer
::
SendBufferToPlayer
(
players
[
0
],
STOC_GAME_MSG
,
startbuf
,
18
);
NetServer
::
SendBufferToPlayer
(
players
[
0
],
STOC_GAME_MSG
,
startbuf
,
18
);
if
(
!
swapped
)
for
(
auto
oit
=
observers
.
begin
();
oit
!=
observers
.
end
();
++
oit
)
for
(
auto
oit
=
observers
.
begin
();
oit
!=
observers
.
end
();
++
oit
)
NetServer
::
ReSendToPlayer
(
*
oit
);
NetServer
::
ReSendToPlayer
(
*
oit
);
startbuf
[
1
]
=
1
;
startbuf
[
1
]
=
1
;
NetServer
::
SendBufferToPlayer
(
players
[
1
],
STOC_GAME_MSG
,
startbuf
,
18
);
NetServer
::
SendBufferToPlayer
(
players
[
1
],
STOC_GAME_MSG
,
startbuf
,
18
);
if
(
swapped
)
for
(
auto
oit
=
observers
.
begin
();
oit
!=
observers
.
end
();
++
oit
)
NetServer
::
ReSendToPlayer
(
*
oit
);
RefreshExtra
(
0
);
RefreshExtra
(
0
);
RefreshExtra
(
1
);
RefreshExtra
(
1
);
start_duel
(
pduel
,
opt
);
start_duel
(
pduel
,
opt
);
...
...
ocgcore/libduel.cpp
View file @
1bcbcdfe
...
@@ -1389,6 +1389,7 @@ int32 scriptlib::duel_get_decktop_group(lua_State *L) {
...
@@ -1389,6 +1389,7 @@ int32 scriptlib::duel_get_decktop_group(lua_State *L) {
*/
*/
int32
scriptlib
::
duel_get_matching_group
(
lua_State
*
L
)
{
int32
scriptlib
::
duel_get_matching_group
(
lua_State
*
L
)
{
check_param_count
(
L
,
5
);
check_param_count
(
L
,
5
);
if
(
!
lua_isnil
(
L
,
1
))
check_param
(
L
,
PARAM_TYPE_FUNCTION
,
1
);
check_param
(
L
,
PARAM_TYPE_FUNCTION
,
1
);
card
*
pexception
=
0
;
card
*
pexception
=
0
;
uint32
extraargs
=
0
;
uint32
extraargs
=
0
;
...
@@ -1413,6 +1414,7 @@ int32 scriptlib::duel_get_matching_group(lua_State *L) {
...
@@ -1413,6 +1414,7 @@ int32 scriptlib::duel_get_matching_group(lua_State *L) {
*/
*/
int32
scriptlib
::
duel_get_matching_count
(
lua_State
*
L
)
{
int32
scriptlib
::
duel_get_matching_count
(
lua_State
*
L
)
{
check_param_count
(
L
,
5
);
check_param_count
(
L
,
5
);
if
(
!
lua_isnil
(
L
,
1
))
check_param
(
L
,
PARAM_TYPE_FUNCTION
,
1
);
check_param
(
L
,
PARAM_TYPE_FUNCTION
,
1
);
card
*
pexception
=
0
;
card
*
pexception
=
0
;
uint32
extraargs
=
0
;
uint32
extraargs
=
0
;
...
@@ -1438,6 +1440,7 @@ int32 scriptlib::duel_get_matching_count(lua_State *L) {
...
@@ -1438,6 +1440,7 @@ int32 scriptlib::duel_get_matching_count(lua_State *L) {
*/
*/
int32
scriptlib
::
duel_get_first_matching_card
(
lua_State
*
L
)
{
int32
scriptlib
::
duel_get_first_matching_card
(
lua_State
*
L
)
{
check_param_count
(
L
,
5
);
check_param_count
(
L
,
5
);
if
(
!
lua_isnil
(
L
,
1
))
check_param
(
L
,
PARAM_TYPE_FUNCTION
,
1
);
check_param
(
L
,
PARAM_TYPE_FUNCTION
,
1
);
card
*
pexception
=
0
;
card
*
pexception
=
0
;
uint32
extraargs
=
0
;
uint32
extraargs
=
0
;
...
...
script/c46363422.lua
View file @
1bcbcdfe
...
@@ -7,6 +7,7 @@ function c46363422.initial_effect(c)
...
@@ -7,6 +7,7 @@ function c46363422.initial_effect(c)
e1
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e1
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetOperation
(
c46363422
.
acop
)
e1
:
SetOperation
(
c46363422
.
acop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--special summon
--special summon
...
@@ -21,9 +22,8 @@ function c46363422.initial_effect(c)
...
@@ -21,9 +22,8 @@ function c46363422.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c46363422
.
acop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c46363422
.
acop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
te
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_EFFECT
)
local
c
=
re
:
GetHandler
()
local
c
=
te
:
GetHandler
()
if
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
c
:
IsType
(
TYPE_SPELL
)
then
if
te
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
~=
e
:
GetHandler
()
then
e
:
GetHandler
():
AddCounter
(
0x3001
,
1
)
e
:
GetHandler
():
AddCounter
(
0x3001
,
1
)
end
end
end
end
...
@@ -44,6 +44,5 @@ function c46363422.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -44,6 +44,5 @@ function c46363422.spop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c46363422
.
filter
,
tp
,
0x13
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c46363422
.
filter
,
tp
,
0x13
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
ShuffleDeck
(
tp
)
end
end
end
end
script/c47297616.lua
View file @
1bcbcdfe
...
@@ -2,7 +2,6 @@
...
@@ -2,7 +2,6 @@
function
c47297616
.
initial_effect
(
c
)
function
c47297616
.
initial_effect
(
c
)
--cannot special summon
--cannot special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
47297616
,
0
))
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
...
@@ -10,7 +9,6 @@ function c47297616.initial_effect(c)
...
@@ -10,7 +9,6 @@ function c47297616.initial_effect(c)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--Attribute Dark
--Attribute Dark
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
47297616
,
1
))
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetCode
(
EFFECT_ADD_ATTRIBUTE
)
e2
:
SetCode
(
EFFECT_ADD_ATTRIBUTE
)
...
@@ -32,7 +30,7 @@ function c47297616.initial_effect(c)
...
@@ -32,7 +30,7 @@ function c47297616.initial_effect(c)
--Special summon
--Special summon
local
e4
=
Effect
.
CreateEffect
(
c
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
47297616
,
4
))
e4
:
SetDescription
(
aux
.
Stringid
(
47297616
,
4
))
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e4
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_DESTROY
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e4
:
SetCode
(
EVENT_TO_GRAVE
)
e4
:
SetCode
(
EVENT_TO_GRAVE
)
e4
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e4
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
...
@@ -84,8 +82,10 @@ function c47297616.tgspsum(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -84,8 +82,10 @@ function c47297616.tgspsum(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsCanBeSpecialSummoned
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
0
,
PLAYER_NONE
,
false
,
false
,
POS_FACEUP
,
tp
)
local
g
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsCanBeSpecialSummoned
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
0
,
PLAYER_NONE
,
false
,
false
,
POS_FACEUP
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
g
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g
,
g
:
GetCount
(),
0
,
0
)
local
dg
=
Duel
.
GetMatchingGroup
(
Card
.
IsDestructable
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
dg
,
dg
:
GetCount
(),
0
,
0
)
end
end
function
c47297616
.
opspsum
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c47297616
.
opspsum
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
dg
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
dg
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
Duel
.
Destroy
(
dg
,
REASON_EFFECT
)
Duel
.
Destroy
(
dg
,
REASON_EFFECT
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
...
...
script/c47355498.lua
View file @
1bcbcdfe
...
@@ -55,7 +55,11 @@ end
...
@@ -55,7 +55,11 @@ end
function
c47355498
.
conntp
(
e
)
function
c47355498
.
conntp
(
e
)
return
not
Duel
.
IsPlayerAffectedByEffect
(
1
-
e
:
GetHandler
():
GetControler
(),
EFFECT_NECRO_VALLEY_IM
)
return
not
Duel
.
IsPlayerAffectedByEffect
(
1
-
e
:
GetHandler
():
GetControler
(),
EFFECT_NECRO_VALLEY_IM
)
end
end
function
c47355498
.
disfilter
(
c
,
im0
,
im1
)
function
c47355498
.
disfilter1
(
c
,
im0
,
im1
,
tg
)
if
c
:
IsControler
(
0
)
then
return
im0
and
tg
:
IsContains
(
c
)
and
c
:
IsHasEffect
(
EFFECT_NECRO_VALLEY
)
else
return
im1
and
and
tg
:
IsContains
(
c
)
and
c
:
IsHasEffect
(
EFFECT_NECRO_VALLEY
)
end
end
function
c47355498
.
disfilter2
(
c
,
im0
,
im1
)
if
c
:
IsControler
(
0
)
then
return
im0
and
c
:
IsHasEffect
(
EFFECT_NECRO_VALLEY
)
if
c
:
IsControler
(
0
)
then
return
im0
and
c
:
IsHasEffect
(
EFFECT_NECRO_VALLEY
)
else
return
im1
and
c
:
IsHasEffect
(
EFFECT_NECRO_VALLEY
)
end
else
return
im1
and
c
:
IsHasEffect
(
EFFECT_NECRO_VALLEY
)
end
end
end
...
@@ -64,9 +68,10 @@ function c47355498.discheck(ev,category,re,im0,im1)
...
@@ -64,9 +68,10 @@ function c47355498.discheck(ev,category,re,im0,im1)
if
not
ex
then
return
false
end
if
not
ex
then
return
false
end
if
tg
and
tg
:
GetCount
()
>
0
then
if
tg
and
tg
:
GetCount
()
>
0
then
if
re
:
IsHasProperty
(
EFFECT_FLAG_CARD_TARGET
)
then
if
re
:
IsHasProperty
(
EFFECT_FLAG_CARD_TARGET
)
then
return
tg
:
IsExists
(
c47355498
.
disfilter
,
1
,
nil
,
im0
,
im1
)
local
targets
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TARGET_CARDS
)
return
tg
:
IsExists
(
c47355498
.
disfilter1
,
1
,
nil
,
im0
,
im1
,
targets
)
else
else
return
tg
:
IsExists
(
c47355498
.
disfilter
,
1
,
re
:
GetHandler
(),
im0
,
im1
)
return
tg
:
IsExists
(
c47355498
.
disfilter
2
,
1
,
re
:
GetHandler
(),
im0
,
im1
)
end
end
end
end
if
v
~=
LOCATION_GRAVE
then
return
false
end
if
v
~=
LOCATION_GRAVE
then
return
false
end
...
...
script/c49633574.lua
View file @
1bcbcdfe
...
@@ -7,17 +7,17 @@ function c49633574.initial_effect(c)
...
@@ -7,17 +7,17 @@ function c49633574.initial_effect(c)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCountLimit
(
1
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTarget
(
c
12235475
.
tg
)
e1
:
SetTarget
(
c
49633574
.
tg
)
e1
:
SetOperation
(
c
12235475
.
op
)
e1
:
SetOperation
(
c
49633574
.
op
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c
12235475
.
spfilter
(
c
,
e
,
tp
)
function
c
49633574
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x35
)
and
c
:
GetLevel
()
==
3
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0x35
)
and
c
:
GetLevel
()
==
3
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
end
function
c
12235475
.
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c
49633574
.
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
==
0
then
return
false
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
==
0
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c
12235475
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
,
tp
)
local
g
=
Duel
.
GetMatchingGroup
(
c
49633574
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
,
tp
)
local
res
=
nil
local
res
=
nil
if
g
:
GetCount
()
==
0
then
if
g
:
GetCount
()
==
0
then
res
=
false
res
=
false
...
@@ -26,7 +26,7 @@ function c12235475.tg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -26,7 +26,7 @@ function c12235475.tg(e,tp,eg,ep,ev,re,r,rp,chk)
else
res
=
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToGraveAsCost
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
else
res
=
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToGraveAsCost
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
end
return
res
return
res
end
end
local
g
=
Duel
.
GetMatchingGroup
(
c
12235475
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
,
tp
)
local
g
=
Duel
.
GetMatchingGroup
(
c
49633574
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
e
,
tp
)
local
cg
=
nil
local
cg
=
nil
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
if
g
:
GetCount
()
==
1
then
if
g
:
GetCount
()
==
1
then
...
@@ -35,10 +35,10 @@ function c12235475.tg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -35,10 +35,10 @@ function c12235475.tg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SendtoGrave
(
cg
,
REASON_COST
)
Duel
.
SendtoGrave
(
cg
,
REASON_COST
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
end
function
c
12235475
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c
49633574
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
==
0
then
return
end
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
12235475
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c
49633574
.
spfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
flse
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
flse
,
false
,
POS_FACEUP
)
end
end
...
...
script/c51554871.lua
View file @
1bcbcdfe
...
@@ -22,7 +22,7 @@ function c51554871.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -22,7 +22,7 @@ function c51554871.target(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c51554871
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c51554871
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
end
end
function
c51554871
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c51554871
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c
15169262
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c
51554871
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
not
tc
then
return
end
if
not
tc
then
return
end
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
script/c67779172.lua
View file @
1bcbcdfe
...
@@ -22,7 +22,7 @@ function c67779172.cost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -22,7 +22,7 @@ function c67779172.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c67779172
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c67779172
.
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
chkc
:
IsDefence
()
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
1
-
tp
)
and
chkc
:
IsDefence
()
end
f
chk
==
0
then
return
Duel
.
IsExistingTarget
(
Card
.
IsDefence
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
end
i
f
chk
==
0
then
return
Duel
.
IsExistingTarget
(
Card
.
IsDefence
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsDefence
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
Card
.
IsDefence
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g
,
1
,
0
,
0
)
...
...
script/c73752131.lua
View file @
1bcbcdfe
...
@@ -22,9 +22,8 @@ function c73752131.initial_effect(c)
...
@@ -22,9 +22,8 @@ function c73752131.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c73752131
.
acop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c73752131
.
acop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
te
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_EFFECT
)
local
c
=
re
:
GetHandler
()
local
c
=
te
:
GetHandler
()
if
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
c
:
IsType
(
TYPE_SPELL
)
then
if
te
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
c
:
IsType
(
TYPE_SPELL
)
and
c
~=
e
:
GetHandler
()
then
e
:
GetHandler
():
AddCounter
(
0x3001
,
1
)
e
:
GetHandler
():
AddCounter
(
0x3001
,
1
)
end
end
end
end
...
@@ -45,6 +44,5 @@ function c73752131.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -45,6 +44,5 @@ function c73752131.spop(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c73752131
.
filter
,
tp
,
0x13
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c73752131
.
filter
,
tp
,
0x13
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
ShuffleDeck
(
tp
)
end
end
end
end
script/c75116619.lua
View file @
1bcbcdfe
...
@@ -64,5 +64,5 @@ function c75116619.vfilter(c)
...
@@ -64,5 +64,5 @@ function c75116619.vfilter(c)
end
end
function
c75116619
.
valcon
(
e
)
function
c75116619
.
valcon
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
Duel
.
IsExistingMatchingCard
(
c
49721904
.
vfilter
,
c
:
GetControler
(),
LOCATION_MZONE
,
0
,
2
,
c
)
return
Duel
.
IsExistingMatchingCard
(
c
75116619
.
vfilter
,
c
:
GetControler
(),
LOCATION_MZONE
,
0
,
2
,
c
)
end
end
script/c85852291.lua
View file @
1bcbcdfe
...
@@ -18,8 +18,8 @@ function c85852291.target(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -18,8 +18,8 @@ function c85852291.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c85852291
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c85852291
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
)
local
p
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
)
Duel
.
Hint
(
HINT_SELECTMSG
,
t
p
,
HINTMSG_TODECK
)
Duel
.
Hint
(
HINT_SELECTMSG
,
p
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectMatchingCard
(
p
,
c85852291
.
filter
,
p
,
LOCATION_HAND
,
0
,
1
,
63
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
p
,
Card
.
IsAbleToDeck
,
p
,
LOCATION_HAND
,
0
,
1
,
63
,
nil
)
if
g
:
GetCount
()
==
0
then
return
end
if
g
:
GetCount
()
==
0
then
return
end
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_EFFECT
)
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_EFFECT
)
Duel
.
ShuffleDeck
(
p
)
Duel
.
ShuffleDeck
(
p
)
...
...
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