Sfoglia il codice sorgente

* Fixed disguising as player clone causing the client to crash while looking for non-existing NPC sprites (bugreport:4428, since r14387, related r14383).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/renewal@14488 54d463be-8e91-2dee-dedb-b68131a5f0ec
ai4rei 14 anni fa
parent
commit
8136997bd0
2 ha cambiato i file con 3 aggiunte e 2 eliminazioni
  1. 1 0
      Changelog-Renewal.txt
  2. 2 2
      src/map/clif.c

+ 1 - 0
Changelog-Renewal.txt

@@ -9,6 +9,7 @@ Date	Added
 	- This also fixes guild leader name being displayed and saved as "(null)" in the guild member list.
 	* Fixed guild and guild member exp truncation issue (bugreport:4130, since r14242). [Ai4rei]
 	- Fixed guild member position, hair, hair color, gender, class and level could potentially become corrupted due to shorts being read as ints (partially since r2986).
+	* Fixed disguising as player clone causing the client to crash while looking for non-existing NPC sprites (bugreport:4428, since r14387, related r14383). [Ai4rei]
 2010/11/21
 	* Added msinttypes (rev. 26, http://msinttypes.googlecode.com/svn/trunk/) portability framework for Visual C++ compilers (related bugreport:4059). [Ai4rei]
 	* Added 64-bit variants of the socket and buffer I/O macros. [Ai4rei]

+ 2 - 2
src/map/clif.c

@@ -1017,10 +1017,10 @@ static int clif_set_unit_walking(struct block_list* bl, struct unit_data* ud, un
 static void clif_setdisguise(struct block_list *bl, unsigned char *buf,int len)
 {
 #if PACKETVER >= 20091103
-	WBUFB(buf,4)= 0x5; //NPC_MOB_TYPE
+	WBUFB(buf,4)= pcdb_checkid(status_get_viewdata(bl)->class_) ? 0x0 : 0x5; //PC_TYPE : NPC_MOB_TYPE
 	WBUFL(buf,5)=-bl->id;
 #elif PACKETVER >= 20071106
-	WBUFB(buf,2)= 0x5; //NPC_MOB_TYPE
+	WBUFB(buf,2)= pcdb_checkid(status_get_viewdata(bl)->class_) ? 0x0 : 0x5; //PC_TYPE : NPC_MOB_TYPE
 	WBUFL(buf,3)=-bl->id;
 #else
 	WBUFL(buf,2)=-bl->id;