Przeglądaj źródła

Fixed client errors when pecopeco Lord Knights/Paladins log in with a weapon equipped

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@1132 54d463be-8e91-2dee-dedb-b68131a5f0ec
celest 20 lat temu
rodzic
commit
fdbe7b1fb2
3 zmienionych plików z 16 dodań i 2 usunięć
  1. 2 0
      Changelog-SVN.txt
  2. 7 1
      src/char/char.c
  3. 7 1
      src/char_sql/char.c

+ 2 - 0
Changelog-SVN.txt

@@ -1,6 +1,8 @@
 Date	Added
 
 02/18
+        * Fixed client errors when pecopeco Lord Knights/Paladins log in with a weapon
+          equipped [celest]
         * Added bAddRace2 -- check item_bonus.txt [celest]
         * Added mob_race2_db.txt -- contains 'main races' of certain monsters [celest]
         * Updated description for backup_txt in char_athena.conf a bit [celest]

+ 7 - 1
src/char/char.c

@@ -1432,7 +1432,13 @@ int mmo_char_send006b(int fd, struct char_session_data *sd) {
 		WFIFOW(fd,j+50) = DEFAULT_WALK_SPEED; // p->speed;
 		WFIFOW(fd,j+52) = p->class_;
 		WFIFOW(fd,j+54) = p->hair;
-		WFIFOW(fd,j+56) = p->weapon;
+
+		// pecopeco knights/crusaders crash fix
+		if (p->class_ == 13 || p->class_ == 21 ||
+			p->class_ == 4014 || p->class_ == 4022)
+			WFIFOW(fd,j+56) = 0;
+		else WFIFOW(fd,j+56) = p->weapon;
+
 		WFIFOW(fd,j+58) = p->base_level;
 		WFIFOW(fd,j+60) = p->skill_point;
 		WFIFOW(fd,j+62) = p->head_bottom;

+ 7 - 1
src/char_sql/char.c

@@ -1568,7 +1568,13 @@ int mmo_char_send006b(int fd, struct char_session_data *sd) {
 		WFIFOW(fd,j+50) = DEFAULT_WALK_SPEED; // p->speed;
 		WFIFOW(fd,j+52) = p->class_;
 		WFIFOW(fd,j+54) = p->hair;
-		WFIFOW(fd,j+56) = p->weapon;
+
+		// pecopeco knights/crusaders crash fix
+		if (p->class_ == 13 || p->class_ == 21 ||
+			p->class_ == 4014 || p->class_ == 4022)
+			WFIFOW(fd,j+56) = 0;
+		else WFIFOW(fd,j+56) = p->weapon;
+
 		WFIFOW(fd,j+58) = p->base_level;
 		WFIFOW(fd,j+60) = p->skill_point;
 		WFIFOW(fd,j+62) = p->head_bottom;