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.h21
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);