home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume12 / mdg / part05 / help.c < prev    next >
C/C++ Source or Header  |  1991-03-04  |  2KB  |  142 lines

  1. /*
  2.     MDG Multiuser Dungeon Game -- help.c help driver
  3.     
  4.     MDG is Copyright 1990 John C. Gonnerman
  5.     This program is subject to the general MDG 
  6.     copyright statement (see enclosed file, Copyright).
  7. */
  8.  
  9. static char *sccsvers = "@(#) help.c\t\t(1.1)\tcreated 12/25/90";
  10.  
  11. #include <curses.h>
  12. #include <fcntl.h>
  13. #include <signal.h>
  14. #include <string.h>
  15. #include <ctype.h>
  16.  
  17. #include <sys/types.h>
  18. #include <sys/stat.h>
  19.  
  20. #include "setup.h"
  21. #include "struct.h"
  22. #include "messages.h"
  23. #include "effect.h"
  24. #include "help.h"
  25.  
  26. struct player_seg *pseg;
  27. struct map_seg *mseg;
  28.  
  29. extern char *spell_names[];
  30.  
  31. int dqid, playernum, player_indx;
  32.  
  33. struct game_msg *gseg;
  34.  
  35.  
  36. help()
  37. {
  38.     int sector;
  39.  
  40.  
  41.     if((sector = pseg->p[player_indx].loc.sector) >= 0
  42.     && pseg->p[player_indx].light == 0
  43.     && mseg->m[sector].light == 0) {
  44.         strcpy(gseg->buf, DARKMSG);
  45.         tell_viewer();
  46.         return;
  47.     }
  48.  
  49.  
  50.     switch(pseg->p[player_indx].loc.under) {
  51.     case '>' :
  52.     case '<' :
  53.         strcpy(gseg->buf, STAIRMSG);
  54.         tell_viewer();
  55.         return;
  56.  
  57.     case POTION :
  58.         sprintf(gseg->buf, ITEMMSG, "potion");
  59.         tell_viewer();
  60.         return;
  61.  
  62.     case SCROLL :
  63.         sprintf(gseg->buf, ITEMMSG, "scroll");
  64.         tell_viewer();
  65.         return;
  66.  
  67.     case ARMOR :
  68.         sprintf(gseg->buf, ITEMMSG, "armor");
  69.         tell_viewer();
  70.         return;
  71.  
  72.     case SHIELD :
  73.         sprintf(gseg->buf, ITEMMSG, "shield");
  74.         tell_viewer();
  75.         return;
  76.  
  77.     case WEAPON :
  78.         sprintf(gseg->buf, ITEMMSG, "weapon");
  79.         tell_viewer();
  80.         return;
  81.  
  82.     case MISSILE :
  83.         sprintf(gseg->buf, ITEMMSG, "missile weapon");
  84.         tell_viewer();
  85.         return;
  86.  
  87.     case OBJECT :
  88.         sprintf(gseg->buf, ITEMMSG, "item");
  89.         tell_viewer();
  90.         return;
  91.  
  92.     case CRYSTAL :
  93.         sprintf(gseg->buf, ITEMMSG, "crystal");
  94.         tell_viewer();
  95.         return;
  96.  
  97.     case CASH :
  98.         sprintf(gseg->buf, ITEMMSG, "treasure");
  99.         tell_viewer();
  100.         return;
  101.  
  102.     case NOTE :
  103.         sprintf(gseg->buf, ITEMMSG, "note");
  104.         tell_viewer();
  105.         return;
  106.  
  107.     case HIDDEN :
  108.         sprintf(gseg->buf, ITEMMSG, "hidden item");
  109.         tell_viewer();
  110.         return;
  111.     }
  112.  
  113.     /* default */
  114.  
  115.     strcpy(gseg->buf, HELPMSG);
  116.     tell_viewer();
  117. }
  118.  
  119.  
  120. telltime()
  121. {
  122.     switch(timeofday()) {
  123.     case 0 :
  124.         strcpy(gseg->buf, "It is now NIGHT.");
  125.         break;
  126.     case 1 :
  127.         strcpy(gseg->buf, "It is now MORNING.");
  128.         break;
  129.     case 2 :
  130.         strcpy(gseg->buf, "It is now AFTERNOON.");
  131.         break;
  132.     case 3 :
  133.         strcpy(gseg->buf, "It is now EVENING.");
  134.         break;
  135.     }
  136.  
  137.     tell_viewer();
  138. }
  139.  
  140.  
  141. /* end of file. */
  142.