HARDGAME
if (c[HARDGAME] < 2)
if (c[HARDGAME] <= 0) {
if (c[HARDGAME] < 3 || (rnd(4) == 3)) {
dam = 16 - c[HARDGAME];
tmp = (c[CONSTITUTION] - c[HARDGAME]) >> 1; /* lose hpoints */
if (c[LEVEL] < 7 - c[HARDGAME])
tmp = (c[CONSTITUTION] - c[HARDGAME]) >> 1;
if (c[LEVEL] < 7 - c[HARDGAME])
#define newleather() (nlpts[rund(c[HARDGAME]?13:15)])
#define newplate() (nplt[rund(c[HARDGAME]?4:12)])
#define newsword() (nsw[rund(c[HARDGAME]?6:13)])
(long) c[HARDGAME]);
if ((rnd(20) < tmp - c[HARDGAME]) || (rnd(71) < 5)) {
bias = (c[HARDGAME]) + 1;
if (c[HARDGAME] < 3) {
i = xx * ((c[WCLASS] >> 1) + c[STRENGTH] + c[STREXTRA] - c[HARDGAME] - 12 + c[MOREDAM]);
if (dam >= 50 + c[HARDGAME]) /* enough damage? */
if (c[HARDGAME] < 3)
dam -= 3 + (c[HARDGAME] >> 1);
if (monster[monst].intelligence > 10 - c[HARDGAME]) { /* if smart monster */
d[REGENCOUNTER] = 22 + (d[HARDGAME] << 1) - d[LEVEL];
d[ECOUNTER] = 100 + 4 * (d[HARDGAME] - d[LEVEL] - d[ENERGY]);
c[HARDGAME] = 0;
c[HARDGAME] = winr[i].hardlev + 1;
score += 100000 * c[HARDGAME]; /* bonus for winning */
if ((score >= p->score) || (c[HARDGAME] > p->hardlev)) {
p->hardlev = c[HARDGAME];
if ((score >= p->score) || (c[HARDGAME] > p->hardlev)) {
p->hardlev = c[HARDGAME];
logg.diff = c[HARDGAME];
lprintf("Score: %ld, Diff: %ld, %s ", (long) c[GOLD], (long) c[HARDGAME], logname);
j = c[HARDGAME];
c[HARDGAME] = hard;
c[HARDGAME] = j;/* set c[HARDGAME] to proper value if
if ((k = c[HARDGAME]) != 0)