--- deliantra/server/common/map.C 2009/10/12 21:27:55 1.161 +++ deliantra/server/common/map.C 2009/10/13 18:22:44 1.162 @@ -87,7 +87,7 @@ */ mapspace &ms = m->at (sx, sy); - int mflags = ms.flags (); + int mflags = ms.flags (); int blocked = ms.move_block; /* If space is currently not blocked by anything, no need to @@ -116,8 +116,10 @@ */ for (object *tmp = ms.bot; tmp; tmp = tmp->above) { + bool block = OB_MOVE_BLOCK (ob, tmp); + /* This must be before the checks below. Code for inventory checkers. */ - if (tmp->type == CHECK_INV && OB_MOVE_BLOCK (ob, tmp)) + if (block && tmp->type == CHECK_INV) { bool have = check_inv_recursive (ob, tmp); @@ -139,6 +141,10 @@ return 1; } } + else if (block && tmp->type == T_MATCH) + { + //TODO + } else { /* Broke apart a big nasty if into several here to make @@ -147,7 +153,7 @@ * second - if a monster, can't move there, unless it is a * dm. */ - if (OB_MOVE_BLOCK (ob, tmp)) + if (block) return 1; if (tmp->flag [FLAG_ALIVE]