rogue5: add savedir, logfile, bugfixes
This commit is contained in:
parent
3741c4867d
commit
53a15a3e2e
13 changed files with 2124 additions and 1397 deletions
62
rogue5/rip.c
62
rogue5/rip.c
|
|
@ -223,6 +223,62 @@ score(int amount, int flags, int monst)
|
|||
}
|
||||
}
|
||||
|
||||
void writelog(int amount, int flags, int monst)
|
||||
{
|
||||
#ifdef LOGFILE
|
||||
char logmessage[160], ltemp[80];
|
||||
|
||||
if (logfi == NULL)
|
||||
return;
|
||||
#ifdef MASTER
|
||||
if (wizard)
|
||||
{
|
||||
fclose(logfi);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
sprintf(logmessage, "%d %d %.20s %d ", time(NULL), amount, whoami,
|
||||
pstats.s_lvl);
|
||||
if (flags == 0) /* dead */
|
||||
{
|
||||
sprintf(ltemp, "killed by %s on level %d\n", killname(monst, TRUE),
|
||||
level);
|
||||
strcat(logmessage, ltemp);
|
||||
}
|
||||
else if (flags == 1) /* quit */
|
||||
{
|
||||
if (amulet)
|
||||
sprintf(ltemp, "quit on level %d [max %d] with the Amulet\n",
|
||||
level, max_level);
|
||||
else
|
||||
sprintf(ltemp, "quit on level %d\n", level);
|
||||
strcat(logmessage, ltemp);
|
||||
}
|
||||
else if (flags == 2) /* won */
|
||||
{
|
||||
sprintf(ltemp, "escaped with the Amulet [deepest level: %d]\n",
|
||||
max_level);
|
||||
strcat(logmessage, ltemp);
|
||||
}
|
||||
else if (flags == 3) /* killed with Amulet */
|
||||
{
|
||||
strcat(logmessage, "killed by ");
|
||||
strcat(logmessage, killname(monst, TRUE));
|
||||
sprintf(ltemp, " on level %d [max %d] with the Amulet\n",
|
||||
level, max_level);
|
||||
strcat(logmessage, ltemp);
|
||||
}
|
||||
else
|
||||
{
|
||||
fclose(logfi);
|
||||
return;
|
||||
}
|
||||
fprintf(logfi, "%s", logmessage);
|
||||
fclose(logfi);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* death:
|
||||
* Do something really fun when he dies
|
||||
|
|
@ -271,7 +327,12 @@ death(int monst)
|
|||
}
|
||||
move(LINES - 1, 0);
|
||||
refresh();
|
||||
writelog(purse, amulet ? 3 : 0, monst);
|
||||
score(purse, amulet ? 3 : 0, monst);
|
||||
/* Make sure the output gets through. */
|
||||
printf("[Press return to exit]\n");
|
||||
fflush(NULL);
|
||||
getchar();
|
||||
my_exit(0);
|
||||
}
|
||||
|
||||
|
|
@ -382,6 +443,7 @@ total_winner(void)
|
|||
}
|
||||
printw(" %5d Gold Pieces ", oldpurse);
|
||||
refresh();
|
||||
writelog(purse, 2, ' ');
|
||||
score(purse, 2, ' ');
|
||||
my_exit(0);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue