Hp/Mana gain

Posted by Tenchi on Sun 29 Jul 2001 12:54 AM — 6 posts, 21,907 views.

#0
I don't like the gaining of HP and Mana in the current smaug. Is there an easy fix as how to assign (even better, a range of assigning with the minimum as the last stat)?

If you have a steady gain of say.. 2 hp.. at the start of the levels, you're accomplishing more percentage then when you're at say.. level 99 (I changed the max levels). The difference between a level 95 and a level 99 is so little, that they can kill each other off quite easily then say.. a level 1 to a level 5.

Thanks
-Tenchi

P.S> It's great seeing someone who's been dedicated to helping others for so long. Thanks Gammon!
Australia Forum Administrator #1
I'm not sure I quite understand your new method, but I would look at the function advance_level in file update.c.

That is where it calculates the HP gain.

Oh, and thanks for the thank you. :)
Amended on Sun 29 Jul 2001 02:56 AM by Nick Gammon
#2
I mean.. I want to set each level's hp/mana/move by level

Why?

At level say.. 1.. you gain more % of your stats.

At level 99, you gain a much less % of your stats, and thus leveling doesn't change much as a whole. You only gain maybe 8-10 out of around 500+

What I am trying to do is set predefined level stats then plus a roll modifier. IE

level 1 your hp would have 1d8+50
level 2 your hp would have 1d8+60
at level 98, your hp would have say.. 2d100+10000
at level 99, your hp would have.. 3d100+12000

I hope I that helps with understanding what I'm trying to think up here ^^; My main goal is to have players still want to level with appropriet rewards, instead of a measly 8 hit points when you already have ten thousand hp
Australia Forum Administrator #3
Already that function does a table lookup - it calculates hp to add from a table (con_app) based on current constitution. You could replace that with a table lookup of the numbers you choose and use the "dice" function to randomise it a bit.


add_hp = con_app[get_curr_con(ch)].hitp + number_range
(
class_table[ch->class]->hp_min,
class_table[ch->class]->hp_max
);
#4
But what about the different classes? How would I give each class their own set of numbers?
Australia Forum Administrator #5
By having a table per class. Make a structure that holds the 3 numbers (eg. 5 d 6 + 8) and then create an array of those structures, one for each class. Then depending on the class index into the appropriate array.