… | |
… | |
469 | case SK_LITERACY: |
469 | case SK_LITERACY: |
470 | case SK_WOODSMAN: |
470 | case SK_WOODSMAN: |
471 | /* first, we try to find a cauldron, and do the alchemy thing. |
471 | /* first, we try to find a cauldron, and do the alchemy thing. |
472 | * failing that, we go and identify stuff. |
472 | * failing that, we go and identify stuff. |
473 | */ |
473 | */ |
474 | for (tmp = get_map_ob (op->map, op->x, op->y); tmp != NULL; tmp = next) |
474 | for (tmp = GET_MAP_OB (op->map, op->x, op->y); tmp != NULL; tmp = next) |
475 | { |
475 | { |
476 | next = tmp->above; |
476 | next = tmp->above; |
477 | |
477 | |
478 | if (QUERY_FLAG (tmp, FLAG_IS_CAULDRON)) |
478 | if (QUERY_FLAG (tmp, FLAG_IS_CAULDRON)) |
479 | { |
479 | { |
… | |
… | |
1058 | |
1058 | |
1059 | /* space must be blocked for there to be anything interesting to do */ |
1059 | /* space must be blocked for there to be anything interesting to do */ |
1060 | if (!OB_TYPE_MOVE_BLOCK (pl, GET_MAP_MOVE_BLOCK (m, tx, ty))) |
1060 | if (!OB_TYPE_MOVE_BLOCK (pl, GET_MAP_MOVE_BLOCK (m, tx, ty))) |
1061 | return 0; |
1061 | return 0; |
1062 | |
1062 | |
1063 | for (tmp = get_map_ob (m, tx, ty); tmp; tmp = tmp->above) |
1063 | for (tmp = GET_MAP_OB (m, tx, ty); tmp; tmp = tmp->above) |
1064 | if ((QUERY_FLAG (tmp, FLAG_ALIVE) && tmp->stats.hp >= 0) || QUERY_FLAG (tmp, FLAG_CAN_ROLL) || tmp->type == LOCKED_DOOR) |
1064 | if ((QUERY_FLAG (tmp, FLAG_ALIVE) && tmp->stats.hp >= 0) || QUERY_FLAG (tmp, FLAG_CAN_ROLL) || tmp->type == LOCKED_DOOR) |
1065 | { |
1065 | { |
1066 | /* Don't attack party members */ |
1066 | /* Don't attack party members */ |
1067 | if ((pl->type == PLAYER && tmp->type == PLAYER) && (pl->contr->party != NULL && pl->contr->party == tmp->contr->party)) |
1067 | if ((pl->type == PLAYER && tmp->type == PLAYER) && (pl->contr->party != NULL && pl->contr->party == tmp->contr->party)) |
1068 | return 0; |
1068 | return 0; |