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-520DIY
ygopro
Commits
dff3d3e6
Commit
dff3d3e6
authored
Sep 30, 2020
by
mercury233
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://github.com/Fluorohydride/ygopro
parents
73630d7c
23f54dd0
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
611 additions
and
54 deletions
+611
-54
gframe/client_field.cpp
gframe/client_field.cpp
+83
-0
gframe/client_field.h
gframe/client_field.h
+6
-0
gframe/drawing.cpp
gframe/drawing.cpp
+13
-1
gframe/duelclient.cpp
gframe/duelclient.cpp
+20
-3
gframe/event_handler.cpp
gframe/event_handler.cpp
+67
-23
gframe/game.cpp
gframe/game.cpp
+1
-1
lflist.conf
lflist.conf
+411
-24
ocgcore
ocgcore
+1
-1
script
script
+1
-1
strings.conf
strings.conf
+8
-0
No files found.
gframe/client_field.cpp
View file @
dff3d3e6
...
...
@@ -29,6 +29,7 @@ ClientField::ClientField() {
conti_act
=
false
;
deck_reversed
=
false
;
conti_selecting
=
false
;
cant_check_grave
=
false
;
for
(
int
p
=
0
;
p
<
2
;
++
p
)
{
mzone
[
p
].
resize
(
7
,
0
);
szone
[
p
].
resize
(
8
,
0
);
...
...
@@ -93,6 +94,7 @@ void ClientField::Clear() {
pzone_act
[
1
]
=
false
;
conti_act
=
false
;
deck_reversed
=
false
;
cant_check_grave
=
false
;
}
void
ClientField
::
Initial
(
int
player
,
int
deckc
,
int
extrac
)
{
ClientCard
*
pcard
;
...
...
@@ -384,6 +386,18 @@ void ClientField::ClearChainSelect() {
}
// needs to be synchronized with EGET_SCROLL_BAR_CHANGED
void
ClientField
::
ShowSelectCard
(
bool
buttonok
,
bool
chain
)
{
if
(
cant_check_grave
)
{
bool
has_card_in_grave
=
false
;
for
(
size_t
i
=
0
;
i
<
selectable_cards
.
size
();
++
i
)
{
if
(
selectable_cards
[
i
]
->
location
==
LOCATION_GRAVE
)
{
has_card_in_grave
=
true
;
break
;
}
}
if
(
has_card_in_grave
)
{
std
::
random_shuffle
(
selectable_cards
.
begin
(),
selectable_cards
.
end
());
}
}
int
startpos
;
size_t
ct
;
if
(
selectable_cards
.
size
()
<=
5
)
{
...
...
@@ -410,6 +424,8 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) {
wchar_t
formatBuffer
[
2048
];
if
(
conti_selecting
)
myswprintf
(
formatBuffer
,
L"%ls"
,
DataManager
::
unknown_string
);
else
if
(
cant_check_grave
&&
selectable_cards
[
i
]
->
location
==
LOCATION_GRAVE
)
myswprintf
(
formatBuffer
,
L"%ls"
,
dataManager
.
FormatLocation
(
selectable_cards
[
i
]
->
location
,
0
));
else
if
(
selectable_cards
[
i
]
->
location
==
LOCATION_OVERLAY
)
myswprintf
(
formatBuffer
,
L"%ls[%d](%d)"
,
dataManager
.
FormatLocation
(
selectable_cards
[
i
]
->
overlayTarget
->
location
,
selectable_cards
[
i
]
->
overlayTarget
->
sequence
),
...
...
@@ -1209,6 +1225,27 @@ bool ClientField::CheckSelectSum() {
return
ret
;
}
}
bool
ClientField
::
CheckSelectTribute
()
{
std
::
set
<
ClientCard
*>
selable
;
for
(
auto
sit
=
selectsum_all
.
begin
();
sit
!=
selectsum_all
.
end
();
++
sit
)
{
(
*
sit
)
->
is_selectable
=
false
;
(
*
sit
)
->
is_selected
=
false
;
selable
.
insert
(
*
sit
);
}
for
(
size_t
i
=
0
;
i
<
selected_cards
.
size
();
++
i
)
{
selected_cards
[
i
]
->
is_selectable
=
true
;
selected_cards
[
i
]
->
is_selected
=
true
;
selable
.
erase
(
selected_cards
[
i
]);
}
selectsum_cards
.
clear
();
bool
ret
=
check_sel_sum_trib_s
(
selable
,
0
,
0
);
selectable_cards
.
clear
();
for
(
auto
sit
=
selectsum_cards
.
begin
();
sit
!=
selectsum_cards
.
end
();
++
sit
)
{
(
*
sit
)
->
is_selectable
=
true
;
selectable_cards
.
push_back
(
*
sit
);
}
return
ret
;
}
bool
ClientField
::
check_min
(
const
std
::
set
<
ClientCard
*>&
left
,
std
::
set
<
ClientCard
*>::
const_iterator
index
,
int
min
,
int
max
)
{
if
(
index
==
left
.
end
())
return
false
;
...
...
@@ -1272,6 +1309,52 @@ bool ClientField::check_sum(std::set<ClientCard*>::const_iterator index, std::se
||
(
l2
>
0
&&
acc
>
l2
&&
check_sum
(
index
,
end
,
acc
-
l2
,
count
+
1
))
||
check_sum
(
index
,
end
,
acc
,
count
);
}
bool
ClientField
::
check_sel_sum_trib_s
(
const
std
::
set
<
ClientCard
*>&
left
,
int
index
,
int
acc
)
{
if
(
acc
>
select_max
)
return
false
;
if
(
index
==
(
int
)
selected_cards
.
size
())
{
check_sel_sum_trib_t
(
left
,
acc
);
return
acc
>=
select_min
&&
acc
<=
select_max
;
}
int
l
=
selected_cards
[
index
]
->
opParam
;
int
l1
=
l
&
0xffff
;
int
l2
=
l
>>
16
;
bool
res1
=
false
,
res2
=
false
;
res1
=
check_sel_sum_trib_s
(
left
,
index
+
1
,
acc
+
l1
);
if
(
l2
>
0
)
res2
=
check_sel_sum_trib_s
(
left
,
index
+
1
,
acc
+
l2
);
return
res1
||
res2
;
}
void
ClientField
::
check_sel_sum_trib_t
(
const
std
::
set
<
ClientCard
*>&
left
,
int
acc
)
{
for
(
auto
sit
=
left
.
begin
();
sit
!=
left
.
end
();
++
sit
)
{
if
(
selectsum_cards
.
find
(
*
sit
)
!=
selectsum_cards
.
end
())
continue
;
std
::
set
<
ClientCard
*>
testlist
(
left
);
testlist
.
erase
(
*
sit
);
int
l
=
(
*
sit
)
->
opParam
;
int
l1
=
l
&
0xffff
;
int
l2
=
l
>>
16
;
if
(
check_sum_trib
(
testlist
.
begin
(),
testlist
.
end
(),
acc
+
l1
)
||
(
l2
>
0
&&
check_sum_trib
(
testlist
.
begin
(),
testlist
.
end
(),
acc
+
l2
)))
{
selectsum_cards
.
insert
(
*
sit
);
}
}
}
bool
ClientField
::
check_sum_trib
(
std
::
set
<
ClientCard
*>::
const_iterator
index
,
std
::
set
<
ClientCard
*>::
const_iterator
end
,
int
acc
)
{
if
(
acc
>=
select_min
&&
acc
<=
select_max
)
return
true
;
if
(
acc
>
select_max
||
index
==
end
)
return
false
;
int
l
=
(
*
index
)
->
opParam
;
int
l1
=
l
&
0xffff
;
int
l2
=
l
>>
16
;
if
((
acc
+
l1
>=
select_min
&&
acc
+
l1
<=
select_max
)
||
(
acc
+
l2
>=
select_min
&&
acc
+
l2
<=
select_max
))
return
true
;
++
index
;
return
check_sum_trib
(
index
,
end
,
acc
+
l1
)
||
check_sum_trib
(
index
,
end
,
acc
+
l2
)
||
check_sum_trib
(
index
,
end
,
acc
);
}
template
<
class
T
>
static
bool
is_declarable
(
T
const
&
cd
,
const
std
::
vector
<
int
>&
opcode
)
{
std
::
stack
<
int
>
stack
;
...
...
gframe/client_field.h
View file @
dff3d3e6
...
...
@@ -81,6 +81,7 @@ public:
bool
last_chain
;
bool
deck_reversed
;
bool
conti_selecting
;
bool
cant_check_grave
;
ClientField
();
void
Clear
();
...
...
@@ -106,10 +107,14 @@ public:
void
FadeCard
(
ClientCard
*
pcard
,
int
alpha
,
int
frame
);
bool
ShowSelectSum
(
bool
panelmode
);
bool
CheckSelectSum
();
bool
CheckSelectTribute
();
bool
check_min
(
const
std
::
set
<
ClientCard
*>&
left
,
std
::
set
<
ClientCard
*>::
const_iterator
index
,
int
min
,
int
max
);
bool
check_sel_sum_s
(
const
std
::
set
<
ClientCard
*>&
left
,
int
index
,
int
acc
);
void
check_sel_sum_t
(
const
std
::
set
<
ClientCard
*>&
left
,
int
acc
);
bool
check_sum
(
std
::
set
<
ClientCard
*>::
const_iterator
index
,
std
::
set
<
ClientCard
*>::
const_iterator
end
,
int
acc
,
int
count
);
bool
check_sel_sum_trib_s
(
const
std
::
set
<
ClientCard
*>&
left
,
int
index
,
int
acc
);
void
check_sel_sum_trib_t
(
const
std
::
set
<
ClientCard
*>&
left
,
int
acc
);
bool
check_sum_trib
(
std
::
set
<
ClientCard
*>::
const_iterator
index
,
std
::
set
<
ClientCard
*>::
const_iterator
end
,
int
acc
);
void
UpdateDeclarableList
();
...
...
@@ -146,5 +151,6 @@ public:
//special cards
#define CARD_MARINE_DOLPHIN 78734254
#define CARD_TWINKLE_MOSS 13857930
#define CARD_QUESTION 38723936
#endif //CLIENT_FIELD_H
gframe/drawing.cpp
View file @
dff3d3e6
...
...
@@ -408,7 +408,7 @@ void Game::DrawShadowText(CGUITTFont * font, const core::stringw & text, const c
void
Game
::
DrawMisc
()
{
static
irr
::
core
::
vector3df
act_rot
(
0
,
0
,
0
);
int
rule
=
(
dInfo
.
duel_rule
>=
4
)
?
1
:
0
;
irr
::
core
::
matrix4
im
,
ic
,
it
;
irr
::
core
::
matrix4
im
,
ic
,
it
,
ig
;
act_rot
.
Z
+=
0.02
f
;
im
.
setRotationRadians
(
act_rot
);
matManager
.
mTexture
.
setTexture
(
0
,
imageManager
.
tAct
);
...
...
@@ -492,6 +492,18 @@ void Game::DrawMisc() {
driver
->
drawVertexPrimitiveList
(
matManager
.
vChainNum
,
4
,
matManager
.
iRectangle
,
2
);
}
}
if
(
dField
.
cant_check_grave
)
{
matManager
.
mTexture
.
setTexture
(
0
,
imageManager
.
tNegated
);
driver
->
setMaterial
(
matManager
.
mTexture
);
ig
.
setTranslation
(
vector3df
((
matManager
.
vFieldGrave
[
0
][
rule
][
0
].
Pos
.
X
+
matManager
.
vFieldGrave
[
0
][
rule
][
1
].
Pos
.
X
)
/
2
,
(
matManager
.
vFieldGrave
[
0
][
rule
][
0
].
Pos
.
Y
+
matManager
.
vFieldGrave
[
0
][
rule
][
2
].
Pos
.
Y
)
/
2
,
dField
.
grave
[
0
].
size
()
*
0.01
f
+
0.02
f
));
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
ig
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vNegate
,
4
,
matManager
.
iRectangle
,
2
);
ig
.
setTranslation
(
vector3df
((
matManager
.
vFieldGrave
[
1
][
rule
][
0
].
Pos
.
X
+
matManager
.
vFieldGrave
[
1
][
rule
][
1
].
Pos
.
X
)
/
2
,
(
matManager
.
vFieldGrave
[
1
][
rule
][
0
].
Pos
.
Y
+
matManager
.
vFieldGrave
[
1
][
rule
][
2
].
Pos
.
Y
)
/
2
,
dField
.
grave
[
1
].
size
()
*
0.01
f
+
0.02
f
));
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
ig
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vNegate
,
4
,
matManager
.
iRectangle
,
2
);
}
//finish button
if
(
btnCancelOrFinish
->
isVisible
()
&&
dField
.
select_ready
)
DrawSelectionLine
(
btnCancelOrFinish
,
2
,
0xffffff00
);
...
...
gframe/duelclient.cpp
View file @
dff3d3e6
...
...
@@ -1690,7 +1690,10 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
case
MSG_SELECT_PLACE
:
case
MSG_SELECT_DISFIELD
:
{
int
selecting_player
=
BufferIO
::
ReadInt8
(
pbuf
);
mainGame
->
dField
.
select_min
=
BufferIO
::
ReadInt8
(
pbuf
);
int
count
=
BufferIO
::
ReadInt8
(
pbuf
);
mainGame
->
dField
.
select_min
=
count
>
0
?
count
:
1
;
mainGame
->
dField
.
select_ready
=
false
;
mainGame
->
dField
.
select_cancelable
=
count
==
0
;
mainGame
->
dField
.
selectable_field
=
~
BufferIO
::
ReadInt32
(
pbuf
);
if
(
selecting_player
==
mainGame
->
LocalPlayer
(
1
))
mainGame
->
dField
.
selectable_field
=
(
mainGame
->
dField
.
selectable_field
>>
16
)
|
(
mainGame
->
dField
.
selectable_field
<<
16
);
...
...
@@ -1765,6 +1768,9 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
DuelClient
::
SendResponse
();
return
true
;
}
if
(
mainGame
->
dField
.
select_cancelable
)
{
mainGame
->
dField
.
ShowCancelOrFinishButton
(
1
);
}
return
false
;
}
case
MSG_SELECT_POSITION
:
{
...
...
@@ -1818,6 +1824,8 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
int
count
=
BufferIO
::
ReadInt8
(
pbuf
);
mainGame
->
dField
.
selectable_cards
.
clear
();
mainGame
->
dField
.
selected_cards
.
clear
();
mainGame
->
dField
.
selectsum_all
.
clear
();
mainGame
->
dField
.
selectsum_cards
.
clear
();
mainGame
->
dField
.
select_panalmode
=
false
;
int
c
,
l
,
s
,
t
;
unsigned
int
code
;
...
...
@@ -1833,10 +1841,12 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
if
(
code
&&
pcard
->
code
!=
code
)
pcard
->
SetCode
(
code
);
mainGame
->
dField
.
selectable_cards
.
push_back
(
pcard
);
pcard
->
opParam
=
t
;
mainGame
->
dField
.
selectsum_all
.
push_back
(
pcard
);
pcard
->
opParam
=
t
<<
16
|
1
;
pcard
->
select_seq
=
i
;
pcard
->
is_selectable
=
true
;
}
mainGame
->
dField
.
CheckSelectTribute
();
if
(
select_hint
)
myswprintf
(
textBuffer
,
L"%ls(%d-%d)"
,
dataManager
.
GetDesc
(
select_hint
),
mainGame
->
dField
.
select_min
,
mainGame
->
dField
.
select_max
);
...
...
@@ -3615,7 +3625,14 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
int
chtype
=
BufferIO
::
ReadInt8
(
pbuf
);
int
value
=
BufferIO
::
ReadInt32
(
pbuf
);
auto
&
player_desc_hints
=
mainGame
->
dField
.
player_desc_hints
[
player
];
if
(
chtype
==
PHINT_DESC_ADD
)
{
if
(
value
==
CARD_QUESTION
&&
player
==
0
)
{
if
(
chtype
==
PHINT_DESC_ADD
)
{
mainGame
->
dField
.
cant_check_grave
=
true
;
}
else
if
(
chtype
==
PHINT_DESC_REMOVE
)
{
mainGame
->
dField
.
cant_check_grave
=
false
;
}
}
else
if
(
chtype
==
PHINT_DESC_ADD
)
{
player_desc_hints
[
value
]
++
;
}
else
if
(
chtype
==
PHINT_DESC_REMOVE
)
{
player_desc_hints
[
value
]
--
;
...
...
gframe/event_handler.cpp
View file @
dff3d3e6
...
...
@@ -889,6 +889,8 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
}
else
{
if
(
conti_selecting
)
myswprintf
(
formatBuffer
,
L"%ls"
,
DataManager
::
unknown_string
);
else
if
(
cant_check_grave
&&
selectable_cards
[
i
]
->
location
==
LOCATION_GRAVE
)
myswprintf
(
formatBuffer
,
L"%ls"
,
dataManager
.
FormatLocation
(
selectable_cards
[
i
]
->
location
,
0
));
else
if
(
selectable_cards
[
i
+
pos
]
->
location
==
LOCATION_OVERLAY
)
myswprintf
(
formatBuffer
,
L"%ls[%d](%d)"
,
dataManager
.
FormatLocation
(
selectable_cards
[
i
+
pos
]
->
overlayTarget
->
location
,
selectable_cards
[
i
+
pos
]
->
overlayTarget
->
sequence
),
...
...
@@ -1189,6 +1191,8 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
case
LOCATION_GRAVE
:
{
if
(
grave
[
hovered_controler
].
size
()
==
0
)
break
;
if
(
cant_check_grave
)
break
;
ShowMenu
(
COMMAND_LIST
,
x
,
y
);
break
;
}
...
...
@@ -1239,6 +1243,8 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
int
command_flag
=
0
;
if
(
grave
[
hovered_controler
].
size
()
==
0
)
break
;
if
(
cant_check_grave
)
break
;
for
(
size_t
i
=
0
;
i
<
grave
[
hovered_controler
].
size
();
++
i
)
command_flag
|=
grave
[
hovered_controler
][
i
]
->
cmdFlag
;
command_flag
|=
COMMAND_LIST
;
...
...
@@ -1335,16 +1341,16 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
selected_field
=
0
;
DuelClient
::
SetResponseB
(
respbuf
,
p
);
DuelClient
::
SendResponse
();
ShowCancelOrFinishButton
(
0
);
}
}
}
break
;
}
case
MSG_SELECT_CARD
:
case
MSG_SELECT_TRIBUTE
:
{
if
(
!
(
hovered_location
&
0xe
)
||
!
clicked_card
||
!
clicked_card
->
is_selectable
)
case
MSG_SELECT_CARD
:
{
if
(
!
(
hovered_location
&
0xe
)
||
!
clicked_card
||
!
clicked_card
->
is_selectable
)
break
;
if
(
clicked_card
->
is_selected
)
{
if
(
clicked_card
->
is_selected
)
{
clicked_card
->
is_selected
=
false
;
int
i
=
0
;
while
(
selected_cards
[
i
]
!=
clicked_card
)
i
++
;
...
...
@@ -1353,18 +1359,11 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
clicked_card
->
is_selected
=
true
;
selected_cards
.
push_back
(
clicked_card
);
}
int
min
=
selected_cards
.
size
(),
max
=
0
;
if
(
mainGame
->
dInfo
.
curMsg
==
MSG_SELECT_CARD
)
{
max
=
selected_cards
.
size
();
}
else
{
for
(
size_t
i
=
0
;
i
<
selected_cards
.
size
();
++
i
)
max
+=
selected_cards
[
i
]
->
opParam
;
}
if
(
min
>=
select_max
)
{
if
(
selected_cards
.
size
()
>=
select_max
)
{
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
DuelClient
::
SendResponse
();
}
else
if
(
max
>=
select_min
)
{
}
else
if
(
selected_cards
.
size
()
>=
select_min
)
{
if
(
selected_cards
.
size
()
==
selectable_cards
.
size
())
{
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
...
...
@@ -1372,18 +1371,37 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
}
else
{
select_ready
=
true
;
ShowCancelOrFinishButton
(
2
);
if
(
mainGame
->
dInfo
.
curMsg
==
MSG_SELECT_TRIBUTE
)
{
wchar_t
wbuf
[
256
],
*
pwbuf
=
wbuf
;
BufferIO
::
CopyWStrRef
(
dataManager
.
GetSysString
(
209
),
pwbuf
,
256
);
*
pwbuf
++
=
L'\n'
;
BufferIO
::
CopyWStrRef
(
dataManager
.
GetSysString
(
210
),
pwbuf
,
256
);
mainGame
->
stQMessage
->
setText
(
wbuf
);
mainGame
->
PopupElement
(
mainGame
->
wQuery
);
}
}
}
else
{
select_ready
=
false
;
if
(
select_cancelable
&&
min
==
0
)
if
(
select_cancelable
&&
selected_cards
.
size
()
==
0
)
ShowCancelOrFinishButton
(
1
);
else
ShowCancelOrFinishButton
(
0
);
}
break
;
}
case
MSG_SELECT_TRIBUTE
:
{
if
(
!
(
hovered_location
&
0xe
)
||
!
clicked_card
||
!
clicked_card
->
is_selectable
)
break
;
if
(
clicked_card
->
is_selected
)
{
auto
it
=
std
::
find
(
selected_cards
.
begin
(),
selected_cards
.
end
(),
clicked_card
);
selected_cards
.
erase
(
it
);
}
else
{
selected_cards
.
push_back
(
clicked_card
);
}
if
(
CheckSelectTribute
())
{
if
(
selectsum_cards
.
size
()
==
0
)
{
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
DuelClient
::
SendResponse
();
}
else
{
select_ready
=
true
;
ShowCancelOrFinishButton
(
2
);
}
}
else
{
select_ready
=
false
;
if
(
select_cancelable
&&
selected_cards
.
size
()
==
0
)
ShowCancelOrFinishButton
(
1
);
else
ShowCancelOrFinishButton
(
0
);
...
...
@@ -1719,6 +1737,8 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
display_cards
.
clear
();
switch
(
event
.
KeyInput
.
Key
)
{
case
irr
:
:
KEY_F1
:
if
(
cant_check_grave
)
break
;
loc_id
=
1004
;
for
(
auto
it
=
grave
[
0
].
rbegin
();
it
!=
grave
[
0
].
rend
();
++
it
)
display_cards
.
push_back
(
*
it
);
...
...
@@ -1743,6 +1763,8 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
}
break
;
case
irr
:
:
KEY_F5
:
if
(
cant_check_grave
)
break
;
loc_id
=
1004
;
for
(
auto
it
=
grave
[
1
].
rbegin
();
it
!=
grave
[
1
].
rend
();
++
it
)
display_cards
.
push_back
(
*
it
);
...
...
@@ -2316,14 +2338,18 @@ void ClientField::SetShowMark(ClientCard* pcard, bool enable) {
}
void
ClientField
::
ShowCardInfoInList
(
ClientCard
*
pcard
,
irr
::
gui
::
IGUIElement
*
element
,
irr
::
gui
::
IGUIElement
*
parent
)
{
std
::
wstring
str
(
L""
);
wchar_t
formatBuffer
[
2048
];
if
(
pcard
->
code
)
{
str
.
append
(
dataManager
.
GetName
(
pcard
->
code
));
}
if
(
pcard
->
overlayTarget
)
{
myswprintf
(
formatBuffer
,
dataManager
.
GetSysString
(
225
),
dataManager
.
GetName
(
pcard
->
overlayTarget
->
code
),
pcard
->
overlayTarget
->
sequence
+
1
);
str
.
append
(
L"
\n
"
).
append
(
formatBuffer
);
}
if
((
pcard
->
status
&
STATUS_PROC_COMPLETE
)
&&
(
pcard
->
type
&
(
TYPE_RITUAL
|
TYPE_FUSION
|
TYPE_SYNCHRO
|
TYPE_XYZ
|
TYPE_LINK
|
TYPE_SPSUMMON
)))
str
.
append
(
L"
\n
"
).
append
(
dataManager
.
GetSysString
(
224
));
for
(
size_t
i
=
0
;
i
<
chains
.
size
();
++
i
)
{
wchar_t
formatBuffer
[
2048
];
auto
chit
=
chains
[
i
];
if
(
pcard
==
chit
.
chain_card
)
{
myswprintf
(
formatBuffer
,
dataManager
.
GetSysString
(
216
),
i
+
1
);
...
...
@@ -2469,6 +2495,11 @@ void ClientField::CancelOrFinish() {
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
break
;
}
if
(
select_ready
)
{
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
DuelClient
::
SendResponse
();
}
break
;
}
case
MSG_SELECT_SUM
:
{
...
...
@@ -2509,6 +2540,19 @@ void ClientField::CancelOrFinish() {
}
break
;
}
case
MSG_SELECT_PLACE
:
{
if
(
select_cancelable
)
{
unsigned
char
respbuf
[
3
];
respbuf
[
0
]
=
mainGame
->
LocalPlayer
(
0
);
respbuf
[
1
]
=
0
;
respbuf
[
2
]
=
0
;
mainGame
->
dField
.
selectable_field
=
0
;
DuelClient
::
SetResponseB
(
respbuf
,
3
);
DuelClient
::
SendResponse
();
ShowCancelOrFinishButton
(
0
);
}
break
;
}
}
}
}
gframe/game.cpp
View file @
dff3d3e6
...
...
@@ -10,7 +10,7 @@
#include "netserver.h"
#include "single_mode.h"
const
unsigned
short
PRO_VERSION
=
0x135
1
;
const
unsigned
short
PRO_VERSION
=
0x135
2
;
namespace
ygo
{
...
...
lflist.conf
View file @
dff3d3e6
#[2020.
7][2020.6 TCG][2020.4][2020.1][2019.10][2019.7][2019.4][2019.1][2018.10][2018.7][2018.4][2018.1][2017.10][2017.7][2017.4][2017.1][2016.10][2016.7][2016.4][2016.1][2015.10][2015.4][2015.1][2014.10][2014.7][2014.4][2014.2][2013.9
][2020.4 TCG][2020.1 TCG][2019.10 TCG][2019.7 TCG][2019.4 TCG][2019.1 TCG][2018.12 TCG][2018.9 TCG][2018.5 TCG][2018.2 TCG][2017.11 TCG][2017.9 TCG][2017.6 TCG][2017.3 TCG][2016.8 TCG][2016.4 TCG][2015.11 TCG][2015.7 TCG][2015.4 TCG][2015.1 TCG][2014.10 TCG][2014.7 TCG][2014.4 TCG][2014.1.1 TCG][2013.10.11 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1]
!
2020
.
7
#[2020.
10][2020.9 TCG][2020.7][2020.4][2020.1][2019.10][2019.7][2019.4][2019.1][2018.10][2018.7][2018.4][2018.1][2017.10][2017.7][2017.4][2017.1][2016.10][2016.7][2016.4][2016.1][2015.10][2015.4][2015.1][2014.10][2014.7][2014.4][2014.2][2013.9][2020.6 TCG
][2020.4 TCG][2020.1 TCG][2019.10 TCG][2019.7 TCG][2019.4 TCG][2019.1 TCG][2018.12 TCG][2018.9 TCG][2018.5 TCG][2018.2 TCG][2017.11 TCG][2017.9 TCG][2017.6 TCG][2017.3 TCG][2016.8 TCG][2016.4 TCG][2015.11 TCG][2015.7 TCG][2015.4 TCG][2015.1 TCG][2014.10 TCG][2014.7 TCG][2014.4 TCG][2014.1.1 TCG][2013.10.11 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1]
!
2020
.
10
#forbidden
91869203
0
--アマゾネスの射手
20663556
0
--イレカエル
...
...
@@ -18,6 +18,7 @@
34124316
0
--サイバーポッド
88071625
0
--
The
tyrant
NEPTUNE
61665245
0
--サモン・ソーサレス
52653092
0
--
SNo
.
0
ホープ・ゼアル
85115440
0
--十二獣ブルホーン
59537380
0
--守護竜アガーペイン
86148577
0
--守護竜エルピィ
...
...
@@ -25,6 +26,7 @@
94677445
0
--星杯の神子イヴ
16923472
0
--ゼンマイハンター
15341821
0
--ダンディライオン
37818794
0
--超魔導竜騎士-ドラグーン・オブ・レッドアイズ
18326736
0
--星守の騎士 プトレマイオス
79875176
0
--トゥーン・キャノン・ソルジャー
22593417
0
--トポロジック・ガンブラー・ドラゴン
...
...
@@ -94,6 +96,7 @@
74586817
1
--
PSY
フレームロード・Ω
26889158
1
--転生炎獣ガゼル
74997493
1
--鎖龍蛇-スカルデット
69811710
1
--宵星の騎士ギルス
77075360
1
--ジャンク・スピーダー
48905153
1
--十二獣ドランシア
78872731
1
--十二獣モルモラット
...
...
@@ -106,7 +109,6 @@
59297550
1
--ゼンマイマジシャン
44335251
1
--魂喰いオヴィラプター
73941492
1
--調弦の魔術師
37818794
1
--超魔導竜騎士-ドラグーン・オブ・レッドアイズ
15291624
1
--超雷龍-サンダー・ドラゴン
90953320
1
--
TG
ハイパー・ライブラリアン
69015963
1
--デビル・フランケン
...
...
@@ -114,7 +116,7 @@
16226786
1
--深淵の暗殺者
69610326
1
--覇王眷竜ダークヴルム
70583986
1
--氷結界の虎王ドゥローレン
52687916
1
--氷結界の龍トリシューラ
52687916
1
--氷結界の龍
トリシューラ
33396948
1
--封印されしエクゾディア
44519536
1
--封印されし者の左足
07902349
1
--封印されし者の左腕
...
...
@@ -153,20 +155,17 @@
93600443
1
--マスク・チェンジ・セカンド
15854426
1
--霞の谷の神風
66399653
1
--ユニオン格納庫
06172122
1
--真紅眼融合
27970830
1
--六武の門
02295440
1
--ワン・フォー・ワン
05851097
1
--虚無空間
61740673
1
--王宮の勅命
21076084
1
--トリックスター・リンカーネイション
89208725
1
--メタバース
#semi limit
25533642
2
--オルターガイスト・メリュシーク
99234526
2
--輝白竜 ワイバースター
21593977
2
--処刑人-マキュラ
14536035
2
--ダーク・グレファー
82385847
2
--ダイナレスラー・パンクラトプス
09411399
2
--
D
-
HERO
ディアボリックガイ
28297833
2
--ネクロフェイス
09411399
2
--
D
-
HERO
ディアボリックガイ
10802915
2
--魔界発現世行きデスガイド
41386308
2
--マスマティシャン
43694650
2
--未界域のジャッカロープ
...
...
@@ -174,6 +173,7 @@
29596581
2
--雷獣龍-サンダー・ドラゴン
48686504
2
--ローンファイア・ブロッサム
47325505
2
--化石調査
84731222
2
--希望の記憶
67723438
2
--緊急テレポート
45305419
2
--継承の印
52155219
2
--転生炎獣の炎陣
...
...
@@ -184,37 +184,38 @@
24010609
2
--閃刀機関-マルチロール
63166095
2
--閃刀起動-エンゲージ
48130397
2
--超融合
01984618
2
--天底の使徒
11110587
2
--隣の芝刈り
24224830
2
--墓穴の指名者
08949584
2
--ヒーローアライブ
01475311
2
--闇の誘惑
02295440
2
--ワン・フォー・ワン
53936268
2
--パーソナル・スプーフィング
23002292
2
--レッド・リブート
!
2020
.
6
TCG
!
2020
.
9
TCG
#forbidden
76794549
0
--
Astrograph
Sorcerer
09929398
0
--
Blackwing
-
Gofu
the
Vague
Shadow
09047460
0
--
Blackwing
-
Steam
the
Cloak
53804307
0
--
Blaster
,
Dragon
Ruler
of
Infernos
94689206
0
--
Block
Dragon
34124316
0
--
Cyber
Jar
15341821
0
--
Dandylion
05560911
0
--
Destrudo
the
Lost
Dragon
'
s
Frisson
08903700
0
--
Djinn
Releaser
of
Rituals
49684352
0
--
Double
Iris
Magician
51858306
0
--
Eclipse
Wyvern
55623480
0
--
Fairy
Tail
-
Snow
78706415
0
--
Fiber
Jar
93369354
0
--
Fishborg
Blaster
67441435
0
--
Glow
-
Up
Bulb
75732622
0
--
Grinder
Golem
09742784
0
--
Jet
Synchron
57421866
0
--
Level
Eater
83190280
0
--
Lunalight
Tiger
34206604
0
--
Magical
Scientist
31178212
0
--
Majespecter
Unicorn
-
Kirin
21593977
0
--
Makyura
the
Destructor
21377582
0
--
Master
Peace
,
the
True
Dracoslaying
King
23434538
0
--
Maxx
"C"
72291078
0
--
Mecha
Phantom
Beast
O
-
Lion
96782886
0
--
Mind
Master
57835716
0
--
Orcust
Harp
Horror
07563579
0
--
Performage
Plushfire
...
...
@@ -238,7 +239,6 @@
39064822
0
--
Knightmare
Goblin
03679218
0
--
Knightmare
Mermaid
61665245
0
--
Summon
Sorceress
26692769
0
--
The
Phantom
Knights
of
Rusty
Bardiche
22593417
0
--
Topologic
Gumblar
Dragon
25862681
0
--
Ancient
Fairy
Dragon
65536818
0
--
Denglong
,
First
of
the
Yang
Zing
...
...
@@ -266,7 +266,6 @@
23557835
0
--
Dimension
Fusion
42703248
0
--
Giant
Trunade
79571449
0
--
Graceful
Charity
18144506
0
--
Harpie
'
s
Feather
Duster
19613556
0
--
Heavy
Storm
35059553
0
--
Kaiser
Colosseum
85602018
0
--
Last
Will
...
...
@@ -299,7 +298,6 @@
08124921
1
--
Right
Leg
of
the
Forbidden
One
28985331
1
--
Armageddon
Knight
61901281
1
--
Black
Dragon
Collapserpent
57143342
1
--
Cir
,
Malebranche
of
the
Burning
Abyss
69015963
1
--
Cyber
-
Stein
43694650
1
--
Danger
!?
Jackalope
?
70711847
1
--
Danger
!
Nessie
!
...
...
@@ -307,9 +305,9 @@
14536035
1
--
Dark
Grepher
58984738
1
--
Dinomight
Knight
,
the
True
Dracofighter
82385847
1
--
Dinowrestler
Pankratops
49684352
1
--
Double
Iris
Magician
33396948
1
--
Exodia
the
Forbidden
One
64034255
1
--
Genex
Ally
Birdman
20758643
1
--
Graff
,
Malebranche
of
the
Burning
Abyss
99177923
1
--
Infernity
Archfiend
33508719
1
--
Morphing
Jar
16226786
1
--
Night
Assailant
...
...
@@ -323,10 +321,9 @@
30539496
1
--
True
King
Lithosagym
,
the
Disaster
99234526
1
--
White
Dragon
Wyverburster
78872731
1
--
Zoodiac
Ratpier
45222299
1
--
Evigishki
Gustkraken
11877465
1
--
Evigishki
Mind
Augus
01561110
1
--
ABC
-
Dragon
Buster
39512984
1
--
Gem
-
Knight
Master
Diamond
26692769
1
--
The
Phantom
Knights
of
Rusty
Bardiche
70583986
1
--
Dewloren
,
Tiger
King
of
the
Ice
Barrier
18239909
1
--
Ignister
Prominence
,
the
Blasting
Dracoslayer
74586817
1
--
PSY
-
Framelord
Omega
...
...
@@ -334,9 +331,9 @@
52687916
1
--
Trishula
,
Dragon
of
the
Ice
Barrier
27552504
1
--
Beatrice
,
Lady
of
the
Eternal
00581014
1
--
Daigusto
Emeral
90809975
1
--
Toadally
Awesome
48905153
1
--
Zoodiac
Drident
08949584
1
--
A
Hero
Lives
24224830
1
--
Called
by
the
Grave
72892473
1
--
Card
Destruction
59750328
1
--
Card
of
Demise
91623717
1
--
Chain
Strike
...
...
@@ -349,6 +346,7 @@
81439173
1
--
Foolish
Burial
27970830
1
--
Gateway
of
the
Six
75500286
1
--
Gold
Sarcophagus
18144506
1
--
Harpie
'
s
Feather
Duster
66957584
1
--
Infernity
Launcher
01845204
1
--
Instant
Fusion
93946239
1
--
Into
the
Void
...
...
@@ -357,7 +355,6 @@
83764718
1
--
Monster
Reborn
33782437
1
--
One
Day
of
Peace
02295440
1
--
One
for
One
22842126
1
--
Pantheism
of
the
Monarchs
12580477
1
--
Raigeki
58577036
1
--
Reasoning
32807846
1
--
Reinforcement
of
the
Army
...
...
@@ -383,9 +380,203 @@
35125879
1
--
True
King
'
s
Return
17078030
1
--
Wall
of
Revealing
Light
#semi limit
57143342
2
--
Cir
,
Malebranche
of
the
Burning
Abyss
09411399
2
--
Destiny
HERO
-
Malicious
10802915
2
--
Tour
Guide
From
the
Underworld
98338152
2
--
Sky
Striker
Mecha
-
Widow
Anchor
20758643
2
--
Graff
,
Malebranche
of
the
Burning
Abyss
01561110
2
--
ABC
-
Dragon
Buster
90809975
2
--
Toadally
Awesome
!
2020
.
7
#forbidden
91869203
0
--アマゾネスの射手
20663556
0
--イレカエル
44910027
0
--ヴィクトリー・ドラゴン
51858306
0
--エクリプス・ワイバーン
25862681
0
--エンシェント・フェアリー・ドラゴン
53804307
0
--焔征竜-ブラスター
07563579
0
--
Em
ヒグルミ
17330916
0
--
EM
モンキーボード
34945480
0
--外神アザトート
90411554
0
--巌征竜-レドックス
08903700
0
--儀式魔人リリーサー
11384280
0
--キャノン・ソルジャー
17412721
0
--旧神ノーデン
67441435
0
--グローアップ・バルブ
34124316
0
--サイバーポッド
88071625
0
--
The
tyrant
NEPTUNE
61665245
0
--サモン・ソーサレス
85115440
0
--十二獣ブルホーン
59537380
0
--守護竜アガーペイン
86148577
0
--守護竜エルピィ
21377582
0
--真竜剣皇マスター
P
94677445
0
--星杯の神子イヴ
16923472
0
--ゼンマイハンター
15341821
0
--ダンディライオン
18326736
0
--星守の騎士 プトレマイオス
79875176
0
--トゥーン・キャノン・ソルジャー
22593417
0
--トポロジック・ガンブラー・ドラゴン
39064822
0
--トロイメア・ゴブリン
03679218
0
--トロイメア・マーメイド
54719828
0
--
No
.
16
色の支配者ショック・ルーラー
58820923
0
--
No
.
95
ギャラクシーアイズ・ダークマター・ドラゴン
26400609
0
--瀑征竜-タイダル
71525232
0
--破滅竜ガンドラ
X
05043010
0
--ファイアウォール・ドラゴン
78706415
0
--ファイバーポッド
93369354
0
--フィッシュボーグ-ガンナー
23558733
0
--フェニキシアン・クラスター・アマリリス
09929398
0
--
BF
-朧影のゴウフウ
09047460
0
--
BF
-隠れ蓑のスチーム
31178212
0
--マジェスペクター・ユニコーン
34206604
0
--魔導サイエンティスト
04423206
0
--
M
.
X
-セイバー インヴォーカー
14702066
0
--メガキャノン・ソルジャー
96782886
0
--メンタルマスター
03078576
0
--八汰烏
34086406
0
--ラヴァルバル・チェイン
85243784
0
--リンクロス
57421866
0
--レベル・スティーラー
41482598
0
--悪夢の蜃気楼
44763025
0
--いたずら好きな双子悪魔
17375316
0
--押収
19613556
0
--大嵐
74191942
0
--苦渋の選択
42829885
0
--強引な番兵
45986603
0
--強奪
55144522
0
--強欲な壺
04031928
0
--心変わり
23557835
0
--次元融合
31423101
0
--神剣-フェニックスブレード
57953380
0
--生還の宝札
54447022
0
--ソウル・チャージ
60682203
0
--大寒波
69243953
0
--蝶の短剣-エルマ
79571449
0
--天使の施し
70828912
0
--早すぎた埋葬
42703248
0
--ハリケーン
34906152
0
--マスドライバー
46448938
0
--魔導書の神判
46411259
0
--突然変異
85602018
0
--遺言状
27174286
0
--異次元からの帰還
93016201
0
--王宮の弾圧
03280747
0
--第六感
64697231
0
--ダスト・シュート
80604091
0
--血の代償
35316708
0
--刻の封印
32723153
0
--マジカル・エクスプロージョン
17178486
0
--ライフチェンジャー
28566710
0
--ラストバトル!
#limit
64034255
1
--
A
・ジェネクス・バードマン
76794549
1
--アストログラフ・マジシャン
01561110
1
--
ABC
-ドラゴン・バスター
40318957
1
--
EM
ドクロバット・ジョーカー
42790071
1
--オルターガイスト・マルチフェイカー
30741503
1
--オルフェゴール・ガラテア
57835716
1
--オルフェゴール・ディヴェル
50588353
1
--水晶機巧-ハリファイバー
12289247
1
--クロノグラフ・マジシャン
49684352
1
--虹彩の魔術師
74586817
1
--
PSY
フレームロード・Ω
26889158
1
--転生炎獣ガゼル
74997493
1
--鎖龍蛇-スカルデット
77075360
1
--ジャンク・スピーダー
48905153
1
--十二獣ドランシア
78872731
1
--十二獣モルモラット
06602300
1
--重爆撃禽 ボム・フェネクス
28985331
1
--終末の騎士
78080961
1
--
SPYRAL
-ジーニアス
81275020
1
--
SR
ベイゴマックス
63288573
1
--閃刀姫-カガリ
81122844
1
--発条空母ゼンマイティ
59297550
1
--ゼンマイマジシャン
44335251
1
--魂喰いオヴィラプター
73941492
1
--調弦の魔術師
37818794
1
--超魔導竜騎士-ドラグーン・オブ・レッドアイズ
15291624
1
--超雷龍-サンダー・ドラゴン
90953320
1
--
TG
ハイパー・ライブラリアン
69015963
1
--デビル・フランケン
75732622
1
--トーチ・ゴーレム
16226786
1
--深淵の暗殺者
69610326
1
--覇王眷竜ダークヴルム
70583986
1
--氷結界の虎王ドゥローレン
52687916
1
--氷結界の龍トリシューラ
33396948
1
--封印されしエクゾディア
44519536
1
--封印されし者の左足
07902349
1
--封印されし者の左腕
08124921
1
--封印されし者の右足
70903634
1
--封印されし者の右腕
70369116
1
--捕食植物ヴェルテ・アナコンダ
35272499
1
--捕食植物オフリス・スコーピオ
24094258
1
--ヘビーメタルフォーゼ・エレクトラム
33508719
1
--メタモルポット
90809975
1
--餅カエル
83107873
1
--雷鳥龍-サンダー・ドラゴン
89399912
1
--嵐征竜-テンペスト
92746535
1
--竜剣士ラスター
P
88264978
1
--レッドアイズ・ダークネスメタルドラゴン
33782437
1
--一時休戦
01845204
1
--簡易融合
66957584
1
--インフェルニティガン
81439173
1
--おろかな埋葬
73680966
1
--終わりの始まり
23701465
1
--原初の種
12580477
1
--サンダー・ボルト
83764718
1
--死者蘇生
46060017
1
--十二獣の会局
52340444
1
--閃刀機-ホーネットビット
32807846
1
--増援
72892473
1
--手札抹殺
73628505
1
--テラ・フォーミング
13035077
1
--ドラゴニック
D
35371948
1
--トリックスター・ライトステージ
18144506
1
--ハーピィの羽根帚
75500286
1
--封印の黄金櫃
07394770
1
--ブリリアント・フュージョン
53208660
1
--ペンデュラム・コール
73468603
1
--盆回し
76375976
1
--魔鍾洞
93600443
1
--マスク・チェンジ・セカンド
15854426
1
--霞の谷の神風
66399653
1
--ユニオン格納庫
06172122
1
--真紅眼融合
27970830
1
--六武の門
05851097
1
--虚無空間
61740673
1
--王宮の勅命
21076084
1
--トリックスター・リンカーネイション
89208725
1
--メタバース
#semi limit
25533642
2
--オルターガイスト・メリュシーク
99234526
2
--輝白竜 ワイバースター
21593977
2
--処刑人-マキュラ
14536035
2
--ダーク・グレファー
82385847
2
--ダイナレスラー・パンクラトプス
09411399
2
--
D
-
HERO
ディアボリックガイ
28297833
2
--ネクロフェイス
10802915
2
--魔界発現世行きデスガイド
41386308
2
--マスマティシャン
43694650
2
--未界域のジャッカロープ
70711847
2
--未界域のネッシー
29596581
2
--雷獣龍-サンダー・ドラゴン
48686504
2
--ローンファイア・ブロッサム
47325505
2
--化石調査
67723438
2
--緊急テレポート
45305419
2
--継承の印
52155219
2
--転生炎獣の炎陣
73915051
2
--スケープ・ゴート
54631665
2
--
SPYRAL
RESORT
37520316
2
--精神操作
98338152
2
--閃刀機-ウィドウアンカー
24010609
2
--閃刀機関-マルチロール
63166095
2
--閃刀起動-エンゲージ
48130397
2
--超融合
11110587
2
--隣の芝刈り
08949584
2
--ヒーローアライブ
01475311
2
--闇の誘惑
02295440
2
--ワン・フォー・ワン
53936268
2
--パーソナル・スプーフィング
23002292
2
--レッド・リブート
!
2020
.
4
#forbidden
...
...
@@ -4521,6 +4712,202 @@
53582587
2
--激流葬
29401950
2
--奈落の落とし穴
!
2020
.
6
TCG
#forbidden
76794549
0
--
Astrograph
Sorcerer
09929398
0
--
Blackwing
-
Gofu
the
Vague
Shadow
09047460
0
--
Blackwing
-
Steam
the
Cloak
53804307
0
--
Blaster
,
Dragon
Ruler
of
Infernos
34124316
0
--
Cyber
Jar
15341821
0
--
Dandylion
05560911
0
--
Destrudo
the
Lost
Dragon
'
s
Frisson
08903700
0
--
Djinn
Releaser
of
Rituals
49684352
0
--
Double
Iris
Magician
51858306
0
--
Eclipse
Wyvern
55623480
0
--
Fairy
Tail
-
Snow
78706415
0
--
Fiber
Jar
93369354
0
--
Fishborg
Blaster
67441435
0
--
Glow
-
Up
Bulb
75732622
0
--
Grinder
Golem
57421866
0
--
Level
Eater
83190280
0
--
Lunalight
Tiger
34206604
0
--
Magical
Scientist
31178212
0
--
Majespecter
Unicorn
-
Kirin
21593977
0
--
Makyura
the
Destructor
21377582
0
--
Master
Peace
,
the
True
Dracoslaying
King
23434538
0
--
Maxx
"C"
96782886
0
--
Mind
Master
57835716
0
--
Orcust
Harp
Horror
07563579
0
--
Performage
Plushfire
17330916
0
--
Performapal
Monkeyboard
40318957
0
--
Performapal
Skullcrobat
Joker
23558733
0
--
Phoenixian
Cluster
Amaryllis
90411554
0
--
Redox
,
Dragon
Ruler
of
Boulders
05592689
0
--
Samsara
Lotus
91258852
0
--
SPYRAL
Master
Plan
20663556
0
--
Substitoad
88071625
0
--
The
Tyrant
Neptune
26400609
0
--
Tidal
,
Dragon
Ruler
of
Waterfalls
44910027
0
--
Victory
Dragon
03078576
0
--
Yata
-
Garasu
17412721
0
--
Elder
Entity
Norden
43387895
0
--
Supreme
King
Dragon
Starving
Venom
15291624
0
--
Thunder
Dragon
Colossus
05043010
0
--
Firewall
Dragon
59537380
0
--
Guardragon
Agarpain
24094258
0
--
Heavymetalfoes
Electrumite
39064822
0
--
Knightmare
Goblin
03679218
0
--
Knightmare
Mermaid
61665245
0
--
Summon
Sorceress
26692769
0
--
The
Phantom
Knights
of
Rusty
Bardiche
22593417
0
--
Topologic
Gumblar
Dragon
25862681
0
--
Ancient
Fairy
Dragon
65536818
0
--
Denglong
,
First
of
the
Yang
Zing
94677445
0
--
Ib
the
World
Chalice
Justiciar
63101919
0
--
Tempest
Magician
34086406
0
--
Lavalval
Chain
04423206
0
--
M
-
X
-
Saber
Invoker
54719828
0
--
Number
16
:
Shock
Master
10389142
0
--
Number
42
:
Galaxy
Tomahawk
63504681
0
--
Number
86
:
Heroic
Champion
-
Rhongomyniad
58820923
0
--
Number
95
:
Galaxy
-
Eyes
Dark
Matter
Dragon
34945480
0
--
Outer
Entity
Azathot
87327776
0
--
Salamangreat
Miragestallio
18326736
0
--
Tellarknight
Ptolemaeus
81122844
0
--
Wind
-
Up
Carrier
Zenmaity
85115440
0
--
Zoodiac
Broadbull
07394770
0
--
Brilliant
Fusion
69243953
0
--
Butterfly
Dagger
-
Elma
57953380
0
--
Card
of
Safe
Return
04031928
0
--
Change
of
Heart
67616300
0
--
Chicken
Game
60682203
0
--
Cold
Wave
17375316
0
--
Confiscation
44763025
0
--
Delinquent
Duo
23557835
0
--
Dimension
Fusion
42703248
0
--
Giant
Trunade
79571449
0
--
Graceful
Charity
18144506
0
--
Harpie
'
s
Feather
Duster
19613556
0
--
Heavy
Storm
35059553
0
--
Kaiser
Colosseum
85602018
0
--
Last
Will
34906152
0
--
Mass
Driver
46411259
0
--
Metamorphosis
41482598
0
--
Mirage
of
Nightmare
74191942
0
--
Painful
Choice
55144522
0
--
Pot
of
Greed
70828912
0
--
Premature
Burial
94220427
0
--
Rank
-
Up
-
Magic
Argent
Chaos
Force
63166095
0
--
Sky
Striker
Mobilize
-
Engage
!
45986603
0
--
Snatch
Steal
54447022
0
--
Soul
Charge
46448938
0
--
Spellbook
of
Judgment
11110587
0
--
That
Grass
Looks
Greener
42829885
0
--
The
Forceful
Sentry
28566710
0
--
Last
Turn
27174286
0
--
Return
from
the
Different
Dimension
93016201
0
--
Royal
Oppression
57585212
0
--
Self
-
Destruct
Button
03280747
0
--
Sixth
Sense
35316708
0
--
Time
Seal
64697231
0
--
Trap
Dustshoot
80604091
0
--
Ultimate
Offering
05851097
0
--
Vanity
'
s
Emptiness
#limit
07902349
1
--
Left
Arm
of
the
Forbidden
One
44519536
1
--
Left
Leg
of
the
Forbidden
One
70903634
1
--
Right
Arm
of
the
Forbidden
One
08124921
1
--
Right
Leg
of
the
Forbidden
One
28985331
1
--
Armageddon
Knight
61901281
1
--
Black
Dragon
Collapserpent
57143342
1
--
Cir
,
Malebranche
of
the
Burning
Abyss
69015963
1
--
Cyber
-
Stein
43694650
1
--
Danger
!?
Jackalope
?
70711847
1
--
Danger
!
Nessie
!
99745551
1
--
Danger
!?
Tsuchinoko
?
14536035
1
--
Dark
Grepher
58984738
1
--
Dinomight
Knight
,
the
True
Dracofighter
82385847
1
--
Dinowrestler
Pankratops
33396948
1
--
Exodia
the
Forbidden
One
64034255
1
--
Genex
Ally
Birdman
20758643
1
--
Graff
,
Malebranche
of
the
Burning
Abyss
99177923
1
--
Infernity
Archfiend
33508719
1
--
Morphing
Jar
16226786
1
--
Night
Assailant
12958919
1
--
Phantom
Skyblaster
88264978
1
--
Red
-
Eyes
Darkness
Metal
Dragon
26889158
1
--
Salamangreat
Gazelle
92559258
1
--
Servant
of
Endymion
81275020
1
--
Speedroid
Terrortop
78080961
1
--
SPYRAL
Quik
-
Fix
89399912
1
--
Tempest
,
Dragon
Ruler
of
Storms
30539496
1
--
True
King
Lithosagym
,
the
Disaster
99234526
1
--
White
Dragon
Wyverburster
78872731
1
--
Zoodiac
Ratpier
45222299
1
--
Evigishki
Gustkraken
11877465
1
--
Evigishki
Mind
Augus
01561110
1
--
ABC
-
Dragon
Buster
39512984
1
--
Gem
-
Knight
Master
Diamond
70583986
1
--
Dewloren
,
Tiger
King
of
the
Ice
Barrier
18239909
1
--
Ignister
Prominence
,
the
Blasting
Dracoslayer
74586817
1
--
PSY
-
Framelord
Omega
90953320
1
--
T
.
G
.
Hyper
Librarian
52687916
1
--
Trishula
,
Dragon
of
the
Ice
Barrier
27552504
1
--
Beatrice
,
Lady
of
the
Eternal
00581014
1
--
Daigusto
Emeral
90809975
1
--
Toadally
Awesome
48905153
1
--
Zoodiac
Drident
08949584
1
--
A
Hero
Lives
72892473
1
--
Card
Destruction
59750328
1
--
Card
of
Demise
91623717
1
--
Chain
Strike
81674782
1
--
Dimensional
Fissure
15854426
1
--
Divine
Wind
of
Mist
Valley
14733538
1
--
Draco
Face
-
Off
13035077
1
--
Dragonic
Diagram
67723438
1
--
Emergency
Teleport
95308449
1
--
Final
Countdown
81439173
1
--
Foolish
Burial
27970830
1
--
Gateway
of
the
Six
75500286
1
--
Gold
Sarcophagus
66957584
1
--
Infernity
Launcher
01845204
1
--
Instant
Fusion
93946239
1
--
Into
the
Void
71650854
1
--
Magical
Mid
-
Breaker
Field
37520316
1
--
Mind
Control
83764718
1
--
Monster
Reborn
33782437
1
--
One
Day
of
Peace
02295440
1
--
One
for
One
22842126
1
--
Pantheism
of
the
Monarchs
12580477
1
--
Raigeki
58577036
1
--
Reasoning
32807846
1
--
Reinforcement
of
the
Army
52155219
1
--
Salamangreat
Circle
73915051
1
--
Scapegoat
24940422
1
--
Sekka
'
s
Light
73468603
1
--
Set
Rotation
52340444
1
--
Sky
Striker
Mecha
-
Hornet
Drones
24010609
1
--
Sky
Striker
Mecha
Modules
-
Multirole
71344451
1
--
Slash
Draw
54631665
1
--
SPYRAL
Resort
45305419
1
--
Symbol
of
Heritage
73628505
1
--
Terraforming
35371948
1
--
Trickstar
Light
Stage
70368879
1
--
Upstart
Goblin
46060017
1
--
Zoodiac
Barrage
61740673
1
--
Imperial
Order
30241314
1
--
Macro
Cosmos
32723153
1
--
Magical
Explosion
89208725
1
--
Metaverse
23002292
1
--
Red
Reboot
82732705
1
--
Skill
Drain
35125879
1
--
True
King
'
s
Return
17078030
1
--
Wall
of
Revealing
Light
#semi limit
09411399
2
--
Destiny
HERO
-
Malicious
10802915
2
--
Tour
Guide
From
the
Underworld
98338152
2
--
Sky
Striker
Mecha
-
Widow
Anchor
!
2020
.
4
TCG
#forbidden
76794549
0
--
Astrograph
Sorcerer
...
...
ocgcore
@
d3eceea9
Subproject commit
e1e9af3e34d303b43aa1bc23e45a1eca2b60a247
Subproject commit
d3eceea9499fbf137887bc980214147c2ae6294e
script
@
b6819fc3
Subproject commit
0895099e40fef293c6f7653836c5cdf7a36b9e61
Subproject commit
b6819fc3480b886fd6f1a840297e8df2367e0c43
strings.conf
View file @
dff3d3e6
...
...
@@ -80,6 +80,7 @@
!
system
222
是否要发动诱发效果?
!
system
223
稍后将询问其他可以发动的效果。
!
system
224
已用正规方法特殊召唤
!
system
225
叠放于[%
ls
](%
d
)下
!
system
500
请选择要解放的卡
!
system
501
请选择要丢弃的手卡
!
system
502
请选择要破坏的卡
...
...
@@ -1035,3 +1036,10 @@
!
setname
0
x14e
电脑堺 電脳堺
!
setname
0
x114e
电脑堺门 電脳堺門
!
setname
0
x14f
双天
!
setname
0
x150
大贤者 マギストス
#setname 0x151 双子 Twin
!
setname
0
x1151
直播☆双子
Live
☆
Twin
!
setname
0
x2151
邪恶★双子
Evil
★
Twin
!
setname
0
x152
姬丝基勒 キスキル
!
setname
0
x153
璃拉 リィラ
!
setname
0
x154
龙辉巧 ドライトロン
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