[BUG] Bug in circle30bpl12 ?

From: fabrice premel (fabrice.premel@ETU.UTC.FR)
Date: 12/01/97


Hi everybody,

while my players complained me about slow hit and mana recovering, I
wandered in file limits.c about raising this, looking to hit_gain(),
mana_gain() ... I think there 's a small bug there :

        ... previous=calculation of gain...

    /* Position calculations    */
    switch (GET_POS(ch)) {
    case POS_SLEEPING:
      gain += (gain >> 1);      /* Divide by 2 */
      break;
    case POS_RESTING:
      gain += (gain >> 2);      /* Divide by 4 */
      break;
    case POS_SITTING:
      gain += (gain >> 3);      /* Divide by 8 */
      break;
    }

It appears to me that being standing makes you gain more hit than being
sleeping. So I tested this, and yes, it's much better to be standing than
sleeping (i think it's a minor error but which can be annoying).

One correction would be (as I wanted more hit gains, but you can keep as
above and add a line : case POS_STANDING)

    switch (GET_POS(ch)) {
    case POS_RESTING:
      gain += (gain >> 1);      /* Divide by 2 */
      break;
    case POS_SITTING:
      gain += (gain >> 2);      /* Divide by 4 */
      break;
    case POS_STANDING:
      gain += (gain >> 3);      /* Divide by 8 */
      break;
    }

, where POS_SLEEPING is not modified, which means that it doubles the hit
gain.

Hope that it never had been posted,


                                        Fabrice


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/08/00 PST