summaryrefslogtreecommitdiff
path: root/src/map/map.h
diff options
context:
space:
mode:
authorKpy! <ouroboros.ai@gmail.com>2015-09-20 21:22:42 +0200
committerKpy! <ouroboros.ai@gmail.com>2015-09-28 14:11:32 +0200
commita39aa16415157a48ff5f2b3fda6c4372f8592143 (patch)
tree99f685640a30295ed991fae992e80d6efbd8ad54 /src/map/map.h
parent731e30a5c0b32e5ece45954951866602146e5a82 (diff)
downloadhercules-a39aa16415157a48ff5f2b3fda6c4372f8592143.tar.gz
hercules-a39aa16415157a48ff5f2b3fda6c4372f8592143.tar.bz2
hercules-a39aa16415157a48ff5f2b3fda6c4372f8592143.tar.xz
hercules-a39aa16415157a48ff5f2b3fda6c4372f8592143.zip
Fixed merge behaviour of map zones. Fixes #572
- Both "Normal" and "PK Mode" default zones will now be overwritten (instead of merged) by "GvG", "PvP" and "Battlegrounds" zones. - Refactored some code to clarify intent.
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;
};