Re: [BPL11] [Newbie] Multiclass

From: Craig Adams (punkrock@IX.NETCOM.COM)
Date: 07/30/98


Scorn wrote:
 >OBCIRCLE:
 >I was looking at adding a new level system and i know there are
 >patches out
 >there but every patch i tried along with every patch i tried tomake
 >failed
 >with do advance  when you type advance so-so 60 it says okadvanceing
 >so-so
 >level 60 but really advances them to implementor (my level
>74)archives
 >proved to serve no help on this one so I hope it happened tosomeone
 >else(that got it fixed)
 >Thanks
 >Scorn

Hey..
Ok.. I used the "exp_replacement.patch" found on the circlemud ftp
site.. and i had a similar problem, where the level that i wanted to
advance the char to was different than the actual level which he was
advanced to.. I fixed it.. i'm pretty sure this is all i had to do:

in act.wizard.c:

in the extern var's:
int exp_to_level(struct char_data *ch);

in (do_advance)
  (near the other vars)
+  int newlevel, oldlevel, i, x;

then....

  log("(GC) %s has advanced %s to level %d (from %d)",
          GET_NAME(ch), GET_NAME(victim), newlevel, oldlevel);
+ x=oldlevel;
+ while (x<newlevel) {
+ i = (exp_to_level(victim) - GET_EXP(victim));
+ gain_exp_regardless(victim, i);
+ x++;
+ }
  save_char(victim, NOWHERE);
}

that should work..
-Craig


     +------------------------------------------------------------+
     | 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/15/00 PST