summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--src/char/char.c1
-rw-r--r--src/char_sql/char.c1
-rw-r--r--src/login_sql/login.c6
4 files changed, 8 insertions, 3 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 65bba6939..b09fa7f83 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/08/07
+ * Fixed the login-sql server replying to the change-sex packet with the
+ wrong gender, causing the char-server to screw-up job-change updates.
+ [Skotlex]
* Cleaned up the apparent mess that is pc_skill. Hopefully it SHOULD work as
described on the docs now, this should also fix adopting not correctly
giving the family-related skills. The flag value of skill should be: 0 to
diff --git a/src/char/char.c b/src/char/char.c
index 7f7421d42..cac227cfa 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -2735,6 +2735,7 @@ int parse_frommap(int fd) {
case 0x2aff:
if (RFIFOREST(fd) < 6 || RFIFOREST(fd) < RFIFOW(fd,2))
return 0;
+ //TODO: When data mismatches memory, update guild/party online/offline states.
server[id].users = RFIFOW(fd,4);
// add online players in the list by [Yor], adapted to use dbs by [Skotlex]
j = 0;
diff --git a/src/char_sql/char.c b/src/char_sql/char.c
index 4ab63f14c..3a42f7556 100644
--- a/src/char_sql/char.c
+++ b/src/char_sql/char.c
@@ -2582,6 +2582,7 @@ int parse_frommap(int fd) {
if (RFIFOREST(fd) < 6 || RFIFOREST(fd) < RFIFOW(fd,2))
return 0;
{
+ //TODO: When data mismatches memory, update guild/party online/offline states.
int i, aid, cid;
struct online_char_data* character;
diff --git a/src/login_sql/login.c b/src/login_sql/login.c
index 78f7da3ca..4c9393bc8 100644
--- a/src/login_sql/login.c
+++ b/src/login_sql/login.c
@@ -1242,10 +1242,10 @@ int parse_fromchar(int fd){
}
if (strcmpi(sql_row[0], "M") == 0)
- sex = 1;
+ sex = 0; //Change to female
else
- sex = 0;
- sprintf(tmpsql,"UPDATE `%s` SET `sex` = '%c' WHERE `%s` = '%d'", login_db, (sex==0?'M':'F'), login_db_account_id, acc);
+ sex = 1; //Change to make
+ sprintf(tmpsql,"UPDATE `%s` SET `sex` = '%c' WHERE `%s` = '%d'", login_db, (sex?'M':'F'), login_db_account_id, acc);
//query
if(mysql_query(&mysql_handle, tmpsql)) {
ShowSQL("DB error - %s\n",mysql_error(&mysql_handle));