HP and Pw multiplication (trunk only)
Fix the problem pointed out by <email deleted>
where polymorphing into a new man at level 1 could be used to approximately
double or triple your hit points and spell power. With means to drain
level back down to 1 and with amulets of life saving to survive those times
you lose levels instead of gain, you could do this repeatedly and end up
with HP and Pw values in the millions.
This uses the earlier patch that records the HP and Pw increments from
level gains. Now when polymorphing into a new man, level based HP and Pw
are removed from the current values, remainder get multiplied by 80%, 90%,
100%, or 110% (average 95%, so tend to drop slightly), then a brand new set
of level gain increments (reflecting new man's Con and Wis) are added in.
Code for calculating spell energy is moved from pluslvl() and u_init()
into new routine newpw(). It and newhp() take over responsibility for
remembering the level based increments from pluslvl() which didn't deal
with the initial amount (stored in slot [0]; earlier patch didn't need it).
This commit is contained in:
@@ -85,6 +85,7 @@ various actions--such as enchanting--performed on an unpaid shop object
|
||||
increase the current bill (when its value is raised)
|
||||
adjust health threshold where wounded hero will be healed by successful prayer
|
||||
prevent lose-level+regain-level cycle from arbritrarily boosting HP and Pw
|
||||
prevent polymorphing into "new man" at low level from magnifying HP and Pw
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
Reference in New Issue
Block a user