Changeset 1413 for trunk

Show
Ignore:
Timestamp:
05/23/09 22:48:21 (10 months ago)
Author:
magnate
Message:

Stop running one square away from already-visible monsters (fixes #700)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/pathfind.c

    r1249 r1413  
    868868 
    869869 
     870        /* Look at every soon to be newly adjacent square. */ 
     871        for (i = -max; i <= max; i++) 
     872        {                
     873                /* New direction */ 
     874                new_dir = cycle[chome[prev_dir] + i]; 
     875                 
     876                /* New location */ 
     877                row = py + ddy[prev_dir] + ddy[new_dir]; 
     878                col = px + ddx[prev_dir] + ddx[new_dir]; 
     879                 
     880                /* Visible monsters abort running */ 
     881                if (cave_m_idx[row][col] > 0) 
     882                { 
     883                        monster_type *m_ptr = &mon_list[cave_m_idx[row][col]]; 
     884                         
     885                        /* Visible monster */ 
     886                        if (m_ptr->ml) return (TRUE);                    
     887                } 
     888        } 
     889 
    870890        /* Looking for open area */ 
    871891        if (p_ptr->run_open_area)