Removed use of emote packet to send red mute icon.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/athena@270 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
valaris 2004-11-20 14:38:18 +00:00
parent e868e90267
commit a7617f739b
3 changed files with 22 additions and 8 deletions

View File

@ -1,9 +1,10 @@
Date Added
11/20
* Prevent use of emotion packet to display red mute emote. [Valaris]
* Initialized "day" variable in npc.c. [Valaris]
* Added @whozeny. Shows list of top 50 online players and their zeny sorted from highest to lowest. [Valaris]
* Added @happyhappyjoyjoy. Makes all players on server do a random emote. [Valaris]
* Removed -funroll-loops from compile. (Do not re-add!) [Valaris]
* Removed -funroll-loops from compile, thanks to kashy for pointing out the problems caused by this. (Do not re-add!) [Valaris]
* Skill updates [celest]
* Added check for max vending_max_value when reading config [kobra_k88]
* Skill updates [celest]

View File

@ -565,6 +565,18 @@ char * job_name(int class) {
return "Unknown Job";
}
// compare function for sorting high to lowest
int hightolow_compare (const void * a, const void * b)
{
return ( *(int*)b - *(int*)a );
}
// compare function for sorting lowest to highest
int lowtohigh_compare (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
//-----------------------------------------------------------
// Return the message string of the specified number by [Yor]
//-----------------------------------------------------------
@ -1600,11 +1612,6 @@ int atcommand_whogm(
return 0;
}
int compare (const void * a, const void * b)
{
return ( *(int*)b - *(int*)a );
}
int atcommand_whozeny(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
@ -1639,7 +1646,7 @@ int atcommand_whozeny(
}
}
qsort(zeny, count, sizeof(int), compare);
qsort(zeny, count, sizeof(int), hightolow_compare);
for (c = 0; c < count && c < 50; c++) {
if(!zeny[c])
continue;
@ -1667,6 +1674,8 @@ int atcommand_whozeny(
return 0;
}
// cause random emote on all online players [Valaris]
int atcommand_happyhappyjoyjoy(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
@ -1677,7 +1686,9 @@ int atcommand_happyhappyjoyjoy(
for (i = 0; i < fd_max; i++) {
if (session[i] && (pl_sd = session[i]->session_data) && pl_sd->state.auth) {
e=rand()%40;
e=rand()%40;
if(e==34)
e = 0;
clif_emotion(&pl_sd->bl,e);
}
}

View File

@ -7774,6 +7774,8 @@ void clif_parse_Emotion(int fd, struct map_session_data *sd) {
if (battle_config.basic_skill_check == 0 || pc_checkskill(sd, NV_BASIC) >= 2) {
WBUFW(buf,0) = 0xc0;
WBUFL(buf,2) = sd->bl.id;
if(RFIFOB(fd,2)==34) // prevent use of the mute emote [Valaris]
return;
WBUFB(buf,6) = RFIFOB(fd,2);
clif_send(buf, packet_len_table[0xc0], &sd->bl, AREA);
} else