summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--src/map/clif.c43
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);
+ }
}
}