diff options
Diffstat (limited to 'src/map/map.h')
-rw-r--r-- | src/map/map.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/map/map.h b/src/map/map.h index dbd9c0fba..e7c0cb50d 100644 --- a/src/map/map.h +++ b/src/map/map.h @@ -27,6 +27,7 @@ #include "common/db.h" #include "common/mapindex.h" #include "common/mmo.h" +#include "map/unitdefines.h" // enum unit_dir #include <stdio.h> #include <stdarg.h> @@ -328,6 +329,14 @@ enum bl_type { enum npc_subtype { WARP, SHOP, SCRIPT, CASHSHOP, TOMB }; +/** optional flags for script labels, used by the label db */ +enum script_label_flags { + /** the label can be called from outside the local scope of the NPC */ + LABEL_IS_EXTERN = 0x1, + /** the label is a public or private local NPC function */ + LABEL_IS_USERFUNC = 0x2, +}; + /** * Race type IDs. * @@ -587,6 +596,7 @@ typedef enum { CELL_NOCHAT, CELL_ICEWALL, CELL_NOICEWALL, + CELL_NOSKILL, } cell_t; @@ -611,6 +621,7 @@ typedef enum { CELL_CHKNOCHAT, CELL_CHKICEWALL, CELL_CHKNOICEWALL, + CELL_CHKNOSKILL, } cell_chk; @@ -629,7 +640,8 @@ struct mapcell { novending : 1, nochat : 1, icewall : 1, - noicewall : 1; + noicewall : 1, + noskill : 1; #ifdef CELL_NOSTACK int cell_bl; //Holds amount of bls in this cell. @@ -787,6 +799,7 @@ struct map_data { unsigned pairship_endable : 1; unsigned nostorage : 2; unsigned nogstorage : 2; + unsigned nopet : 1; uint32 noviewid; ///< noviewid (bitmask - @see enum equip_pos) } flag; struct point save; @@ -845,7 +858,7 @@ struct map_data { } cell_buf; /* questinfo entries list */ - VECTOR_DECL(struct npc_data) qi_list; + VECTOR_DECL(struct npc_data *) qi_list; /* speeds up clif_updatestatus processing by causing hpmeter to run only when someone with the permission can view it */ unsigned short hpmeter_visible; @@ -1216,8 +1229,8 @@ END_ZEROED_BLOCK; // reload config file looking only for npcs void (*reloadnpc) (bool clear); - int (*check_dir) (int s_dir,int t_dir); - uint8 (*calc_dir) (struct block_list *src,int16 x,int16 y); + int (*check_dir) (enum unit_dir s_dir, enum unit_dir t_dir); + enum unit_dir (*calc_dir) (const struct block_list *src, int16 x, int16 y); int (*random_dir) (struct block_list *bl, short *x, short *y); // [Skotlex] int (*cleanup_sub) (struct block_list *bl, va_list ap); |