瀏覽代碼

* Added and testing support for 2004-12-06Sakexe
* Removed emblem changing requiring Glory of Guild limited to TXT only

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@967 54d463be-8e91-2dee-dedb-b68131a5f0ec

celest 20 年之前
父節點
當前提交
cad19badc2
共有 3 個文件被更改,包括 25 次插入16 次删除
  1. 2 0
      Changelog.txt
  2. 19 6
      src/map/clif.c
  3. 4 10
      src/map/guild.c

+ 2 - 0
Changelog.txt

@@ -1,5 +1,7 @@
 Date	Added
 01/13
+        * Added and testing support for 2004-12-06Sakexe [celest]
+        * Removed emblem changing requiring Glory of Guild limited to TXT only [celest]
         * Corrected a typo preventing Plagiarism to work, thanks to orn [celest]
         * Fixed Berzebub card and other 'reduce cast delays' equipment not working
           [celest]

+ 19 - 6
src/map/clif.c

@@ -7318,8 +7318,12 @@ void clif_parse_WantToConnection(int fd, struct map_session_data *sd)
 			account_id = RFIFOL(fd,12);
 		else if (RFIFOREST(fd) >= 32 && (RFIFOB(fd,31) == 0 || RFIFOB(fd,31) == 1)) // 00 = Female, 01 = Male
 			account_id = RFIFOL(fd,10);
-		else // 29 28 28
-			account_id = RFIFOL(fd,5);
+		else {	// 29 28 28
+			if (RFIFOW(fd,1) == 0)	// testing ^^;
+				account_id = RFIFOL(fd,3);
+			else
+				account_id = RFIFOL(fd,5);
+		}
 	// 0x9B
 	} else {
 		account_id = RFIFOL(fd,3);
@@ -7374,8 +7378,13 @@ void clif_parse_WantToConnection(int fd, struct map_session_data *sd)
 				sd->packet_ver = 11; // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 9aug04/16aug04/17aug04, 10: 6sept04, 11: 21sept04, 12: 18oct04, 13: 25oct04 (by [Yor])
 				pc_setnewpc(sd, account_id, RFIFOL(fd,17), RFIFOL(fd,23), RFIFOL(fd,27), RFIFOB(fd,31), fd);
 			} else { // 29
-				sd->packet_ver = 13; // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 9aug04/16aug04/17aug04, 10: 6sept04, 11: 21sept04, 12: 18oct04, 13: 25oct04 (by [Yor])
-				pc_setnewpc(sd, account_id, RFIFOL(fd,14), RFIFOL(fd,20), RFIFOL(fd,24), RFIFOB(fd,28), fd);
+				if (RFIFOW(fd,1) == 0) {
+					sd->packet_ver = 15; // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 9aug04/16aug04/17aug04, 10: 6sept04, 11: 21sept04, 12: 18oct04, 13: 25oct04 (by [Yor])
+					pc_setnewpc(sd, account_id, RFIFOL(fd,10), RFIFOL(fd,20), RFIFOL(fd,24), RFIFOB(fd,28), fd);
+				} else {
+					sd->packet_ver = 13; // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 9aug04/16aug04/17aug04, 10: 6sept04, 11: 21sept04, 12: 18oct04, 13: 25oct04 (by [Yor])
+					pc_setnewpc(sd, account_id, RFIFOL(fd,14), RFIFOL(fd,20), RFIFOL(fd,24), RFIFOB(fd,28), fd);
+				}
 			}
 		// 0x9B
 		} else {
@@ -10587,8 +10596,12 @@ static int clif_parse(int fd) {
 				packet_ver = 12; // 12: 18oct04
 			else if (RFIFOREST(fd) >= 32 && (RFIFOB(fd,31) == 0 || RFIFOB(fd,31) == 1)) // 00 = Female, 01 = Male
 				packet_ver = 11; // 11: 21sept04
-			else if (RFIFOREST(fd) >= 29 && (RFIFOB(fd,28) == 0 || RFIFOB(fd,28) == 1)) // 00 = Female, 01 = Male
-				packet_ver = 13; // 13: 25oct04 (by [Yor])
+			else if (RFIFOREST(fd) >= 29 && (RFIFOB(fd,28) == 0 || RFIFOB(fd,28) == 1)) {	// 00 = Female, 01 = Male
+				if (RFIFOW(fd,1) == 0)	// testing ^^;
+					packet_ver = 15;
+				else
+					packet_ver = 13; // 13: 25oct04 (by [Yor])
+			}
 			// -- some way to identify version 14 and 15? --
 			// else probably incomplete packet
 			else if (RFIFOREST(fd) < 29)

+ 4 - 10
src/map/guild.c

@@ -890,16 +890,10 @@ int guild_change_emblem(struct map_session_data *sd,int len,const char *data)
 
 	nullpo_retr(0, sd);
 
-	/* Temporarily only for TXT until there's proper char server support [Celest] */
-	#ifdef TXT_ONLY
-		if ((g = guild_search(sd->status.guild_id)) && guild_checkskill(g, GD_GLORYGUILD)>0)
-			return intif_guild_emblem(sd->status.guild_id,len,data);
-
-		clif_skill_fail(sd,GD_GLORYGUILD,0,0);
-	#else
-		if ((g = guild_search(sd->status.guild_id)))
-			return intif_guild_emblem(sd->status.guild_id,len,data);
-	#endif		
+	if ((g = guild_search(sd->status.guild_id)) && guild_checkskill(g, GD_GLORYGUILD)>0)
+		return intif_guild_emblem(sd->status.guild_id,len,data);
+
+	clif_skill_fail(sd,GD_GLORYGUILD,0,0);
 	return 0;
 }
 // ギルドエンブレム変更通知