diff options
author | Jared Adams <jaxad0127@gmail.com> | 2008-11-02 00:19:12 +0000 |
---|---|---|
committer | Jared Adams <jaxad0127@gmail.com> | 2008-11-02 00:19:12 +0000 |
commit | 8d356dbe3f056474700fcbdd563d8ea437b1464e (patch) | |
tree | 682694884b5cae5a9f6ec9136619ac2a90c8f73e /src/login | |
parent | ff4ed0b105b016aa3a7dad07db5fb00456bbe822 (diff) | |
download | tmwa-8d356dbe3f056474700fcbdd563d8ea437b1464e.tar.gz tmwa-8d356dbe3f056474700fcbdd563d8ea437b1464e.tar.bz2 tmwa-8d356dbe3f056474700fcbdd563d8ea437b1464e.tar.xz tmwa-8d356dbe3f056474700fcbdd563d8ea437b1464e.zip |
* Minor cleanup in login server
* Char server now records client version and reports it to map server
* Map server will now report all skills (even ones with dangerous indices) for client version 1 and above
* Use status change val1 (instead of val2) index for speed potions, so that they can be triggered more easily from within scripts
* Item database now also keeps track of the effect that items have on the spower stat
* spower is now based on level + int*2 + modifier (see last point)
* Minor bugfixes in support functionality for the SLang interpreter
- Do not restart the map server without also restarting the char server, as the interserver protocol has changed slightly!
(patch by fate)
Diffstat (limited to 'src/login')
-rw-r--r-- | src/login/login.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/login/login.c b/src/login/login.c index 30c6152..a9bfec6 100644 --- a/src/login/login.c +++ b/src/login/login.c @@ -130,6 +130,7 @@ int level_new_gm = 60; static struct dbt *gm_account_db; +#define VERSION_2_UPDATEHOST 0x01 // client supports updatehost //------------------------------ // Writing function of logs file //------------------------------ @@ -2786,6 +2787,8 @@ int parse_login(int fd) { WFIFOL(fd,2) = 1; // 01 = Server closed WFIFOSET(fd,3); } else { + int version_2 = RFIFOB(fd, 54); // version 2 + if (gm_level) printf("Connection of the GM (level:%d) account '%s' accepted.\n", gm_level, account.userid); else @@ -2800,7 +2803,8 @@ int parse_login(int fd) { * then the client can safely accept the 0x63 packet. The "version 2" value is not * otherwise used by eAthena. */ - if ((RFIFOW(fd, 0) == 0x64) && (RFIFOB(fd, 54) & 0x01)) + if ((RFIFOW(fd, 0) == 0x64) + && (version_2 & VERSION_2_UPDATEHOST)) { host_len = (int)strlen(update_host); if (host_len > 0) |