Fixed Attacking Mobs by using a file from FREYA (thanks MagicalTux and Yor)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/athena@141 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
codemaster 2004-11-13 02:16:51 +00:00
parent 27db844217
commit 39fd1c7e8b
4 changed files with 2421 additions and 1905 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,11 @@
// $Id: clif.h,v 1.4 2004/09/25 05:32:18 MouseJstr Exp $
// $Id: clif.h 1952 2004-10-23 14:05:01Z Yor $
#ifndef _CLIF_H_
#define _CLIF_H_
#include <sys/types.h>
#ifdef _WIN32
#include <winsock.h>
#ifdef __WIN32
typedef unsigned int in_addr_t;
#else
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
@ -15,14 +13,6 @@ typedef unsigned int in_addr_t;
#include "map.h"
#define MAX_PACKET_DB 0x220
struct packet_db {
short len;
void (*func)();
short pos[20];
};
void clif_setip(char*);
void clif_setport(int);
@ -98,9 +88,9 @@ int clif_changechatstatus(struct chat_data*); // chat
void clif_emotion(struct block_list *bl,int type);
void clif_talkiebox(struct block_list *bl,char* talkie);
void clif_wedding_effect(struct block_list *bl);
void clif_sitting(struct map_session_data *sd);
//void clif_sitting(int fd, struct map_session_data *sd);
//void clif_callpartner(struct map_session_data *sd);
//void clif_sitting(struct map_session_data *sd);
void clif_sitting(struct map_session_data *sd);
void clif_soundeffect(struct map_session_data *sd,struct block_list *bl,char *name,int type);
// trade

View File

@ -623,20 +623,26 @@ int intif_parse_WisMessage(int fd) { // rewritten by [Yor]
// printf("intif_parse_wismessage: %d %s %s %s\n",id,RFIFOP(fd,6),RFIFOP(fd,30),RFIFOP(fd,54) );
sd=map_nick2sd(RFIFOP(fd,32)); // 送信先を探す
if(sd!=NULL){
if(sd!=NULL && strcmp(sd->status.name, RFIFOP(fd,32)) == 0){
/*
for(i=0;i<MAX_WIS_REFUSAL;i++){ //拒否リストに名前があるかどうか判定してあれば拒否
if(strcmp(sd->wis_refusal[i],RFIFOP(fd,8))==0){
j++;
break;
}
}
if(sd->wis_all)
intif_wis_replay(id,3); // Žó<C5BD>M”Û
*/
if(sd->ignoreAll == 1)
intif_wis_replay(RFIFOL(fd,4), 2); // Žó<C5BD>M”Û
/*
else if(j>0)
intif_wis_replay(id,2); // 受信拒否
else{
*/
if(i == MAX_IGNORE_LIST) {
clif_wis_message(sd->fd,RFIFOP(fd,8),RFIFOP(fd,56),RFIFOW(fd,2)-56);
intif_wis_replay(id,0); // <E28098>M<EFBFBD>¬Œ÷
intif_wis_replay(RFIFOL(fd,4),0); // <E28098>M<EFBFBD>¬Œ÷
}
}else
intif_wis_replay(id,1); // そんな人いません

View File

@ -31,7 +31,7 @@
#define MAX_LEVEL 255
#define MAX_WALKPATH 48
#define MAX_DROP_PER_MAP 48
#define MAX_WIS_REFUSAL 14
#define MAX_IGNORE_LIST 80
#define DEFAULT_AUTOSAVE_INTERVAL 60*1000
@ -179,8 +179,10 @@ struct map_session_data {
char npc_str[256];
unsigned int chatID;
char wis_refusal[MAX_WIS_REFUSAL][24]; //Refuse Whispers
int wis_all; //Ignore all Whispers
struct{
char name[24];
} ignore[MAX_IGNORE_LIST];
int ignoreAll;
int attacktimer;
int attacktarget;