]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - larn/moreobj.c
fix tyop
[bsdgames-darwin.git] / larn / moreobj.c
index e30629a3beaea0995ff8738cdeb2aeb8e0625c3c..7c6766f76b83fb7db3f8c6ab782d5194c2f5eb3e 100644 (file)
@@ -1,19 +1,24 @@
-#ifndef lint
-static char rcsid[] = "$Id: moreobj.c,v 1.2 1993/08/02 17:20:12 mycroft Exp $";
-#endif /* not lint */
+/*     $NetBSD: moreobj.c,v 1.4 1997/10/18 20:03:32 christos Exp $     */
 
-/* moreobj.c           Larn is copyrighted 1986 by Noah Morgan.
- *
- *     Routines in this file:
- *
- *     oaltar()
- *     othrone()
- *     ochest()
- *     ofountain()
+/*
+ * moreobj.c           Larn is copyrighted 1986 by Noah Morgan.
+ * 
+ * Routines in this file:
+ * 
+ * oaltar() othrone() ochest() ofountain()
  */
+#include <sys/cdefs.h>
+#ifndef lint
+__RCSID("$NetBSD: moreobj.c,v 1.4 1997/10/18 20:03:32 christos Exp $");
+#endif                         /* not lint */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
 #include "header.h"
+#include "extern.h"
 
-static void ohear();
+static void ohear __P((void));
+static void fch __P((int, long *));
 
 /*
  *     ******
@@ -22,96 +27,115 @@ static void ohear();
  *
  *     subroutine to process an altar object
  */
+void
 oaltar()
-       {
-       unsigned long k;
+{
+       unsigned long   k;
 
-       lprcat("\nDo you (p) pray  (d) desecrate"); iopts();
-       while (1)
-         {
-         while (1) switch(getchar())
-               {
-               case 'p':       lprcat(" pray\nDo you (m) give money or (j) just pray? ");
-                                       while (1) switch(getchar())
-                                         {
-                                         case 'j':     if (rnd(100)<75) 
-                                                                       lprcat("\nnothing happens");
-                                                               else if (rnd(13)<4) ohear();
-                                                               else if (rnd(43) == 10)
-                                                                       {
-                                                                       if (c[WEAR]) lprcat("\nYou feel your armor vibrate for a moment");
-                                                                       enchantarmor(); return;
-                                                                       }
-                                                               else if (rnd(43) == 10)
-                                                                       {
-                                                                       if (c[WIELD]) lprcat("\nYou feel your weapon vibrate for a moment");
-                                                                       enchweapon(); return;
-                                                                       }
-                                                               else createmonster(makemonst(level+1));
-                                                               return;
-
-                                         case 'm':     lprcat("\n\n");  cursor(1,24);  cltoeoln();
-                                                               cursor(1,23);  cltoeoln();
-                                                               lprcat("how much do you donate? ");
-                                                               k = readnum((long)c[GOLD]);
-                                                               if (c[GOLD]<k)
-                                                                       {
-                                                                       lprcat("\nYou don't have that much!");
-                                                                       return;
-                                                                       }
-                                                               c[GOLD] -= k;
-                                                               if (k < c[GOLD]/10 || k<rnd(50))
-                                                                       { createmonster(makemonst(level+1)); c[AGGRAVATE] += 200; }
-                                                               else if (rnd(101) > 50) { ohear(); return; }
-                                                               else if (rnd(43) == 5)
-                                                                       {
-                                                                       if (c[WEAR]) lprcat("\nYou feel your armor vibrate for a moment");
-                                                                       enchantarmor(); return;
-                                                                       }
-                                                               else if (rnd(43) == 8)
-                                                                       {
-                                                                       if (c[WIELD]) lprcat("\nYou feel your weapon vibrate for a moment");
-                                                                       enchweapon(); return;
-                                                                       }
-                                                               else    lprcat("\nThank You.");
-                                                               bottomline();   return;
-
-                                         case '\33':   return;
-                                         };
-
-               case 'd': lprcat(" desecrate");
-                                 if (rnd(100)<60)
-                                               { createmonster(makemonst(level+2)+8); c[AGGRAVATE] += 2500; }
-                                       else
-                                       if (rnd(101)<30)
-                                               {
-                                               lprcat("\nThe altar crumbles into a pile of dust before your eyes");
-                                               forget();       /*      remember to destroy the altar   */
+       lprcat("\nDo you (p) pray  (d) desecrate");
+       iopts();
+       while (1) {
+               while (1)
+                       switch (getchar()) {
+                       case 'p':
+                               lprcat(" pray\nDo you (m) give money or (j) just pray? ");
+                               while (1)
+                                       switch (getchar()) {
+                                       case 'j':
+                                               if (rnd(100) < 75)
+                                                       lprcat("\nnothing happens");
+                                               else if (rnd(13) < 4)
+                                                       ohear();
+                                               else if (rnd(43) == 10) {
+                                                       if (c[WEAR])
+                                                               lprcat("\nYou feel your armor vibrate for a moment");
+                                                       enchantarmor();
+                                                       return;
+                                               } else if (rnd(43) == 10) {
+                                                       if (c[WIELD])
+                                                               lprcat("\nYou feel your weapon vibrate for a moment");
+                                                       enchweapon();
+                                                       return;
+                                               } else
+                                                       createmonster(makemonst(level + 1));
+                                               return;
+
+                                       case 'm':
+                                               lprcat("\n\n");
+                                               cursor(1, 24);
+                                               cltoeoln();
+                                               cursor(1, 23);
+                                               cltoeoln();
+                                               lprcat("how much do you donate? ");
+                                               k = readnum((long) c[GOLD]);
+                                               if (c[GOLD] < k) {
+                                                       lprcat("\nYou don't have that much!");
+                                                       return;
                                                }
-                                       else
-                                               lprcat("\nnothing happens");
-                                       return;
+                                               c[GOLD] -= k;
+                                               if (k < c[GOLD] / 10 || k < rnd(50)) {
+                                                       createmonster(makemonst(level + 1));
+                                                       c[AGGRAVATE] += 200;
+                                               } else if (rnd(101) > 50) {
+                                                       ohear();
+                                                       return;
+                                               } else if (rnd(43) == 5) {
+                                                       if (c[WEAR])
+                                                               lprcat("\nYou feel your armor vibrate for a moment");
+                                                       enchantarmor();
+                                                       return;
+                                               } else if (rnd(43) == 8) {
+                                                       if (c[WIELD])
+                                                               lprcat("\nYou feel your weapon vibrate for a moment");
+                                                       enchweapon();
+                                                       return;
+                                               } else
+                                                       lprcat("\nThank You.");
+                                               bottomline();
+                                               return;
 
-               case 'i':
-               case '\33': ignore();
-                                 if (rnd(100)<30)      { createmonster(makemonst(level+1)); c[AGGRAVATE] += rnd(450); }
-                                       else    lprcat("\nnothing happens");
-                                       return;
-               };
-         }
+                                       case '\33':
+                                               return;
+                                       };
+
+                       case 'd':
+                               lprcat(" desecrate");
+                               if (rnd(100) < 60) {
+                                       createmonster(makemonst(level + 2) + 8);
+                                       c[AGGRAVATE] += 2500;
+                               } else if (rnd(101) < 30) {
+                                       lprcat("\nThe altar crumbles into a pile of dust before your eyes");
+                                       forget();       /* remember to destroy
+                                                        * the altar     */
+                               } else
+                                       lprcat("\nnothing happens");
+                               return;
+
+                       case 'i':
+                       case '\33':
+                               ignore();
+                               if (rnd(100) < 30) {
+                                       createmonster(makemonst(level + 1));
+                                       c[AGGRAVATE] += rnd(450);
+                               } else
+                                       lprcat("\nnothing happens");
+                               return;
+                       };
        }
+}
 
 /*
        function to cast a +3 protection on the player
  */
 static void
 ohear()
-       {
+{
        lprcat("\nYou have been heard!");
-       if (c[ALTPRO]==0) c[MOREDEFENSES]+=3;
+       if (c[ALTPRO] == 0)
+               c[MOREDEFENSES] += 3;
        c[ALTPRO] += 500;       /* protection field */
        bottomline();
-       }
+}
 
 /*
        *******
@@ -120,68 +144,85 @@ ohear()
 
        subroutine to process a throne object
  */
+void
 othrone(arg)
-       int arg;
-       {
-       register int i,k;
+       int             arg;
+{
+       int    i, k;
 
-       lprcat("\nDo you (p) pry off jewels, (s) sit down"); iopts();
-       while (1)
-         {
-         while (1) switch(getchar())
-               {
-               case 'p':       lprcat(" pry off");  k=rnd(101);
-                                       if (k<25)
-                                               {
-                                               for (i=0; i<rnd(4); i++) creategem(); /* gems pop off the throne */
-                                               item[playerx][playery]=ODEADTHRONE;
-                                               know[playerx][playery]=0;
-                                               }
-                                       else if (k<40 && arg==0)
-                                               {
-                                               createmonster(GNOMEKING);
-                                               item[playerx][playery]=OTHRONE2;
-                                               know[playerx][playery]=0;
-                                               }
-                                       else lprcat("\nnothing happens");
-                                       return;
-
-               case 's':       lprcat(" sit down");  k=rnd(101);
-                                       if (k<30 && arg==0)
-                                               {
-                                               createmonster(GNOMEKING);
-                                               item[playerx][playery]=OTHRONE2;
-                                               know[playerx][playery]=0;
-                                               }
-                                       else if (k<35) { lprcat("\nZaaaappp!  You've been teleported!\n"); beep(); oteleport(0); }
-                                       else lprcat("\nnothing happens");
-                                       return;
+       lprcat("\nDo you (p) pry off jewels, (s) sit down");
+       iopts();
+       while (1) {
+               while (1)
+                       switch (getchar()) {
+                       case 'p':
+                               lprcat(" pry off");
+                               k = rnd(101);
+                               if (k < 25) {
+                                       for (i = 0; i < rnd(4); i++)
+                                               creategem();    /* gems pop off the
+                                                                * throne */
+                                       item[playerx][playery] = ODEADTHRONE;
+                                       know[playerx][playery] = 0;
+                               } else if (k < 40 && arg == 0) {
+                                       createmonster(GNOMEKING);
+                                       item[playerx][playery] = OTHRONE2;
+                                       know[playerx][playery] = 0;
+                               } else
+                                       lprcat("\nnothing happens");
+                               return;
 
-               case 'i':
-               case '\33': ignore(); return;
-               };
-         }
+                       case 's':
+                               lprcat(" sit down");
+                               k = rnd(101);
+                               if (k < 30 && arg == 0) {
+                                       createmonster(GNOMEKING);
+                                       item[playerx][playery] = OTHRONE2;
+                                       know[playerx][playery] = 0;
+                               } else if (k < 35) {
+                                       lprcat("\nZaaaappp!  You've been teleported!\n");
+                                       beep();
+                                       oteleport(0);
+                               } else
+                                       lprcat("\nnothing happens");
+                               return;
+
+                       case 'i':
+                       case '\33':
+                               ignore();
+                               return;
+                       };
        }
+}
 
+void
 odeadthrone()
-       {
-       register int k;
+{
+       int    k;
 
-       lprcat("\nDo you (s) sit down"); iopts();
-       while (1)
-         {
-         while (1) switch(getchar())
-               {
-               case 's':       lprcat(" sit down");  k=rnd(101);
-                                       if (k<35) { lprcat("\nZaaaappp!  You've been teleported!\n"); beep(); oteleport(0); }
-                                       else lprcat("\nnothing happens");
-                                       return;
+       lprcat("\nDo you (s) sit down");
+       iopts();
+       while (1) {
+               while (1)
+                       switch (getchar()) {
+                       case 's':
+                               lprcat(" sit down");
+                               k = rnd(101);
+                               if (k < 35) {
+                                       lprcat("\nZaaaappp!  You've been teleported!\n");
+                                       beep();
+                                       oteleport(0);
+                               } else
+                                       lprcat("\nnothing happens");
+                               return;
 
-               case 'i':
-               case '\33': ignore(); return;
-               };
-         }
+                       case 'i':
+                       case '\33':
+                               ignore();
+                               return;
+                       };
        }
+}
 
 /*
        ******
@@ -190,55 +231,68 @@ odeadthrone()
 
        subroutine to process a throne object
  */
+void
 ochest()
-       {
-       register int i,k;
-       lprcat("\nDo you (t) take it, (o) try to open it"); iopts();
-       while (1)
-         {
-         while (1) switch(getchar())
-               {
-               case 'o':       lprcat(" open it");  k=rnd(101);
-                                       if (k<40)
-                                               {
-                                               lprcat("\nThe chest explodes as you open it"); beep();
-                                               i = rnd(10);  lastnum=281;  /* in case he dies */
-                                               lprintf("\nYou suffer %d hit points damage!",(long)i);
-                                               checkloss(i);
-                                               switch(rnd(10)) /* see if he gets a curse */
-                                                       {
-                                                       case 1: c[ITCHING]+= rnd(1000)+100;
-                                                                       lprcat("\nYou feel an irritation spread over your skin!");
-                                                                       beep();
-                                                                       break;
-
-                                                       case 2: c[CLUMSINESS]+= rnd(1600)+200;
-                                                                       lprcat("\nYou begin to lose hand to eye coordination!");
-                                                                       beep();
-                                                                       break;
-                                                       
-                                                       case 3: c[HALFDAM]+= rnd(1600)+200;
-                                                                       beep();
-                                                                       lprcat("\nA sickness engulfs you!");    break;
-                                                       };
-                                               item[playerx][playery]=know[playerx][playery]=0;
-                                               if (rnd(100)<69) creategem(); /* gems from the chest */
-                                               dropgold(rnd(110*iarg[playerx][playery]+200));
-                                               for (i=0; i<rnd(4); i++) something(iarg[playerx][playery]+2);
-                                               }
-                                       else lprcat("\nnothing happens");
-                                       return;
+{
+       int    i, k;
+       lprcat("\nDo you (t) take it, (o) try to open it");
+       iopts();
+       while (1) {
+               while (1)
+                       switch (getchar()) {
+                       case 'o':
+                               lprcat(" open it");
+                               k = rnd(101);
+                               if (k < 40) {
+                                       lprcat("\nThe chest explodes as you open it");
+                                       beep();
+                                       i = rnd(10);
+                                       lastnum = 281;  /* in case he dies */
+                                       lprintf("\nYou suffer %d hit points damage!", (long) i);
+                                       checkloss(i);
+                                       switch (rnd(10)) {      /* see if he gets a
+                                                                * curse */
+                                       case 1:
+                                               c[ITCHING] += rnd(1000) + 100;
+                                               lprcat("\nYou feel an irritation spread over your skin!");
+                                               beep();
+                                               break;
 
-               case 't':       lprcat(" take");
-                                       if (take(OCHEST,iarg[playerx][playery])==0)
-                                               item[playerx][playery]=know[playerx][playery]=0;
-                                       return;
+                                       case 2:
+                                               c[CLUMSINESS] += rnd(1600) + 200;
+                                               lprcat("\nYou begin to lose hand to eye coordination!");
+                                               beep();
+                                               break;
 
-               case 'i':
-               case '\33': ignore(); return;
-               };
-         }
+                                       case 3:
+                                               c[HALFDAM] += rnd(1600) + 200;
+                                               beep();
+                                               lprcat("\nA sickness engulfs you!");
+                                               break;
+                                       };
+                                       item[playerx][playery] = know[playerx][playery] = 0;
+                                       if (rnd(100) < 69)
+                                               creategem();    /* gems from the chest */
+                                       dropgold(rnd(110 * iarg[playerx][playery] + 200));
+                                       for (i = 0; i < rnd(4); i++)
+                                               something(iarg[playerx][playery] + 2);
+                               } else
+                                       lprcat("\nnothing happens");
+                               return;
+
+                       case 't':
+                               lprcat(" take");
+                               if (take(OCHEST, iarg[playerx][playery]) == 0)
+                                       item[playerx][playery] = know[playerx][playery] = 0;
+                               return;
+
+                       case 'i':
+                       case '\33':
+                               ignore();
+                               return;
+                       };
        }
+}
 
 /*
        *********
@@ -246,64 +300,70 @@ ochest()
        *********
  */
 
+void
 ofountain()
-       {
-       register int x;
+{
+       int    x;
        cursors();
-       lprcat("\nDo you (d) drink, (w) wash yourself"); iopts();
-       while (1) switch(getchar())
-               {
-               case 'd':       lprcat("drink");
-                                       if (rnd(1501)<2)
-                                               {
-                                               lprcat("\nOops!  You seem to have caught the dreadful sleep!");
-                                               beep(); lflush();  sleep(3);  died(280); return;
-                                               }
-                                       x = rnd(100);
-                                       if (x<7)
-                                               {
-                                               c[HALFDAM] += 200+rnd(200);
-                                               lprcat("\nYou feel a sickness coming on");
-                                               }
-                                       else if (x<13) quaffpotion(23); /* see invisible */
-                                       else if (x < 45)
-                                               lprcat("\nnothing seems to have happened");
-                                       else if (rnd(3) != 2)
-                                               fntchange(1);   /*      change char levels upward       */
-                                       else
-                                               fntchange(-1);  /*      change char levels downward     */
-                                       if (rnd(12)<3)
-                                               {
-                                               lprcat("\nThe fountains bubbling slowly quiets");
-                                               item[playerx][playery]=ODEADFOUNTAIN; /* dead fountain */
-                                               know[playerx][playery]=0;
-                                               }
-                                       return;
+       lprcat("\nDo you (d) drink, (w) wash yourself");
+       iopts();
+       while (1)
+               switch (getchar()) {
+               case 'd':
+                       lprcat("drink");
+                       if (rnd(1501) < 2) {
+                               lprcat("\nOops!  You seem to have caught the dreadful sleep!");
+                               beep();
+                               lflush();
+                               sleep(3);
+                               died(280);
+                               return;
+                       }
+                       x = rnd(100);
+                       if (x < 7) {
+                               c[HALFDAM] += 200 + rnd(200);
+                               lprcat("\nYou feel a sickness coming on");
+                       } else if (x < 13)
+                               quaffpotion(23);        /* see invisible */
+                       else if (x < 45)
+                               lprcat("\nnothing seems to have happened");
+                       else if (rnd(3) != 2)
+                               fntchange(1);   /* change char levels upward     */
+                       else
+                               fntchange(-1);  /* change char levels
+                                                * downward      */
+                       if (rnd(12) < 3) {
+                               lprcat("\nThe fountains bubbling slowly quiets");
+                               item[playerx][playery] = ODEADFOUNTAIN; /* dead fountain */
+                               know[playerx][playery] = 0;
+                       }
+                       return;
 
                case '\33':
-               case 'i':       ignore();  return;
-
-               case 'w':       lprcat("wash yourself");
-                                       if (rnd(100) < 11)
-                                               {
-                                               x=rnd((level<<2)+2);
-                                               lprintf("\nOh no!  The water was foul!  You suffer %d hit points!",(long)x);
-                                               lastnum=273; losehp(x); bottomline();  cursors();
-                                               }
-                                       else
-                                       if (rnd(100) < 29)
-                                               lprcat("\nYou got the dirt off!");
-                                       else
-                                       if (rnd(100) < 31)
-                                               lprcat("\nThis water seems to be hard water!  The dirt didn't come off!");
-                                       else
-                                       if (rnd(100) < 34)
-                                               createmonster(WATERLORD); /*    make water lord         */
-                                       else
-                                       lprcat("\nnothing seems to have happened");
-                                       return;
+               case 'i':
+                       ignore();
+                       return;
+
+               case 'w':
+                       lprcat("wash yourself");
+                       if (rnd(100) < 11) {
+                               x = rnd((level << 2) + 2);
+                               lprintf("\nOh no!  The water was foul!  You suffer %d hit points!", (long) x);
+                               lastnum = 273;
+                               losehp(x);
+                               bottomline();
+                               cursors();
+                       } else if (rnd(100) < 29)
+                               lprcat("\nYou got the dirt off!");
+                       else if (rnd(100) < 31)
+                               lprcat("\nThis water seems to be hard water!  The dirt didn't come off!");
+                       else if (rnd(100) < 34)
+                               createmonster(WATERLORD);       /* make water lord               */
+                       else
+                               lprcat("\nnothing seems to have happened");
+                       return;
                }
-       }
+}
 
 /*
        ***
@@ -313,64 +373,113 @@ ofountain()
        subroutine to process an up/down of a character attribute for ofountain
  */
 static void
-fch(how,x)
-       int how;
-       long *x;
-       {
-       if (how < 0)     { lprcat(" went down by one!");        --(*x); }
-               else             { lprcat(" went up by one!");  (*x)++; }
-       bottomline();
+fch(how, x)
+       int             how;
+       long           *x;
+{
+       if (how < 0) {
+               lprcat(" went down by one!");
+               --(*x);
+       } else {
+               lprcat(" went up by one!");
+               (*x)++;
        }
+       bottomline();
+}
 
 /*
        a subroutine to raise or lower character levels
        if x > 0 they are raised   if x < 0 they are lowered
  */
+void
 fntchange(how)
-       int how;
-       {
-       register long j;
+       int             how;
+{
+       long   j;
        lprc('\n');
-       switch(rnd(9))
-               {
-               case 1: lprcat("Your strength");                fch(how,&c[0]);         break;
-               case 2: lprcat("Your intelligence");    fch(how,&c[1]);         break;
-               case 3: lprcat("Your wisdom");                  fch(how,&c[2]);         break;
-               case 4: lprcat("Your constitution");    fch(how,&c[3]);         break;
-               case 5: lprcat("Your dexterity");               fch(how,&c[4]);         break;
-               case 6: lprcat("Your charm");                   fch(how,&c[5]);         break;
-               case 7: j=rnd(level+1);
-                               if (how < 0)
-                                       { lprintf("You lose %d hit point",(long)j);  if (j>1) lprcat("s!"); else lprc('!'); losemhp((int)j); }
-                               else
-                                       { lprintf("You gain %d hit point",(long)j);  if (j>1) lprcat("s!"); else lprc('!'); raisemhp((int)j); }
-                               bottomline();           break;
-
-               case 8: j=rnd(level+1);
-                               if (how > 0)
-                                       {
-                                       lprintf("You just gained %d spell",(long)j);  raisemspells((int)j);
-                                       if (j>1) lprcat("s!"); else lprc('!');
-                                       }
-                               else
-                                       {
-                                       lprintf("You just lost %d spell",(long)j);      losemspells((int)j);
-                                       if (j>1) lprcat("s!"); else lprc('!');
-                                       }
-                               bottomline();           break;
-
-               case 9: j = 5*rnd((level+1)*(level+1));
-                               if (how < 0)
-                                       {
-                                       lprintf("You just lost %d experience point",(long)j);
-                                       if (j>1) lprcat("s!"); else lprc('!'); loseexperience((long)j);
-                                       }
-                               else
-                                       {
-                                       lprintf("You just gained %d experience point",(long)j);
-                                       if (j>1) lprcat("s!"); else lprc('!'); raiseexperience((long)j);
-                                       }
-                               break;
+       switch (rnd(9)) {
+       case 1:
+               lprcat("Your strength");
+               fch(how, &c[0]);
+               break;
+       case 2:
+               lprcat("Your intelligence");
+               fch(how, &c[1]);
+               break;
+       case 3:
+               lprcat("Your wisdom");
+               fch(how, &c[2]);
+               break;
+       case 4:
+               lprcat("Your constitution");
+               fch(how, &c[3]);
+               break;
+       case 5:
+               lprcat("Your dexterity");
+               fch(how, &c[4]);
+               break;
+       case 6:
+               lprcat("Your charm");
+               fch(how, &c[5]);
+               break;
+       case 7:
+               j = rnd(level + 1);
+               if (how < 0) {
+                       lprintf("You lose %d hit point", (long) j);
+                       if (j > 1)
+                               lprcat("s!");
+                       else
+                               lprc('!');
+                       losemhp((int) j);
+               } else {
+                       lprintf("You gain %d hit point", (long) j);
+                       if (j > 1)
+                               lprcat("s!");
+                       else
+                               lprc('!');
+                       raisemhp((int) j);
                }
-       cursors();
+               bottomline();
+               break;
+
+       case 8:
+               j = rnd(level + 1);
+               if (how > 0) {
+                       lprintf("You just gained %d spell", (long) j);
+                       raisemspells((int) j);
+                       if (j > 1)
+                               lprcat("s!");
+                       else
+                               lprc('!');
+               } else {
+                       lprintf("You just lost %d spell", (long) j);
+                       losemspells((int) j);
+                       if (j > 1)
+                               lprcat("s!");
+                       else
+                               lprc('!');
+               }
+               bottomline();
+               break;
+
+       case 9:
+               j = 5 * rnd((level + 1) * (level + 1));
+               if (how < 0) {
+                       lprintf("You just lost %d experience point", (long) j);
+                       if (j > 1)
+                               lprcat("s!");
+                       else
+                               lprc('!');
+                       loseexperience((long) j);
+               } else {
+                       lprintf("You just gained %d experience point", (long) j);
+                       if (j > 1)
+                               lprcat("s!");
+                       else
+                               lprc('!');
+                       raiseexperience((long) j);
+               }
+               break;
        }
+       cursors();
+}