diff options
-rw-r--r-- | Changelog-Trunk.txt | 3 | ||||
-rw-r--r-- | src/map/clif.c | 43 |
2 files changed, 26 insertions, 20 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 5e3a2cb52..c443de08d 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EVERYTHING ELSE
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
+2006/03/28
+ * Modified clif_getareachar_pc to hide hidden GMs from normal players (players with GM
+ level > 0 still able to view) by NOT sending the coordinates. [Lance]
2006/03/27
* Removed the limits.h file which just breaks compilation on *nix systems
diff --git a/src/map/clif.c b/src/map/clif.c index 47640aa18..7722c70ca 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -4188,31 +4188,34 @@ void clif_getareachar_pc(struct map_session_data* sd,struct map_session_data* ds nullpo_retv(sd);
nullpo_retv(dstsd);
- if(dstsd->ud.walktimer != -1){
-#if PACKETVER < 4
- WFIFOHEAD(sd->fd, packet_len_table[0x7b]);
-#else
- WFIFOHEAD(sd->fd, packet_len_table[0x1da]);
-#endif
- len = clif_set007b(dstsd,WFIFOP(sd->fd,0));
- WFIFOSET(sd->fd,len);
- if(dstsd->disguise) {
- WFIFOHEAD(sd->fd,packet_len_table[0x7b]);
- len = clif_dis007b(dstsd,WFIFOP(sd->fd,0));
+ // Hidden GMs will not be revealed by bots :) [Lance]
+ if((!dstsd->status.option&OPTION_INVISIBLE || !pc_isGM(dstsd)) || pc_isGM(sd)){
+ if(dstsd->ud.walktimer != -1){
+ #if PACKETVER < 4
+ WFIFOHEAD(sd->fd, packet_len_table[0x7b]);
+ #else
+ WFIFOHEAD(sd->fd, packet_len_table[0x1da]);
+ #endif
+ len = clif_set007b(dstsd,WFIFOP(sd->fd,0));
WFIFOSET(sd->fd,len);
- }
- } else {
+ if(dstsd->disguise) {
+ WFIFOHEAD(sd->fd,packet_len_table[0x7b]);
+ len = clif_dis007b(dstsd,WFIFOP(sd->fd,0));
+ WFIFOSET(sd->fd,len);
+ }
+ } else {
#if PACKETVER < 4
- WFIFOHEAD(sd->fd,packet_len_table[0x78]);
+ WFIFOHEAD(sd->fd,packet_len_table[0x78]);
#else
- WFIFOHEAD(sd->fd,packet_len_table[0x1d8]);
+ WFIFOHEAD(sd->fd,packet_len_table[0x1d8]);
#endif
- len = clif_set0078(dstsd,WFIFOP(sd->fd,0));
- WFIFOSET(sd->fd,len);
- if(dstsd->disguise) {
- WFIFOHEAD(sd->fd,packet_len_table[0x7b]);
- len = clif_dis0078(dstsd,WFIFOP(sd->fd,0));
+ len = clif_set0078(dstsd,WFIFOP(sd->fd,0));
WFIFOSET(sd->fd,len);
+ if(dstsd->disguise) {
+ WFIFOHEAD(sd->fd,packet_len_table[0x7b]);
+ len = clif_dis0078(dstsd,WFIFOP(sd->fd,0));
+ WFIFOSET(sd->fd,len);
+ }
}
}
|