Bläddra i källkod

Use packet 0xe7 instead of 0x1f5 within clif_tradestart() when there is no trade_partner (or an invalid one) specified even for PACKETVER >= 6. (bugreport:4544)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14454 54d463be-8e91-2dee-dedb-b68131a5f0ec
Paradox924X 14 år sedan
förälder
incheckning
9c672be638
2 ändrade filer med 14 tillägg och 16 borttagningar
  1. 1 0
      Changelog-Trunk.txt
  2. 13 16
      src/map/clif.c

+ 1 - 0
Changelog-Trunk.txt

@@ -1,6 +1,7 @@
 Date	Added
 
 2010/11/09
+	* Use packet 0xe7 instead of 0x1f5 within clif_tradestart() when there is no trade_partner (or an invalid one) specified even for PACKETVER >= 6. (bugreport:4544) [Paradox924X]
 	* Follow-up to r14368. Load last_map from SQL on char load so the information is available during char select for PACKETVER > 20100721. Patch based on Ai4rei's. (bugreport:4429) [Paradox924X]
 2010/11/08
 	* Notify players involved in a trade that it has been canceled when one player changes maps/logs out or otherwise becomes unable to participate in the trade. [Paradox924X]

+ 13 - 16
src/map/clif.c

@@ -3477,23 +3477,20 @@ void clif_traderequest(struct map_session_data* sd, const char* name)
 void clif_tradestart(struct map_session_data* sd, uint8 type)
 {
 	int fd = sd->fd;
-	
-#if PACKETVER < 6
-	WFIFOHEAD(fd,packet_len(0xe7));
-	WFIFOW(fd,0) = 0xe7;
-	WFIFOB(fd,2) = type;
-	WFIFOSET(fd,packet_len(0xe7));
-#else
 	struct map_session_data* tsd = map_id2sd(sd->trade_partner);
-	if( !tsd ) return;
-
-	WFIFOHEAD(fd,packet_len(0x1f5));
-	WFIFOW(fd,0) = 0x1f5;
-	WFIFOB(fd,2) = type;
-	WFIFOL(fd,3) = tsd->status.char_id;
-	WFIFOW(fd,7) = tsd->status.base_level;
-	WFIFOSET(fd,packet_len(0x1f5));
-#endif
+	if( PACKETVER < 6 || !tsd ) {
+		WFIFOHEAD(fd,packet_len(0xe7));
+		WFIFOW(fd,0) = 0xe7;
+		WFIFOB(fd,2) = type;
+		WFIFOSET(fd,packet_len(0xe7));
+	} else {
+		WFIFOHEAD(fd,packet_len(0x1f5));
+		WFIFOW(fd,0) = 0x1f5;
+		WFIFOB(fd,2) = type;
+		WFIFOL(fd,3) = tsd->status.char_id;
+		WFIFOW(fd,7) = tsd->status.base_level;
+		WFIFOSET(fd,packet_len(0x1f5));
+	}
 }
 
 /*==========================================