Page 1 of 1

What is the precise relationship between Fighting and HP?

PostPosted: Tuesday, 30th May 2017, 04:08
by monkeytor
Followup: how does training more Fighting earlier than later affect a character's eventual max HP?

Re: What is the precise relationship between Fighting and HP

PostPosted: Tuesday, 30th May 2017, 06:23
by VeryAngryFelid
It does not matter. You will have the same max HP no matter if you started training Fighting at XL 1 or 27. The same holds true for all other skills, there is no memory/history in crawl, just current skills matter.

Re: What is the precise relationship between Fighting and HP

PostPosted: Tuesday, 30th May 2017, 17:01
by asdu
Learndb says the hp formula is Floor[(8 + Floor[(1+3*Fighting)/2]+Floor[11*XL/2]+Floor[Fighting*XL/14])*(1+Aptitude/10)]. Have fun with that.

Re: What is the precise relationship between Fighting and HP

PostPosted: Tuesday, 30th May 2017, 17:24
by MainiacJoe
VeryAngryFelid wrote:It does not matter. You will have the same max HP no matter if you started training Fighting at XL 1 or 27. The same holds true for all other skills, there is no memory/history in crawl, just current skills matter.

While this is true for the effect of current skill values at the point in game-time when a function that needs that value is called, if I recall correctly the experience-point-to-skill-point conversion factor does change throughout the game, with skill points becoming progressively more expensive. So I think the most precise answer to OP is that the number of HP you have at Fighting = X is the same whenever you train it, but that the later you train it, the more expereince points it takes to get to Fighting = X. So you will get more HP/XP earlier than later, but you will always get the same HP/SP.

Re: What is the precise relationship between Fighting and HP

PostPosted: Tuesday, 30th May 2017, 17:46
by Fingolfin
MainiacJoe wrote:
VeryAngryFelid wrote:It does not matter. You will have the same max HP no matter if you started training Fighting at XL 1 or 27. The same holds true for all other skills, there is no memory/history in crawl, just current skills matter.

While this is true for the effect of current skill values at the point in game-time when a function that needs that value is called, if I recall correctly the experience-point-to-skill-point conversion factor does change throughout the game, with skill points becoming progressively more expensive. So I think the most precise answer to OP is that the number of HP you have at Fighting = X is the same whenever you train it, but that the later you train it, the more expereince points it takes to get to Fighting = X. So you will get more HP/XP earlier than later, but you will always get the same HP/SP.

That may be true, but you also get LOTS more XP in the later game, which probably offsets this mechanism

Re: What is the precise relationship between Fighting and HP

PostPosted: Tuesday, 30th May 2017, 18:42
by Implojin
asdu wrote:Learndb says the hp formula is Floor[(8 + Floor[(1+3*Fighting)/2]+Floor[11*XL/2]+Floor[Fighting*XL/14])*(1+Aptitude/10)]. Have fun with that.

Here's the code, which also handles temporary HP boosts not listed in the above formula:
https://github.com/crawl/crawl/blob/mas ... r.cc#L3855

Re: What is the precise relationship between Fighting and HP

PostPosted: Tuesday, 30th May 2017, 21:15
by monkeytor
Implojin wrote:
asdu wrote:Learndb says the hp formula is Floor[(8 + Floor[(1+3*Fighting)/2]+Floor[11*XL/2]+Floor[Fighting*XL/14])*(1+Aptitude/10)]. Have fun with that.

Here's the code, which also handles temporary HP boosts not listed in the above formula:
https://github.com/crawl/crawl/blob/mas ... r.cc#L3855


What is "Floor"?

Re: What is the precise relationship between Fighting and HP

PostPosted: Tuesday, 30th May 2017, 22:25
by Sprucery
monkeytor wrote:What is "Floor"?

It means always rounding down, e.g. Floor(5.8) = 5.

Re: What is the precise relationship between Fighting and HP

PostPosted: Wednesday, 31st May 2017, 00:01
by Siegurt
monkeytor wrote:
Implojin wrote:
asdu wrote:Learndb says the hp formula is Floor[(8 + Floor[(1+3*Fighting)/2]+Floor[11*XL/2]+Floor[Fighting*XL/14])*(1+Aptitude/10)]. Have fun with that.

Here's the code, which also handles temporary HP boosts not listed in the above formula:
https://github.com/crawl/crawl/blob/mas ... r.cc#L3855


What is "Floor"?

https://www.youtube.com/watch?v=zYKupOsaJmk