Commit Graph

2973 Commits

Author SHA1 Message Date
nhmall
c5fbae0a4c Merge branch 'NetHack-3.6' 2019-05-17 12:06:58 -04:00
nhmall
2aee73642d fix some billing and pricing issues when globs coalesce
payment issue caused by glob coalescing
glob pricing did not consider coalesced weight
2019-05-17 12:04:01 -04:00
PatR
4201c21d23 farlook feedback for overloaded symbols
When using '/' or ';' and picking--not just viewing the autodescribe
feedback for--a space or '#' on the map, the game would produce
 That can be many things (stone)
or
 That can be many things (corridor)
unlike the usual
 -     the interior of a monster or a wall or an open door (wall)
when the symbol matched more than 4 things.  I first changed it to
append the full sentence's missing period, but ultimately switched to
 #     can be many things (corridor)
so that the symbol that "many things" refers to isn't hidden.  This
works better for ^P where player isn't looking at the symbol anymore.
2019-05-16 15:26:35 -07:00
nhmall
2d4e292de6 fixes37.0 section header bit 2019-05-12 08:16:01 -04:00
nhmall
cdcc93fec2 catch up on fixes37.0 entries 2019-05-12 08:10:21 -04:00
nhmall
717829627a add windows startup msg fix to fixes36.3 2019-05-11 22:04:56 -04:00
nhmall
a7f779eda4 add windows startup msg fix to fixes36.3 2019-05-11 22:01:23 -04:00
nhmall
de00561855 Merge branch 'master' into NetHack-3.7 2019-05-11 08:50:32 -04:00
nhmall
b50faf4031 Merge branch 'NetHack-3.6' 2019-05-11 08:50:05 -04:00
PatR
4a1f1292d9 fix #H8712 - curses menu selector overflow
The curses interface would assign menu selector characters a-z, A-Z,
and then 0-9, but trying to type 0-9 would start a count rather than
select an entry, and if the display was tall enough for more than 62
entries, the ones after '9' were ASCII punctuation characters.
Limit the number of entries per page to 52 + number_of_'$'_entries
(which should be 0 or 1) so that it won't run out of normal letters.

The perm_invent window, if enabled, ought to allow more than that
because it isn't used to make selections and might have an arbtirary
number of '#' overflow entries.  But I'll leave that for somebody
else to tackle.

Tested by temporarily setting the limit to 26 instead of 52 since
I'm not able to display anything tall enough to exercise the latter.
2019-05-11 03:04:53 -07:00
Pasi Kallinen
217671e00f Remove built-in speaker support
The changes to amiga, mac and msdos builds are untested.
2019-05-11 11:10:00 +03:00
nhmall
02826c4ebc Merge branch 'NetHack-3.6' 2019-05-10 22:54:38 -04:00
PatR
0ef58589f1 place_object vs multiple boulders
When place_object() puts a non-boulder underneath a boulder, make it
put the non-boulder under all the boulders there rather than just under
the topmost one.  Otherwise the map display will show the non-boulder
rather than the 2nd boulder if the top boulder gets moved away by some
means other than pushing.  (Pushing explicitly brings lower boulder to
top of pile in order to try to push it next.)

Reproduce by:  wish for boulder--it will drop.  Drop something else--
the something-else will end up under the boulder.  Repeat.  The second
boulder will be on top but the second something-else will be next in
the pile, above the first boulder.  Now polymorph into a giant and pick
up the first boulder, then move away from that spot.  Map will show
second something-else instead of the remaining boulder.

This fairly simple fix should work reliably on new games since boulders
will end up being consecutive on the top of piles.  For old games,
boulders after the topmost could be anywhere and still yield a display
glitch, but since that's all the problem is (I hope...), we ought to
be able to live with that until old games eventually go away.

[A map display glitch doesn't explain a corrupted 'uball' so this fix
doesn't solve that.]
2019-05-10 15:21:59 -07:00
nhmall
6ace5ddbde Merge branch 'NetHack-3.6' 2019-05-09 21:20:14 -04:00
PatR
0f6346f372 fixes36.2 update for posterity
Change of couple entries which describe fixed bugs to use past tense
instead of present tense.  Fix a typo or two and a couple of instances
of clumsy wording.  Move a dead-fake-hero-on-trap entry from normal
fixes section to exposed-by-git section since it was a post-3.6.1 bug.
Move two VMS entries from exposed-by-git section to interface-specific
section where they were intended.

I didn't make it through the whole file so there may be more room for
improvement.  It's too late for 3.6.2 but the copy of doc/fixes36.2 in
later versions will be 'better'.
2019-05-09 17:15:14 -07:00
nhmall
42e3089596 Merge branch 'NetHack-3.6' 2019-05-08 19:33:21 -04:00
nhmall
aeb3c7a623 new fixes36.3 2019-05-08 19:32:35 -04:00
nhmall
3be48695a5 Merge branch 'NetHack-3.6.2' 2019-05-07 21:18:51 -04:00
nhw_cron
76090dd648 This is cron-daily v1-Feb-22-2019. guidebook updated: doc/Guidebook.txt 2019-05-07 15:34:05 -04:00
nhmall
3ee39af021 Merge branch 'NetHack-3.6.2' 2019-05-07 14:12:01 -04:00
nhmall
cf2a9b7797 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-05-07 14:11:33 -04:00
keni
5676508180 Guidebook.mn: drop unneeded escaping 2019-05-07 13:53:24 -04:00
nhmall
c8777ea7ca 3.6.2 release bits into Guidebook 2019-05-07 08:40:46 -04:00
nhmall
4177953ec7 Merge branch 'NetHack-3.6.2' part 3 2019-05-05 23:48:18 -04:00
nhmall
db25fe56a8 Merge branch 'NetHack-3.6.2' 2019-05-05 23:30:50 -04:00
PatR
e2eeca2ed0 bones bit: crysknife vs green slime
Being turned into green slime never drops hero's inventory so invent
objects shouldn't be subject to obj_not_held() handling.

obj_not_held() does apply to undead.  Arising as a mummy or vampire
doesn't go through the trouble of dropping everything and picking it
back up, but there is a point in the die...arise sequence where the
hero is implicitly a corpse so nobody is holding his/her stuff.
2019-05-05 14:48:43 -07:00
Pasi Kallinen
bed2c2307e Fix monster trapped state being wrong
When cloning a monster, clear the clone trapped and hiding states.
When splitting a monster (eg. a black pudding), the clone could
be placed on a trap, so do mintrap.
When removing a monster from the map, clear the trapped state.
2019-05-05 22:58:27 +03:00
Pasi Kallinen
f55e9ddd7c Fix impossible if monster cannot be relocated from tele region 2019-05-05 22:30:20 +03:00
nhmall
c2e23bac57 Merge branch 'NetHack-3.6.2' 2019-05-05 13:42:29 -04:00
keni
fe055cd6bc This is cron-daily v1-May-5-2019. guidebook updated: doc/Guidebook.txt
to 948099800b722f9be0e8f9c8d4d96cfda5cea98e
2019-05-05 13:32:53 -04:00
nhmall
50f75e1d80 Merge branch 'NetHack-3.6.2' 2019-05-01 09:10:41 -04:00
PatR
0dc85b93b4 fix github issue #188 - #chat to succubus/incubus
Fixes #188

The change to fix setting SEDUCE=0 in sysconf broke chatting with
seductive demons by unintentionally changing the way Null attack
argument was handled.  It's still handled differently than it used
to be, but I think this difference is correct.
2019-04-30 11:35:06 -07:00
nhmall
5ddd6d7005 Merge branch 'NetHack-3.6.2' 2019-04-29 07:50:25 -04:00
PatR
c4ae9115cb fix github issue #187 - 'reassess' panic with Qt5
Fixes #187

Qt5 gave "status 'reassess' before init" panic at start of new game.
Don't call status_initialize(REASSESS) from set_usamon()--used for
hero setup as well as for hero polymorph--unless it was previously
called from display_gamewindows() with !REASSESS [which happens when
windowprocs.wincap2 has WC2_STATUS_HILITES or WC2_FLUSH_STATUS set].
2019-04-28 17:32:16 -07:00
nhmall
6d93eb7cdd Merge branch 'NetHack-3.6.2' 2019-04-26 19:52:16 -04:00
PatR
75db8e004d fix #H8612 - splashes of venom might stay intact
If a poly'd hero spits venom and it lands at a 'soft' spot such as
water, it would remain as an intact venom object.  (Venom spat by
monsters seems to always be used up regardless of where it lands.)
2019-04-25 07:11:42 -07:00
nhmall
b3c2f920b3 Merge branch 'NetHack-3.6.2' 2019-04-24 21:29:11 -04:00
PatR
f838967c04 vampshifting Vlad
Vlad keeps his own form when carrying the Candelabrum, but if you
manage to get that away from him he should behave like other vampires.
He wasn't though; a high level wizard casting polymorph on him would
change him into an arbitrary monster rather than into a wolf/bat/cloud
that revives as Vlad when killed.
2019-04-24 16:59:44 -07:00
PatR
f441696908 fix #H8619 - hallucination vs vampire transform
|The seemingly dead vampire bat rises as a vampire.
was overriding hallucination when describing both old and new forms.
In 3.6.0 it only overrode the dying shape (explicitly so, presumeably
because the feature was brand new) and honored hallucination for the
revived shape.  The 3.6.1 fix to prevent non-hallucinating:  'The
seemingly dead Foo rises as Foo.' for a named vampire unintentionally
overrode hallucination for the revived shape.

Change it to honor hallucination for both before and after monsters
|The seemingly dead grid bug rises as a microscopic space fleet.
2019-04-24 14:02:09 -07:00
nhmall
e4ac043747 Merge branch 'NetHack-3.6.2' 2019-04-21 04:08:57 -04:00
PatR
cd6b5ef933 mimicking a corpse
Noticed while looking over mimic hiding.  When on an object, a mimic
will hide as that type of object.  But for a corpse, it picked a random
monster type and could choose one that doesn't leave a corpse.  Also as
a tin it would always be an empty one, but there doesn't seem to be any
way for a player to learn that.
2019-04-20 16:00:29 -07:00
PatR
ab4625a6bf quantum mechanic hits
Noticed while trying to find the reason for the wildmiss impossible(),
you could be teleported and then drop dead at the destination.  A QM's
AD_TLPT hit also does 1d4 physical damage which gets applied after the
teleport.  Getting "You die." seemed pretty strange, particularly after
picking the destination with telport control.  This makes sure that the
damage will never be fatal when teleport is attempted.
2019-04-19 17:32:36 -07:00
nhmall
638b6678dc Merge branch 'NetHack-3.6.2' 2019-04-19 08:55:54 -04:00
PatR
4aa673c20e fix #H8579 - mimics mimicking shop objects
Showing the price of a shop object when examining it with '/' or ';'
didn't include a price if it was actually a mimic.  This makes fake
objects have prices when appropriate, but it is only a partial fix
because moving away from a mimic causes nethack to forget the fake
object's dknown flag for most types of objects.

That could be solved by adding an mobj field to mon->mextra, which
will break save compatibility, or by adding a whole extra set of
object glyphs for object-with-dknown-set.  The latter could probably
be done without breaking backwards save compatibility (new program
using old files) but it seems like more effort that it'd be worth and
it would break forwards save compatibility (old program attempting to
use new files--something we've never claimed to support).
2019-04-18 15:41:54 -07:00
nhmall
a49b424d70 Merge branch 'NetHack-3.6.2' 2019-04-18 08:22:54 -04:00
PatR
5bc6bb0f49 another bit of reformatting 2019-04-17 19:01:47 -07:00
nhmall
c4465c35ed Merge branch 'NetHack-3.6.2' 2019-04-13 22:40:44 -04:00
PatR
0776a864f1 slightly better shop repair feedback
During shop repair, give a message about the shopkeeper using a spell
(if hero is close enough) before "Suddenly, <various repairs occur>."
And when shop repair is for a single untrap of landmine or bear trap
adjacent to shk (and the hero can see it happen), say "<Shk> untraps
<trap>" rather than just "Suddenly, a trap is removed from the floor!"
2019-04-13 17:28:26 -07:00
PatR
5534eab514 probing fix
For the inventory of a probed monster, if the probing took place in
a shop the inventory display would have selling price appended to
all the items.  That wouldn't really be a problem if it was just for
a pet who was carrying one shop item, but it applied to every item
being carried by any probed monster (including shopkeeper) with no
regard for whether the shop actually claimed ownership.
2019-04-13 15:57:16 -07:00
PatR
86e5022293 fix #H8534 - thrown pick-axe vs "scum!"
Change in meaning of mnearto()'s return value wasn't progagated to
shkcatch().  Make it an int instead of boolean so that it can
communicate both 'moved successfully' and 'moved but had to move
another monster out of the way to do so'.
2019-04-11 15:38:51 -07:00