home *** CD-ROM | disk | FTP | other *** search
/ GameStar Special 2004 August / GSSH0804.iso / Rollenspiele / SwordOfFargoal / fargoal20030731b.exe / fargoal / src / spell.c < prev    next >
C/C++ Source or Header  |  2003-07-31  |  616b  |  34 lines

  1. #include "char.h"
  2. #include "game.h"
  3.  
  4. char const *spell_names[] = {
  5.     "Invisibility",
  6.     "Regeneration",
  7.     "Teleport",
  8.     "Shield",
  9.     "Light",
  10.     "Drift"
  11. };
  12.  
  13. static int MAX[] = {
  14.     1, 3, 1, 1, 3, 1
  15. };
  16.  
  17. int
  18. spell_cast (int id, SPELLTYPE s)
  19. {
  20.     if (list[id].spells[s].amount)
  21.     {
  22.         if (list[id].spells[s].active < MAX[s])
  23.         {
  24.             list[id].spells[s].amount--;
  25.             list[id].spells[s].active++;
  26.             message (FPS, s == SPELL_TELEPORT ? teleport : spell, 
  27.                 list[id].trapped?NULL:"%s spell cast!", spell_names[s]);
  28.             /* Actual teleportation is handled elsewhere, so no need to do anything else here. */
  29.             return 1;
  30.         }
  31.     }
  32.     return 0;
  33. }
  34.