| 37 | } |
| 38 | |
| 39 | staticfn void |
| 40 | on_locate(void) |
| 41 | { |
| 42 | /* the locate messages are phrased in a manner such that they only |
| 43 | make sense when arriving on the level from above */ |
| 44 | boolean from_above = (u.uz0.dlevel < u.uz.dlevel); |
| 45 | |
| 46 | if (Qstat(killed_nemesis)) { |
| 47 | return; |
| 48 | } else if (!Qstat(first_locate)) { |
| 49 | if (from_above) |
| 50 | qt_pager("locate_first"); |
| 51 | /* if we've arrived from below this will be a lie, but there won't |
| 52 | be any point in delivering the message upon a return visit from |
| 53 | above later since the level has now been seen */ |
| 54 | Qstat(first_locate) = TRUE; |
| 55 | } else { |
| 56 | if (from_above) |
| 57 | qt_pager("locate_next"); |
| 58 | } |
| 59 | } |
| 60 | |
| 61 | staticfn void |
| 62 | on_goal(void) |