diff options
author | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-23 13:08:54 +0000 |
---|---|---|
committer | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-23 13:08:54 +0000 |
commit | 593b12ed67cf27b69563afd2d12752c7ebfee683 (patch) | |
tree | 5c7c850f6950104e7e5aafa300035744fded470c /src/map/intif.c | |
parent | 1b008a629ddb633d91a70e2c037924fab10e2d6c (diff) | |
download | hercules-593b12ed67cf27b69563afd2d12752c7ebfee683.tar.gz hercules-593b12ed67cf27b69563afd2d12752c7ebfee683.tar.bz2 hercules-593b12ed67cf27b69563afd2d12752c7ebfee683.tar.xz hercules-593b12ed67cf27b69563afd2d12752c7ebfee683.zip |
* Added some of Shinomori's fixes
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@751 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/intif.c')
-rw-r--r-- | src/map/intif.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/map/intif.c b/src/map/intif.c index fd79acc0c..28f1b65a2 100644 --- a/src/map/intif.c +++ b/src/map/intif.c @@ -627,6 +627,7 @@ int intif_guild_castle_datasave(int castle_id,int index, int value) // Wisp/Page reception int intif_parse_WisMessage(int fd) { // rewritten by [Yor] struct map_session_data* sd; + char *wisp_source; int id=RFIFOL(fd,4); int i=0; //,j=0; @@ -651,9 +652,20 @@ int intif_parse_WisMessage(int fd) { // rewritten by [Yor] else{ */ - if(i == MAX_IGNORE_LIST) { - clif_wis_message(sd->fd,RFIFOP(fd,8),RFIFOP(fd,56),RFIFOW(fd,2)-56); - intif_wis_replay(RFIFOL(fd,4),0); // 送信成功 + else { + wisp_source = RFIFOP(fd,8); // speed up [Yor] + for(i=0;i<MAX_IGNORE_LIST;i++){ //拒否リストに名前があるかどうか判定してあれば拒否 + if(strcmp(sd->ignore[i].name, wisp_source)==0){ + break; + } + } + if(i==MAX_IGNORE_LIST) // run out of list, so we are not ignored + { + clif_wis_message(sd->fd, wisp_source, (char*)RFIFOP(fd,56),RFIFOW(fd,2)-56); + intif_wis_replay(id,0); // 送信成功 + } + else + intif_wis_replay(id, 2); // 受信拒否 } }else intif_wis_replay(id,1); // そんな人いません |