summaryrefslogtreecommitdiff
path: root/src/map/map.h
diff options
context:
space:
mode:
authorHaruna <haru@dotalux.com>2015-09-29 01:28:38 +0200
committerHaruna <haru@dotalux.com>2015-09-29 01:28:38 +0200
commit2b3298970e1d3784c8244458b1324623b3d03da5 (patch)
treef154f66545acd050427a80377bea8783cdeebd34 /src/map/map.h
parent99af454e850979b94bd3fb7dc87ad2b9d9e327f1 (diff)
parenta39aa16415157a48ff5f2b3fda6c4372f8592143 (diff)
downloadhercules-2b3298970e1d3784c8244458b1324623b3d03da5.tar.gz
hercules-2b3298970e1d3784c8244458b1324623b3d03da5.tar.bz2
hercules-2b3298970e1d3784c8244458b1324623b3d03da5.tar.xz
hercules-2b3298970e1d3784c8244458b1324623b3d03da5.zip
Merge pull request #728 from k-py/bugfix-mapzones-merge-behaviour
Fixed merge behaviour of map zones. Fixes #572
Diffstat (limited to 'src/map/map.h')
-rw-r--r--src/map/map.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/map/map.h b/src/map/map.h
index 39af13de8..3ac39e54f 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -549,6 +549,12 @@ struct map_zone_skill_damage_cap_entry {
enum map_zone_skill_subtype subtype;
};
+enum map_zone_merge_type {
+ MZMT_NORMAL = 0, ///< MZMT_MERGEABLE zones can merge *into* MZMT_NORMAL zones (but not the converse).
+ MZMT_MERGEABLE, ///< Can merge with other MZMT_MERGEABLE zones and *into* MZMT_NORMAL zones.
+ MZMT_NEVERMERGE, ///< Cannot merge with any zones.
+};
+
#define MAP_ZONE_NAME_LENGTH 60
#define MAP_ZONE_ALL_NAME "All"
#define MAP_ZONE_NORMAL_NAME "Normal"
@@ -560,6 +566,7 @@ struct map_zone_skill_damage_cap_entry {
struct map_zone_data {
char name[MAP_ZONE_NAME_LENGTH];/* 20'd */
+ enum map_zone_merge_type merge_type;
struct map_zone_disabled_skill_entry **disabled_skills;
int disabled_skills_count;
int *disabled_items;
@@ -573,7 +580,7 @@ struct map_zone_data {
struct map_zone_skill_damage_cap_entry **capped_skills;
int capped_skills_count;
struct {
- unsigned int special : 2;/* 1: whether this is a mergeable zone; 2: whether it is a merged zone */
+ unsigned int merged : 1;
} info;
};