Commit Graph

853 Commits

Author SHA1 Message Date
Michael Meyer
3025e05579 Copyedit PYEC encyclopedia entry
I initially went in here to change the description of "unreadable" text
on the card, since it has been possible to read it in-game since commit
870b124 in 2015.  Then I also ended up making some edits to stylistic
issues I noticed, primarily varying vocabulary to eliminate the
repetition/reuse of words in phrases like "an /ancient/ artifact...
inscribed with /ancient/ runes" and "when /carried/, it grants the one
who /carries/ it ESP, and reduces all spell damage done to the
/carrier/".  The result is a little bit tighter and I think reads
somehwat better.
2024-01-22 17:13:13 -08:00
Pasi Kallinen
2212cf27ec Lua: Allow creating gas clouds
Use the gas clouds in the Clouds themeroom.
Use the existing visible_region_at() in the vision code.
2024-01-19 17:59:43 +02:00
PatR
02c675078b PR #1150 - rework erinyes into avenging Furies
Pull request from entrez:  change erinyes from lame devils named
after the Furies of Greek myth into those Furies.

Bumps EDITLEVEL because of changes to saved data.  I augmented the
new data.base entry.

Closes #1150
2024-01-10 23:22:56 -08:00
Michael Meyer
ef80549c70 Add true rumor about erinyes and alignment abuse
I don't think this entirely gives the game away, but strongly suggests a
connection between bad deeds and how dangerous erinyes are (especially
combined with the new erinys encyclopedia entry).
2024-01-10 23:01:53 -08:00
Michael Meyer
69b2523cfb Add new erinys encyclopedia entry 2024-01-10 22:57:12 -08:00
Michael Meyer
cad800337d Add rumors related to sink, hand-washing changes
These can hint at some of the changes that make it possible to dip
potions in sinks to potentially get a hint to their identity, and wash
your hands in sinks, pools, and fountains.  I also mentioned rings in
the potion/sink rumor since there didn't seem to be a rumor about the
sink ring ID mechanic already (though there may be one in coded language
that my grepping didn't catch).  The false rumor about hand-washing felt
to me like a good spot for a Macbeth reference.
2024-01-06 15:51:46 -08:00
Pasi Kallinen
d4c0f6bb75 Fix minetn-1 regions
Fuzzer encountered an error because the game couldn't place
a level region; allow placing the stairs to the left or right
edge of the fixed map part, just in case the randomly generated
map didn't extend out of it.

Fix the teleport region preventing falling into the orctown.
2023-12-13 17:55:42 +02:00
Michael Meyer
e427063560 Enable 'dropped_nopick' by default 2023-12-08 15:20:20 -08:00
Michael Meyer
1736f3caaa Add 'pickup_stolen' option
Add pickup_stolen option to autopick items stolen from you by a nymph or
monkey, even if they don't match your normal autopickup settings.
Replace was_dropped, was_thrown with a 2-bit bitfield that can contain
values LOST_DROPPED, LOST_THROWN, and LOST_STOLEN (or 0), since they
should all be mutually exclusive anyway as they track the most recent
way the item left the hero's inventory.

[Rebase/merge conflict fixed up.  PR]
2023-12-08 15:19:54 -08:00
Michael Meyer
e2e89cb93e Rename/invert 'pickup_dropped' to 'dropped_nopick' 2023-12-08 15:19:05 -08:00
Michael Meyer
d7d1c1476d Add option to exclude dropped items from autopick
This is based on a feature in UnNetHack (and I think some other variants
as well).  If the hero intentionally drops an item with 'pickup_dropped'
disabled, don't autopick it back up when walking over that square again.

Typically when the player drops an item, it's because she doesn't want
it in her inventory any more, and this option stops autopickup from
defeating that goal (especially useful for tasks like stash management
without a container).  Players have come up with workarounds to this
problem like toggling autopickup when approaching their stash pile or
adding name-based autopickup exceptions to allow them to exclude
individual items from autopickup, but this behavior should reduce the
need for those things.

I think 'pickup_dropped' is a little unfortunate because it suggests
equivalence to 'pickup_thrown' (i.e. any dropped items will be
automatically picked up regardless of autopickup exceptions).  Calling
it something like 'nopick_dropped' might be better, but as far as I can
tell options cannot start with the word 'no' because it's interpreted as
a negation of the rest of the option name.
2023-12-08 15:19:04 -08:00
Alex Smith
87f3b4809f Add extra food rations to the Monk quest home level
The previous commit makes things somewhat harder for vegetarian
characters. Normally, making a conduct harder isn't a huge issue,
but vegetarian Monk is an intended/encouraged combination. As such,
compensate by adding some additional food rations to Monk games
specifically; the Quest home level is early enough to provide the
extra food, and as the level is Monk-specific, it will provide the
food only to Monks specifically.  (Although the Quest generally
requires level 14 to enter, the Quest home level specifically
doesn't.)
2023-12-02 08:18:01 +00:00
nhmall
d7bd85c492 remove extraneous file committed 2023-11-22 16:02:41 -05:00
nhmall
04082a2033 Remove TEXTCOLOR build option 2023-11-22 16:01:58 -05:00
PatR
d3e80bf9bf expand Plane of Fire to fill entire map
The other three elemental planes go all the way to the map edges.
Fire was 76x20 rather than full 79x21.  This adds new two columns on
the left (necessitating some coordinate adjustments) and one on the
right plus one new row on the bottom.  Not particularly interesting,
just padding.
2023-11-19 04:54:20 -08:00
Pasi Kallinen
f720e1e548 Themeroom: Cloud room 2023-11-05 13:08:43 +02:00
PatR
2ee7509945 replace getenv("TTYINV") with perminv_mode option
Add a new option 'perminv_mode' to augment perm_invent.  It handles
the same choices as the temporary TTYINV method:  show all items other
than gold, show full inventory including gold, or only show in-use
items (similar to the '*' command).

For tty, both the all-except-gold and full-inventory modes can add
the poorly named 'sparse' variation which populates unused slots in
its fixed grid with the inventory letter that would go in each.

For others, the default has been changed from full-inventory to
all-except-gold.  Note that gold is treated as part of 'all' or of
'in-use' if it is quivered because having the amount be shown on the
status line doesn't make that redundant.

Changing the default may mess up WinGUI if it assumes that perm_invent
is full inventory with gold.

Initially I was going to change perm_invent into a compound but this
leaves it as an on/off toggle and adds perminv_mode as a separate
option for how to show the inventory when the toggle is on.  It may
make sense to combine them since dual controls is a little confusing,
but right now setting perm_invent On when perminv_mode is 'none'
changes that to 'all' and changing perminv_mode away from 'none' when
perm_invent is Off toggles it to On.

Guidebook.mn has been updated but as usual Guidebook.tex is lagging.
2023-11-05 02:31:26 -08:00
PatR
bc9518ca16 part of PR #1109 - data.base entries
Part of the pull request by entrez, changing a few data.base entries
recently introduced by PR #1108.

Changes ice box to a different quote, but I've re-applied the prior
quote to ice terrain rather than delete it.  Also replace a UTF
apropostophe in the ice quote which escaped the previous purge of
such things.

Replaces the C.S.Lewis quote for Demonbane with a one-liner from the
Bible.  I realized a bit late that Demonbane is no longer a sword and
never given to lawful Angels as starting gear anymore, consequently
the new quote doesn't fit very well.

The PR changed the helm of brilliance entry to be for all helms and
this rejects that.  Instead, it adds a few generic helmet descriptions
and changes the helm of brilliance quote--now misquote--to be useful
to players, describing it as crystal rather than steel.

Pull request 1109 is still open--there's a second commit in it dealing
with fruit name handling that this commit doesn't touch.
2023-11-03 13:26:53 -07:00
Pasi Kallinen
16ed7e49c3 Separate level flags for premapped and sokoban 2023-10-29 12:35:32 +02:00
PatR
8e37ea26d8 another data.base bit
Change the stalker entry attribution of "H. G. Wells" to "H.G. Wells"
to match the other attributions.  There was once a mixture of both
styles but at some point all the ones with the expected--and possibly
stylistically preferred--extra space got changed to the condensed form.

The sasquatch quote still contains "J. W. Burns", in the text rather
than in an attribution.  I wasn't sure whether it should be changed
so left it alone.  Presumably the source of the quote had that space.
2023-10-21 16:52:09 -07:00
PatR
d1c11903cf data.base entry for athame
Separate the old generic text for athame from the new quote with an
empty attribution line.  Reformat both the old and new portions so
that they won't their widths won't be so different from each other.
2023-10-17 00:04:30 -07:00
PatR
9021aa9ec0 minor data.base cleanup
The new entry for 'shade' had "acrossthe" run together on the first
line.  While fixing that, I changed that entry to use two-space
separation between sentences and did the same for 'shield'.

I also made indentation for various attribution lines (new necessarily
new ones) be more consistent (two tabs, for for the data file format
and one for indentation, unless the line is wide-enough to warrant
shrinking the second tab) but burned out before getting very far with
that.  Also removed line split between "Dante" and "Alighieri" in a
couple of places.  Shouldn't split a name unless other alternatives
are worse...
2023-10-16 16:50:29 -07:00
PatR
006d97e5c8 github pull request #1108 - new data.base entries
Pull request from NullCGT:  a lot of new data.base entries.  Over 20
separate commits; this time I didn't squash them together because I
didn't want to mess with their log messages.

Three had non-ascii characters where apostrophe or single-quote or
long dash are intended.  _The_Invisible_Man_ for stalker was the worst
offender.  While fixing those, I changed period followed by single
space when separating sentences to period followed by two spaces but
didn't do that for the other new entires.  A few had trailing spaces and
one existing entry had trailing tabs.  I've fixed up those situations.

The ice box quote is out of whack with everything else due to wider
lines but the capitalization indicates that it's from a poem that was
formatted that way.  I left it as is instead of splitting several of
the lines.

The conical hat entry is iffy since nethack's conical hat is not a
wide-brimmed witch's hat, but I've left it in.  Likewise helm of
brilliance says that it's made of steel but nethack's is now crystal.

Closes #1108
2023-10-15 01:39:40 -07:00
Kestrel Gregorich-Trevor
502c66f5e3 Add encyclopedia entry for helm of brilliance. 2023-10-15 00:07:42 -07:00
Kestrel Gregorich-Trevor
83344e7568 Add encyclopedia entry for pointy hats. 2023-10-15 00:07:42 -07:00
Kestrel Gregorich-Trevor
1fa0da3948 Match "large rock" for rock encyclopedia entry. 2023-10-15 00:07:41 -07:00
Kestrel Gregorich-Trevor
629e3371b7 Add database entry for white-handed shield. 2023-10-15 00:07:41 -07:00
Kestrel Gregorich-Trevor
ad49757553 Add Demonbane encyclopedia entry. 2023-10-15 00:07:41 -07:00
Kestrel Gregorich-Trevor
820432da08 Replace shade encyclopedia entry.
Sourced from xnethack. Seems like an excellent candidate for
replacement, since the quote gets across what shades are and also
hints at their weakness.
2023-10-15 00:07:40 -07:00
Kestrel Gregorich-Trevor
1a5b0851fc Scroll of punishment encyclopedia entry.
Sourced from xnethack. Added a line so that it will match "punished"
as well as "punishing."
2023-10-15 00:07:40 -07:00
Kestrel Gregorich-Trevor
1ebf96d94e Ensure potion of hallucination matches encyclopedia. 2023-10-15 00:07:40 -07:00
Kestrel Gregorich-Trevor
cdf9e7563c Add hallucination encylopedia entry.
Sourced from xnethack.
2023-10-15 00:07:40 -07:00
Kestrel Gregorich-Trevor
9b899c3eca Add fruit/fruitname encyclopedia entry.
Sourced from xnethack.
2023-10-15 00:07:40 -07:00
Kestrel Gregorich-Trevor
7a61a454d0 Add fortune cookie encyclopedia entry.
Sourced from xnethack.
2023-10-15 00:07:39 -07:00
Kestrel Gregorich-Trevor
da5283174d Add dwarvish cloak encyclopedia entry.
Sourced from xnethack.
2023-10-15 00:07:39 -07:00
Kestrel Gregorich-Trevor
236dff24f4 Added dented pot encyclopedia entry.
Sourced from xnethack.
2023-10-15 00:07:39 -07:00
Kestrel Gregorich-Trevor
69fb0b5e65 Add athame quotation.
Sourced from xnethack.
2023-10-15 00:07:39 -07:00
Kestrel Gregorich-Trevor
4dbb930be0 Add fortune cookie quotation.
Sourced from xnethack.
2023-10-15 00:07:38 -07:00
Kestrel Gregorich-Trevor
a138080b33 Remove unneeded engraved bell encyclopedia entry. 2023-10-15 00:07:38 -07:00
Kestrel Gregorich-Trevor
1efdc9fd93 Return strange object entry for strange and glorkum.
If the player is looking up a glorkum in the encyclopedia then
there are probably larger problems at play than a missing encyclopedia
entry.
2023-10-15 00:07:38 -07:00
Kestrel Gregorich-Trevor
9676352cf1 Rectify typo in shield database entry. 2023-10-15 00:07:38 -07:00
Kestrel Gregorich-Trevor
babd9d50cb Encyclopedia: Bells, credit cards, and stalkers.
Replace the encyclopedia entries for bells, credit cards, and
stalkers with those suggested by aosdict. Sourced from xnethack.
2023-10-15 00:07:37 -07:00
Kestrel Gregorich-Trevor
b0a83bbee3 Encyclopedia Entry: Ice Box. 2023-10-15 00:07:37 -07:00
Kestrel Gregorich-Trevor
f5bd695017 Add missing database entries.
This commit adds entries for the following items:
    - Credit card
    - Silver bell
    - Bell
    - Walking shoes
    - Iron shoes
    - Hard shoes
    - Dragonbane
    - Gauntlets of Power
    - Gauntlets of Fumbling
    - Gauntlets of Dexterity
    - Potion of Sickness
    - Splashes of Venom (Various)
    - Shields (Various)

The following monsters also now have associated entries:
    - Stalker
2023-10-15 00:07:37 -07:00
Pasi Kallinen
38546778d5 Bigroom 3 may have some walls replaced with other terrain 2023-10-06 12:07:07 +03:00
PatR
7c0ece5bd6 fix #H2736 - missing Samurai quest throne
Reported 11 years ago, the level definition for the Samurai quest
home level specifies a throne room and entering it gives the "opulent
throne room" message, but there isn't any throne.

Initially I was going to add a throne but decided that its lack is
probably intentional.  The throne room designation is used to give
periodic atomspheric messages.  That's my guess anyway.

Alter the room entry message there to omit "throne" from "you enter
an opulent throne room".  Add a no-throne comment to Sam-strt level
definition.

While in there, make Lord Sato's katana and splint mail explicitly
rustproof and either blessed or uncursed.  (The mail was already
implicitly rustproof because splint mail created on the Sam quest
home level always is, like for a Samurai's initial inventory.)
2023-09-28 13:25:20 -07:00
PatR
1a64ee1c28 github PR #259 - paranoid_confirmation:trap
Fairly old pull request from copperwater:  add new paranoid_confirm
setting 'trap'.

The old commit suffered from bit rot and merging needed too much
fixing up despite there not being many bands of change in the commit's
diffs.  I ultimately redid it from scratch, although the two biggest
chunks of code started with copy+paste of the pull request's commit.

It operates like paranoid:pray.  Setting paranoid:trap adds a new
"Really step into <trap>?" y/n prompt when attempting to move
into/onto a known trap, even if an object covers it on the map.
Setting both 'paranoid:Confirm trap' turns that into a yes/no prompt.
(Adding 'Confirm' affects other paranoid confirmations; in addition
to requiring yes<return> rather than just y to accept, it also forces
no<return> to reject.)

However, moving into a known trap that is considered to be harmless
behaves as if no trap was present.  Some of the trap classification
might be out of date; several types of traps have undergone changes
since implementation of the original pull request, notably anti-magic
field.  When the hero is hallucinating, all known traps are considered
harmful since the map no longer reliably describes them.

Preceding a movement command with the 'm' prefix also behaves as if
no trap was present, bypassing confirmation for that move, similar to
how paranoid:swim currently behaves.  Being stunned or confused also
behaves as if no trap was present, taking priority over hallucination.

This updates the documentation.

Supersedes #259
Closes #259
2023-09-08 15:55:31 -07:00
PatR
67513c96bb options help
Update the 'optmenu' data file to describe the simple options menu
(new paragraph containing just a one sentence) as well as the full
options menu (still several paragraphs).  Visible by choosing '?' in
the full options menu or the 'how to set options' choice in the main
help menu.

Add a line to the simple options menu about how to get the full
options menu.  Only shown if you type '?' to toggle on "show help";
taken away again if you use '?' to toggle back to "hide help".
2023-08-31 14:58:51 -07:00
Pasi Kallinen
e407af4477 Allow defining random-teleport exclusion zones in lua
Adds a new lua command

  des.exclusion({ type = "teleport", region = { x1,y1, x2,y2 } });

which allows defining "exclusion zones" in the level, areas where
random teleports (or falling into the level) will never place the hero.
Does not prevent targeted teleportation into the area.

Breaks saves and bones.
2023-08-24 18:38:39 +03:00
nhkeni
9ba47555c9 Merge remote-tracking branch 'origin/keni-versioncopy' into NetHack-3.7 2023-08-15 09:33:59 -04:00