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