diff options
-rw-r--r-- | Changelog.txt | 2 | ||||
-rw-r--r-- | src/map/clif.c | 25 | ||||
-rw-r--r-- | src/map/guild.c | 14 |
3 files changed, 25 insertions, 16 deletions
diff --git a/Changelog.txt b/Changelog.txt index 42438081a..6c019b932 100644 --- a/Changelog.txt +++ b/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] diff --git a/src/map/clif.c b/src/map/clif.c index 3bd0ceab5..b72192690 100644 --- a/src/map/clif.c +++ b/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) diff --git a/src/map/guild.c b/src/map/guild.c index ddaa05999..5f9e31794 100644 --- a/src/map/guild.c +++ b/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; } // ギルドエンブレム変更通知 |