1) How would I go about making it so, I can make a brand new formula for advancing levels, let me clearify this, right now the thing the controls advancing levels is the lvl*lvl*lvl = exp needed for your next level or gain/advancement somthing of that sought from what I remember. Heres the question what would I need to do to set up another exp formula, so I can seperate, the normal level gain from lets say the mana gain, so that when they level up according to one formula they gain the new level alone, and then have another exp formula that would advance mana.
2) Like practice points how would I go about adding "training points"? Basicly the same thing as practice points but used differently.
I'v been racking my brains over these for a while hope you can help.
Ok I greped "prac" and got a handle on how to install training points and such, thou I still need help with the adding an additional gain formula to the current one so mana can be seperated from the normal gain.
I dunno how its set up in smuag, but as far as I know, you should be able to go into the update, find the call to gain_hp, or whatever its called, and add a call to gain_mana, then write gain_mana seperately, outside of gain_hp. As far as I know, though, there is a seperate call for gain_mana anyways, at least in SWR, and I can't see it being that much different, so just find it, should be in update.c, and edit the formula in there. Please excuse the nonsensical babble.
Thats what I dont get I know I would have to pull mana from the "advance level" section and make somthing like advance_mana, other sections like that, but I dont know how to relate the exp formula in there allready to the advance section. I'm very lost in this, it's one of the last stages of getting the code to a point where I can offically open, well open for building...then theres minor stuff, but I think this is my main problem right now.
Ok, are you trying to increase the players max mana when they level? or are you trying to set up the function to replenish lost mana? If its the first case, look in update.c for the gain_exp function, and look for something similiar to this:
ch_printf( ch, "You have now obtained %s level %d!\n\r", ability_name[ability], ++ch->skill_level[ability] );
advance_level( ch , ability);
That should be at the end of the function. You need to add something like this to the end of it
if ( ability == COMBAT_ABILITY )
{
ch->max_mana += 1 + (ch->perm_con * 0.25);
send_to_char("Your maximum mana has increased!.\n\r", ch);
}
Assuming that you wanted mana to increase with combat, of course, and adjust the formula accordingly. As far as the second option goes, I beleive that the should be a function called mana_gain in update.c, just change the formula in there.
Gah this problem has me feeling like a tard, I still cant figure this out, I'v looked all around for things in the code to give me a hint as to how the leveling relates the exp formula to the advancement it self and nothing, swr levels work a bit off from what I see in smaug..thou maby how they set theres up could help thanks for try'en, thou yeah...stuck again. As for the question it was how to make a second exp formula/table that would seperate the regular level up in smaug from the mana gain, so you could level up at 21412 exp but you dont get a mana gain till I dont know 2343222 exp just as an example.
You probably want to change the exp_gain function... that's the thing that looks at ch's XP compared to the XP ch needs to advance. You'd need to make a new function to determine when the ch's "mana level" advances... but I think you're going to get into a mess, because you'll ALSO need a new version of advance_level (or whatever it is) to up the "mana level" when mana is gained.