summaryrefslogtreecommitdiff
path: root/src/map/map.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/map.h')
-rw-r--r--src/map/map.h39
1 files changed, 25 insertions, 14 deletions
diff --git a/src/map/map.h b/src/map/map.h
index 2963a316e..96cbc9fb3 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -20,7 +20,7 @@
#define MAX_STATUSCHANGE 210
#define MAX_SKILLUNITGROUP 32
#define MAX_MOBSKILLUNITGROUP 8
-#define MAX_SKILLUNITGROUPTICKSET 128
+#define MAX_SKILLUNITGROUPTICKSET 32
#define MAX_SKILLTIMERSKILL 32
#define MAX_MOBSKILLTIMERSKILL 10
#define MAX_MOBSKILL 32
@@ -85,13 +85,13 @@ struct skill_unit_group {
int src_id;
int party_id;
int guild_id;
- int map,range;
+ int map;
int target_flag;
unsigned int tick;
int limit,interval;
int skill_id,skill_lv;
- int val1,val2;
+ int val1,val2,val3;
char *valstr;
int unit_id;
int group_id;
@@ -582,6 +582,7 @@ struct map_data_other_server {
unsigned char *gat; // NULL固定にして判断
unsigned long ip;
unsigned int port;
+ struct map_data* map;
};
struct flooritem_data {
@@ -646,20 +647,29 @@ 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
+#define CELL_MASK 0x0f
+#define CELL_NPC 0x80 // NPCセル
+#define CELL_BASILICA 0x40 // BASILICAセル
/*
- * map_getcell()ェヌ゙ナ鯑ェオェェォユォ鬮ー
+ * map_getcell()で使用されるフラグ
*/
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_CHKWALL=0, // 壁(セルタイプ1)
+ CELL_CHKWATER, // 水場(セルタイプ3)
+ CELL_CHKGROUND, // 地面障害物(セルタイプ5)
+ CELL_CHKPASS, // 通過可能(セルタイプ1,5以外)
+ CELL_CHKNOPASS, // 通過不可(セルタイプ1,5)
+ CELL_GETTYPE, // セルタイプを返す
+ CELL_CHKNPC=0x10, // タッチタイプのNPC(セルタイプ0x80フラグ)
+ CELL_CHKBASILICA, // バジリカ(セルタイプ0x40フラグ)
} cell_t;
-// map_setcell()ェヌ゙ナ鯑ェオェェォユォ鬮ー
-#define CELL_SETNPC 0x80 // ォソォテォチォソォ、ォラェホNPCェォサォテォネ
+// map_setcell()で使用されるフラグ
+enum {
+ CELL_SETNPC=0x10, // タッチタイプのNPCをセット
+ CELL_SETBASILICA, // バジリカをセット
+ CELL_CLRBASILICA, // バジリカをクリア
+};
struct chat_data {
struct block_list bl;
@@ -718,7 +728,7 @@ void map_foreachinpath(int (*func)(struct block_list*,va_list),int m,int x0,int
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);
+struct skill_unit *map_find_skill_unit_oncell(struct block_list *,int x,int y,int skill_id,struct skill_unit *);
// 一時的object関連
int map_addobject(struct block_list *);
int map_delobject(int);
@@ -747,6 +757,7 @@ int map_mapname2mapid(char*);
int map_mapname2ipport(char*,int*,int*);
int map_setipport(char *name,unsigned long ip,int port);
int map_eraseipport(char *name,unsigned long ip,int port);
+int map_eraseallipport(void);
void map_addiddb(struct block_list *);
void map_deliddb(struct block_list *bl);
int map_foreachiddb(int (*)(void*,void*,va_list),...);