Jump to content

Restless Souls/Wishlist: Difference between revisions

m
→‎HUD: hypos potentials now stackable -- I still have to sort out things on taking damage while regenerating, and also giving a penalty on regeneration
m (→‎Hyposprays: stackable potentials, they really thought of everthing ...)
m (→‎HUD: hypos potentials now stackable -- I still have to sort out things on taking damage while regenerating, and also giving a penalty on regeneration)
Line 480: Line 480:




'''Simplified pseudo code for health calculation'''
'''Health calculation'''


Demonstrated on Oni 1 health values...
An applied hypo gives you points equal to your full normal health health. At this time these points a termed "potential" because they aren't multiplied yet with hypo factors.


: NormalMax - Current = Dif
As long as you regenerate normal health you regenerate from your potential multiplied by 0.25 (Oni 1 default).
: Potential = HypoStrength * NormalMax
: Rest = Potential - Dif
: if Rest < 0 then
:: New = Current + Potential
: if Rest => 0 then
:: New = Current + Dif + Rest/HypoStrength


* Normal max. health = 200
As soon as you reach overhealth you multiply one point of potential by 1 (Oni 1 default).
* Overhealth max. = 400
* HypoStrength = 0.25


Let's say your maximum health is 1000 and with overhealth you are at 2000.


Example 1
Taking 2 hypos at health 750 will regenerate you 250 points of normal health and then - because reaching overhealth - you get another 1000 points. So taking 2 hypos at 750 health points will let you reach 2000.
: NM(200) - C(149) = Dif(51)
: P = 0.25 * 200 = 50
: R = (P)50 - D(51) = -1
: R < 0 = true
:: New = (C)149 + (P)50 = 199


Example 2
A calculation with "potential" give you the advantage to stack hypos more easily.
: NM(200) - C(150) = Dif(50)
: P = 50
: R = P(50) - D(50) = 0
: R < 0 = false
:: New = C(150) + D(50) + R(0)/0.25
:: New = 150 + 50 + 0 = 200
 
Example 3
: NM(200) - C(200) = Dif(0)
: P = 50
: R = P(50) - Dif(0) = 50
: R < 0 = false
:: New = C(200) + D(0) + R(50)/0.25
:: New = 200 + 0 + 200 = 400




8,018

edits