Commit Graph
100 Commits
Author SHA1 Message Date
cohrs 91b2bab5d5 R804 - fix crash caused by looking at a unique boulder symbol
The code only handled the case where the boulder symbol was non-unique.
Add code to handle the case where the boulder sym is the first match.
2002-04-19 02:28:20 +00:00
cohrs 2490b10b65 pre-known Fake Amulet of Yendor
the change to xname to lazily reset known on objects after DRIN attacks,
need not change the FAoY.  the_unique_obj already handles this
2002-04-16 04:57:51 +00:00
cohrs 27fb054937 polymorph engulfing monster display bit
- <Someone> reported that the swallowed display did not update immediately if
you managed to polymorph the monster that was engulfing you into another
engulfing monster
2002-04-15 15:33:44 +00:00
cohrs 6502474697 more prayer tuning
- Don't guarantee high results when you have high Luck, add Luck into
random param of rn1(), and just add 1 to the basis, keeping the guaranteed
fix of a single major trouble mentioned in the block comment
2002-04-15 14:56:39 +00:00
cohrs d3078778eb waking waiting monsters after non-damaging attacks
- From a bug report, there are ways to, for example, steal items
from Medusa without waking her, by clever use of Conflict.
Avoid this by removing STRAT_WAITFORU when such an attack succeeds
- it was theoretically possible to use a similar approach to steal from a
STRAT_WAITFORU monster without it noticing while polymorphed and very fast,
so bulletproof this case as well.  Simpler because failed attacks wake too.
2002-04-15 07:00:00 +00:00
cohrs 86f961ba3f crash fix: shopkeeper re-entering shop
- when a shopkeeper leaves the shop to chase the player, and the player
enters the shop, bill_p is set to an unusual value.  bill_p needs to be set
back to a valid value if the shopkeeper re-enters the shop.
- Also, the u.ushops state needs to be updated when a shop becomes tended
again if the player is in the shop.
- introduce a new after_shk_move function to handle this
2002-04-15 06:43:55 +00:00
cohrs b6be8e8af1 stale pickup_burden message in tty after
- tty interface left a stale prompt on the topl, clear it
2002-04-14 21:59:53 +00:00
cohrs 1ca03c750d tty message loss
- typing ESC would lose messages if msg_window was not displayed
- incorporate <Someone>'s fix, which causes them to be tracked, just not
displayed, and thus still available for ^P viewing later on
2002-04-14 21:45:33 +00:00
cohrs c850007966 trapped monsters
A suggestion from <Someone>
- since newsym marks physical traps that have a monster trapped as seen,
and the ^ command will tell you what it is, lookat() can tell you about the
trap too
2002-04-14 06:44:46 +00:00
cohrs 1a5f501758 R772.2 - potions of acid in pools
- mixing potions of acid and water result in an explosion, so water_damage
should cause a potion of acid to explode as well
2002-04-14 06:09:00 +00:00
cohrs d3135ffe1c R778 - prayer bit
- need to use min() not max() for action choice when not on altar
2002-04-14 04:46:11 +00:00
cohrs 9174a9030a remove prescient travel command behavior followup
- applied an intermediate version of the fix which had a bug in choosing
the intermediate location
2002-04-13 16:27:58 +00:00
cohrs 1b321e92bc remove prescient travel command behavior
Addresses reports R718, R772.1, <Someone> P's extra move bug
- when there is a previously seen path or a straight path, always take it
- incorporate fix to ensure no extra "." turn at the end of traveling, but
 still avoid stepping into traps/pools, et al
- include a general "G"-command (and travel) fix to avoid stepping in
 known pools/lava while blind
- when there is no such path, "guess" at a path by finding an intermediate
 location that the hero couldsee that is closest to the actual goal, the
 intermediate goal is re-determined at each step
- when Blind, don't use couldsee for determining straight paths, just direction
- do not consider doors or most boulders obstacles for picking travel
 paths, test_move has a new mode to differentiate this case from the regular
 test case
- don't include known trap locations in the travel path, avoids unnecessary
 stops along the way, and usually doesn't affect the path length
- reformatted the code a bit so I could follow it
2002-04-13 16:00:13 +00:00
cohrs 05fb883473 unix: install recover command by default
- Update Makefile.top to do the deed
- Update Install.unx and README.linux to reflect the changed install procedure
2002-04-07 19:05:07 +00:00
cohrs 268b70e4e3 R759 - delayed were change could cause crash
moveloop() sets a flag when a were/poly change should occur, but it
delays this change if the hero is Unchanging or cannot be interrupted (e.g.
praying).  However, by the time the change can be applied, the reason
may no longer be valid.  Reset the change indicator when this is the case.
Avoids possible strange polymorphs and were crashes.
2002-04-06 17:24:15 +00:00
cohrs 63262053ee another pass at preserving the Burdened message
- this is brute force, always update the status line each time you
insert something into a container.  If you look closely, you may still
see the Burdened message disappears momentarily doe to the many possible
messages between the freeinv() call and the point where the object is
actually put into the container.
2002-04-03 07:17:55 +00:00
cohrs 6610d63f1d no wisdom bonus from random Elbereth engravings
- check !in_mklev before giving credit for engraving Elbereth
2002-04-02 17:13:35 +00:00
cohrs 5c1ea899bf ensure touch_artifact is always called via hold_another_object
- remove the touch_artifact calls just added
- put a check into hold_another_object itself, based on the complete check
removed from makewish
2002-04-02 05:32:02 +00:00
cohrs e503714013 disappearing burdened message
- the "Burdened" message could disappear from the status line if it was
updated partway thru in_container, clearing the bot flags.  Re-order
message so it comes after add_to_container, as in 3.3.1.
2002-04-02 01:18:13 +00:00
cohrs a74ae204cf striking ID followup part 2
- test WoStriking after activating statue, not before
2002-04-01 16:51:10 +00:00
cohrs e5111e7587 striking ID followup
- only ID wand of striking, not spellbook of force bolt, seeing the spell
cast does not make the book known
2002-04-01 15:32:51 +00:00
cohrs a0ba9d1421 R739 - dead migrating monster
- It was possible for hmon_hitmon to call mhurtle to move a monster into a
hole or other trap, causing it to migrate.  Then, hmon_hitmon would
subtract hp, and could mark the monster as dead.  Later, dmonsfree would
notice the monster wasn't on the level anymore, causing the impossible.
Avoid the problem by just not hurtling the monster if it's going to die.
It's possible it will get lifesaved after not hurtling.  Technically, if it
does die, the corpse should be hurtled, but won't be.
- treat jousting similarly
2002-04-01 07:03:44 +00:00
cohrs 31c4ccd43b R363 - can't drown breathless monsters
- if you're polymorphed into an eel, you were able to drown things like xorns
- also, fix the tombstone message when an eel drowns you, it was basing the
message on your location, not the eel's location
2002-04-01 05:33:32 +00:00
cohrs 7c224da1e4 no sacrificing while swallowed 2002-04-01 01:37:26 +00:00
cohrs 9a5a051791 identifying a wand of striking when it activates a statue trap 2002-04-01 01:22:39 +00:00
cohrs 62519872b9 tripping over objects under water
- cannot trip over submerged objects when you're water walking
2002-04-01 00:57:22 +00:00
cohrs 587fe0b9e7 comment bit
- the dropx comment has been wrong for a while, time to accept that
2002-04-01 00:20:58 +00:00
cohrs 6519e5a127 comment bit
- the dropx comment has been wrong for a while, time to accept that
2002-04-01 00:04:45 +00:00
cohrs 320c5e720d X11 pop-up dialog width
- the response field of the pop-up dialog was getting smaller by a few
pixels each time it was used.  This was because the width calculation
was effectively stripping off the margins (4 pixels total) each time.
Don't do that.
2002-03-31 17:11:23 +00:00
cohrs 5e94392acc tweak dowhatis description of the "Y" monster symbol
- "or other large beast" could be interpretted as meaning that all "Y"
monsters are large, but monkeys are not large
2002-03-31 07:23:36 +00:00
cohrs f49c759813 clarify travel commnd documentation
- Guidebook said traval command would stop similar to the G command, but did
not say it differed from the G command in that it disables autopickup
2002-03-31 07:19:43 +00:00
cohrs 531f703cd0 fix more "drops to the floor" cases when there is no floor
- make the code in apply.c and zap.c consistent
- use the "drops away from you" case whenever the location type does not
lend itself to using the word "floor"
2002-03-31 04:18:02 +00:00
cohrs c335aa5b43 healer quest message typo
- remove unnecessary double-quote
2002-03-30 21:25:10 +00:00
cohrs 60edf83441 discovering statue traps while blind (YAFM)
- use "something" not "it" for this case
2002-03-30 21:21:35 +00:00
cohrs a4c5af0088 bird_parts for ravens
- ravens need special parts, actual bats are still best handled by animal_parts
2002-03-30 21:16:34 +00:00
cohrs adf468910c re-merge objects removed from containers when pack is full
- affects failed removal of a partial count of objects due to a full pack
2002-03-30 20:56:09 +00:00
cohrs 1688c75b9f polymorph into a non-twoweapon form
- you can't twoweapon unless your form allows it, but polymorph wouldn't
disable twoweapon mode immediately
2002-03-30 03:01:38 +00:00
cohrs a997e11e00 wielded ball and chain
- a wielded/quivered ball would still be marked as wielded/quivered
after you threw it
2002-03-29 20:35:22 +00:00
cohrs afc7bc95c6 R722 boiling acid in fountains
- clarify the fact that acid boiling in a fountain damages you
2002-03-29 20:17:32 +00:00
cohrs e206522126 engraving a headstone with a wand of digging
- Gravel flies up from the floor is not appropriate in this case
2002-03-29 19:14:37 +00:00
cohrs 5a431589ec touchstone data.base entry
- add the short quote suggested
- someone may still want to expand on this, as also suggested
2002-03-29 18:06:02 +00:00
cohrs a1d3c539a9 Rolling boulder traps and pacifism
If you stepped on an unknown rolling boulder trap, and that rolling boulder
hit a monster and killed it, you would be called a killer.  This makes
playing a pacifism conduct game rather difficult.
- track boulders from unknown rolling boulder traps, and don't charge/credit
hero if they kill monsters. This is done by temporarily setting otrapped on
such boulders.
- boulders from known traps are still charged/credited to the hero
- fix a couple places in ohitmon where is_poisonable wasn't checked along
with opoisoned.
2002-03-29 17:56:13 +00:00
cohrs 4e60c90635 mimic caught in explosion printed message but wasn't discovered
- add seemimic call before printing the "caught" message
2002-03-27 05:08:11 +00:00
cohrs 8a3c5a621f Sunsword kept glowing after monster wielding it died
- <Someone> reported this bug to the mailing list
- add a check in relobj(), which should catch all the cases
2002-03-27 04:58:42 +00:00
cohrs 6cdf92851e half-physical-damage from gas spore explosion should only affect you
- <Someone> noticed the fix for applying half physical damage to gas spore
explosions affected damage to all monsters, not just you
2002-03-27 02:31:21 +00:00
cohrs ea18afa4dd seemimic produces transparent doors
- if a mimic mimics a boulder (top sokoban) or a door atop
a closed door the closed door didn't block your vision after
the mimic is sensed.
- also, make mondied consistent with xkilled WRT corpses on inaccessible
locations: no corpse
2002-03-27 00:58:44 +00:00
cohrs bbb9ded22f R691 - bad cursor positioning debug message
- remove the "#define DEBUG" from wintty.c that caused this message to
be displayed when not in a debugging mode
2002-03-26 21:56:03 +00:00
cohrs e8d404f87c R677 - two swords slipping due to fried food prints same message
- report: twoweapon mode, eat fried food, get messages like:
Your sword slips from your hands.
Your sword also slips from your hands.
- the fix tracks the kind of the 1st weapon, and adds "other" to the 2nd
message if necessary
2002-03-25 07:48:03 +00:00
cohrs 9138c5daf3 missing linux build package dependency bit 2002-03-25 07:37:39 +00:00
cohrs d0d0cde8e7 leashed steed dying of starvation
- prefer the regular "dies from hunger" message over "leash goes slack"
in this case.
2002-03-25 06:29:43 +00:00
cohrs 88f0680567 restore support for non-square XPM-based tiles (X11 & Gnome)
- change the way the tile sizes are calculated, based on the image size,
so non-square tiles can once again be supported.
- fix Gnome port so it can actually display non-square tiles, several
height/width uses were backwards
- update Install.X11 to note the number of tiles per row in the XPM image
2002-03-24 00:04:41 +00:00
cohrs f777aceb74 wall symbol not replaced when digging while blind and levitating
- this was reported to the mailing list just before 3.4.0 shipped
- treat in a manner similar to chopping a boulder while blind and levitating
2002-03-23 22:27:54 +00:00
cohrs d66603827b only get gems from kicking thrones
- this was a betabug I think, but not recorded as such
- if you kicked a throne, any GEM_CLASS item could be generated, including rocks
- changes behavior to be consistent with gems from fountains
2002-03-23 22:11:07 +00:00
cohrs a305cc097e README.linux sync
- forgot to apply this change before making the 3.4.0 binary (it was
actually built using these settings).  It's safer for the game itself to be
non-group writable so that someone on a public server can't exploit a
bounds checking or similar error to infect the executable itself with
a trojan horse.
2002-03-23 21:58:42 +00:00
cohrs 0158906de5 track Revision in Guidebook's
- Keni mentioned on 3/20 that it would be nice to have $Revision$
in Guidebook.mn.  Added to both .mn and .tex versions.
2002-03-23 20:03:20 +00:00
cohrs 5267502103 clean up Files 2002-03-21 04:37:35 +00:00
cohrs 0d9c056e03 final? 3.4 Guidebook.txt update 2002-03-20 15:27:09 +00:00
cohrs bdfcd6915e Gnome player selection
- provide full 3.4-style player selection, based on tty_player_selection
- generalize selection dialog so it can be used for all 4 prompts
2002-03-19 08:27:55 +00:00
cohrs e6c317835c /tmp/msg 2002-03-19 04:20:20 +00:00
cohrs 6fc7d44345 better trap searching behavior
- if a trap is hidden by clutter, cls() before delay, remove windowport
specific behavior, makes trap more obvious in all cases
2002-03-18 07:30:48 +00:00
cohrs a0a0a0e5dd kelp fronds are really not gems
- finish un-confusing the kelp frond case
2002-03-18 06:58:18 +00:00
cohrs 104814e2c8 kelp fronds are not gems
- mksobj had a misplaced test for KELP_FROND in the GEM_CLASS code, moved
to the FOOD_CLASS code
2002-03-18 06:46:01 +00:00
cohrs 2031835cb0 One leftover height use in Qt tile support 2002-03-18 00:02:51 +00:00
cohrs 48049de0ba Gnome basic functionality
- Makefile.src update for new dependency
2002-03-17 22:36:57 +00:00
cohrs 61b6bf1ce9 Gnome basic functionality
- let the "#" key work as per Guidebook
- role selection didn't work if you had gender specified in your .nethackrc
  similar problems would occur for other .nethackrc selections
- fix an obvious memory leak
- fix one crash bug from accessing a freed pointer (M-? dismiss M-?)
- note some invalid behavior in comments for a real Gnome developer to fix
- reformatted some code so I could follow it
2002-03-17 20:16:57 +00:00
cohrs 0ffb78e6a4 X11 wide tilemap support - Gnome patch
- update Gnome code to support a 40 tile wide XPM file
2002-03-17 20:04:56 +00:00
cohrs b6189efe2a X11 wide tilemap support
- support X11 tile files (with or without XPM) that are 40 tiles wide
- rearrange some X11 code to share more code between XPM & non-XPM options
- clean out some deprecated X11/winmap.c #ifdefs
- update Qt code minimally to handle such an XPM file
2002-03-17 20:02:47 +00:00
cohrs 72bf49f3e4 regenerate Guidebook.txt
- created on RedHat Linux 7.2 using standard tools
2002-03-17 15:49:09 +00:00
cohrs 99329cddf6 minor Guidebook.mn update
- remove a strange \! in the section for Blind users
- update the wording in the subsequent paragraph to be consistent with
the wording in the preceeding IBMgraphics paragraph
2002-03-16 06:11:17 +00:00
cohrs c2f12a3ae4 nethack.txt update
- created on RedHat Linux 7.2 using standard tools
2002-03-13 02:59:38 +00:00
cohrs 588c263a57 Guidebook.txt update
- created on RedHat Linux 7.2 using standard tools
2002-03-13 02:57:42 +00:00
cohrs c7cb4ee272 more credits
- update dat/history to match Guidebook
- use my name consistently :-)
2002-03-13 00:54:43 +00:00
cohrs 10a42a6b04 Guidebook credits
- remove several people from the 3.4 list who haven't contributed in a while
2002-03-13 00:38:12 +00:00
cohrs 1dcd580e90 undef WIZARD
- quiet a gcc warning if WIZARD is undefined
2002-03-12 22:41:48 +00:00
cohrs 6d2a564e52 more help file clarifications
- A pcwin team member reported that the ^<dir> notation used in a couple
help files was confusing
2002-03-12 17:17:50 +00:00
cohrs ef11d4b5e0 documentation updates
- various commands were missing from various help files
- fix a few inconsistencies between similar help files
- M-2 doesn't do #twoweapon when number_pad is enabled
- M-? usually displays #? help info
- weasel-word the reason the screen shown in the Guidebook looks little like
  several windowports
- document the playersuffix syntax in the nethack.6 man page
2002-03-12 07:29:59 +00:00
cohrs 72951d6d8a add new sys/unix file to Files 2002-03-10 23:03:46 +00:00
cohrs 570a6e8bbd dipping into burning potions
- candles, et al, light via catch_lit
- non-weapons can be damaged
- only flammable items can be damaged, previously SILVER objects, for example,
  would get a message, but add_erosion_words wouldn't display a damage word
- can't track burnt food, put this in the "seems" case too
- PLASTIC items are is_flammable, which is appropriate for all current uses
- paper gets destroyed (special artifacts excepted by earlier check)
- a cursed potion now spills even if not dipping weapons
- charge for damaging unpaid objects this way
- still very hard to destroy PYEC this way
2002-03-09 19:28:16 +00:00
cohrs 6971feed31 more dead code 2002-03-09 17:42:22 +00:00
cohrs ec2bdba94c writing in fog
- if you engrave in a cloud, the surface type should only be "air" if you're
on the air level
2002-03-09 07:17:00 +00:00
cohrs a9835fd23c more update_inventory calls
in passive_obj and erode_armor
2002-03-09 06:55:52 +00:00
cohrs a35ca5e744 parallel unix make bits
- Pat noticed that makedefs -z makes both vis_tab.[ch], but they could be
built by two makes via make -j, causing corruption
- make -j at top level failed for similar reasons, added several
dependencies to ensure a valid ordering
- these changes will cause extra things to be built if you "make"
individual targets at the top level, but have little effect it you're a
real power user and "make" the actual target in the right directory
2002-03-09 06:41:49 +00:00
cohrs ce22d17c01 lava effects while riding
- a case missed by the earlier lava patch, if you enter the lava while
mounted, your steed would be unaffected if you were lifesaved
- fix by making more code shared with the is_pool case
2002-03-09 04:10:24 +00:00
cohrs fb27e35694 fixing bad luck via sacrifice
- From a bug report: if sacrifice doesn't clear the timeout until prayer,
your bad luck is cleared, but if it does, your luck could remain negative
2002-03-09 02:56:46 +00:00
cohrs e22c225c4e provide linux build instructions in the source distro 2002-03-08 23:41:57 +00:00
cohrs 3ca42c2265 another "your corpse" case
- switch aobjnam() to use cxname, not xname
- update Tobjnam() comment, since it can still use xname w/o confusion

A specific case that's fixed: You begin bashing monsters with your corpse.
2002-03-06 04:14:30 +00:00
cohrs 51fac7ac64 iron bars and wallification
- iron bars should be treated like doors with respect to wallification
2002-03-05 07:46:40 +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
cohrs c8e3ea61f6 ambiguous option matching
Note: actual option setting code in parseoptions already does this correctly
- avoid testing the same options values vs multiple boolopts entries
- apply similar change for complex option testing
- remove some dead code
2002-03-03 20:29:36 +00:00
cohrs b2b55440c1 data.base entry additions
- doppelganger & nori
2002-03-03 04:46:21 +00:00
cohrs c5c394023e WIZKIT gold items
- if !GOLDOBJ, putting gold in the WIZKIT would add zerobj to the inventory.
  This shows up when you "Da" and get a message like "you drop 0 glorkum 0 0 0"
2002-03-03 03:36:33 +00:00
cohrs 89098b943a Guidebook.txt update for 3.4
- created on RedHat Linux 7.2 using standard tools
2002-03-03 00:27:39 +00:00
cohrs d1d6455534 Linux build updates
- A few Makefile changes to reflect current(?) paths on Linux
- Linux mail reader is /bin/mail
2002-03-02 22:43:39 +00:00
cohrs 8fb7664869 fix more your corpse cases
- new cxname() to simplify doing the right thing in increasingly common cases
- use for bullwhip snagging
- in shopkeeper offer code
- in a couple other existing places rather than duplicating CORPSE checks
- use singular(...) in "swings" cases, since only one can hit.  Singular uses
  corpse_xname automatically when appropriate
2002-02-27 05:15:48 +00:00
cohrs f33ab026b8 shattering corpses
- generalize which weapons can be shattered to be >= WOOD
2002-02-26 22:07:24 +00:00
cohrs 0f1615c7ad simplify touchstone object choosing
- remove special case code from getobj for touchstone
- remove other hacks from getobj that resulted from earlier hack, solves
  the "rub on the gold stone" problem completely
- pass correct letter list to getobj from use_stone, like other callers
2002-02-26 07:36:30 +00:00
cohrs 63908bbed4 'D'ropping gold messes up inventory
- new splitobj() behavior requires special casing when !GOLDOBJ and
  dropping some of your gold, to ensure that the remainder remains the first
  item in the inventory
2002-02-25 05:51:44 +00:00
cohrs 6db3117830 sling, like whip, shouldn't shatter from a blow 2002-02-25 02:57:57 +00:00
cohrs 7f5285b1ee converting SCORR to CORR unblocks vision
- fix several cases where a point was unblocked by unblock_point wasn't
 called, directly or indirectly
2002-02-25 02:43:50 +00:00
cohrs f9aaeda9b9 monsters jumping into hidden traps
- if a monster jumps into a trap in an SCORR, and you see it, convert to CORR
2002-02-25 01:02:55 +00:00