|
@@ -3655,7 +3655,7 @@ void map_flags_init(void){
|
|
|
union u_mapflag_args args = {};
|
|
|
|
|
|
mapdata->flag.clear();
|
|
|
- mapdata->flag.reserve(MF_MAX); // Reserve the bucket size
|
|
|
+ mapdata->flag.resize(MF_MAX, 0); // Resize and define default values
|
|
|
mapdata->drop_list.clear();
|
|
|
args.flag_val = 100;
|
|
|
|
|
@@ -3692,7 +3692,7 @@ void map_data_copy(struct map_data *dst_map, struct map_data *src_map) {
|
|
|
memcpy(&dst_map->save, &src_map->save, sizeof(struct point));
|
|
|
memcpy(&dst_map->damage_adjust, &src_map->damage_adjust, sizeof(struct s_skill_damage));
|
|
|
|
|
|
- dst_map->flag.insert(src_map->flag.begin(), src_map->flag.end());
|
|
|
+ dst_map->flag = src_map->flag;
|
|
|
dst_map->skill_damage.insert(src_map->skill_damage.begin(), src_map->skill_damage.end());
|
|
|
dst_map->skill_duration.insert(src_map->skill_duration.begin(), src_map->skill_duration.end());
|
|
|
|
|
@@ -4581,11 +4581,11 @@ int map_getmapflag_sub(int16 m, enum e_mapflag mapflag, union u_mapflag_args *ar
|
|
|
case MF_RESTRICTED:
|
|
|
return mapdata->zone;
|
|
|
case MF_NOLOOT:
|
|
|
- return util::umap_get(mapdata->flag, static_cast<int16>(MF_NOMOBLOOT), 0) && util::umap_get(mapdata->flag, static_cast<int16>(MF_NOMVPLOOT), 0);
|
|
|
+ return mapdata->flag[MF_NOMOBLOOT] && mapdata->flag[MF_NOMVPLOOT];
|
|
|
case MF_NOPENALTY:
|
|
|
- return util::umap_get(mapdata->flag, static_cast<int16>(MF_NOEXPPENALTY), 0) && util::umap_get(mapdata->flag, static_cast<int16>(MF_NOZENYPENALTY), 0);
|
|
|
+ return mapdata->flag[MF_NOEXPPENALTY] && mapdata->flag[MF_NOZENYPENALTY];
|
|
|
case MF_NOEXP:
|
|
|
- return util::umap_get(mapdata->flag, static_cast<int16>(MF_NOBASEEXP), 0) && util::umap_get(mapdata->flag, static_cast<int16>(MF_NOJOBEXP), 0);
|
|
|
+ return mapdata->flag[MF_NOBASEEXP] && mapdata->flag[MF_NOJOBEXP];
|
|
|
case MF_SKILL_DAMAGE:
|
|
|
nullpo_retr(-1, args);
|
|
|
|
|
@@ -4598,10 +4598,10 @@ int map_getmapflag_sub(int16 m, enum e_mapflag mapflag, union u_mapflag_args *ar
|
|
|
case SKILLDMG_CASTER:
|
|
|
return mapdata->damage_adjust.caster;
|
|
|
default:
|
|
|
- return util::umap_get(mapdata->flag, static_cast<int16>(mapflag), 0);
|
|
|
+ return mapdata->flag[mapflag];
|
|
|
}
|
|
|
default:
|
|
|
- return util::umap_get(mapdata->flag, static_cast<int16>(mapflag), 0);
|
|
|
+ return mapdata->flag[mapflag];
|
|
|
}
|
|
|
}
|
|
|
|