Commit Graph

62 Commits

Author SHA1 Message Date
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
cohrs
5e443536d8 "your" artifacts
This patch introduces a change to yname() and Yname2() that avoids the
possessive "your" for the hero's normal, fully identified artifacts.
Quest artifacts still get the possessive, as do all other objects and all
objects not in the hero's possession.  shk_your()/Shk_Your() are used in
many places with a specific, generalized name for the object, so I didn't
introduce the artifact behavior there, although I did change them to append
a space, which simplified some other code.  Through added use of yname(),
there may be some places that used to just say "corpse" that will now be more
descriptive via yname()'s use of cxname().  I'm sure <Someone> will point
out any such places that are too onerous, although nothing obviously is.

I took the opportunity to inspect many uses of "your" and even Your().  Two
new functions are also introduced, yobjnam() and Yobjnam2(), which work
like aobjnam() and yname() combined, because I found that many uses of
aobjnam() were preceeded by "your" and I couldn't generally provide the
desired behavior for artifacts (or future artifacts) without a combined
function.  In some cases, this change allowed better sharing of code.

rust_dmg() still takes a string as input which is sometimes initialized
from xname() and often prepends "your" to it.  Currently, this isn't a
problem since there currently are no normal, armor artifacts.  If/when any
are introduced, rust_dmg() will need to be addressed.

The patch is for the trunk only.  A lot of research was required and I
didn't feel the upside was there for repeating it in the 3.4.3 branch.
2003-09-18 02:52:40 +00:00
nethack.allison
416412f92b Remove vestiges of old overlay source split
[trunk only]
2003-09-05 02:45:18 +00:00
nethack.allison
6f56da5261 final qbuf patch
This is my final src mod to ensure that a qbuf does not overflow due to
a lengthy named object.  These recent patches, coupled with the core yn_function() patch earlier, should make it much rarer for a QBUFSZ
buffer overflow to occur in a window port routine (unless the window
port routine has its own bugs, but that isn't the core's fault).
2003-05-10 21:11:16 +00:00
cohrs
310d1d53fd B01001 - locking/unlocking a door while in a pit
Since you can't reach a door to open it while in a pit, it makes sense you
can't lock/unlock it either.
2003-03-23 20:22:00 +00:00
nethack.allison
9816ca5a5b Another switch to get_adjacent_loc() 2002-12-09 02:06:40 +00:00
cohrs
a372574583 B08018 - vision when breaking closed doors
Do vision_recalc immediately when blasting a door so that all the
subsequent messages for the same blast hitting other things are all
evaluated with the same vision in effect.
2002-08-21 04:48:17 +00:00
cohrs
194e43f882 messages when destroying a chest
Remove the special case of "the" vs "a" in chest_shatter_msg(), just
use an/An as appropriate.
2002-07-05 15:58:16 +00:00
cohrs
bf2190c55e allow locks to be forced again
- use uwep's oc_wldam value, not chest's oc_wldam value, for computing chance.
  oc_wldam has always been 0 for all containers
- the code was broken for a long time, but was masked by the off-by-1 error
  in checking the chance, allowing a 1% chance of forcing
- the result is that forcing locks is a lot easier
2002-03-05 06:21:05 +00:00
nethack.allison
06528d1002 3.3.2 to 3.4.0 2002-02-04 16:06:00 +00:00
nethack.allison
f2fe0a3d5c The word "zorkmid" was hard-coded in format strings all
over the place.

Often they would use
	"%ld zorkmid%s", amt, plur(amt)
but not consistently, so some of the hard-coded usage
could result in "1 zorkmids"

This adds the function
	currency(long)
to return the name of the currency, either plural
or singular depending on the argument passed to it.
That eliminates the need for the extra %s in the
format string and the use of the plur() macro.
2002-01-21 03:35:04 +00:00
jwalz
3de6c2e9a1 *** empty log message *** 2002-01-05 21:05:49 +00:00