Commit Graph
100 Commits
Author SHA1 Message Date
David Cohrs 25130e394c fix H2766 - jumping while punished could leave ball in wrong place
Affected both intrinsic and spell-based jumping.
hurtle_step now drags the ball.
2016-02-10 13:47:43 -08:00
David Cohrs d01e45a6cc vortexes and unsolid monsters need not avoid webs
Based on a bug report from beta testers in 2010. mintrap()
already had partial checks for this (now fire vortex also burns
a web, as per suggestion in the bug report) but mfndpos()
lacked checks so mintrap() code was almost never exercised.
2016-02-03 11:50:03 -08:00
David Cohrs 288ac4b07c avoid crash for long lines in nethackrc
read_config_file() has used a buffer of size (4 * BUFSZ) since 3.4.x
so parse_config_line() needs a buffer of the same size to avoid
buffer overrun. Allows my old .nethackrc to work again.
2016-01-28 18:40:59 -08:00
David Cohrs 7ce5225501 fix whitespace of previous commit 2016-01-15 20:50:46 -08:00
David Cohrs 4d2c82e482 Only print giant snatching boulder message when cansee pos.
Reported by a couple times directly to devteam, no bz.
2016-01-15 20:35:15 -08:00
cohrs 12d0bd9057 /home/cohrs/msg 2011-10-02 21:27:24 +00:00
cohrs ae1d8af5f3 fix #H2326: support window resize on linux
From a bug report.  Applied the suggested change to enable window resize
support by default on linux.
2011-06-16 15:10:14 +00:00
cohrs 9b1f0899b0 fix grid bug travel bug
From a bug report, grid bug could travel 1 step diagonally
due to special case code in findtravelpath that did not check grid bug
movement restriction
2010-12-30 21:47:06 +00:00
cohrs 8a5ff16e99 gcc warning 2010-12-28 19:54:41 +00:00
cohrs 8047d6a5f8 H2162 - topten handling of long names
<Someone> reported that being killed by a monster with a long name
can result in nethack going into an infinte loop printing spaces.  Handle
this by detecting attempts to wrap the topten output on a word that is too
long and just inserting breaks in the middle of the word in this case.
2010-12-28 19:43:01 +00:00
cohrs 694a330a24 role.c compilation bit (trunk only)
gcc warnings noticed a mismatch in a format string
2009-03-22 17:02:28 +00:00
cohrs d70a61f85d remove unused variable (trunk only) 2009-03-22 15:56:55 +00:00
cohrs 28a6a8df9f H1406: jellyfish have no head
I did some research, and technically, a jellyfish does indeed have no head
(and, technically, no brain, just a "nerve net").  The part on top is a
"bell" used for buoyancy, not a head.
2008-01-25 16:58:48 +00:00
cohrs 3c73c222da linux warning bits (trunk only)
a few syntactical tweaks to silence warnings from gcc on linux
for code that was only updated in the trunk
2008-01-25 16:47:50 +00:00
cohrs 2b29d99315 digging/chopping a drawbridge
<Someone> mentioned this back in 12/05.  Digging a closed drawbridge would
result in a "This wall is too hard..." message.
2007-05-27 22:56:02 +00:00
cohrs a5640e4bc8 H206 - passive fire damage affecting weapons (trunk only)
<email deleted> reported back on 8/31/06 that elven weapons were not
affected when he poked a fire elemental with them.  This is true, but
moreover, there was no code to have passive fire to affect attackers.
Now erode_obj() supports all the same damage types as rust_dmg(), and added
the connecting code to allow passive fire attacks do something.
There probably should be macros for the damage types used by rust_dmg
and erode_obj, and possibly these functions should be combined, but they
are slightly different and dealing with that requires more thought.
2007-03-20 20:08:09 +00:00
cohrs 338e8b0a19 gcc compilation bit, missing type 2007-03-20 19:21:38 +00:00
cohrs 57d55b8e12 H264 - FreeBSD compilation bit
I cannot currently verify this myself, but it seems likely to be correct.
2007-03-15 04:20:12 +00:00
cohrs c99c3459c8 saved game memory initialization (dev only)
Qt windowport crashed on startup because a couple alloc() calls in files.c
were not zero'ing out the memory afterward.  This resulted in uninit'd
memory access if there were no saved games.  This bug is in new dev code.
2007-02-23 03:44:50 +00:00
cohrs c0418d52d6 status hilite bits
I noticed an unused array and missing ifdef in generic hilite code.
2007-02-22 16:19:04 +00:00
cohrs 2fde3bce8e polymorph dropping in-use wielded leash part 2
forgot to handle the twoweapon case, and messed up the test logic (which
appeared to work in previous, incomplete testing)
2007-02-12 21:40:16 +00:00
cohrs 5c3651e055 polymorph dropping in-use wielded leash
From a bug report, if you polymorph into
something, like a killer bee, that causes you to drop your weapon, but the
weapon is a wielded, in-use leash, the leash would be dropped but retain
it's in-use state.  However, the leash was tied to you, so it seems it
should remain attached, just unwielded, just as it would if it hadn't been
wielded.  I've changed the behavior to do this.  I wonder whether one
should be able to wield an in-use leash.
2007-02-12 21:25:52 +00:00
cohrs 33fde404e7 gcc compilation warning bits 2007-02-10 17:37:17 +00:00
cohrs 10e24ceeae H238 - spelling of Dr Dolittle 2007-02-10 17:30:24 +00:00
cohrs fe43698867 Q387 - grammar fixes in Samurai quest
"Wakarimasu?" should be "Wakarimasu ka?"
2007-02-10 16:31:14 +00:00
cohrs 365440853b U856 - cockatrice and nurses
One from the way-back machine.  A nurse would hit you-as-cockatrice repeatedly
and never turned to stone.  With this change, nurses will turn to stone (and
also don't heal cockatrices, which seems fair).  I considered giving them
gloves, but that seemed like too much effort.  There are other cases where a
monster "hits" but will not petrify.  However, it doesn't seem like passiveum
detects all the specific ways the monster "hit" you so I left them alone.
2006-10-05 06:47:39 +00:00
cohrs d04a0f808c H143 - bugles affecting all monsters
<Someone> pointed out that bugles, although noisy, only affect soldiers.
This didn't make sense to me either.  Added code so they will also affect
monsters near the bugler.
2006-10-03 03:32:26 +00:00
cohrs 94cca17049 symset followup
remove a couple unused variables
2006-10-03 03:19:59 +00:00
cohrs 01ce182b02 fireproof containers catching fire in lava
Recently reported to the list, a fireproof container dropped in lava would
catch fire and burn.  Add the missing check; this looks an oversight when
the idea of fireproof was added, since other fireproof objects get handled
later in the cascading if().
2006-09-24 23:58:39 +00:00
cohrs 7272de6881 H216 - ball and chain movement
<Someone> reported the longstanding behavior that when dragging, the chain
does not always remain directly between the player and the ball.  This occurs
when the player zigzags.  Added a check to the simple drag code to try to
keep the chain directly between the player and the ball.  But, don't do this
if the player is walking thru rock or if it would move the chain into rock.
2006-09-24 22:31:22 +00:00
cohrs 13559f1ad8 Elbereth on unoccupied locations
Pat recently forwarded a discussion that Elbereth was ignored unless there
was an object on its location.  Mostly.  It was also respected if the hero
was Displaced, no matter where the hero was.  No one commented on his
message, which I took for assent to address this.  Removed the qualifiers, so
now Elbereth is always respected, just like a scroll of scare monster.
2006-09-24 01:36:40 +00:00
cohrs 21eb6adf36 Guidebook sync for symset
Fix a few things in Guidebook.mn especially syntax errors in the new prose
about nethack symbols, and sync it with Guidebook.txt.
2006-09-23 23:23:48 +00:00
cohrs d9368a3c09 constrain monster migration in wizard tower
<Someone> noticed that when a monster escaped upladder in the wizard
tower, it ended up outside the tower.  This is due to the "wander" code in
monster migration.  Rather than add code to try to keep the monster from
crossing the undiggable wall, just add REGIONs on the tower levels within the
area, which then utilizes the existing in-a-room constraint behavior of
monster migration. Of course, one can still fill a tower level with fodder,
and then when another monster climbs the ladder, it will still end up
outside the tower.
2006-09-23 06:32:01 +00:00
cohrs a3e0bf97b1 Eyes plus stinking cloud
stinking clouds extend their timers, causing the "ttl == 0" check in
visible_region_at to be inappropriate; technically it was never quite
right, since the ttl is set to 0 one turn before removal is considered. But
with the Eyes on, this caused a visible change in the region although the
region still existed.  Introduced a new -2L value to designate that the
region is being removed (-1L means it's permanent), which is what
visible_region_at was really trying to test.
2006-09-21 15:03:48 +00:00
cohrs 2303fc8923 more symhandling followup
- yet another unused symbol, this one on files.c.
2006-09-21 06:24:44 +00:00
cohrs 81d5ba4044 more symhandling followup
- the cause of of the odd "~" with DECgraphics appears to have been caused
by the Is_rogue_level(&u.uz) tests occurring before rogue_level was
initialized.  Perhaps there's a better way to deal with this than what I did?
2006-09-21 06:24:19 +00:00
cohrs 39d5f48ce0 symhandling followup for Linux
- tile2x11 would not build because drawing.c now depended on strcmpi which
was (via STRNCMPI not being defined) defined to strncmpi which is
implemented in hacklib.c which needs panic which is defined in... I gave up
on tracking down all the loose ends and changed the strcmpi to strcmp,
which means the handling is case sensitive, but it avoids a bunch of
changes to the way the util/Makefile.
- the symhandling changes introduced a chicken and the egg problem for
ASCIIGRAPH on Unix platforms, which was getting the defn from tcap.h but
that does not get included earlier enough nor often enough.  I added a defn
to unixconf.h to mimic ntconf.h, since ASCIIGRAPH is normally defined on Unix.
- options.c included an unused decl for a function named graphics_opts
- Unix Makefile was not installing "symbols".  I'm assuming this isn't
supposed to get the DLB treatment.
2006-09-21 05:09:38 +00:00
cohrs 2b530870a3 compilation w/o WIZARD
> Michael Allison wrote:
> There are unresolved functions in the trunk if you build without WIZARD
> defined and attempt to link:
Also to a lesser extent, in the 3.4.4 branch.
2006-07-03 15:11:25 +00:00
cohrs c654fef3ff gcc compilation warning bits
some rather complex boolean operations needed more parentheses to avoid
warnings.  I think I put them in the right places.
A couple other items: naked assignments in if stmts, and an extra function decl
2006-04-25 04:08:22 +00:00
cohrs 57c3fa60b7 C343-3 creation of the Ranger quest start level
Normal maze levels are initialized from x == 3 thru COLNO-1.  However,
levels that use the INIT_MAP spec go thru mkmap, which initializes the level
starting at x == 1.  This usually makes no difference, but does in the case
of levels that also use GEOMETRY:left.  This was the case with the Ranger
start level and caused the leftmost 2 locations to be room locations but
unreachable.  The Juiblex level actually had the same behavior, but this
was harmless because the MAP in that case was smaller.

Fix is to set the xstart=1 for levels with INIT_MAP and GEOMETRY:left.
The rest of sp_lev works just with this (when INIT_MAP was used, that is).
2006-02-12 01:45:54 +00:00
cohrs cf05c21190 not really a typo
revert to "persecuted", add a comment
2006-02-05 17:09:57 +00:00
cohrs 88a5b95e65 inappropriate polyself spit attacks
Submitted by <Someone> 12/3/05.  player poly'd as guardian naga produced a
different attack than a real guardian naga.  The fix causes an algorithm
similar to that used in spitmnu to be used in dospit.
2006-02-05 03:29:45 +00:00
cohrs dfb1d04b6a inappropriate "lamp flickers" message while blind
From a bug report.  Add missing !Blind check.
2006-02-05 02:06:24 +00:00
cohrs 72d68851e2 M164: finding saved games in QT nethack start
Only 5 months old.  The Unix code to find saved games, currently only enabled
for Qt use, fails to use fqname and SAVEPREFIX, so it doesn't find saved
games when prefixes are in effect.
2006-02-05 00:58:13 +00:00
cohrs a1b0e08421 Xorns in stone outside Sokobon and other special levels
First reported 12/13/2003, I think, but my archives contain more recent reports
too.  Special level specs like NON_PASSWALL and NON_DIGGABLE only apply
to the map sections for which they are specified.  So, on special levels of
Sokobon, the large surrounding area is stone, but have no special flags set.
So, it was possible to teleport a Xorn and have it appear in this outer area.

Addressed this by checking the perimeter of the map(s) and if all are
nondiggable and nonpassable, propagate this to the surrounding stone.
This appears to be the intent on such levels, so there is no need to
force the affected special levels to explicitly specify this.
2006-02-04 23:51:26 +00:00
cohrs 0bec6ce08e another typo
One of the numerous items From a bug report, but it really doesn't make sense.
2006-02-04 21:18:15 +00:00
cohrs f11d009b4c gender and size of leaders and nemeses
Combo fix based on several reports and additional research.
In quest.txt and/or data.base, the Grand Master, Arch Priest, Ixoth, Master
Kaen, Nalzok, Scorpius, and the Master Assassin are all referred to as male
via reference: his or him.  Ideally, there would be a way to parameterize
this in the quest.txt, but I don't see a clear way to do that at this time.
For the time being at least, set the M2_MALE flag for these monsters.

The Dark One was referred to via "his" once in the quest.txt.  This case
I was able to modify the offending text rather than forcing a gender.

Orion and Norn are referred to as a giant in data.base but their size did
not correspond.  I left the symbol as S_HUMAN although perhaps it should
be S_GIANT.  Finally, Orion, the Norn, Cyclops and Lord Surtur, as
giant-types, should be able to tear webs.
2006-02-04 20:34:26 +00:00
cohrs ec26550fcc M144: grammar bit in guidebook
Agree with the reporter that 'norm to which' reads better.
2006-01-24 07:31:58 +00:00
cohrs eb4c9211ad M144: grammar bit in guidebook
Agree with the reporter that 'norm to which' reads better.
2006-01-24 07:24:54 +00:00
cohrs 03185043d8 knight quest message bit
I noticed this a while back while inspecting an unrelated report.
It seems to me the breath of a dragon is more like broiling than baking
and thought the message wasn't consistent with this.
2006-01-24 07:17:41 +00:00
cohrs 42fdb337fa gcc compilation warning bits (trunk only) 2006-01-10 19:41:38 +00:00
cohrs ea13ecbe29 updates for gcc warnings 2005-12-15 04:52:43 +00:00
cohrs b72967f6a6 avoid crash when thrown potion hits bars before a monster
From a bug report. <Someone> as slashem-Bugs-883643 on 1/24/2004.  To avoid
using the possibly invalid object pointer after calling bhit(), changed as
suggested to add another level of indirection allowing bhit to null the
object pointer before returning.  Callers that are affected update their
object pointers after bhit returns.
2005-06-21 18:51:48 +00:00
cohrs 50a9b78995 compilation bit
gcc whined about taking the address of a register variable
2005-04-28 16:28:34 +00:00
cohrs a85d3bf01c #M32: Astral vision vs normal vision
While wearing EotO, ";" and selecting a monster behind a wall would display
"normal vision" as well as "astral vision".  This is because cansee() gets
set for things seen via astral vision.  However, couldsee() is only set for
things that could be seen normally, so check both values.
2005-04-15 19:42:08 +00:00
cohrs a3341e071b M36 - can see through polymorphed boulder
The vision matrix was updated in the boulder->statue case, but
not in the statue->boulder case.
2005-03-28 18:24:35 +00:00
cohrs 8e063814f4 Drawbridge collapse bug
From a bug report, it is possible for the hero to
appear embedded in the wall after destroying the drawbridge.  This is because
The variable "lev1", which was the entity's location, was being referenced
after e_died, but e_died can change the entity's location.  So, as <Someone>
suggested, refer to the current location directly.
2005-03-25 22:33:05 +00:00
cohrs 139269e05b typo 2005-03-25 20:31:55 +00:00
cohrs 2f497c620e M29 - unconscious effects when not unconscious
While auditing nomul() I noticed unconscious() treats (multi < 0 && !nomovemsg)
as unconscious.  This explains the behavior in M29 (unconscious message
while performing #turn).  I checked all the places with this combination,
and found a few that did not appear to fall under the "unconscious" category.
Most I changed to use You_can_move_again to ensure the same display w/o the
unconscious behavior. Also:
- found another string that unconscious() should have considered
- vomit() now sets nomovemsg, one caller was also doing this redundantly
- vomiting_dialogue() was calling stop_occupation() after vomit(), which can
  reset multi.  I reversed the order and removed a doubly-redundant nomul call.

tele() still has a problem: some cases where multi < 0 should probably take
a branch like the unconscious() branch but with a different message.
doturn()'s behavior - turn then wait - is also less than perfect, but I
think this is a known problem.
2005-03-25 20:30:24 +00:00
cohrs bf8a5983ec code cleanup
removing the remains of sync_hunger() which has been #ifdef'd out for years.
2005-03-25 20:00:15 +00:00
cohrs e367964f90 finally finished but not eating
Finally apply the patch sent by <Someone> in 11/2003 for slashem-Bugs-799278,
updated to match the current code and handle additional cases.  The fix
is brute force: always ensure nomovemsg is set when nomul is called with
a negative value.  I also scanned the code for places manually setting
multi negative, they all set nomovemsg.  It would be nice to have a function
that did the right thing, but there are several special cases and I was
not feeling creative.
2005-03-25 18:00:00 +00:00
cohrs 8225790b08 seeing lightning while blind followup
As soon as I did the commit, I saw I was missing a test before the
"tingles" message.
2005-03-19 17:22:46 +00:00
cohrs dfb1a421ed seeing lightning while blind
<Someone> reported that even when blind, you can get
"The bolt of lightning whizzes by you".
2005-03-19 17:20:06 +00:00
cohrs 7cb4b9d662 dipping in acid
Add checks to allow erosion of objects #dip'd in acid.
From a bug report.
2005-03-18 20:59:29 +00:00
cohrs 361e020847 vision thing
<Someone> reported: You kill it! A potion of invisibility shatters!
Change the rule in hero_breaks() to avoid giving info for things out of
sight, except when from_invent is set, to preserve desired behavior.
2005-03-18 05:34:43 +00:00
cohrs 5e7e8a5e5f avoid more QBUFSZ buffer overflows
Several places were not using safe_qbuf or anything equivalent to avoid
overflowing a QBUFSZ buffer.  Add more uses plus one special case.  For
the current max lengths returned by xname(), I think this is
sufficient.  This addresses a reported buffer overflow for a
"thoroughly rusty thoroughly corroded helm of opposite alignment", plus more.
2005-03-18 03:46:20 +00:00
cohrs 59cc0d221b sliming ghosts
From a bug report.  Green slime would slime noncorporeals.
Added missing checks.
2005-03-14 16:27:35 +00:00
cohrs f1bf488367 passive damage
As From a bug report, twice.  Change max_passive_dmg to multiply the
result by the number of direct attacks the aggressor can make.  This way, a
tame mind flayer, for example, will avoid pounding on a spotted jelly and
dying as a result of the Nth passive response.
2005-03-14 15:27:53 +00:00
cohrs 4b37407462 compilation bit
remove unused label gcc whined about
2005-03-14 15:02:28 +00:00
cohrs a0cc33a8fd copy/paste error in horse_parts: foreclaw vs forehoof
When horse_parts were separated from animal_parts, one "forehoof" was missed
2005-02-15 00:25:23 +00:00
cohrs ce1bf539ac U1270 - monster evading kick produces a teleport message in Sokoban
This time, it was just the message that was incorrect.  Added a
!level.flags.noteleport check before displaying "teleports".
2005-01-27 17:21:33 +00:00
cohrs c40d876c3b U1258 - removing ring of levitation while riding a flying steed
As reported, you'd get the "float gently to the ground" message even while
riding a flying steed.  Rearranged the code and added a new case for this.
I found it odd that Hallucination protected you from falling out of the
saddle due to the Sokoban air currents.  The message implied otherwise, so
I've made the sokoban_trap code apply in both cases.
2005-01-21 22:27:19 +00:00
cohrs c90746c670 polymorphing into a flyer while in a pit
<Someone> reported that if you polymorph into a flying monster while in a
pit, you must take u.utrap turns to first climb out before you can fly.  Of
course, once you're out, you can swoop down into the pit to pick things up
w/o delay.  Rather that have you automatically fly out (e.g. like quaffing
a potion of levitation), I thought it was better to take a turn to fly out,
so that's what I've implemented.

The code to deal with exiting a pit is moved to a new climb_pit function
and the "up" command now lets you climb from a pit too (something I've
found non-intuitive in the past).

Finally, I noticed that non-moving monsters could still go up/down even
though they couldn't move around.  Added non-moving checks in doup/dodown.
2005-01-18 16:17:27 +00:00
cohrs c9b11cf989 U1231 - messages ordering when displacing a pet into a trap
move the message so it's before the mintrap test.  newsym's are needed
to ensure the display is correct if a --More-- prompt results.  I left the
"frighten" message alone, except for tense.  As per Pat's suggestion, I
changed the wording to future-proof the message.
2005-01-18 15:23:47 +00:00
cohrs d0a1a6e5b6 experience calculation
fix the bug <Someone> noticed WRT experience calculation for nonphysical damage.
2005-01-18 15:01:10 +00:00
cohrs a1ce203b40 comment isqrt
Help code divers to understand why isqrt is not a complicated function.
2005-01-17 22:24:00 +00:00
cohrs 4a7c9490fe startup problems on Unix
I found I was no longer able to start "nethack", I think due to the change
in the save file structure.  But, it looks like the Unix-specific check in
bufon() was never quite correct.  I'd have to guess we've been lucky up
until now.
2005-01-13 01:36:40 +00:00
cohrs 521c9203a5 files.c fixup
With recent files.c changes, code required for Qt compilation on Unix no
longer worked.
2005-01-13 00:39:38 +00:00
cohrs 546add5359 missing copyright
<Someone>, I think, noticed there was no copyright on the window.doc.
Add one.  I don't recall when I originally wrote it, but I last changed
it in 2003, so that's the year I'm putting in.  Anyone else that wants to
share the blame, please add your name and update the year as needed.
2005-01-13 00:34:35 +00:00
cohrs e9285c9fe2 followup: drinking from sinks while levitating
This is a followup to the patch I made a couple months ago.  It replaces
the "!Levitation && !u.uswallow" checks with can_reach_floor(), which
makes a more complete set of checks and is more consistent.  I applied
this to fountains too.  I doubt that fountains hit the ceiling, and the
checks also seem reasonable for heights in between (e.g. while mounted).
2005-01-11 19:47:37 +00:00
cohrs 2a2323bab4 replacement meaningless_code patch
I moved the "else" into the comment rather than the suggested removal of
the comment.
2004-12-21 06:27:24 +00:00
cohrs 8215976fdb remove an unused variable
gcc w/warnings whined
2004-11-29 22:50:36 +00:00
cohrs 2abfb12144 U1182 - Can drink from sink while engulfed
The same occurred for fountains and drinking surrounding water while
underwater.
I also added a !Levitation check for sinks, like already exists for
fountains.  I cannot believe sinks are taller than an altar, and if you
can't pick up stuff from an alter while levitation, it stands to reason you
cannot drink from a sink then either.
2004-11-29 19:01:31 +00:00
cohrs e51713bccf prevent a panic splitbill: no resident shopkeeper
Patch was sent in by <Someone> on Sep 8:
This bug causes a number of impossible messages (starting with splitbill:
no resident shopkeeper??)

Repeat by:

Enter a large shop.
Wish for a large stack of projectiles.
Sell your projectiles and then pick them up again.
Trap shopkeeper against the door with a scroll of earth.
Throw the projectiles at the shopkeeper to anger him.
Move away from the boulder trap and wait for the shopkeeper to leave the
shop.
Throw one of the projectiles at the free space.
2004-10-03 22:14:36 +00:00
cohrs a6bff50803 X11 map scrolling behavior [from Steve VanDevender]
This isn't really a bug, but I find it does make the map scrolling in
the generic X11 version a lot less distracting.  The original behavior
produces certain boundaries where, when the cursor moves back and forth
across that boundary, the map scrolls with each crossing.  This is
particularly annoying in places like Sokoban where the player makes that
kind of movement frequently causing large jumps of the map each time.
Changing the border and delta constants in winmap.c as below eliminates
that behavior, as well as making the cursor easier to track by tending
to recenter it whenever the map shifts.
2004-10-03 22:04:20 +00:00
cohrs 4c9d161953 missing scrollbar in X11_display_file [from Steve VanDevender]
It appears that the Athena text widget in recent XFree86 distributions
does not properly honor the XawtextScrollWhenNeeded flag, so the text
widget created by X11_display_file() does not have a vertical scroll bar
when the text does not entirely fit in the window.  I have seen this bug
in XFree86 versions from 4.0.2 through 4.3.0.  Using XawtextScrollAlways
for the vertical scrollbar ensures it will always appear.
2004-10-03 21:59:18 +00:00
cohrs 7b42eff8d1 C340-18 redux
Fix the test of otrapped in ohitmon pointed out by <Someone> that was causing
my previous fix to do the exact opposite of the intended behavior.
2004-08-07 16:06:58 +00:00
cohrs baf8d3f416 invisible troll revives and can appear visible
Play a character without see invisible. Wear speed boots. Generate a troll.
Zap it with a wand of make invisible. Kill it. Stand on the same square and
wait for it to rise from the dead. It will appear as a 'T'. Hitting it then
produces the normal "Wait, there's something here you can't see!"
[ incorporate slashem-Bugs-951439 fix ]
2004-06-07 19:07:55 +00:00
cohrs 98103b2c05 remove unused variables 2004-06-05 01:57:18 +00:00
cohrs 71ffb22812 monsters using teleport traps
While trying in vain to find code that would cause the reported
priest-on-players-location behavior, I did find that the code to find
a usable teleport or similar trap was disallowing lots of locations due to
an && that should have been an ||.
2004-05-26 15:49:49 +00:00
cohrs 1616f26ce8 U979 followup - mimic mimicking a boulder on Sokobon hole
The previous change only affected mimics that started mimicing after the
level was created.  This change tries to perform a similar behavior for
randomly placed mimics that are forced to mimic a boulder on special levels.
In this case, since the symbol is fixed and the location is "random", try
several times to find a non-trap location for such a mimic.
2004-05-25 18:20:35 +00:00
cohrs 13abd42d6a U979 - mimic mimicking a boulder on Sokobon hole
On mazelike levels, mimics will mimic either boulders or statues (of giant
ants, as it turns out).  However, it does not make sense to mimic a boulder
on a hole or even a pit, since boulders would typically fall in.  Also,
statues are not typical objects in Sokoban.  So, skip statue special case
in Sokoban and always avoid the forced emulation of a boulder when on a
trap location outside a room.  This is a bit drastic, but I couldn't think of
an argument for adding the code to do this only for pits, holes, et al,
which are the most likely traps outside rooms anyway.
2004-05-24 22:07:18 +00:00
cohrs 1715ce50b9 Wrong weight of corpses on special levels
Incorporate a fix from <Someone> related to slashem-Bugs-916544.  The
weight was not recalcuated after changing the corpsenm.
2004-05-22 18:23:59 +00:00
cohrs 1fbd886068 U1047 - mimics mimicking closed doors on the rogue level
Since the rogue level does not have closed doors, mimicking one there makes
no sense.  Similar to what wand of locking does there, make mimics that end
up there mimic a wall instead of a door.
2004-05-22 01:10:01 +00:00
cohrs c6d488fb8d U1041 - monster hidden under a corpse not displayed immediately when it rots
There was already code to ensure that if a hidden monster moved, it would
no longer be hidden.  However, if the monster is asleep or whatever under
a rotting corpse, when the corpse rotted away, the monster would not
immediately become detected.  Add a check to the rot code before the newsym.
2004-05-21 21:33:19 +00:00
cohrs 0414c09c7a U917 - floating above unknown stairs
Attempting to go > while blind and floating over unknown stairs/ladder
would refer to the stairs in the "high above" message (however, the
stairs/ladder remained unidentified on the map).  Change this case so
it only refers to stairs/ladder if that's what the hero remembers on the map.
2004-05-21 21:20:16 +00:00
cohrs 0e6afc5f34 nethack man page followup
fix a spelling mistake the spell checker didn't catch
2004-03-27 05:07:17 +00:00
cohrs b5faab3a4a typo in U897 change
in the process of merging my change into the source, the "=" got lost
2004-03-27 05:03:07 +00:00
cohrs 019837d03f U897: kicking while in the air
If you kick something while in the air (i.e. on the Air level or while
in a bubble on the water level), 1) greased objects were treated specially
and 2) messages were given about the object sliding.
- add checks for kicking in the air, and always increased distance a bit
(I didn't add any checks to deal with the transition from air to water or
visa versa)
- don't set the flag that causes the "slides" message in these cases either
2004-03-26 19:26:37 +00:00
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