* Should fix a bug in GM stealth mode (@hide).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5823 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
5f47b44b04
commit
140e77689e
@ -3,6 +3,9 @@ Date Added
|
||||
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
|
||||
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||
|
||||
2006/03/31
|
||||
* Should fix a bug in GM stealth mode (@hide). [Lance]
|
||||
|
||||
2006/03/30
|
||||
* Updated char name option. [Vicious]
|
||||
* Added a missing return that fixes crashes on status_change_timer when
|
||||
|
@ -1,10 +1,8 @@
|
||||
//Notice\\
|
||||
|
||||
This branch, "Stable", might not be stable due to bugs and whatsoever.
|
||||
This branch, "Trunk", might not be stable due to bugs and whatsoever.
|
||||
It is highly recommended, if you have any dobts on using this svn version,
|
||||
it is best if you use an eAthena Official Version or use RC5. calling the
|
||||
stable branch stable is an understatement. you have choosen to use it,
|
||||
bear with it.
|
||||
it is best if you use an eAthena Official Version or use RC5.
|
||||
|
||||
on another note, if you found a bug, it is best if you report it on the eAthena
|
||||
forums as http://eathena.ws/ . If you have made yourself a fix for
|
||||
|
@ -1821,31 +1821,34 @@ int clif_spawnpc(struct map_session_data *sd) {
|
||||
|
||||
nullpo_retr(0, sd);
|
||||
|
||||
clif_set0078(sd, buf);
|
||||
// Avoid bots/modified clients to view hidden GMs. [Lance]
|
||||
if(!pc_isGM(sd) || !sd->status.option&OPTION_INVISIBLE){
|
||||
clif_set0078(sd, buf);
|
||||
|
||||
#if PACKETVER < 4
|
||||
WBUFW(buf, 0) = 0x79;
|
||||
WBUFW(buf,51) = clif_setlevel(sd->status.base_level);
|
||||
clif_send(buf, packet_len_table[0x79], &sd->bl, AREA_WOS);
|
||||
WBUFW(buf, 0) = 0x79;
|
||||
WBUFW(buf,51) = clif_setlevel(sd->status.base_level);
|
||||
clif_send(buf, packet_len_table[0x79], &sd->bl, AREA_WOS);
|
||||
#else
|
||||
WBUFW(buf, 0) = 0x1d9;
|
||||
WBUFW(buf,51) = clif_setlevel(sd->status.base_level);
|
||||
clif_send(buf, packet_len_table[0x1d9], &sd->bl, AREA_WOS);
|
||||
WBUFW(buf, 0) = 0x1d9;
|
||||
WBUFW(buf,51) = clif_setlevel(sd->status.base_level);
|
||||
clif_send(buf, packet_len_table[0x1d9], &sd->bl, AREA_WOS);
|
||||
#endif
|
||||
|
||||
if(sd->disguise > 0) {
|
||||
int len;
|
||||
memset(buf,0,packet_len_table[0x7c]);
|
||||
WBUFW(buf,0)=0x7c;
|
||||
WBUFL(buf,2)=-sd->bl.id;
|
||||
WBUFW(buf,6)=sd->speed;
|
||||
WBUFW(buf,12)=sd->sc.option;
|
||||
WBUFW(buf,20)=sd->disguise;
|
||||
WBUFPOS(buf,36,sd->bl.x,sd->bl.y);
|
||||
clif_send(buf,packet_len_table[0x7c],&sd->bl,AREA);
|
||||
if(sd->disguise > 0) {
|
||||
int len;
|
||||
memset(buf,0,packet_len_table[0x7c]);
|
||||
WBUFW(buf,0)=0x7c;
|
||||
WBUFL(buf,2)=-sd->bl.id;
|
||||
WBUFW(buf,6)=sd->speed;
|
||||
WBUFW(buf,12)=sd->sc.option;
|
||||
WBUFW(buf,20)=sd->disguise;
|
||||
WBUFPOS(buf,36,sd->bl.x,sd->bl.y);
|
||||
clif_send(buf,packet_len_table[0x7c],&sd->bl,AREA);
|
||||
|
||||
len = clif_dis0078(sd,buf);
|
||||
clif_send(buf,len,&sd->bl,AREA);
|
||||
len = clif_dis0078(sd,buf);
|
||||
clif_send(buf,len,&sd->bl,AREA);
|
||||
}
|
||||
}
|
||||
|
||||
if (sd->spiritball > 0)
|
||||
@ -4189,7 +4192,7 @@ void clif_getareachar_pc(struct map_session_data* sd,struct map_session_data* ds
|
||||
nullpo_retv(dstsd);
|
||||
|
||||
// Hidden GMs will not be revealed by bots :) [Lance]
|
||||
if((!dstsd->status.option&OPTION_INVISIBLE || !pc_isGM(dstsd)) || pc_isGM(sd)){
|
||||
if(!pc_isGM(dstsd) || !dstsd->status.option&OPTION_INVISIBLE){
|
||||
if(dstsd->ud.walktimer != -1){
|
||||
#if PACKETVER < 4
|
||||
WFIFOHEAD(sd->fd, packet_len_table[0x7b]);
|
||||
@ -4199,7 +4202,7 @@ void clif_getareachar_pc(struct map_session_data* sd,struct map_session_data* ds
|
||||
len = clif_set007b(dstsd,WFIFOP(sd->fd,0));
|
||||
WFIFOSET(sd->fd,len);
|
||||
if(dstsd->disguise) {
|
||||
WFIFOHEAD(sd->fd,packet_len_table[0x7b]);
|
||||
WFIFOHEAD(sd->fd,packet_len_table[0x7b]);
|
||||
len = clif_dis007b(dstsd,WFIFOP(sd->fd,0));
|
||||
WFIFOSET(sd->fd,len);
|
||||
}
|
||||
@ -4212,7 +4215,7 @@ void clif_getareachar_pc(struct map_session_data* sd,struct map_session_data* ds
|
||||
len = clif_set0078(dstsd,WFIFOP(sd->fd,0));
|
||||
WFIFOSET(sd->fd,len);
|
||||
if(dstsd->disguise) {
|
||||
WFIFOHEAD(sd->fd,packet_len_table[0x7b]);
|
||||
WFIFOHEAD(sd->fd,packet_len_table[0x7b]);
|
||||
len = clif_dis0078(dstsd,WFIFOP(sd->fd,0));
|
||||
WFIFOSET(sd->fd,len);
|
||||
}
|
||||
@ -4348,10 +4351,15 @@ int clif_fixpcpos(struct map_session_data *sd)
|
||||
|
||||
if(sd->ud.walktimer != -1){
|
||||
len = clif_set007b(sd,buf);
|
||||
clif_send(buf,len,&sd->bl,AREA);
|
||||
} else {
|
||||
len = clif_set0078(sd,buf);
|
||||
}
|
||||
|
||||
// Prevent bots/modified clients to view hidden GMs [Lance]
|
||||
if(!pc_isGM(sd) || !sd->status.option&OPTION_INVISIBLE){
|
||||
clif_send(buf,len,&sd->bl,AREA);
|
||||
} else {
|
||||
clif_send(buf,len,&sd->bl,SELF);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user