Commit Graph

11 Commits

Author SHA1 Message Date
cohrs
607f63e5fd score wrapping band-aid
This patch simply keeps the score from wrapping by capping it at LONG_MAX.
If someone wants to change the score to be unsigned, some changes will
need to be made to tweak this code (and use ULONG_MAX instead).
I'm assuming that our platforms all have limits.h.
2004-03-26 18:28:28 +00:00
cohrs
559be58c21 conflicting delayed killers
Introduce a new set of functions to manage delayed killers in the trunk, used
in addressing the various reports of delayed killer confusion.  Since existing
delayed killers are related to player properties, the delayed killers are
keyed by uprop indexes.  I did this to avoid adding yet another set of
similar identifiers.
- the new delayed_killer() is used for stoning, sliming, sickness, and
delayed self-genocide while polymorphed.  Some other timed events don't
use it (and didn't use the old delayed_killer variable) because they
use a fixed message when the timeout occurs.
- A new data structure, struct kinfo, is used to track both delayed and
immediate killers.  This encapsulates all the info involved with
identifying a killer.  The structure contains a buffer, which subsumes the
old killer_buf and several other buffers that didn't/couldn't use killer_buf.
- the killer list is saved and restored as part of the game state.
- the special case of usick_cause was removed and a delayed killer list
entry is now used in its place
- common code dealing with (un)sliming is moved to a new make_slimed function
- attempted to update all make dependencies for new end.c -> lev.h
dependency, sorry if I messed any up
2003-09-29 19:24:20 +00:00
nethack.allison
22ce5ed6f2 trunk only: preserving context (src files)
Pat Rankin wrote:
> collect them all into some new struct and
> save that separately rather than jamming more non-option stuff
> into struct flags.

This patch:
- collects all context/tracking related fields from flags
  into a new structure called "context."
It also adds the following to the new structure:
- stethoscope turn support
- victual support
- tin support
2003-09-21 11:52:54 +00:00
nethack.rankin
5701729bc1 fix B14013 - experience calculation
Put in the missing parentheses that <Someone> reported; I don't know
how much that's going to impact experience calculations.  Also, update
some related code that didn't reflect the increase in default speed
from 10 to 12 back in 3.3.0.
2002-11-20 22:44:15 +00:00
nethack.rankin
30f6fbb5fe B04002 - blessed gain level vs XL 30
Fix the problem [reported in the newsgroup and forwarded by <Someone>]
of blessed potions of gain level having the possibility of reducing
your experience points if you were already level 30.  The random XP
value that averages "half way to next level" could be less than your
current experience if you had gotten to level 30 via such a blessed
potion or had drunk at least one of same since reaching that level.
This didn't really make any difference to game play since you weren't
losing any levels, HP, mana, or score, but it was visible to users who
enable the `showexp' option.
2002-07-13 12:19:09 +00:00
nethack.rankin
174dbea372 #levelchange fix
Using #levelchange to reduce experience level would put nethack
into an infinite loop if the character had life-drain resistance.
2002-06-24 10:30:23 +00:00
nethack.allison
06528d1002 3.3.2 to 3.4.0 2002-02-04 16:06:00 +00:00
kmhugo
b22af87dea Mac pragma tuneup
The Macintosh CodeWarrior port does not need nor support
the undefined pragmas.
2002-02-02 05:40:40 +00:00
dean
84b72da0eb update unused pragmas Update some of the mac pragmas for unused variables for the MPW compilers. 2002-01-23 06:14:21 +00:00
nethack.rankin
f7c01ecc71 [Checked into cvs.]
When potions of full healing got added, they included the
ability to restore lost experience levels when blessed ones are
quaffed.  This patch throttles them so that when multiple levels
have been lost, drinking multiple potions can only restore half
of those levels.  Also, it prevents them from fixing any level
loss which occurs if you polymorph into a "new man" (or woman
or dwarf, &c, where you can gain or lose up to 2 levels).

     This also makes the "golden glow" prayer result be at least
as good as blessed full healing by restoring a lost level instead
of giving 5 extra hit points when you have any recoverable lost
levels pending.

     And tangentially related:  gaining a level while polymorphed
now gives your current monster form an extra hit die in addition
to the latent boost your normal human/whatever form gets.

Files patched:
  src/exper.c, polyself.c, potion.c, pray.c
2002-01-18 02:48:30 +00:00
jwalz
65c31d47e3 *** empty log message *** 2002-01-05 21:05:49 +00:00