diff options
author | (no author) <(no author)@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2005-01-26 14:28:19 +0000 |
---|---|---|
committer | (no author) <(no author)@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2005-01-26 14:28:19 +0000 |
commit | 7923c32b8ebfbebd09dc0d783e93fef51a4ec38b (patch) | |
tree | 9ab81fa169eb48e71e208f080e5f776f066cad51 /src/map/map.h | |
parent | 8ca00fc7e0e1457b1cb1537e2caeefa150344360 (diff) | |
download | hercules-7923c32b8ebfbebd09dc0d783e93fef51a4ec38b.tar.gz hercules-7923c32b8ebfbebd09dc0d783e93fef51a4ec38b.tar.bz2 hercules-7923c32b8ebfbebd09dc0d783e93fef51a4ec38b.tar.xz hercules-7923c32b8ebfbebd09dc0d783e93fef51a4ec38b.zip |
* Fixed a bug in gettick cache when compiling in Windows
- Changed "read_map_from_bitmap" to "read_map_from_cache" in map_athena, "map_bitmap_path" to "map_cache_file"
- Fixed item effects not showing when only one was used
- Fixed a bug in Safety Wall
- Allow only either Storm Gust or Lord of Vermillion to cause damage if stacked together
- Added path_search_long, map_find_skill_unit_oncell
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@998 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/map.h')
-rw-r--r-- | src/map/map.h | 54 |
1 files changed, 21 insertions, 33 deletions
diff --git a/src/map/map.h b/src/map/map.h index ed66e5669..1d0f7a432 100644 --- a/src/map/map.h +++ b/src/map/map.h @@ -100,7 +100,7 @@ struct skill_unit_group { }; struct skill_unit_group_tickset { unsigned int tick; - int group_id; + int id; }; struct skill_timerskill { int timer; @@ -505,15 +505,10 @@ enum { EQP_HELM = 0x0100, // 頭上段 }; -#define MAX_CELL_TYPE 7 //今ではセルのタイプは数字的に6が最大なので7にした、 - //MAX_CELL_TYPE+1はワープポイントなどのタッチ系に - struct map_data { char name[24]; unsigned char *gat; // NULLなら下のmap_data_other_serverとして扱う char *alias; // [MouseJstr] - int *gat_fileused[MAX_CELL_TYPE+1+1]; //もしビットマップを使うならこちらを使う、 - //上のgatはキャストされてgat_fileused[0]に指す struct block_list **block; struct block_list **block_mob; int *block_count,*block_mob_count; @@ -567,8 +562,6 @@ struct map_data_other_server { unsigned long ip; unsigned int port; }; -#define read_gat(m,x,y) (map_getcell(m,x,y,CELL_CHKTYPE)) //ビットマップ使う場合結構CPUに負担かかるので、消極的に使おう -#define read_gatp(m,x,y) (map_getcellp(m,x,y,CELL_CHKTYPE)) //同上 struct flooritem_data { struct block_list bl; @@ -627,24 +620,20 @@ enum { LOOK_BASE,LOOK_HAIR,LOOK_WEAPON,LOOK_HEAD_BOTTOM,LOOK_HEAD_TOP,LOOK_HEAD_MID,LOOK_HAIR_COLOR,LOOK_CLOTHES_COLOR,LOOK_SHIELD,LOOK_SHOES }; -/*-------CELL_CHK*---------------- - * CELL_CHKPASS: セルは0,3,6のどっちかの場合は1を返す、以外は0 - * CELL_CHKNOPASS: セルは1、5のどっちかの場合は1を返す、以外は0 - * CELL_CHKWATER: セルは3の場合は1を返す、以外は0 - * CELL_CHKHIGH: セルは5の場合は1を返す、以外は0 - * CHELL_CHKTOUCH:セルはタッチ系の場合は1を返す、以外は0 - * CELL_CHKTYPE: セルのタイプを知りたい場合は1を返す、以外は0 -*/ -typedef enum { - CELL_CHKPASS,CELL_CHKNOPASS,CELL_CHKWATER=3,CELL_CHKHIGH=5,CELL_CHKTOUCH,CELL_CHKTYPE -} CELL_CHK; - -/*-------CELL_SET*--------------- - * ほとんどは上と対応、設定用 +/* + * map_getcell()ェヌ゙ナ鯑ェオェェォユォ鬮ー */ -typedef enum { - CELL_SETPASS,CELL_SETNOPASS,CELL_SETWATER=3,CELL_SETHIGH=5,CELL_SETNOHIGH,CELL_SETTOUCH -} CELL_SET; +typedef enum { + CELL_CHKWALL=1, // ロ(ォサォォソォ、ォラ1) + CELL_CHKWATER=3, // 筰゙(ォサォォソォ、ォラ3) + CELL_CHKGROUND=5, // 「リ。ェレェ(ォサォォソォ、ォラ5) + CELL_CHKNPC=0x80, // ォソォテォチォソォ、ォラェホNPC(ォサォォソォ、ォラ0x80ォユォ鬮ー) + CELL_CHKPASS, // ラホヲハヲメ(ォサォォソォ、ォラ1,5、鞣) + CELL_CHKNOPASS, // ラホヲワハヲ(ォサォォソォ、ォラ1,5) + CELL_GETTYPE // ォサォォソォ、ォラェレェケ +} cell_t; +// map_setcell()ェヌ゙ナ鯑ェオェェォユォ鬮ー +#define CELL_SETNPC 0x80 // ォソォテォチォソォ、ォラェホNPCェォサォテォネ struct chat_data { struct block_list bl; @@ -667,11 +656,11 @@ extern int autosave_interval; extern int agit_flag; extern int night_flag; // 0=day, 1=night [Yor] -//------bitmap使用とgrfファイル使用両方対応できるために追加、また、 -//セルの取得や設定は列挙型CELL_CHK*とCELL_SET*を使った方が意図がわかりやすいので変更してみた -int map_getcell(int,int,int,CELL_CHK); -int map_getcellp(struct map_data*,int,int,CELL_CHK); -extern int map_read_flag; //セル情報のソース判定フラグ、0ならgrfファイル、1ならビットマップファイル +// gat?ヨァ +int map_getcell(int,int,int,cell_t); +int map_getcellp(struct map_data*,int,int,cell_t); +void map_setcell(int,int,int,int); +extern int map_read_flag; // 0: grfォユォ。ォ、ォ 1: ォュォ罩テォキォ 2: ォュォ罩テォキォ(?) enum { READ_FROM_GAT, READ_FROM_AFM, READ_FROM_BITMAP, CREATE_BITMAP, @@ -702,6 +691,7 @@ void map_foreachinmovearea(int (*)(struct block_list*,va_list),int,int,int,int,i int map_countnearpc(int,int,int); //block関連に追加 int map_count_oncell(int m,int x,int y); +struct skill_unit *map_find_skill_unit_oncell(int m,int x,int y,int skill_id); // 一時的object関連 int map_addobject(struct block_list *); int map_delobject(int); @@ -737,15 +727,13 @@ void map_addnickdb(struct map_session_data *); struct map_session_data * map_nick2sd(char*); int compare_item(struct item *a, struct item *b); -// gat関連 -int map_setcell(int,int,int,CELL_SET); - // その他 int map_check_dir(int s_dir,int t_dir); int map_calc_dir( struct block_list *src,int x,int y); // path.cより int path_search(struct walkpath_data*,int,int,int,int,int,int); +int path_search_long(int m,int x0,int y0,int x1,int y1); int path_blownpos(int m,int x0,int y0,int dx,int dy,int count); int map_who(int fd); |