Commit Graph

596 Commits

Author SHA1 Message Date
nhmall
ac9ba38449 file header bump from "NetHack 3.6" to "NetHack 3.7" 2020-08-03 22:07:36 -04:00
PatR
84ccc14451 wizhelp update
Update the help menu entry for wizard mode commands to reflect the
recent change to #wizrumorcheck.  This messes up the formatting a
bit (by introducing a continuation line) but the no longer precise
command name warrants it.
2020-07-24 18:25:54 -07:00
PatR
2980aaa4cb history/Credits: aeb's Hack
Give an implied explanation for the seemingly odd copyright info in
the source files and the run-time startup banner.

The extra Hack version number, the release dates, and the newsgroup
creation are from
 https://homepages.cwi.nl/~aeb/games/hack/hack.html
which is the "Brouwer's /Hack/ page at CWI" external link near the
end of Andries Brouwer's Wikipedia page.
2020-07-12 17:17:14 -07:00
PatR
bcd6665ccf history/Credits update
Fix two of the unresolved issues from the previous reconciliation
between dat/history and doc/Guidebook.*: synchronize the list of
devteam members for 3.0 and also the information about Izchak's
death.

Add a description of the Y2K situation.  It's been moved to its
own paragraph and rephrased from the earlier draft(s), both the
introduction and a switch from present to past tense.  Parentheses
around a whole paragraph look a bit odd but including the paragraph
without them also looks unusual because the context is so different
from adjacent paragraphs.  Maybe use "Note: Blah blah..." instead
of "(Blah blah...)"?

Redo the paragraph about 3.0 version numbering since the situation
was more complex than I realized.
2020-07-07 03:39:03 -07:00
nhmall
5a437b336a remove SYSFLAGS and MFLOPPY code
A check into github issue 364 confirmed that
ba6edbe5dc
had incorrectly updated the bwrite sizeof entry for sysflags.

The SYSFLAGS and MFLOPPY code is all in the outdated part of the tree, so just
remove it rather than re-correct it.

Closes #364
Closes #207
2020-07-05 08:50:13 -04:00
nhmall
e4b18f0545 fix github issue 361 to make user_sounds useful even if MSGTYPE is hidden
fixes #361

Also, experminental introduction of vt_sounddata to enable tty to pass
a sound file index to the terminal side of things where perhaps someone
can add code to something like hterm to take the information relayed by
NetHack to trigger user_sounds locally even if playing on a server.

Compile time option TTY_SOUND_ESCCODES required to build that support in.

It should be independent of TTY_TILE_ESCCODES.
2020-07-02 15:49:45 -04:00
PatR
30b19a3891 history reconciliation
Eliminate most of the minor differences between dat/history and the
end section of doc/Guidebook.txt which didn't seem to be intentional.
Several commas, a couple of past/present tense discrepancies, and
various clauses or whole sentences which were in one but not the
other.  There are still differences which this doesn't address.

Also a couple of actual changes.  Make the Guidebook refer to itself
as "this document" rather than "this paper".  Change "dozens of
people's work" to "scores of people's work".  Add a new sentence
describing the version numbering scheme used by 3.0, which wasn't
3.0.x yet.
2020-06-26 17:56:03 -07:00
PatR
e30f1b800e history of 'tiles'
Warwick did the heavy lifting of the first tiles implementation.  But
I was the one who suggested changing his terminology to "tiles" even
though that doesn't match the term's traditional usage in computer
graphics.  Since then, our [mis-]usage has spread beyond nethack and
its variants.  [This isn't just bragging; I recall several years ago
that someone thought our implementation of tiles for MS-DOS was the
original implementation.  Their search of the newsgroup archives didn't
find Warwick's original announcement--Atari binaries and/or a source
patch in between releases--because the term "tiles" wasn't in use yet.]

I'm not sure whether Dean's font preceded Warwick's icons, but the
concept did.  If the description of their implemenations is backwards
than that bit should be reworded.

Also, add a sentence explaining why NetHack++ "was quickly renamed
NetHack--".
2020-06-20 19:57:53 -07:00
PatR
4e677294b3 data.base formatting bit
Only two of the umpteen quote attributions were separated from their
quote by a blank line, so remove those two extra blank lines.
2020-05-28 17:20:01 -07:00
PatR
c5d089f5e5 tribute typo: Jingo #2
Reported directly to devteam; transcription typo:  had "Vines", should
be "Vimes".

I double checked that long passage and found two other mistakes:
"proffered" was misspelled with 2nd 'r' doubled,
| 'Quoted statement,' someone said.  'Another statement.'
lacked the opening quote on the second sentence.

My source uses double quotes (normal American usage).  I'm not sure
why the passages which refer to it--the page number annotations
specify that same source--were transcribed with single quotes (normal
British usage), but I've left those as is.

The sentence with "Vines" was also separated from the previous one by
a single space when nearly everything in dat/tribute uses double space.
A quick regexp search found half a dozen or so other instances of that.
This fixes those but the searching wasn't rigorous and it's sometimes
ambiguous whether an elipsis or long dash constitutes the end of a
sentence before another starts or is just in the middle of a long one.
2020-05-28 12:50:21 -07:00
PatR
c63165e5dc data.base descriptions for new monsters
Displacer beast and genetic engineer lacked data.base entries so
I've made a couple up from thin air.  I tried to look up "genetic
engineering" in _the_Concise_Dictionary_of_Biology_ (after seeing
that the quantum mechanic quote comes from _Concise_Dictionary_of_
_Physics_) but could only view the first sentence so don't know
whether it had anything more useful.  I also skipped the AD&D
Monster Manual for displacer beast except for remembering the
puma-like bit from previously checking it.  So regardless of any
old copyright issues in data.base, there shouldn't be any new ones.
2020-05-26 12:12:14 -07:00
Pasi Kallinen
dc42b0f7a5 Add Pillars themeroom 2020-04-21 19:52:39 +03:00
Pasi Kallinen
907e7dead1 Adjust some themerooms 2020-04-21 18:59:43 +03:00
Pasi Kallinen
c0cbe21c4e Prevent stairs in Mausoleum themeroom
... by making the mausoleum part into an unjoined subroom
2020-04-21 17:57:49 +03:00
Pasi Kallinen
9baa3fc6b2 Add water vault themeroom 2020-04-19 19:54:42 +03:00
Pasi Kallinen
9b74ea0b22 Shaped and themed rooms
Allows creating shaped or themed rooms for the Dungeons of Doom
via lua script.

Invalidates bones and saves.

Makefiles updated for unix/linux by adding themerms.lua, but other
OSes need to have that added.
2020-04-18 19:55:09 +03:00
Pasi Kallinen
7c44e06ab1 Dehardcode the monk minetown food shop conversion
Instead of trying to figure out in core whether to change a minetown
food shop to health food shop for monks, just figure it out in the
minetown level creation script.
2020-04-16 21:01:37 +03:00
copperwater
35a2f6e3ed Convert math.random percentage computations into percent() 2020-04-06 19:48:28 +03:00
copperwater
c4bb3c904f Implement dice and percent as global lua functions
Intended to simplify many of the math.random calls currently in use, and
make them more semantic and thus more readable.

The dice function d() takes either a two-argument form which is the same
as in the C source (number of dice, faces per die) or a one-argument
form that rolls a single die.

The percent(N) function returns true N% of the time.
2020-04-06 19:43:56 +03:00
Pasi Kallinen
e34f123698 Make hezrous stink 2020-04-03 21:05:49 +03:00
Pasi Kallinen
eec9c2e209 Expose core random number functions to lua
Expose nh.rn2() and nh.random() to lua.
Add a math.random() compatibility shim to nhlib.lua
2020-03-25 12:24:32 +02:00
PatR
ade91fd119 fix github issue #315 - "Moving Pictures" typo
Transcription typo:  had "or", should have been "of".
2020-03-22 02:38:21 -07:00
Pasi Kallinen
a65fc97b44 Prevent zombies in trees in priest quest start 2020-03-20 18:37:01 +02:00
Pasi Kallinen
a57894cedb Prevent monsters in trees in monk quest start 2020-03-17 18:09:33 +02:00
Pasi Kallinen
abbfabd498 Prevent ogres in trees in barbarian quest start 2020-03-16 08:58:07 +02:00
Pasi Kallinen
b0e645a650 Lock castle chest
Just to keep the wand in the chest. Even if the soldiers pick up
the chest, they won't open it, and the wand is better protected.
2020-03-14 21:49:18 +02:00
Pasi Kallinen
f5d9324f28 Fix wizmakemap to consider monster birth counts and uniques
Also add a new wizmode command #wizborn to show those.
2020-03-07 21:35:26 +02:00
nhmall
2af37f44d4 Merge March 2020 changes into NetHack 3.7 2020-03-06 10:59:50 -05:00
nhmall
e20024e42b March 2020 updates 2020-03-06 10:31:51 -05:00
nhmall
abdd3254ae updates for 3.6 March 2020 2020-03-04 10:41:57 -05:00
Pasi Kallinen
ce3b45944b Fix Fort Ludios room type
... and add an impossible when lua tries to create unknown room type.
2020-03-01 10:13:53 +02:00
Pasi Kallinen
d86b7e8e7c Demon lords and princes suppress teleporting in Gehennom
Instead of having the demon lair levels unconditionally no-teleport,
grant demon lords and princes the ability to suppress teleportation
in Gehennom on the level they are on.
2020-02-26 20:03:00 +02:00
Pasi Kallinen
7a54edf91f Implement lua selection iteration
... and showcase it by dehardcoding the Fort Ludios treasury.
2020-02-26 17:25:28 +02:00
Pasi Kallinen
ccb00f59bc Add new level init type, swamp
Creates a "relaxed blockwise maze".
Make Juiblex's swamp use it.
2020-02-25 19:24:58 +02:00
Pasi Kallinen
e56d3414a0 More noflip special levels 2020-02-24 19:08:58 +02:00
Pasi Kallinen
dc70132da8 Change lua selection floodfill and add some tests 2020-02-22 18:35:41 +02:00
Pasi Kallinen
44f7d44e94 Make lua selection line create a new selection
... instead of modifying the one given as a parameter.

Also add some tests for it.
2020-02-22 14:23:36 +02:00
Pasi Kallinen
d76ffe43b7 Don't bother flipping oracle level 2020-02-21 21:32:18 +02:00
Pasi Kallinen
88aa0793dc Allow flipping levels horizontally or vertically
When a special level is created, there's a chance it gets flipped
horizontally and/or vertically.

Add new level flags "noflip", "noflipx", and "noflipy" to prevent
flipping the level. Add a wiz-mode command #wizlevelflip to test
the flipping on current level - although this doesn't flip everything,
as level flipping is meant to happen during level creation.
2020-02-21 18:16:14 +02:00
PatR
916366fbd1 new data.base quote: win/winner/winning
A quote about "winning team" doesn't fit nethack very well but this
is too good to pass up.  I considered adding "/Rule Six/" as a false
rumor, but the rumors don't offer any way to specify attribution.

Also, give full attribution for another Douglas Adams quote that's
used for a random ungraving.
2020-02-08 16:05:29 -08:00
PatR
84daf75981 'travel' option
Change '!travel' to only prevent travel-by-mouse and leave '_' alone.
2020-02-07 14:37:51 -08:00
Pasi Kallinen
dcdb8d437b Dehardcode sanctum temple secret door 2020-02-01 21:30:50 +02:00
Pasi Kallinen
bb1925a957 Dehardcode wizard1 morgue secret door 2020-02-01 20:20:25 +02:00
Pasi Kallinen
33cd6befe0 Dehardcode minefill
Instead of hardcoding the minefill levels in the core,
allow defining fill levels for a dungeon branch in the dungeon.lua
2020-02-01 18:31:39 +02:00
PatR
625a9a7b79 fix 'Couldn't place lregion type 1' on Orc town
Stairs up from Orcish Town variation of Mine Town were being forced
to be near the bottom of the left side of the level due to a bogus
exclusion region in the level description.  If that small area was all
solid rock then a warning was issued and no stairs up were created.
2020-01-31 12:58:24 -08:00
PatR
6c479f2317 more simplification of achievement tracking
Instead of hardcoding the "prize" type and then watching for that
to be created, specify it in the level description.

Also, instead of giving both Sokoban end levels 50:50 chance for
either prize, bias the one that used to always have the bag of
holding to now have 75% chance for that and 25% chance for amulet
of reflection, with the other one having those chances reversed.
So still 50:50 overall.
2020-01-30 17:35:32 -08:00
PatR
ea8248e3c6 new 'mention_decor' option
Somewhat similar to 'mention_walls', 'mention_decor' is a way to
request additional feedback when moving around the map.  It reports
furniture or unusual terrain when you step on that.  Normally stepping
on furniture only mentions it when it is covered by object(s).  And
moving onto (rather than into) water or lava or ice doesn't bother
saying anything at all.  With the new option set there will be a
message.  It uses Norep so won't repeat when moving from one water
spot to another or one lava spot to another or one ice spot to another
unless there has been at least one intervening message.  There is also
a one-shot message when moving from water or lava or ice onto ordinary
terrain (not Norep, just once since there's no land to land message).

Having the verbose flag Off doesn't inhibit these new messages but it
does shorten them: "A fountain." instead of "There is a fountain here."

The Guidebook gets a new subsection "Movement feedback" of the "Rooms
and corridors" section and it covers more than just 'mention_decor'.
As usual, Guidebook.tex is untested.

'mention_decor' persists across save/restore, so 'struct flags' has
changed and EDITLEVEL is being bumped, hence save files are invalided.
2020-01-29 09:47:36 -08:00
Pasi Kallinen
c03b6db884 Fix quest text mistake 2020-01-29 17:25:16 +02:00
nhmall
3c968a09a3 Merge 'NetHack-3.6' updates into NetHack-3.7-Jan2020 2020-01-25 23:45:38 -05:00
nhmall
9e165b9e2a release prep bits 2020-01-25 23:42:36 -05:00