OSDN Git Service

Modify the code which search stairs in tgt_pt
authorhabu <habu@0568b783-4c39-0410-ac80-bf13821ea2a2>
Fri, 8 Mar 2013 13:25:46 +0000 (13:25 +0000)
committerhabu <habu@0568b783-4c39-0410-ac80-bf13821ea2a2>
Fri, 8 Mar 2013 13:25:46 +0000 (13:25 +0000)
src/xtra2.c

index 797624c..a39394d 100644 (file)
@@ -5869,25 +5869,16 @@ bool tgt_pt(int *x_ptr, int *y_ptr)
 
                                n++;
 
 
                                n++;
 
-                               while(n < temp_n)       /* Skip stairs which have defferent distance */
+                               /* Skip stairs which have defferent distance */
+                               for (; n < temp_n; ++ n)
                                {
                                        cave_type *c_ptr = &cave[temp_y[n]][temp_x[n]];
 
                                {
                                        cave_type *c_ptr = &cave[temp_y[n]][temp_x[n]];
 
-                                       if (ch == '>')
+                                       if (cave_have_flag_grid(c_ptr, FF_STAIRS) &&
+                                           cave_have_flag_grid(c_ptr, ch == '>' ? FF_MORE : FF_LESS))
                                        {
                                        {
-                                               if (cave_have_flag_grid(c_ptr, FF_LESS) ||
-                                                       cave_have_flag_grid(c_ptr, FF_QUEST_ENTER))
-                                                       n++;
-                                               else
-                                                       break;
-                                       }
-                                       else /* if (ch == '<') */
-                                       {
-                                               if (cave_have_flag_grid(c_ptr, FF_MORE) ||
-                                                       cave_have_flag_grid(c_ptr, FF_QUEST_EXIT))
-                                                       n++;
-                                               else
-                                                       break;
+                                               /* Found */
+                                               break;
                                        }
                                }
 
                                        }
                                }