Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
YGOMobile
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
fallenstardust
YGOMobile
Commits
284ab46c
Commit
284ab46c
authored
Jun 06, 2025
by
wangfugui
Committed by
GitHub
Jun 06, 2025
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fallenstardust:master' into master
parents
987d00f8
25a5e0fa
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
84 additions
and
64 deletions
+84
-64
Classes/gframe/bufferio.h
Classes/gframe/bufferio.h
+5
-5
Classes/gframe/menu_handler.cpp
Classes/gframe/menu_handler.cpp
+10
-9
Classes/gframe/menu_handler.h
Classes/gframe/menu_handler.h
+3
-1
Classes/gframe/replay.cpp
Classes/gframe/replay.cpp
+5
-1
Classes/gframe/replay.h
Classes/gframe/replay.h
+1
-0
Classes/gframe/replay_mode.cpp
Classes/gframe/replay_mode.cpp
+3
-3
Classes/gframe/replay_mode.h
Classes/gframe/replay_mode.h
+0
-1
Classes/gframe/single_mode.cpp
Classes/gframe/single_mode.cpp
+14
-10
libcore/android/bufferio_android.h
libcore/android/bufferio_android.h
+5
-5
mobile/assets/data/conf/strings.conf
mobile/assets/data/conf/strings.conf
+4
-4
mobile/assets/es/data/conf/strings.conf
mobile/assets/es/data/conf/strings.conf
+11
-7
mobile/assets/jp/data/conf/strings.conf
mobile/assets/jp/data/conf/strings.conf
+6
-6
mobile/assets/kor/data/conf/strings.conf
mobile/assets/kor/data/conf/strings.conf
+9
-7
mobile/assets/pt/data/conf/strings.conf
mobile/assets/pt/data/conf/strings.conf
+8
-5
No files found.
Classes/gframe/bufferio.h
View file @
284ab46c
...
...
@@ -32,7 +32,7 @@ public:
* @brief Copy a C-style string to another C-style string.
* @param src The source wide string
* @param pstr The destination char string
* @param bufsize The
size
of the destination buffer
* @param bufsize The
length
of the destination buffer
* @return The length of the copied string
*/
template
<
typename
T1
,
typename
T2
>
...
...
@@ -62,13 +62,13 @@ public:
}
template
<
size_t
N
>
static
void
CopyString
(
const
char
*
src
,
char
(
&
dst
)[
N
])
{
dst
[
0
]
=
0
;
std
::
strncat
(
dst
,
src
,
N
-
1
)
;
std
::
strncpy
(
dst
,
src
,
N
-
1
)
;
dst
[
N
-
1
]
=
0
;
}
template
<
size_t
N
>
static
void
CopyWideString
(
const
wchar_t
*
src
,
wchar_t
(
&
dst
)[
N
])
{
dst
[
0
]
=
0
;
std
::
wcsncat
(
dst
,
src
,
N
-
1
)
;
std
::
wcsncpy
(
dst
,
src
,
N
-
1
)
;
dst
[
N
-
1
]
=
0
;
}
template
<
typename
T
>
static
bool
CheckUTF8Byte
(
const
T
*
str
,
int
len
)
{
...
...
Classes/gframe/menu_handler.cpp
View file @
284ab46c
...
...
@@ -326,6 +326,7 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
break
;
}
case
BUTTON_LOAD_REPLAY
:
{
int
start_turn
=
1
;
auto
selected
=
mainGame
->
lstReplayList
->
getSelected
();
if
(
selected
==
-
1
)
break
;
...
...
@@ -333,6 +334,7 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
myswprintf
(
replay_path
,
L"./replay/%ls"
,
mainGame
->
lstReplayList
->
getListItem
(
selected
));
if
(
!
ReplayMode
::
cur_replay
.
OpenReplay
(
replay_path
))
break
;
start_turn
=
std
::
wcstol
(
mainGame
->
ebRepStartTurn
->
getText
(),
nullptr
,
10
);
mainGame
->
ClearCardInfo
();
mainGame
->
imgCard
->
setScaleImage
(
true
);
mainGame
->
wCardImg
->
setVisible
(
true
);
...
...
@@ -349,7 +351,6 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
mainGame
->
dField
.
Clear
();
mainGame
->
HideElement
(
mainGame
->
wReplay
);
mainGame
->
device
->
setEventReceiver
(
&
mainGame
->
dField
);
unsigned
int
start_turn
=
std
::
wcstol
(
mainGame
->
ebRepStartTurn
->
getText
(),
nullptr
,
10
);
if
(
start_turn
==
1
)
start_turn
=
0
;
ReplayMode
::
StartReplay
(
start_turn
);
...
...
@@ -621,27 +622,27 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
break
;
wchar_t
replay_path
[
256
]{};
myswprintf
(
replay_path
,
L"./replay/%ls"
,
mainGame
->
lstReplayList
->
getListItem
(
sel
));
if
(
!
ReplayMode
::
cur
_replay
.
OpenReplay
(
replay_path
))
{
if
(
!
temp
_replay
.
OpenReplay
(
replay_path
))
{
mainGame
->
stReplayInfo
->
setText
(
L"Error"
);
break
;
}
wchar_t
infobuf
[
256
]{};
std
::
wstring
repinfo
;
time_t
curtime
;
if
(
ReplayMode
::
cur
_replay
.
pheader
.
flag
&
REPLAY_UNIFORM
)
curtime
=
ReplayMode
::
cur
_replay
.
pheader
.
start_time
;
if
(
temp
_replay
.
pheader
.
flag
&
REPLAY_UNIFORM
)
curtime
=
temp
_replay
.
pheader
.
start_time
;
else
curtime
=
ReplayMode
::
cur
_replay
.
pheader
.
seed
;
curtime
=
temp
_replay
.
pheader
.
seed
;
std
::
wcsftime
(
infobuf
,
sizeof
infobuf
/
sizeof
infobuf
[
0
],
L"%Y/%m/%d %H:%M:%S
\n
"
,
std
::
localtime
(
&
curtime
));
repinfo
.
append
(
infobuf
);
if
(
ReplayMode
::
cur
_replay
.
pheader
.
flag
&
REPLAY_SINGLE_MODE
)
{
if
(
temp
_replay
.
pheader
.
flag
&
REPLAY_SINGLE_MODE
)
{
wchar_t
path
[
256
]{};
BufferIO
::
DecodeUTF8
(
ReplayMode
::
cur
_replay
.
script_name
.
c_str
(),
path
);
BufferIO
::
DecodeUTF8
(
temp
_replay
.
script_name
.
c_str
(),
path
);
repinfo
.
append
(
path
);
repinfo
.
append
(
L"
\n
"
);
}
const
auto
&
player_names
=
ReplayMode
::
cur
_replay
.
players
;
if
(
ReplayMode
::
cur
_replay
.
pheader
.
flag
&
REPLAY_TAG
)
const
auto
&
player_names
=
temp
_replay
.
players
;
if
(
temp
_replay
.
pheader
.
flag
&
REPLAY_TAG
)
myswprintf
(
infobuf
,
L"%ls
\n
%ls
\n
===VS===
\n
%ls
\n
%ls
\n
"
,
player_names
[
0
].
c_str
(),
player_names
[
1
].
c_str
(),
player_names
[
2
].
c_str
(),
player_names
[
3
].
c_str
());
else
myswprintf
(
infobuf
,
L"%ls
\n
===VS===
\n
%ls
\n
"
,
player_names
[
0
].
c_str
(),
player_names
[
1
].
c_str
());
...
...
Classes/gframe/menu_handler.h
View file @
284ab46c
...
...
@@ -2,6 +2,8 @@
#define MENU_HANDLER_H
#include <irrlicht.h>
#include "replay.h"
#ifdef _IRR_ANDROID_PLATFORM_
#include <android/TouchEventTransferAndroid.h>
#endif
...
...
@@ -13,7 +15,7 @@ public:
bool
OnEvent
(
const
irr
::
SEvent
&
event
)
override
;
irr
::
s32
prev_operation
{
0
};
int
prev_sel
{
-
1
};
Replay
temp_replay
;
};
}
...
...
Classes/gframe/replay.cpp
View file @
284ab46c
...
...
@@ -227,8 +227,12 @@ void Replay::Reset() {
script_name
.
clear
();
}
void
Replay
::
SkipInfo
(){
if
(
data_position
==
0
)
data_position
+=
info_offset
;
}
bool
Replay
::
IsReplaying
()
const
{
return
is_replaying
;
}
bool
Replay
::
ReadInfo
()
{
int
player_count
=
(
pheader
.
flag
&
REPLAY_TAG
)
?
4
:
2
;
for
(
int
i
=
0
;
i
<
player_count
;
++
i
)
{
...
...
Classes/gframe/replay.h
View file @
284ab46c
...
...
@@ -81,6 +81,7 @@ public:
void
Rewind
();
void
Reset
();
void
SkipInfo
();
bool
IsReplaying
()
const
;
FILE
*
fp
{
nullptr
};
...
...
Classes/gframe/replay_mode.cpp
View file @
284ab46c
...
...
@@ -159,7 +159,7 @@ bool ReplayMode::StartDuel() {
unsigned
int
seed
=
rh
.
seed
;
std
::
mt19937
rnd
(
seed
);
cur_replay
.
SkipInfo
();
if
(
mainGame
->
dInfo
.
isTag
)
{
if
(
rh
.
flag
&
REPLAY_TAG
)
{
BufferIO
::
CopyWideString
(
cur_replay
.
players
[
0
].
c_str
(),
mainGame
->
dInfo
.
hostname
);
BufferIO
::
CopyWideString
(
cur_replay
.
players
[
1
].
c_str
(),
mainGame
->
dInfo
.
hostname_tag
);
BufferIO
::
CopyWideString
(
cur_replay
.
players
[
2
].
c_str
(),
mainGame
->
dInfo
.
clientname_tag
);
...
...
@@ -824,12 +824,12 @@ bool ReplayMode::ReplayAnalyze(unsigned char* msg, unsigned int len) {
break
;
}
case
MSG_AI_NAME
:
{
int
len
=
BufferIO
::
ReadInt16
(
pbuf
);
int
len
=
buffer_read
<
uint16_t
>
(
pbuf
);
pbuf
+=
len
+
1
;
break
;
}
case
MSG_SHOW_HINT
:
{
int
len
=
BufferIO
::
ReadInt16
(
pbuf
);
int
len
=
buffer_read
<
uint16_t
>
(
pbuf
);
pbuf
+=
len
+
1
;
break
;
}
...
...
Classes/gframe/replay_mode.h
View file @
284ab46c
...
...
@@ -25,7 +25,6 @@ private:
public:
static
Replay
cur_replay
;
public:
static
bool
StartReplay
(
int
skipturn
);
static
void
StopReplay
(
bool
is_exiting
=
false
);
static
void
SwapField
();
...
...
Classes/gframe/single_mode.cpp
View file @
284ab46c
...
...
@@ -739,21 +739,25 @@ bool SingleMode::SinglePlayAnalyze(unsigned char* msg, unsigned int len) {
case
MSG_AI_NAME
:
{
char
namebuf
[
128
]{};
wchar_t
wname
[
20
]{};
int
len
=
BufferIO
::
ReadInt16
(
pbuf
);
auto
begin
=
pbuf
;
pbuf
+=
len
+
1
;
std
::
memcpy
(
namebuf
,
begin
,
len
+
1
);
int
name_len
=
buffer_read
<
uint16_t
>
(
pbuf
);
if
(
name_len
+
1
<=
(
int
)
sizeof
namebuf
)
{
std
::
memcpy
(
namebuf
,
pbuf
,
name_len
);
namebuf
[
name_len
]
=
0
;
}
pbuf
+=
name_len
+
1
;
BufferIO
::
DecodeUTF8
(
namebuf
,
wname
);
BufferIO
::
CopyCharArray
(
wname
,
mainGame
->
dInfo
.
clientname
);
break
;
}
case
MSG_SHOW_HINT
:
{
char
msgbuf
[
1024
];
wchar_t
msg
[
1024
];
int
len
=
BufferIO
::
ReadInt16
(
pbuf
);
auto
begin
=
pbuf
;
pbuf
+=
len
+
1
;
std
::
memcpy
(
msgbuf
,
begin
,
len
+
1
);
char
msgbuf
[
1024
]{};
wchar_t
msg
[
1024
]{};
int
msg_len
=
buffer_read
<
uint16_t
>
(
pbuf
);
if
(
msg_len
+
1
<=
(
int
)
sizeof
msgbuf
)
{
std
::
memcpy
(
msgbuf
,
pbuf
,
msg_len
);
msgbuf
[
msg_len
]
=
0
;
}
pbuf
+=
msg_len
+
1
;
BufferIO
::
DecodeUTF8
(
msgbuf
,
msg
);
mainGame
->
gMutex
.
lock
();
mainGame
->
SetStaticText
(
mainGame
->
stMessage
,
370
*
mainGame
->
xScale
,
mainGame
->
guiFont
,
msg
);
...
...
libcore/android/bufferio_android.h
View file @
284ab46c
...
...
@@ -32,7 +32,7 @@ public:
* @brief Copy a C-style string to another C-style string.
* @param src The source wide string
* @param pstr The destination char string
* @param bufsize The
size
of the destination buffer
* @param bufsize The
length
of the destination buffer
* @return The length of the copied string
*/
template
<
typename
T1
,
typename
T2
>
...
...
@@ -62,13 +62,13 @@ public:
}
template
<
size_t
N
>
static
void
CopyString
(
const
char
*
src
,
char
(
&
dst
)[
N
])
{
dst
[
0
]
=
0
;
std
::
strncat
(
dst
,
src
,
N
-
1
)
;
std
::
strncpy
(
dst
,
src
,
N
-
1
)
;
dst
[
N
-
1
]
=
0
;
}
template
<
size_t
N
>
static
void
CopyWideString
(
const
wchar_t
*
src
,
wchar_t
(
&
dst
)[
N
])
{
dst
[
0
]
=
0
;
std
::
wcsncat
(
dst
,
src
,
N
-
1
)
;
std
::
wcsncpy
(
dst
,
src
,
N
-
1
)
;
dst
[
N
-
1
]
=
0
;
}
template
<
typename
T
>
static
bool
CheckUTF8Byte
(
const
T
*
str
,
int
len
)
{
...
...
mobile/assets/data/conf/strings.conf
View file @
284ab46c
...
...
@@ -1252,7 +1252,7 @@
!
setname
0
x1c8
阿匹卜
Apophis
!
setname
0
x1c9
星辰 ドラゴンテイル
!
setname
0
x1ca
味美喵 ヤミー
!
setname
0
x1cb
K9
K9
!
setname
0
x1cc
瞬间移动
!
setname
0
x1cd
神艺
!
setname
0
x1ce
狱神
\ No newline at end of file
!
setname
0
x1cb
K9
!
setname
0
x1cc
瞬间移动 テレポート
!
setname
0
x1cd
神艺 アルトメギア
!
setname
0
x1ce
狱神 獄神
mobile/assets/es/data/conf/strings.conf
View file @
284ab46c
...
...
@@ -303,10 +303,10 @@
!
system
1233
Cartas
por
Robo
:
!
system
1234
HostName
:
!
system
1235
Contrase
ñ
a
:
!
system
1236
Elegir
Regla
a
Usar
:
!
system
1236
Regla
:
!
system
1237
Tiempo
L
í
mite
:
!
system
1238
Devuelve
las
cartas
a
la
parte
superior
del
Deck
antes
de
barajar
.
!
system
1244
Duelo
Simp
le
!
system
1244
Sing
le
!
system
1245
Match
!
system
1246
Tag
!
system
1247
Duelo
Estandar
...
...
@@ -321,7 +321,7 @@
!
system
1261
Master
Rules
2
!
system
1262
Master
Rules
3
!
system
1263
New
Master
Rules
(
2017
)
!
system
1264
New
Master
Rules
(
2020
)
!
system
1264
Master
Rules
2020
!
system
1267
Lenguaje
(
Reiniciar
*)
!
system
1268
Comprueba
antes
de
colocar
monstruos
.
!
system
1269
Imagen
de
Escala
de
P
é
ndulo
...
...
@@ -374,7 +374,7 @@
!
system
1321
Tipo
:
!
system
1322
ATK
:
!
system
1323
DEF
:
!
system
1324
NV
/
RG
/
LK
:
!
system
1324
LV
/
RK
/
LK
:
!
system
1325
Buscar
:
!
system
1326
Efecto
!
system
1327
Buscar
...
...
@@ -425,7 +425,7 @@
!
system
1371
ATK
↑
!
system
1372
DEF
↑
!
system
1373
Nombre
↓
!
system
1374
Marcadores
de
Enlace
!
system
1374
◀
F
.
Enlace
▶
!
system
1378
B
ú
squeda
de
Palabras
Clave
M
ú
ltiples
!
system
1379
Priorizar
Uso
de
Expansiones
!
system
1380
Modo
IA
(
Sin
Banlist
)
...
...
@@ -442,7 +442,7 @@
!
system
1403
Error
al
Unirse
a
la
partida
.
!
system
1404
Sala
Incorrecta
.
!
system
1405
El
host
rechaza
la
conexi
ó
n
.
!
system
1406
Deck
I
nv
á
lido
!
system
1406
Deck
I
legal
!
system
1407
[%
ls
]
no
permitido
.
Consulta
la
lista
de
cartas
TCG
/
OCG
y
comprueba
la
Lista
de
Cartas
Prohibidas
.
!
system
1408
Error
de
Side
Deck
(
N
ú
mero
distinto
de
cartas
en
el
main
,
extra
o
side
deck
)
!
system
1409
Cambiando
cartas
con
el
Side
Deck
...
...
...
@@ -665,6 +665,7 @@
!
counter
0
x106b
Contador
Demente
!
counter
0
x6c
Contador
de
Acceso
!
counter
0
x6d
Contador
de
Deberes
!
counter
0
x6e
Contador
de
Temporada
#setnames, using tab for comment
!
setname
0
x1
Aliado
de
la
Justicia
!
setname
0
x2
Genex
...
...
@@ -1248,7 +1249,7 @@
!
setname
0
x1c1
Argostars
!
setname
0
x1c2
Aqua
Jet
!
setname
0
x1c3
Mitsurugi
!
setname
0
x1c4
Se
ñ
or
Drag
ó
n
!
setname
0
x1c4
Se
ñ
or
Drag
ó
n
de
los
/
las
!
setname
0
x1c5
Reg
é
nesis
!
setname
0
x1c6
Dominus
!
setname
0
x1c7
Serket
...
...
@@ -1256,3 +1257,6 @@
!
setname
0
x1c9
Coladrag
ó
n
!
setname
0
x1ca
Delicioso
/
a
!
setname
0
x1cb
K9
!
setname
0
x1cc
Teleport
!
setname
0
x1cd
Artmegia
!
setname
0
x1ce
Deidad
Encarcelada
mobile/assets/jp/data/conf/strings.conf
View file @
284ab46c
...
...
@@ -661,7 +661,8 @@
!
counter
0
x106b
狂愛カウンター
!
counter
0
x6c
アクセスカウンター
!
counter
0
x6d
祝台カウンター
!
counter
0
x6e
季節インジケーター
!
counter
0
x6e
シキカウンター
!
counter
0
x6f
乙女カウンター
#setnames, using tab for comment
!
setname
0
x1
A・O・J
!
setname
0
x2
ジェネクス
...
...
@@ -1248,7 +1249,7 @@
!
setname
0
x1c0
竜華
!
setname
0
x1c1
ARG☆S
!
setname
0
x1c2
アクア・ジェット
!
setname
0
x1c3
御
剣
!
setname
0
x1c3
巳
剣
!
setname
0
x1c4
征竜
!
setname
0
x1c5
再世(リジェネシス)
!
setname
0
x1c6
ドミナス
...
...
@@ -1257,7 +1258,6 @@
!
setname
0
x1c9
星辰(ドラゴンテイル)
!
setname
0
x1ca
ヤミー
!
setname
0
x1cb
K
9
!
setname
0
x2cc
テレポート
!
setname
0
x2cd
アルトメギア
!
setname
0
x2ce
獄ごく神
!
setname
0
x2cf
コアラ
\ No newline at end of file
!
setname
0
x1cc
テレポート
!
setname
0
x1cd
神芸(アルトメギア)
!
setname
0
x1ce
獄神
\ No newline at end of file
mobile/assets/kor/data/conf/strings.conf
View file @
284ab46c
...
...
@@ -319,8 +319,11 @@
!
system
1260
마스터 룰
1
!
system
1261
마스터 룰
2
!
system
1262
마스터 룰
3
!
system
1263
마스터 룰
4
!
system
1263
마스터 룰
(
2017
)
!
system
1264
마스터 룰 (
2020
)
!
system
1267
언어(재시작 필요)
!
system
1268
몬스터 세트 전 확인
!
system
1269
펜듈럼 스케일 이미지
!
system
1270
카드 정보
!
system
1271
메시지 기록
!
system
1272
기록 지우기
...
...
@@ -400,7 +403,7 @@
!
system
1351
항복
!
system
1352
정보:
!
system
1353
이 턴부터 시작:
!
system
1354
듀얼 개시시 전부 체인
!
system
1354
개시 시 모든 시점 표시
!
system
1355
[%
ls
]을(를) 세트하겠습니까?
!
system
1356
덱 변경 사항을 포기하겠습니까?
!
system
1357
덱 변경 사항 요구 무시
...
...
@@ -422,7 +425,7 @@
!
system
1373
이름↓
!
system
1374
링크 마커
!
system
1378
여러 키워드로 카드 검색
!
system
1379
확장 카드
패키지
사용
!
system
1379
확장 카드
디버그 모드
사용
!
system
1380
AI
대전
!
system
1381
퍼즐 듀얼
!
system
1382
AI
정보:
...
...
@@ -1252,7 +1255,6 @@
!
setname
0
x1c9
드래곤테일
!
setname
0
x1ca
야미
!
setname
0
x1cb
K9
!
setname
0
x2cc
텔레포트
!
setname
0
x2cd
아르토메기아
!
setname
0
x2ce
옥신
!
setname
0
x2cf
코알라
\ No newline at end of file
!
setname
0
x1cc
텔레포트
!
setname
0
x1cd
아르토메기아
!
setname
0
x1ce
옥신
\ No newline at end of file
mobile/assets/pt/data/conf/strings.conf
View file @
284ab46c
...
...
@@ -321,7 +321,7 @@
!
system
1261
Master
Rules
2
!
system
1262
Master
Rules
3
!
system
1263
New
Master
Rules
(
2017
)
!
system
1264
New
Master
Rules
(
2020
)
!
system
1264
Master
Rules
2020
!
system
1267
Idioma
(
Redefinir
*)
!
system
1268
Verifique
antes
de
colocar
monstros
.
!
system
1269
Imagem
da
Escala
de
P
ê
ndulo
...
...
@@ -337,7 +337,11 @@
!
system
1279
SE
!
system
1280
BGM
!
system
1281
Alternar
BGM
automaticamente
!
system
1282
Tamanho
da
janela
!
system
1283
Pequeno
!
system
1284
M
é
dio
!
system
1285
Grande
!
system
1286
Extra
grande
!
system
1287
Mostrar
Corrente
1
!
system
1288
Lista
de
Banidos
!
system
1289
Ocultar
Nick
...
...
@@ -1253,7 +1257,6 @@
!
setname
0
x1c9
Cauda
de
Drag
ã
o
!
setname
0
x1ca
Yummy
!
setname
0
x1cb
K9
!
setname
0
x2cc
Teleporte
!
setname
0
x2cd
Mago
da
Arte
!
setname
0
x2ce
Divindade
Aprisionada
!
setname
0
x2cf
Koala
\ No newline at end of file
!
setname
0
x1cc
Teleporte
!
setname
0
x1cd
Artmage
!
setname
0
x1ce
Divindade
Aprisionada
\ No newline at end of file
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