Re: [Bug] do_advance

From: George (gagreer@dragon.ham.muohio.edu)
Date: 09/11/96


On Wed, 11 Sep 1996, Derek L. Karnes wrote:
> When advancing someone to a level lower than his current level, he gets put to that level except his
> stats like H,V, and M are his stats at level 1. He'll be level 19 (for example) with these level 1
> values. This is because do_advance() makes a call to do_start() for when someone is advanced a level
> that is lower than their current level. It then assigns the newlevel to the victim's current level.
> Also, do_start() rerolls the guy's ability scores.

I agree with that, but why not just copy the struct to a new one instead
of line by line like you had it?

>   gain_exp_regardless(victim,
> 	 (titles[(int) GET_CLASS(victim)][newlevel].exp) - GET_EXP(victim));

This line should restore them to their old state with H M V, however...
the line,
GET_LEVEL(victim) = newlevel;  <--- resets the guys level so he doesn't gain

*poke jeremy* :)

-George
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
|   http://cspo.queensu.ca/~fletcher/Circle/list_faq.html   |
+-----------------------------------------------------------+



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