Commit Graph
100 Commits
Author SHA1 Message Date
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
cohrs e424ca4ba3 Juiblex' frozen "moat"
<Someone> reported that freezing the swamp on Juiblex' level would result
in message about a frozen moat.  Avoid this by using waterbody_name
to to determine if it's a moat or not.
2004-03-26 18:20:49 +00:00
cohrs 54feb64a0e U944: Tripping over cockatrice corpse does not petrify
added the missing check in slip_or_trip for the case where the hero
is not wearing boots
2004-03-26 18:15:29 +00:00
cohrs f349b74e0b nethack man page updates
- as requested by ESR, remove the use of parentheses from the usage
summary, it confused some man page conversion tool he has
- updated documentation for the -p option to mention the word "role"
so anyone search for role in the man page will still find it
- removed use of .UC, it is listed as deprecated in all the current man
documentation I could find, when it was even documented at all
- other minor spelling and formatting (hyphenation) changes
2004-03-26 17:23:15 +00:00
cohrs 8e4821a8f2 U172 - documetation vs implemented default for null option
The implemented default is "on", document this.
2004-03-13 01:27:21 +00:00
cohrs 5d32958e04 dipping acid in a fountain
<Someone> reported that dipping acid in a fountain did not always destroy
the acid.  It might be best to have get_wet call useup in this case, but
that would require more work.
2004-01-28 17:49:21 +00:00
cohrs e84bea2009 fleeing mimics
Reported to the list back in November: scaring a mimicing mimic will
produce a "turns to flee" message, but the mimic does not unmimic nor
does it flee.  The latter behavior made sense to me as a defense mechanism,
so I changed monflee to avoid printing the message in this case.
2004-01-27 21:10:14 +00:00
cohrs b661f86e67 U846 - xorns and pits
Change pit behavior to always mark a non-flying poly'd player as trapped in
a pit, even when Passes_walls is set.  This allows players polymorphed into
xorns to descend into pits and pick things up.  In this case, any attempt
to move out of the pit now takes a turn but always succeeds.  Also fixed
a related bug (w/o ID) that a player could become trapped as if in a pit
when leaving xorn form because u.utrap wasn't checked, and simplified the
code since the extra Passes_walls checks are no longer needed.  Also
updated code in sit.c that duplicated uteetering_at_seen_pit.
2004-01-27 19:35:09 +00:00
cohrs 7ab2bb967a Invisible monsters looking much better
<Someone> reported back in December of an invisible monster using an amulet of
lifesaving and looking much better.  While the comment in the code says the
amulet is visible, this does not mean the monster is.  Add a secondary check.
2004-01-27 17:28:00 +00:00
cohrs a5e7a67130 U880 - grammar when eating artifacts
Both the reported tombstone message and the initial message could be
grammatically incorrect for eating identified artifacts.  This begs the
question whether artifacts should be so easy to destroy.
2004-01-27 03:37:51 +00:00
cohrs 6f0fb33e9f general musical instrument use while polymorphed
Extend the previous patch to cover all blown instruments.  Also covers
the case of the player strangling.  The test is moved to a new can_blow
function to keep the test in one place.  It supports any monster, although
all current tests are for the player.
2004-01-27 00:23:31 +00:00
cohrs 661f91009b whistle use while polymorphed
Restrict poly'd whistle use to monsters that can blow a whistle.  The
restriction includes those that make no sound (or just buzz, which is a
wing-thing) and are either breathless, tiny (eg ants), headless or water
natives.  Searching monst.c, this appeared to provide a reasonable set of
restrictions.  There are a couple cases one might quibble about if someone
feels like refining this further.
2004-01-26 23:19:36 +00:00
cohrs 89022d94fd using a whistle underwater
A long time ago, a message to the list suggested that whistles should not
work underwater.  I did some google research and this does appear to be
true for most whistles.  However, magic whistles are magical, so I left
them alone (also, I did find one high-tech whistle in my research that
claimed to work underwater).  Since being underwater affects pitch,
adjusted the magic whistle message slightly for that case.
2004-01-22 23:25:15 +00:00
cohrs 0c14e67660 gcc compliation warnings
Since I last tried to compile, a couple gcc warnings slipped into the code.
2004-01-22 23:06:21 +00:00
cohrs f52e1de293 OS2 bits
Ronald Van Iwaarden wrote:
... lines 1845 and 1846 of cmd.c generate a 'value out of range
warning' due to the compiler making 0x80 an integer rather than a character
and '|'ing it with the argument.  This requires a minor change to micro.h.
[ Makefile.os2 rev does not currently make sense in the trunk. ]
2003-12-07 20:20:59 +00:00
cohrs 4bfcd1ee96 Files update, part 2
While looking thru the whole list, I found a few sorting mistakes which
confused my inspection and one misspelling.  I didn't inspect the derived
file list.
2003-12-07 18:07:28 +00:00
cohrs 691f81102e last minute Linux README bits 2003-12-06 20:55:15 +00:00
cohrs 497c3b0fad typo pluralizing tengu 2003-12-05 16:27:04 +00:00
cohrs 5b74be68fe B02002 - drawbridge vs longworm
If a long worm's head is on the drawbridge and a tail segment is at the
portcullis and you raise the drawbridge, bad monster handling occurs
because of some recursion that occurs before set_entity is called again.
Not sure when this last worked; it's broken in 3.4.2 as well.  Modified
e_died to ensure both entity objects for the same monster get cleaned up
so subsequent e_at calls behave as expected.
2003-11-27 17:37:38 +00:00
cohrs 70e25fa154 U761 - Sitting as a hider and other related is_hider behavior
While looking at the behavior of sitting hiders, I noticed other related
odd behavior.
- player hiding while poly'd as a hider that hangs on the ceiling now drops to
  the floor before sitting (similar to the behavior of movement commands).
- trappers, as per data.base, don't hang on the ceiling.  Changed the
  mattacku case dealing with hiders to not treat trappers as ceiling hiders.
- updated can_reach_floor to also exclude ceiling hiders.  This covers a
  bunch of cases, such as pickup, look-here-while-blind, and so on.  Another
  alternative would have been to automatically unhide for all such cases.
trunk only, it's a minor bug IMO and we appear to be close to a release.
2003-11-27 07:03:56 +00:00
cohrs cfa72fcee1 compilation bit 2003-11-27 06:25:46 +00:00
cohrs 43664aa310 interim status support for X11 and gnome
so these window ports can compile with STATUS_VIA_WINDOWPORT defined
2003-11-26 23:42:10 +00:00
cohrs b0560d45a0 compilation and warnings bits for new botl code
- gcc warned that the "anything" initializer needed more braces
- gcc also warned of a couple unused variables
- WIN_STATUS, when STATUS_VIA_WINDOWPORT is not defined, had no type
2003-11-26 21:54:07 +00:00
cohrs f3e2499101 B02003 - spelling of subkeyvalue option in Guidebook 2003-11-23 21:51:15 +00:00
cohrs 57a1c343dd Unix CLI option to set windowtype
Add the ability to select the windowtype on the command line on Unix using
a new -wwindowtype option.  I had thought the proposed patch could core
dump, but the default windowtype selection occurs earlier and ensures
that raw_print will always work.  So, the only problem with the proposed
patch was it didn't move the linux and sco special-case code until after
the selection was made.  That special-case code really should be moved to
to wintty.c, IMO since it doesn't affect other windowtypes.
2003-11-23 21:36:36 +00:00
cohrs f8d6b1d41f lit and unlit corridors
The default symbol for lit and unlit corridors are the same.  This makes
the lit_corridor option a no-op where the defaults are used and also means
that using a light scroll/spell a corridor has no obvious effect.  To
address that, I special-cased the lit corridor symbol and change its color
to bright white when its the same symbol as the unlit corridor symbol (I
didn't change the default color since I thought that made the lit corridor
look strange using the windows console interface).
2003-11-23 21:24:16 +00:00
cohrs 5993a8fdc7 unused variables
remove unused variables gcc warned about
2003-11-23 20:54:41 +00:00
cohrs 2b6a7174dd El-bereth
add a troff control to ensure Elbereth is not hyphenated.
2003-11-21 16:17:03 +00:00
cohrs f1129d502f Guidebook bits
Guidebook used both "behavior" and "behaviour".  I think this was the
only word not using the US-English spelling.  Also fixed a spacing bit
in Michael's latest rev to the .mn version.
2003-11-15 21:01:46 +00:00
cohrs 800baf8771 B01001 - bold menu_heading support
Not really a bug, but when TEXTCOLOR is defined, wintty can display menu
headings is bold upon request, but didn't.
2003-11-10 00:15:47 +00:00
cohrs cf07cbf556 U716 - trapped monster switching weapons
A trapped monster with one step between you and the monster (@.@) would
repeatedly switch between a ranged and hand-to-hand weapon if carrying both.
Since the monster switches each turn, it will not make ranged attacks.
Modified the test in dochug to prefer a ranged weapon in this case.
2003-11-05 15:47:50 +00:00
cohrs 4981e82bb4 U716 - trapped monster switching weapons
A trapped monster with one step between you and the monster (@.@) would
repeatedly switch between a ranged and hand-to-hand weapon if carrying both.
Since the monster switches each turn, it will not make ranged attacks.
Modified the test in dochug to prefer a ranged weapon in this case.
2003-11-04 05:52:54 +00:00
cohrs 64f2d8a37b sleeping shopkeeper
Pat verified something I had wondered about, that various tests of mcanmove
in shk.c should have also been testing mcanmove.  There may well be other
tests of mcanmove in other files that need fixing.
2003-10-30 04:31:05 +00:00
cohrs e8a53c9ea3 sleeping monster responding to attacks
when msleeping is set, mcanmove is not cleared.  mcanmove applies only to
mfrozen.  So, mattackm needs to test both mcanmove and msleeping.
mattackm will not wake the defender if the attack misses.
2003-10-30 02:40:45 +00:00
cohrs 05f2aa40ce crash on hangup following
restore the exit_nhwindows call, but in the right place.  without this,
the window inteface doesn't get a chance o shut down.
2003-10-27 00:59:54 +00:00
cohrs 1dae4245f5 crash on hangup
the message history saver needs the windows to stick around until save
is completed.  This usually the case, but end_of_input() was calling
exit_nhwindows prematurely.  This is actually an old bug (calling it early,
but wasn't harmful until other recent changes).
2003-10-27 00:39:45 +00:00
cohrs cd7e1163e1 changing level workaround (C341-13)
Use a new flush_screen(-1) call to toggle 3rd screen update in goto_level.
This keeps the 3rd screen state unchanged, no matter what happens at higher
levels, ensures the map window cursor stays on the hero, ensures the
hero's showrace colors remains bright white, and so on.
2003-10-25 19:28:54 +00:00
cohrs 25d9778b64 stone to flesh bit
<Someone> suggested and I agree (mostly, if you're a Monk poly'd to a
strict carnivore, I think it should still smell delicious):
> "You smell the odor of meat." (if herbivorous)
> "You smell a delicious smell." (otherwise)
> I think that if your character is a monk or still veg(itari)an, you should
> also get the first message. Even if you're not intentionally vegitarian,
> the first message is still appropriate.
2003-10-24 05:58:39 +00:00
cohrs a9c80974e8 another conflict abuse
Reported a really long time ago (June 2001) by <Someone>:
 - stand on the upstairs and engrave Elbereth with a /oFire
 - create Demogorgon and e.g. a tame dragon
 - cause conflict
 - Dragon will kill Demogorgon and Demogorgon will never ever attack Dragon.
All monsters could still attack Demogorgon without response via fightm().
Modified fightm() to include a bit of code in m_move and dog_move, allowing
response to an attack.  Testing this in action, Demogorgon still usually
did things detrimental to the player, mostly summoning nasty monsters.
2003-10-24 01:59:48 +00:00
cohrs f7a681a139 inappropriate lit_corridor check
To reproduce: disable lit_corridor, enter a corridor, read a scroll of
light, then read a cursed scroll of light.  The corridor won't darken again.
A test of flags.lit_corridor in newsym was at fault.  I'm guessing this was
never noticed because lit_corridor is on by default on Windows and the
default lit and unlit corridor symbols are the same on most other platforms.
2003-10-23 06:49:22 +00:00