1## xNetHack 5.0 Changelog
2
3This is a major version of xNetHack. It is a fork off of the vanilla NetHack
43.6.5 development version release, and is also based directly on xNetHack 4.1.
5See the doc/fixes36.\* files for the devteam's changes.
6
7The xNetHack page at the NetHackWiki, https://nethackwiki.com/wiki/XNetHack,
8attempts to describe these changes in a way that's better formatted and more
9friendly to players. However, the wiki page might be out of date; in case of
10conflicting information, this changelog and others in this directory are more
11up-to-date than the wiki page, and the commit messages are more up-to-date than
12this changelog.
13
14On top of any changes made by the NetHack devteam on 3.6.1, and any changes
15made in previous xNetHack versions, xNetHack 5.0 contains the following
16changes:
17
18### Gameplay changes
19
20- You can sometimes recover from food poisoning with a Con/100 chance.
21- If you have hungerless casting, you will never be too hungry to cast a spell.
22- Corpses dropped by zombies can revive on their own.
23- When you are killed by a zombie, you will arise from the grave as one in
24  bones (25% chance to keep playing as a zombie, similar to other undead).
25- When a zombie or lich kills a monster that has a zombie counterpart in melee,
26  it resurrects as a zombie that is either tame or hostile depending on the
27  attacking zombie.
28- Zombies will grudge monsters that they can zombify, and vice versa.
29- The pet-off-level-untaming timer is fuzzed so it's not totally predictable.
30- Pets' willingness to attack foes of a certain level decreases linearly with
31  their hit point percentage.
32- Trees can generate in the rooms of room-and-corridor levels.
33- Lord monsters' weapons and armor is never negatively enchanted.
34- If you're carrying sufficient food, being Weak isn't a major trouble.
35- If you're turning to slime and opening a tin of chameleon meat, you won't be
36  interrupted (you could turn into something fiery).
37- Blessed potions of hallucination grant enlightenment 50% of the time; cursed
38  ones do 20% of the time, uncursed ones never do.
39- Grimtooth is now permanently poisoned and has a base cost of 1000.
40- Poisoned weapons in melee do d10+6 damage to non-resistant creatures, but
41  only 25% of the time.
42- Dragonbane now gives vision of dragons when wielded and does +d10 damage to
43  dragons. Its cost is raised to 2500.
44- Demonbane now gives vision of demons when wielded, glowing white.
45- Werebane now gives vision of weres when wielded and does +d10 damage to
46  weres.
47- Giantslayer now gives vision of giants when wielded and does +d10 damage to
48  giants. Its cost is raised to 500.
49- Trollsbane now gives hungerless regeneration when wielded, gives vision of
50  trolls when wielded, and does +d10 damage to trolls. Its cost is raised to
51  1000.
52- Ogresmasher's cost is raised to 1200.
53- Sitting or manually teleporting via ^T while standing on a known level
54  teleporter will activate it, bypassing magic resistance.
55- Intelligent monsters in the Castle know about the trapdoors.
56- Reading a confused scroll of earth will summon earth elementals and dust
57  vortices rather than mostly harmless rocks.
58- Hobbits may generate carrying produce.
59- Fire Brand instakills flammable golems and green slimes
60- Elven items use their base material 60% of the time and become wood 20% of
61  the time rather than defaulting to wood 80% of the time.
62- The throne monster in throne rooms has a shiny expensive mace rather than a
63  boring iron one.
64- The Bell of Opening will turn into a silver regular bell in a bones file,
65  rather than a copper one.
66- All types of orc monsters (all o) resist poison.
67- Pets won't fight each other even if they grudge each other.
68- Port RPresser's epitaph patch, enabling you to write your own gravestone
69  text.
70- Wizard mode players now always get the option to leave bones unless the level
71  is ineligible.
72- Monsters can gain intrinsics from corpses they eat, identically to players,
73  except that they can currently only get resistance-type intrinsics and
74  telepathy. The only non-pet monster that can currently eat corpses is the
75  gelatinous cube.
76- Dragons will roar of their own accord from time to time, which wakes nearby
77  monsters.
78- Implement cooperative telepathy: if you have any sort of telepathy, even
79  extrinsic and you are not blind, you are able to see telepathic monsters.
80- Pets will attack monsters they grudge even if they are of too high a level.
81- Pets will not attack gas spores that you're adjacent to.
82- Magic-liking monsters will pick up all magical items, not just objects from
83  classes where all items are magical.
84- Monsters can use magic flutes.
85- Dissolving a cursed mold corpse in fruit juice will create sickness.
86- Port the Free Fortune Cookie Patch: half of szechuan tins, if eaten, give you
87  a free fortune cookie.
88- Getting a critical hit on a vampire with a wooden piercing weapon can stake
89  it through the heart and destroy it instantly.
90- Magic lamps always release a djinni when rubbed instead of 1/3 of the time.
91- 1/30 of randomly generated tins are booby-trapped and will explode when
92  opened.
93- 1/5 of nurses carry a scalpel.
94- Wearing a charged ring of carrying will auto-identify it.
95- Hobbits and Nazguls grudge each other.
96- All s-class monsters grudge x-class and a-class monsters, but not vice versa.
97- Bats grudge all flying x-class and a-class monsters (currently just bees).
98- Guarantee graffiti of a true rumor in the first room of the dungeon.
99- When hallucinating, all rays appear as blasts of something nonsensical.
100- Rings that aren't obviously iron by their appearance are made of metal
101  instead.
102- Helms made of wood, bone and stone protect your head the same as a metal
103  helm.
104- Helms made of glass may be shattered if a heavy object drops on them.
105- Helms reduce a lot less of the damage if the falling object is very heavy.
106- Helms only protect you from half of the damage from a falling piercer.
107- Acidic corpses can go moldy, but produce only green mold.
108- Plastic has a much lower relative cost as a material.
109- Group size now throttles on low dungeon levels rather than experience levels.
110- Glass body armor may shatter if you are hit with a heavy object moving
111  sideways.
112- Hallucination is effective at blocking all gaze attacks made by monsters.
113- Falling rock traps no longer generate on outdoors levels.
114- Amulets are worth 150 zorkmids each when the game ends regardless of
115  material.
116- Amulets of life saving will not set your HP or max HP higher than 100.
117- Chopping a web with a blade now factors in the weapon's enchantment.
118- Shopkeepers' base level is adjusted from 12 to 13.
119- Cockatrice hissing attacks begin stoning 1/5 of the time, but deafness blocks
120  the attack entirely.
121- Aligned priests' maces are never cursed.
122- Ghosts generate invisible 1/3 of the time.
123- Gas clouds are a little random in how they spread out from a point; the edges
124  of the cloud may be fuzzy and hard to predict.
125- The chest that generates with a thiefstone now contains random contents.
126- Random statues can occasionally be copper, or rarely gold.
127- Quarterstaves no longer block spellcasting if a cursed one is welded to both
128  of your hands.
129- Quarterstaves only do d4 damage to small monsters.
130- Felines now attack rats.
131- The portal to Fort Ludios now generates in the first vault generated below
132  level 10.
133- The titan on one Medusa level has been replaced with two golden nagas.
134- Drop the level of the spellbook of invisibility from 4 to 1.
135- Yeenoghu's magic missile attack damage is increased to 6d6.
136- Revise ammo breakage rules: as in NetHack Fourk, the chance of breakage
137  decreases with higher skill and skill cap. Negatively enchanted and cursed
138  ammo breaks much more often; positively enchanted and blessed ammo breaks
139  much less often.
140- Demon princes gate in twice as many demons as lesser demons do; demon lords
141  gate in some intermediate amount.
142- Goblins now generate in small groups (but won't on very shallow levels due to
143  automatic group size scaling).
144- The Wizard of Yendor now has a 2d6 weapon attack.
145- Restore passive rust attack to water elementals.
146- Scale the size of monsters' hit dice by their in-game size. Medium monsters
147  still use a d8; smaller monsters use smaller dice and larger monsters use
148  larger dice.
149- Adjust the special monster maximum HP formula for Riders to 40 + 8d8. Remove
150  the special monster maximum HP formla for dragons (they follow normal rules
151  for any gigantic creature of their level).
152- Adjust monster sizes:
153  - Giant ants are Small rather than Tiny.
154  - Lemures are Small rather than Medium.
155  - Baby crocodiles are Small rather than Medium.
156  - Mumakil are Gigantic rather than Large.
157  - Mastodons are Huge rather than Large.
158  - Giant rats are Small rather than Tiny.
159  - Centipedes are Small rather than Tiny.
160  - All v-class monsters are Large rather than Huge.
161  - Electric eels are Large rather than Huge. (Giant eels remain Huge.)
162  - Krakens are Gigantic rather than Huge.
163  - All baby dragons are Large rather than Huge.
164  - All elementals are Large rather than Huge.
165  - All naga hatchlings are Small rather than Large.
166  - Cobras are Large rather than Medium.
167  - Xorns are Large rather than Medium.
168  - Medusa is Medium rather than Large.
169  - Balrogs are Huge rather than Large.
170  - Juiblex is Gigantic rather than Large.
171- Mumaks' base level is now 10, and their difficulty is increased to 15.
172- Material hatred damage is assessed for monsters made of a certain material
173  touching (hitting, kicking, etc) a monster that hates that material.
174- Stone to fleshed objects now turn into an appropriate amount of meatballs,
175  proportional to the monster's weight if a statue and proportional to the
176  object's base weight otherwise.
177- There is no longer an Elbereth engraving under the Sokoban prize and the
178  Castle chest. (The scrolls of scare monster are still there.)
179- Scrolls of scare monster no longer work on uniques.
180- Pets will not eat food if they are already satiated.
181- Centaurs prefer to keep their distance from you and won't close to melee
182  combat.
183- Intrinsic invisibility and see invisible are no longer obtainable:
184  - Extrinsics (rings, cloak, artifacts) and role-based intrinsics are
185    unchanged.
186  - Stalkers now grant 200+d200 turns of both intrinsics.
187  - Random throne and fountain effects now grant 1000 + d1000 turns.
188  - The potions grant 200+d200 turns, plus 200 if uncursed / 400 if blessed.
189  - The wand grants 50+d50 turns per zap, or (charges)d250 turns if broken.
190- Elven boots will always be leather.
191- Orcish gear will be either iron, wood, bone, plastic, or glass.
192- Gazing into a crystal ball is now an occupation that doesn't leave you
193  helpless. It takes 6-10 turns to use one, rather than 1-10.
194- Crystal balls now have many more charges and weigh only 100.
195- A blessed or cursed crystal ball counts as +5 or -5 to your Int when
196  determining whether you successfully use it.
197- Non-cursed crystal balls will never explode.
198- Uncursed charging a crystal ball, horn of plenty, bag of tricks or can of
199  grease will add d5+5 charges instead of just d5.
200- Dart, arrow, and rock traps produce ammunition from a stack, so it will all
201  have the same material, enchantment, etc. The number of darts/arrows/rocks
202  from a given trap is constant, regardless of whether produced by firing or by
203  untrapping.
204- Dart and arrow traps generate with 15+1d20 ammo, rock traps with 5+1d10.
205- Poison darts from traps deal Con damage more often (60% of the time), and
206  higher HP damage when they don't. However, dart traps won't generate with
207  poison darts until depth 7.
208- Any iron items that elvish players would start with are copper instead.
209- Remove the rogue tribute level.
210- Add Frontier Town (what Orcish Town was before being ransacked) as an eighth
211  variant of Minetown.
212- Monsters that wear helms of telepathy become telepathic.
213- Monsters can wear amulets of ESP, becoming telepathic.
214- Celibate conduct (broken when you lie with an incubus/succubus)
215- The Chromatic Dragon is now named Tiamat.
216- The Caveman quest narration and dialogue have been changed to use caveman
217  speech patterns.
218- The Dark One is now named Anaraxis the Black.
219- Loadstones are removed.
220- Conflictless conduct (broken when you generate conflict).
221- Add homosexual and bisexual orientations. These can be specified by
222  OPTIONS=orientation:[orientation]. It also accepts "straight", "gay" and
223  "bi".  The only thing your orientation controls is what sort of foocubi you
224  can interact with.
225- If you are bisexual, foocubi roll twice after each encounter to see if they
226  get a severe headache.
227- The foocubus gained from kicking a sink will always be compatible with your
228  orientation.
229
230### Interface changes
231
232- Potion bottles are called by nonsensical names when hallucinating.
233- Your god will belch, bray, squeak, and so on instead of booming or thundering
234  while you are hallucinating.
235- Confused scrolls of fire underwater evaporate the water like a regular
236  scroll.
237- A message is printed when you fail to walk into liquid, and the first time
238  this happens in the game it informs you that you can use m to walk in.
239- Add a new paranoid confirmation option "throw"; when on, it prompts for
240  confirmation when you try to throw ammo with no matching launcher for it.
241- Dwarves think all rats are delicious.
242- YAFM for hearing a dwarf digging while hallucinating.
243- YAFM for eating long worms.
244- YAFM for dying to green slime (permanently) while hallucinating.
245- YAFM for failing to get a wished-for artifact while hallucinating.
246- YAFM for ascending while hallucinating.
247- YAFM for trying to #chat to a wall.
248- YAFM for a cosmetic magic trap effect if you are a hallucinating valkyrie.
249- YAFM for hearing a wererat change form while hallucinating.
250- YAFM for getting your brains eaten while hallucinating.
251- Usual periodic assortment of new bogusmons, bogus gods, bogus currencies,
252  candy bar labels, t-shirt texts, rumors, engravings, and epitaphs.
253- Give better directions for reporting impossible() calls.
254- Give gnomes a gnomeish message when chatted to.
255- Auto-identify a potion of acid when it explodes due to water contact.
256- Add L's Colored Walls Patch, turning the walls in various special levels and
257  branches different colors. Also in some types of special rooms.
258- Don't unconditionally delete the save file in case of a version mismatch.
259- Zombies groan instead of being silent.
260- Trying to attack a monster in melee with pacifist conduct intact after 100
261  turns will ask you if you really want to attack.
262- Livelog when the player changes alignment (by helm or permaconversion).
263- YAFM for staking a vampire's heart while hallucinating.
264- You can try indefinitely to enter a valid wish, rather than the game giving
265  you a random object after 5 failed tries.
266- YAFM for hitting a devil with an egg (thrown or melee).
267- Message that you can't reenter the dungeon after negative levelport
268- Give a special artifact message when Grimtooth poisons a target.
269- YAFM for playing a cursed magic whistle while hallucinating.
270- YAFM for being startled and dropping a heavy iron ball while hallucinating.
271- YAFM for eating globs of brown pudding.
272- YAFM for playing a magic flute while hallucinating.
273- YAFM for fumbling noisily while hallucinating.
274- YAFM for seeing a lantern on the floor get dim while hallucinating.
275- YAFM for observing something step on a squeaky board while hallucinating.
276- Remove "[Un]lock it?" prompts for applying a key to a door.
277- Failed and cancelled scrolls of stinking cloud give a new message (and also a
278  YAFM for doing this while hallucinating).
279- Stat increase/decrease messages are comparative ("You feel stronger", etc)
280- More explicit hunger messages.
281- YAFM for hallucinating and doing nothing in particular.
282- Add weapon skills and intended launchers to object lookup.
283- Display skill caps and the percent towards the next skill in #enhance.
284- When worn or wielded items become uncursed, you get a message.
285- Crystal balls prompt you again if they don't recognize the character you want
286  to look for. You no longer get vague statements about the location of special
287  levels.
288- Crystal balls give unique messages if they are uncharged or cancelled.
289
290### Architectural changes
291
292- Refactor spell hunger reduction logic into its own function.
293- Refactor confusing logic of what food adjective to choose.
294- Promote obj_nutrition to a non-static function.
295- Allow artifacts which target a monster class (S_\* instead of M2_\*) to warn
296  versus that monster class. The save-stable version of this is kludgy.
297- Change all obj->material = foo statements into a function set_material which
298  handles weight recalculation and erosion differences between the materials.
299- Move bones depth logic out of can_make_bones into really_done.
300- Move corpse-intrinsic-selection logic into its own function.
301- Extract part of givit's logic (the yes/no of whether an intrinsic should be
302  given) into its own function.
303- Define a new MR2_TELEPATHY monster intrinsic and set it by default for all
304  inherently-telepathic monsters.
305- Add a parameter to put_monsters_to_sleep defining the monster that is causing
306  the effect.
307- Refactor mpickstuff to use a callback function rather than a string of object
308  classes, allowing for finer control of objects monsters will pick up.
309- Refactor mm_aggression into clear one-directional and two-directional cases.
310- Pass lines retrieved via get_rnd_text and get_rumor (rumors, bogusmons,
311  graffiti, epitaphs, etc) through the quest text parser, letting them use %
312  arguments.
313- Move angelic and demonic maledictions out of quest.txt into wizard.c string
314  constants, and scrap using com_pager for them.
315- Objects will only be given a randomized object material if called with
316  init=TRUE in mksobj.
317- Add a struct crystalball_info to struct context, and the appropriate bits
318  into the save and restore code to save and restore it.
319- Add an ammo field to struct trap, which represents the object contained in
320  the trap (darts, beartrap, etc). Interactions with the trap draw on this
321  rather than on generic objects.
322- Rename cnv_trap_obj to remove_trap_ammo. It now extracts and places the ammo
323  from a trap.
324- Split monster intrinsics off the mextrinsics field, preventing monsters' worn
325  armor from clobbering their intrinsics from eaten corpses.
326- Generalize loadstone undroppability behavior to work on arbitrary objects.
327