--- deliantra/server/server/move.C 2006/12/13 03:28:42 1.11 +++ deliantra/server/server/move.C 2006/12/20 09:14:22 1.12 @@ -79,7 +79,6 @@ if (mflags & P_OUT_OF_MAP) return 0; - /* Is this space blocked? Players with wizpass are immune to * this condition. */ @@ -90,13 +89,14 @@ * it uses it to figure out face to use - I can't see it * breaking anything, but it might. */ - if (op->more != NULL && !move_ob (op->more, dir, op->more->head)) + if (op->more && !move_ob (op->more, dir, op->more->head)) return 0; op->direction = dir; if (op->will_apply & 4) check_earthwalls (op, m, newx, newy); + if (op->will_apply & 8) check_doors (op, m, newx, newy); @@ -221,7 +221,7 @@ /* Perhaps this should be extended to support tiled maps */ if (OUT_OF_REAL_MAP (teleporter->map, teleporter->x + i, teleporter->y + j)) continue; - other_teleporter = get_map_ob (teleporter->map, teleporter->x + i, teleporter->y + j); + other_teleporter = GET_MAP_OB (teleporter->map, teleporter->x + i, teleporter->y + j); while (other_teleporter) { @@ -329,7 +329,7 @@ if (mflags & P_OUT_OF_MAP) return 1; - for (tmp = get_map_ob (m2, tx, ty); tmp; tmp = tmp->above) + for (tmp = GET_MAP_OB (m2, tx, ty); tmp; tmp = tmp->above) { if (tmp->head == op || tmp == op) continue; @@ -380,7 +380,7 @@ /* If the target space is not blocked, no need to look at the objects on it */ if ((op->move_type & move_block) == op->move_type) { - for (tmp = get_map_ob (m, x, y); tmp != NULL; tmp = tmp->above) + for (tmp = GET_MAP_OB (m, x, y); tmp != NULL; tmp = tmp->above) { if (tmp->head == op) continue;