summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgumi <git@gumi.ca>2018-04-03 14:04:45 -0400
committergumi <git@gumi.ca>2018-04-03 14:04:45 -0400
commit66d23cea5f932471fa7a6d28764d41054dfbaafa (patch)
treebeb9a1720b33df4f395d20eb1a39a9d967685d14
parentc0ef729e6ec74d6a601ca3aeca6da6b2b9703e68 (diff)
downloadtmwa-66d23cea5f932471fa7a6d28764d41054dfbaafa.tar.gz
tmwa-66d23cea5f932471fa7a6d28764d41054dfbaafa.tar.bz2
tmwa-66d23cea5f932471fa7a6d28764d41054dfbaafa.tar.xz
tmwa-66d23cea5f932471fa7a6d28764d41054dfbaafa.zip
relay the actual char login error instead of a hardcoded 0x42
-rw-r--r--src/char/char.cpp2
-rw-r--r--src/login/login.cpp4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/char/char.cpp b/src/char/char.cpp
index 18fda91..8e687d6 100644
--- a/src/char/char.cpp
+++ b/src/char/char.cpp
@@ -1211,7 +1211,7 @@ void parse_tologin(Session *ls)
if (fixed.invalid != 0)
{
Packet_Fixed<0x006c> fixed_6c;
- fixed_6c.code = 0x42;
+ fixed_6c.code = fixed.invalid;
send_fpacket<0x006c, 3>(s2, fixed_6c);
}
else if (char_conf.max_connect_user == 0
diff --git a/src/login/login.cpp b/src/login/login.cpp
index 971516e..7d3e741 100644
--- a/src/login/login.cpp
+++ b/src/login/login.cpp
@@ -874,6 +874,7 @@ void parse_fromchar(Session *s)
break;
{
+ uint8_t invalid_code = 0x42; // 0x42 as default, for backward-compatibility with old clients
AccountId acc = fixed.account_id;
int i;
for (i = 0; i < AUTH_FIFO_SIZE; i++)
@@ -916,6 +917,7 @@ void parse_fromchar(Session *s)
goto x2712_out;
}
}
+ invalid_code = 2; // login auth data not found
break;
}
}
@@ -926,7 +928,7 @@ void parse_fromchar(Session *s)
Packet_Fixed<0x2713> fixed_13;
fixed_13.account_id = acc;
- fixed_13.invalid = 1;
+ fixed_13.invalid = invalid_code; // 0x42: login session not found
// fixed_13.email
// fixed_13.connect_until