summaryrefslogtreecommitdiff
path: root/src/map/map.h
diff options
context:
space:
mode:
authorMichieru <Michieru@users.noreply.github.com>2014-11-03 11:46:22 +0100
committerMichieru <Michieru@users.noreply.github.com>2014-11-03 11:46:22 +0100
commitb8abf962fd079bc3cad4498aa968f2318d1f5fde (patch)
tree941b9d312ded4e3b75360febb73922a79637c10c /src/map/map.h
parent1c76a4249ea878bd133c16a7e8b799d51b7e8594 (diff)
downloadhercules-b8abf962fd079bc3cad4498aa968f2318d1f5fde.tar.gz
hercules-b8abf962fd079bc3cad4498aa968f2318d1f5fde.tar.bz2
hercules-b8abf962fd079bc3cad4498aa968f2318d1f5fde.tar.xz
hercules-b8abf962fd079bc3cad4498aa968f2318d1f5fde.zip
* No cell stacking implemented (official version)
- Split config cell_stack_limit into custom_cell_stack_limit (previous feature) and official_cell_stack_limit (see below) - Expanded map_count_oncell by a flag parameter, currently only one flag is supported: only count standing units (needed for official cell stack feature) - Added a new function map_closest_freecell that will return the closest free cell using the same order that official servers use - Monsters will now actively search for a free cell when starting to walk randomly and when unlocking target - When any unit finishes walking (regularly) and is not on a free cell, it will now actively search for a free cell - Step actions will be delayed until a suitable cell was found, they will even be executed when the player walked slightly out of attack range - Monsters will now stop instantly if their target is completely non-existent * This is mainly for looters that had their loot taken * Hide and most other situations still use the configuration setting monster_chase_refresh Mega Thanks to Playtester
Diffstat (limited to 'src/map/map.h')
-rw-r--r--src/map/map.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/map/map.h b/src/map/map.h
index 5468016b4..1766220af 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -917,11 +917,12 @@ struct map_interface {
int (*delblock) (struct block_list* bl);
int (*moveblock) (struct block_list *bl, int x1, int y1, int64 tick);
//blocklist nb in one cell
- int (*count_oncell) (int16 m,int16 x,int16 y,int type);
+ int (*count_oncell) (int16 m,int16 x,int16 y,int type,int flag);
struct skill_unit * (*find_skill_unit_oncell) (struct block_list* target,int16 x,int16 y,uint16 skill_id,struct skill_unit* out_unit, int flag);
// search and creation
int (*get_new_object_id) (void);
int (*search_freecell) (struct block_list *src, int16 m, int16 *x, int16 *y, int16 rx, int16 ry, int flag);
+ bool (*closest_freecell) (int16 m, int16 *x, int16 *y, int type, int flag);
//
int (*quit) (struct map_session_data *sd);
// npc