summaryrefslogtreecommitdiff
path: root/src/map/map.c
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2017-05-15 01:17:03 +0200
committerHaru <haru@dotalux.com>2017-08-20 15:41:11 +0200
commit3f978c02ec2550714a60e6180ecb60e9e779b364 (patch)
tree74b971aab635ffb2280a429d0a1b6bca820c81b0 /src/map/map.c
parent2357990ccea2f622992bc1d424eda30cd77ef082 (diff)
downloadhercules-3f978c02ec2550714a60e6180ecb60e9e779b364.tar.gz
hercules-3f978c02ec2550714a60e6180ecb60e9e779b364.tar.bz2
hercules-3f978c02ec2550714a60e6180ecb60e9e779b364.tar.xz
hercules-3f978c02ec2550714a60e6180ecb60e9e779b364.zip
Ignore hidden units in the cell stack limit checks
- This improves the Dancer Quest experience as well as other cases of hidden NPCs blocking off certain cells - Fixes #1135 Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src/map/map.c')
-rw-r--r--src/map/map.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/map/map.c b/src/map/map.c
index f8aebcfa6..ff5c2aafd 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -447,6 +447,11 @@ int map_count_oncell(int16 m, int16 x, int16 y, int type, int flag) {
struct status_change *sc = status->get_sc(bl);
if (sc && (sc->option&OPTION_INVISIBLE))
continue;
+ if (bl->type == BL_NPC) {
+ const struct npc_data *nd = BL_UCCAST(BL_NPC, bl);
+ if (nd->class_ == FAKE_NPC || nd->class_ == HIDDEN_WARP_CLASS)
+ continue;
+ }
}
if (flag&0x1) {
struct unit_data *ud = unit->bl2ud(bl);