From: Robert Sinland <rsinland@erskine.polaristel.net>
Subject: HP/Mana/Move Regen Items

   Plus HP and Mana regen items.
   By Robert Sinland
   With thanks to Chris Proctor for his advice, and Eduo for testing
   Update with New Flag From: Matt Roach <quinn@shiva.ml.org>
   
** structs.h
   
Search for struct char_special_data
    int	timer;			/* Timer for update			*/
  + sbyte hitgain;
  + sbyte managain;
  + sbyte movegain;
  
** handler.c

Search for void affect_modify
    case APPLY_HIT:
    GET_MAX_HIT(ch) += mod;
    break;

  + case APPLY_MANA_REGEN:
  + ch->char_specials.managain  += mod;
  +   break;

  + case APPLY_HIT_REGEN:
  + ch->char_specials.hitgain += mod; 
  +  break;

  + case APPLY_MOVE_REGEN:
  + ch->char_specials.movegain += mod;
  +  break;


** limits.c

search for int hit_gain
  } else {
    gain = graf(age(ch).year, 8, 12, 20, 32, 16, 10, 4);
 +  gain = gain + ch->char_specials.hitgain;

search for int mana_gain
  } else {
    gain = graf(age(ch).year, 4, 8, 12, 16, 12, 10, 8);
 +  gain = gain + ch->char_specials.managain;

search for int move_gain
  } else {
    gain = graf(age(ch).year, 16, 20, 24, 20, 16, 12, 10);
  + gain = gain + cha->char_specials.movegain;

  
** db.c 
note:  I dont know if this _has_ to be here, but it doesn't seem to
       hurt anything.

under void reset_char(struct char_data * ch)
   
    ch->char_specials.carry_weight = 0;
    ch->char_specials.carry_items = 0;
  + ch->char_specials.hitgain = 0;
  + ch->char_specials.managain = 0;
  + ch->char_specials.movegain = 0;
  

Now to be able to create those objects...
      
** Structs.h
    #define APPLY_SAVING_SPELL     24	/* Apply to save throw: spells	*/
    #define APPLY_RACE             25   /* Reserved                     */ 
  + #define APPLY_HIT_REGEN        26     	   
  + #define APPLY_MANA_REGEN       27   
  + #define APPLY_MOVE_REGEN       28
  Change your numbers to match your setup.
    
** constants.c
In const char *apply_types
     
   "SAVING_SPELL",
   "RACE",
 + "HIT_REGEN",
 + "MANA_REGEN",
 + "MOVE_REGEN",
   "\n" 
