Commit Graph
18409 Commits
Author SHA1 Message Date
nhmall c12344cd48 build dos in CI but skip faltering Terminus font steps 2025-11-10 12:56:49 -05:00
nhmall d4a04b2632 turn off msdos build in CI for now 2025-11-10 09:21:22 -05:00
nhmall 2c747b079e revert some CI test changes 2025-11-10 09:19:47 -05:00
nhmall efbc0d8f8f more troubleshooting Terminus font use in CI environment 2025-11-10 08:52:06 -05:00
nhmall 157fcad161 troubleshoot Terminus font download in CI environment 2025-11-10 08:24:39 -05:00
nhmall a55a7f785c CI update 2025-11-10 07:20:32 -05:00
PatR 9b1bb1150e fix issue #1458 - inappropriate verbal messages
Issue reported by chappg:  succubi could produce "it's on the house"
(quoted verbal message) when hero is deaf.  The mail daemon could
produce a variety of verbal message when hero is deaf.

The succubus/incubus one is easy to fix.  The mail daemon ones are
untested and a couple haven't been given non-verbal alternatives.

Fixes #1458
2025-11-09 12:58:19 -08:00
PatR 0524ff482b fix #S14678 - livelog of bribery when hallucinat
If hallucinating hero bribes a demon lord, report its true identity for
livelog/#chronicle.  Unlike with the similar change for genocide, this
does give away information if the player checks #chronicle.

Again, the report via the web contact form was misclassified as spam.
2025-11-09 06:33:19 -08:00
PatR f7e12d2801 do-again vs yn_function()
This fixes the impossible from yn_function() for ^A after Z.  One
call to yn_function stored the spell letter for do-again and then
another call was unintentionally using that when getting a y/n
response for askchain() while using menustyle:Traditional [when
spell was identify and eligible objects needed confirmation about
whether to be ID'd].

Fixing that seemed to break #pray so the paranoid_confirm routine
has been changed to not rely on canned input, even for queries where
the player hasn't specified that confirmation be required.

Behavior of ^A might be different in unexpected ways, but it wasn't
working correctly before.
2025-11-08 18:38:55 -08:00
PatR 33401b0d08 spell selection tweak
For Z command, prevent an arbitrary number of reprompts when choosing
which spell to cast under menustyle:Traditional.
2025-11-08 18:13:31 -08:00
nhmall 4dfdeb8e92 follow-up in seldom-used places 2025-11-08 14:53:50 -05:00
nhmall d5658018ac alternative to display_inventory for window-port
Several window ports that support perm_invent were
using a call back to the core display_inventory()
function.

While calling from the window port back to core functions
is arguably not ideal in the first place, it was recently
brought to light that code NetHack-3.7 code changes to
display_inventory() actually caused it to stop repopulating
the perm_invent window as intended under certain circumstances.

For now, provide an alternative function, repopulate_perminvent(),
that hopefullshould still work the way it did previously.

There will likely be some additional changes after this to
further improve things, at some point.

For now though, this
Resolves #1454
2025-11-08 14:26:07 -05:00
PatR 6fa324d52a more hallucinatory genocide
Reorganize the recent livelog/#chronicle fix.
2025-11-08 01:06:13 -08:00
PatR 3113387371 fix #S14667 - livelog of genocide when hallucinating
Uncursed genocide while hallucinating deliberately reports hero's
role to the player as the affected target, but it was also showing
that for livelog and #chronicle.

Making the true target be visible for #chronicle gives away a little
information but that should be inconsequential in this siutation
since the player specifies the target.

Not sure why this report got misclassified as spam.
2025-11-07 13:03:46 -08:00
Alex Smith 82edcca402 Improve messages for oilskin sack protection versus water
The existing messages made sense for brief dips into water, but
didn't make sense when using an oilskin sack for an extended
period underwater (and also assumed that the player was able to
see the sack). This commit changes the message to make sense
(and to be less spamy) if the hero enters water and remains there,
and prevents oilskin sacks self-IDing if the hero is blind and
thus can't see the water.
2025-11-07 18:21:21 +00:00
nhmall 0f01260605 Revert "blank perm_invent after repeating spell cast"
This reverts commit 7763f4c5b0.
2025-11-06 18:44:12 -05:00
nhmall 4574738c48 Revert "follow-up: program_state field isn't boolean"
This reverts commit 6af5a906bc.
2025-11-06 18:43:48 -05:00
nhmall 6af5a906bc follow-up: program_state field isn't boolean 2025-11-06 01:38:06 -05:00
nhmall 7763f4c5b0 blank perm_invent after repeating spell cast
add mechanics to ensure display_inventory() refreshes perm_invent as
expected when update_inventory() is called from a repeat command.

Resolves #1454
2025-11-06 01:34:52 -05:00
Michael Allison 58c7d2fb3e macOS QT6 doc tidbit 2025-11-05 13:20:45 -05:00
Michael Allison 350c80dd3d Merge branch 'pr1456' into NetHack-3.7 2025-11-05 13:03:04 -05:00
Hector Denis 4e29db079b Fix QTCXXFLAGS and WINLIB when compiling with WANT_WINT_QT6.
The previous code made incorrect assumptions about Qt6's file hierarchy. Reuse automatic configuration (with pkg-config) for Qt5, and replace '5' by '6'.
Also fix a typo in multiw-2.370.
2025-11-05 18:20:55 +01:00
Alex Smith db8e76ffd1 Changelog entry for 0-damage nonweapon changes 2025-11-01 16:11:22 +00:00
Alex Smith 317282c469 Paper objects (except books) also do no damage
These are even flimsier than vegetables are.
2025-11-01 16:09:25 +00:00
Alex Smith 177a5bcaf7 Wielded vegetables do no damage
It makes sense that a vegetable would do less damage than a hard
object would, as they're generally fairly soft, so it seems like a
likely thing for players to try if they're *intentionally* trying
to hit for zero damage (which could be useful in certain niche
cases, e.g. to wake up a sleeping monster without damaging it).
2025-11-01 10:09:30 +00:00
nhmall efe0b1197d update tested versions of Visual Studio 2025-10-27 2025-10-27 11:55:20 -04:00
nhkeni 5c0137a6a5 comment/documentation typos 2025-10-26 12:26:11 -04:00
nhmall b72d4af837 correct a few minor typos in sys 2025-10-25 10:14:28 -04:00
nhmall a03b2c763b documentation URL fix 2025-10-25 09:57:04 -04:00
nhw_cron 7ab563ffc9 This is cron-daily v1-Apr-1-2024. 005manpages updated: mn.txt 2025-10-25 07:46:55 -04:00
nhkeni 987e3d93e0 Fix a typo going back to B news 2.11; 1986 (or earlier) according to tmac.n 2025-10-24 16:34:35 -04:00
nhmall 58beb25d1c Cross-compiling doc typos 2025-10-24 12:32:34 -04:00
nhw_cron 62e4a0bc91 This is cron-daily v1-Apr-1-2024. 005guidebook updated: doc/Guidebook.txt 2025-10-24 12:29:44 -04:00
nhmall 3c8628f549 correct a few typos 2025-10-24 12:27:05 -04:00
nhmall 3eed021a39 date stamp update 2025-10-24 12:01:37 -04:00
nhmall dbe5ebfa94 Guidebook typo
doc/Guidebook.mn:2928:54 - Unknown word (situtaion) fix: (situation)
2025-10-24 11:46:10 -04:00
nhmall 42a08f1a86 typo fixes in fixes3-7-0.txt
doc/fixes3-7-0.txt:218:11 - Unknown word (redundate) fix: (redundant)
doc/fixes3-7-0.txt:533:23 - Unknown word (adjustmens) fix: (adjustments)
doc/fixes3-7-0.txt:718:2 - Unknown word (uniforn) fix: (uniform)
doc/fixes3-7-0.txt:1240:57 - Unknown word (attibute) fix: (attribute)
doc/fixes3-7-0.txt:1858:43 - Unknown word (foced) fix: (forced)
doc/fixes3-7-0.txt:1948:7 - Unknown word (thorougnly) fix: (thoroughly)
doc/fixes3-7-0.txt:2072:8 - Unknown word (interferring) fix:(interfering)
2025-10-24 11:24:48 -04:00
nhmall 8b69a5aabb a few constants that don't need to be octal at all 2025-10-23 11:18:42 -04:00
nhmall f636749ea2 suppress dozens of new compiler warnings with clang-21
Turn off default -Wdeprecated-octal-literals warning with clang-21

One example of many:

In file included from objects.c:22:
../include/objects.h:137:1: warning: octal literals without a '0o' prefix are deprecated
      [-Wdeprecated-octal-literals]
  137 | PROJECTILE("arrow", NoDes,
      | ^
../include/objects.h:119:48: note: expanded from macro 'PROJECTILE'
  119 |            BITS(kn, 1, 1, 0, 0, 1, 0, 0, 0, 0, PIERCE, sub, metal), \
      |                                                ^
../include/objclass.h:79:18: note: expanded from macro 'PIERCE'
   79 | #define PIERCE   01 /* pointed weapon punctures target */
      |                  ^
In file included from objects.c:22:
../include/objects.h:140:1: warning: octal literals without a '0o' prefix are deprecated
      [-Wdeprecated-octal-literals]
  140 | PROJECTILE("elven arrow", "runed arrow",
      | ^
../include/objects.h:119:48: note: expanded from macro 'PROJECTILE'
  119 |            BITS(kn, 1, 1, 0, 0, 1, 0, 0, 0, 0, PIERCE, sub, metal), \
      |                                                ^
../include/objclass.h:79:18: note: expanded from macro 'PIERCE'
   79 | #define PIERCE   01 /* pointed weapon punctures target */
      |                  ^
In file included from objects.c:22:
../include/objects.h:143:1: warning: octal literals without a '0o' prefix are deprecated
      [-Wdeprecated-octal-literals]
  143 | PROJECTILE("orcish arrow", "crude arrow",
      | ^
../include/objects.h:119:48: note: expanded from macro 'PROJECTILE'
  119 |            BITS(kn, 1, 1, 0, 0, 1, 0, 0, 0, 0, PIERCE, sub, metal), \
      |                                                ^
../include/objclass.h:79:18: note: expanded from macro 'PIERCE'
   79 | #define PIERCE   01 /* pointed weapon punctures target */
      |                  ^
2025-10-22 12:52:10 -04:00
PatR 7e3586acad ring item action bit for 'P'
If the hero is in a form without fingers but is wearing two rings (put
on before shape change), examining inventory and selecting a third
ring shows an item action menu entry of "P - [both ring fingers in use]"
(as of a couple of days ago).  Change that to plug in appropriate body
part for finger.
2025-10-21 14:06:16 -07:00
PatR 966145a61d item action 'T' against covered armor
Using 'i'+menu choice for suit+'T' to try to take off a suit that is
covered by a cloak (or shirt covered by suit and/or cloak) wouldn't
do anything.  It should report that you need to take off the outer
garment first and then not take the chosen item off.

There is probably a simpler fix.  It took me a long time to figure
where things were going wrong and them cobble this together.

A big chunk of the diff for invent.c is just identation, surrounding
a one-line change there.
2025-10-20 13:29:42 -07:00
PatR a9f84bfe9a item action for towel
Change the menu entry for putting on a towel to "Put this on to blindfold
yourself" since "Use this ..." seems ambiguous.

Also, for the 'P' and 'R' item actions, list amulets before rings like
most other routines that can deal with both.
2025-10-18 10:20:13 -07:00
PatR da20b839b5 item actions for accessories
Update item actions for rings, amulets, and eyewear.  Make 'P' for an
accessory that isn't worn behave similarly to recently modified 'W',
and make 'R' for an accessory that is worn be more specific.
2025-10-15 23:49:52 -07:00
nhmall 98b526eb15 sync NetHack-3.6/doc/fixes36.7 -> NetHack-3.7/doc/fixes3-6-7.txt 2025-10-14 11:52:46 -04:00
PatR 6f8c1127ed item action 'W' for armor
In the context-sensitive menu when picking an item of armor from an
inventory listing, distinguish between wear-this-armor from could-
wear-this-armor-if-something-else-wasn't-already-worn-in-its-slot.
2025-10-13 23:13:15 -07:00
PatR 34d0e956ed fix issue #1453 - throwing crackable object upward
Issue reported by NullCGT:  throwing a crackable item against the
ceiling would cause it to vanish if it became [more] cracked but not
yet fully shattered.

Fixes #1453
2025-10-13 23:02:56 -07:00
nhmall d75ffe4b34 distinguish magical and auditory scares
Github issue #1326 states:
"https://github.com/NetHack/NetHack/commit/dc9fe0d8bc96e006c119fa183c9c9a7c4cde2f53
 aims to nerf scrolls of scare monster a bit, making humans and uniques immune.
 But in actuality this change also affects all elves, and also makes them immune
 to musical instruments, including the objectively scary drums of earthquake.
 This is possibly unintentional (I don't see why elves would be immune to bugles
 but dwarves wouldn't), and in my experience (playing EvilHack which ports this
 commit) it makes elves really annoying, and seems to contradict the commit's
 message about getting "most of the effect in the early game when you're usually
 dealing with normal monsters" (elves are fairly common starting from around Sokoban).
 [...]
 Also the commit has a comment saying "humans aren't monsters" presumably referring
 to the scroll of scare monster, but read scrolls can still scare most @, or uniques
 for that matter."

Resolves #1326
2025-10-09 09:52:30 -04:00
nhmall 38161f3e4a relocate customization application
Resolves #1450
2025-10-06 11:49:31 -04:00
nhw_cron 9f6d1d17dd This is cron-daily v1-Apr-1-2024. 005guidebook updated: doc/Guidebook.txt 2025-10-05 22:35:49 -04:00
nhmall 60e2598d81 SYMBOLS=S_ghost:
Resolves #1448
2025-10-05 22:10:34 -04:00