/*****************************************************************************
 *  Player Refresh by Orion Elder.                                           *
 *                                                                           *
 *  Updates to this snippet can be found at the SSWRA:                       *
 *  http://www.geocities.com/knytehawk/smaug/index.html                      *
 *                                                                           *
 *  Please send all bug reports, suggestions, or ideas to:                   *
 *  orion_elder@charter.net                                                  *
 *                                                                           *
 *  NOTE: If you downloaded this snippet from the SSWRA disregard. I will    *
 *        under no circumstances support versions of this snippet gleaned    *
 *        from other sources. If you're having problems download a fresh     *
 *        copy from the SSWRA and re-install.                                *
 *                                                                           *
 * If you're having problems with your copy of this snippet, please check to *
 * ensure that no updates have been posted before seeking help.              *
 *                                                                           *
 * Copyright 2001-2009 by Orion Elder                                        *
 *****************************************************************************/

[update.c]
Find:

 if ( IS_VAMPIRE(ch) )
      {
        sprintf( buf,
          "Your gain is: %d/%d hp, %d/%d bp, %d/%d mv %d/%d prac.\n\r",
          add_hp,       ch->max_hit,
          1,            GetMaxBlood(ch),
          add_move,     ch->max_move,
          add_prac,     ch->practice
          );
      } else {
        sprintf( buf,
          "Your gain is: %d/%d hp, %d/%d mana, %d/%d mv %d/%d prac.\n\r",
          add_hp,       ch->max_hit,
          add_mana,     ch->max_mana,
          add_move,     ch->max_move,
          add_prac,     ch->practice
          );
      }
      set_char_color( AT_WHITE, ch );
      send_to_char( buf, ch );

Below that add:

      ch->hit = ch->max_hit; 
      ch->move = ch->max_move; 
      if (!IS_VAMPIRE( ch ))
      {
	  ch->mana = ch->max_mana;
      } else {
	  if (!IS_NPC(ch))
	      ch->pcdata->condition[COND_BLOODTHIRST] = (ch->level + 10);
      }
      ch->mental_state = URANGE( -100, ch->mental_state, -10 );
      set_char_color( AT_BLUE, ch );
      send_to_char( "You feel refreshed as a feeling of victory washes over you!\n\r", ch );

Save the file, do a make, and reboot. After the reboot the game will
automatically refresh your players to full health, every time they gain a
level.
