} else {
/* returning to previously visited level; reload it */
fd = open_levelfile(new_ledger, whynot);
- if (fd < 0) {
- pline1(whynot);
- pline("Probably someone removed it.");
- Strcpy(killer.name, whynot);
- done(TRICKED);
+ if (tricked_fileremoved(fd, whynot)) {
/* we'll reach here if running in wizard mode */
error("Cannot continue this game.");
}
bflush(fd);
}
+boolean
+tricked_fileremoved(fd, whynot)
+int fd;
+char *whynot;
+{
+ if (fd < 0) {
+ pline1(whynot);
+ pline("Probably someone removed it.");
+ Strcpy(killer.name, whynot);
+ done(TRICKED);
+ return TRUE;
+ }
+ return FALSE;
+}
+
#ifdef INSURANCE
void
savestateinlock()
* readable by an external utility
*/
fd = open_levelfile(0, whynot);
- if (fd < 0) {
- pline1(whynot);
- pline("Probably someone removed it.");
- Strcpy(killer.name, whynot);
- done(TRICKED);
- return;
- }
+ if (tricked_fileremoved(fd, whynot)) return;
(void) read(fd, (genericptr_t) &hpid, sizeof(hpid));
if (hackpid != hpid) {