> > > > > If you just keep an array with mobs and number_of_kills per each mob, > > > playerbase will become ~10 kb larger per each player. :( > > Or you could just set it up so that it compares relative levels between the mob and the character, something like this: float xp_level_change[] = { 1.5, 1.4, 1.3, 1.2, 1.1, 1.0, 0.9, 0.8, 0.7, 0.6, 0.5 }; Then just before the gain_exp call in fight.c (damage I believe), just do this: if ((GET_LEVEL(vict) - GET_LEVEL(ch)) > 10) xp_diff = 0; /* Do this 10 more times to figure out level difference */ then do exp = xp_diff * gain; gain_exp(ch, exp); Keep in mind you may need to add these variables to damage, As I'm not sure what the exact variables in use in stock circle are, I use all these vars. Rasdan =--=--=--=--=--=--=--=--=--=--= I have done so much, with so little, James C. Thomas Jr. for so long, Rasdan That I can do anything Head Coder of Finality! with nothing. =--=--=--=--=--=--=--=--=--=--= Finality is based upon CircleMUD 3.0, check us out: finality.mudservices.com 5555 +------------------------------------------------------------+ | 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