1## xNetHack 6.0 Changelog
2
3This is a major version of xNetHack. It is based directly on xNetHack 5.1, and
4is a fork off the vanilla NetHack 3.7.0 development version release.
5
6The last vanilla commit incorporated into xNetHack 6.0 prior to its release was
7d6d42f5. Note that this contains some major changes including new monsters, new
8objects, themed rooms, and other things *not* documented in this file. See
9doc/fixes37.0 for the devteam's changes.
10
11The xNetHack page at the NetHackWiki, https://nethackwiki.com/wiki/XNetHack,
12attempts to describe these changes in a way that's better formatted and more
13friendly to players. However, the wiki page might be out of date; in case of
14conflicting information, this changelog and others in this directory are more
15up-to-date than the wiki page, and the commit messages are more up-to-date than
16this changelog.
17
18On top of any changes made by the NetHack devteam on 3.7, and any changes
19made in previous xNetHack versions, xNetHack 6.0 contains the following
20changes:
21
22### Gameplay changes
23
24- The geyser spell will rust armor and instakill you if you are an iron golem.
25- Vault guards grudge leprechauns.
26- Vampires grudge werewolves and vice versa.
27- Potions of acid no longer freeze when hit with cold damage.
28- Add two new random wand appearances "gold" and "gilded". Both are made out of
29  gold and can therefore be stolen by leprechauns.
30- All nymphs are now herbivorous (mainly meaning that pet nymphs will eat veggy
31  food and polymorphing into one does not make you inediate).
32- Salamanders, all Kops, and all corpse-leaving i-class monsters (imps, tengu,
33  quasits, homunculi, and leprechauns) are now carnivorous. This mainly means
34  that they are capable of eating meat when tamed and prefer it over veggy
35  food, and polymorphing into one does not make you inediate.
36- Ghosts cannot be renamed.
37- Reading a scroll of identify while confused will "identify yourself" and give
38  enlightenment.
39- Port L's Cursed Wand Backfire Patch: zapping a cursed directional wand will
40  cause it to backfire and zap you 10% of the time. This is independent of the
41  1% chance that a cursed wand will blow up upon use.
42- Martial arts users, sasquatches, and players wearing kicking boots can no
43  longer miss a monster completely with a clumsy kick.
44- Statues hit by a wand of opening will drop their contents without breaking.
45- Watch captains generate with a key.
46- The Gnomish Sewer now contains a couple figurines of jellies.
47- The Gnomish Sewer's land spaces are now exclusively room spaces ("."); all
48  corridor spaces ("#") have been replaced with them. The land/water/stone
49  layout of the map is not changed.
50- Genetic engineers (added in vanilla 3.7.0) are in the U monster class like
51  quantum mechanics are.
52- Attempting to use a crystal ball while hallucinating will paralyze you for d2
53  turns if the ball is uncharged or d4 turns if it is charged. (This and
54  crystal balls detecting dungeon features now are the only parts of the vanilla
55  3.7.0 crystal ball overhaul that have been included in xNetHack.)
56- Monsters prefer to wear an amulet of life saving or reflection rather than an
57  amulet of ESP or guarding.
58- Metal armor won't provide less than 1 AC (not counting enchantments) if it
59  has a decreased AC from being a different material. For instance, copper
60  gauntlets of power will provide 1 AC instead of 0.
61- Some themed rooms have minimum and maximum level difficulty cutoffs. Notably,
62  the spider room will not appear above level 10.
63- The "Fake Delphi" themed room now has one fountain in its center.
64- 27 new themed rooms:
65  - A cluster of four square interconnected 3x3 rooms.
66  - A barbell-shaped room connecting two 3x3 rooms with a doored, walled
67    corridor (vertical and horizontal).
68  - A room containing a bunch of graffiti.
69  - A room filled with small 1x1 pillars. Sometimes, these pillars will be
70    trees instead, and then the room will contain wood nymphs, and possibly
71    statues and a figurine of wood nymphs. This only happens at depths at or
72    above wood nymphs' difficulty.
73  - A boomerang-shaped room (left and right rotations).
74  - A 1-wide rectangular corridor (surrounding a chunk of normal stone).
75  - A room featuring an O, M, Z, or T monster in a cage of iron bars.
76    It can also be a D below level 12. From EvilHack.
77  - A room split horizontally or vertically into two subrooms. From EvilHack.
78  - A room containing a 2x2 subroom in any corner. From EvilHack.
79  - A vault containing 1-2 chests with random contents, not connected to the
80    rest of the dungeon like a gold vault.
81  - A room containing an X of water connecting its corners.
82  - A miniature 7x7 maze.
83  - A horizontal corridor with a bunch of closets along the top and bottom,
84    some of them containing monsters or objects.
85  - A wide room containing 1 to 3 2x2 beehives.
86  - A large honeycomb-shaped room with randomly connected cells, which is a
87    beehive.
88  - A room where each square becomes cloud, ice, grass, lava, pool, or tree
89    with a 30% chance. From UnNetHack.
90  - A room containing a ring of floor tiles surrounding a "swimming pool"
91    filled with water, which contains a few random sea monsters and possibly a
92    chest with gold and gems. (Unlike the Gehennom submerged special room,
93    there is no magic lamp.)
94  - A long, narrow (height only 1 or 2) room. From UnNetHack.
95  - A room populated with several random F, b, j, P and gas spore monsters.
96    From UnNetHack.
97  - Ozymandias' Tomb, a 7x7 room with a throne, some traps, a couple statue
98    traps and an engraving. Only appears deep in the dungeon. From UnNetHack.
99  - A room filled mostly or entirely with gas spores, which should prove
100    extremely fun to blow up.
101  - A room imitating the Pool challenge from the /dev/null/nethack tournament,
102    a 9x9 room with six holes for "pockets" and nine numbered boulders. (It
103    does not contain a way to launch the boulders or bounce them off each
104    other.)
105  - A room containing two 3x3 shops, one weapons and one armor, with an aisle
106    around them.
107  - A four-way circle-and-cross room, possibly containing a central tree or
108    fountain.
109  - Four square 3x3 rooms, but all directly connected as part of one larger
110    room instead of separated by corridors.
111  - A prison cell in the corner of a room, possibly containing a prisoner and
112    rat.
113  - A large room containing some type of obstacle terrain in a vertically
114    symmetric shape.
115- If you ride a steed into a polymorph trap, unchanging will not protect the
116  steed (but magic resistance still will).
117- Canceled or beheaded zombies or trolls don't rise from the dead.
118- You can opt to cast the non-advanced version of fireball or cone of cold if
119  you are Skilled or above in attack spells. If you do cast the non-advanced
120  version, the energy cost is reduced by up to half.
121- You can no longer be permanently expelled from the quest. Doing the things
122  that got you permanently expelled still expel you, but temporarily, and the
123  leader will get mad if you return.
124- You can enter the quest if your quest leader is dead.
125- When your quest leader is dead, your Luck will time out to -4 (regardless of
126  Friday the 13th or a full moon), good luck always times out for you, and bad
127  luck never times out for you, regardless of any luck items you are carrying.
128  Luckstones continue to be able to provide +3 or -3 luck.
129- Directly killing your quest leader sets your Luck to its minimum and
130  increments god anger by 7 in addition to its huge alignment penalty.
131- You only gain an alignment bonus for killing your quest nemesis if your quest
132  leader is still alive.
133- Directly killing a quest guardian decreases your Luck by 4 and increments god
134  anger by 1 in addition to its sizeable alignment penalty.
135- Monsters will ignore Elbereth and scare monster scrolls if you are generating
136  conflict.
137- A cursed amulet of life saving only works 50% of the time.
138- Leather items can no longer generate as paper.
139- Cloth weapon and armor items and towels can no longer generate as paper.
140- More tools are made eligible for material randomization; in particular, bags
141  can now be leather, plastic, or paper. Leashes, saddles, and blindfolds can
142  also now get different materials.
143- Orcish items can no longer generate as plastic or glass, but can now generate
144  as stone.
145- Nazgul are ungenocideable.
146- In wizard mode, you can choose to teleport into locations that you can't
147  teleport into in normal play (e.g. into a wall or across no-teleport zones).
148- In wizard mode, a message prints when you teleport on a non-teleport level.
149- Grass is restored to the Barbarian quest goal level.
150- Undead iron-haters do not recoil from the touch of iron.
151- Wood and paper golems instakilled by Fire Brand do not drop items.
152- A lot of the doors in Fort Ludios are now iron.
153- All A-class monsters are now immune to death magic.
154- Couatls and ki-rin are now shock, sleep, and poison resistant. Ki-rin are
155  additionally cold resistant.
156- Mindless monsters and werewolves are now sleep resistant.
157- Randomly named weapons can now use names from the top 10 list.
158- Creating Excalibur via fountain will set its enchantment to +0 if it was
159  negative, and obtaining it via crowning will set its enchantment to +3 if it
160  was lower than that.
161- Tame V-class monsters won't shapeshift from vampire form into something else.
162- Potion vapor effects are buffed:
163  - Full healing vapors restore 13 HP, extra healing 3, and healing 1.
164  - Booze vapors no longer do anything except cause you to smell alcohol.
165  - Confusion confuses you for 5+d10 turns.
166  - Sleeping makes you fall asleep for 5+d5 turns.
167  - Speed gives you fast speed for d10 turns.
168  - Blindness and hallucination make you blind/hallucinating for 20+d20 turns.
169- Monsters can now generate with a potion of hallucination as an offensive
170  item, and will throw it at the player. They generate with a potion of
171  sleeping a little less often.
172- Monsters can displace peacefuls out of their way like the player can, unless
173  the peaceful is larger than them.
174- Having unchanging while turning to slime only pauses the slime timer; it does
175  not cancel the slime effect entirely. Unchanging conferred by dying and
176  corrupting or polyinit mode does not pause sliming at all.
177- You can determine the species of a non-stale egg by listening to it with a
178  blessed stethoscope.
179- Monsters will not wear objects made of a material they hate.
180- Monsters will not equip gear when they think the player is close by.
181- Monsters can no longer start equipping gear in zero turns after doing other
182  actions.
183- Cancelled thiefstones can be reactivated by dipping them in a non-cursed
184  potion of restore ability. This will key them to the level and space where
185  the player is currently standing.
186- Monkeys get a short, one-time burst of speed after stealing an item.
187- 1/40 of randomly generated erodable items will have some amount of erosion.
188- Lieutenants count as lords, preventing them from getting bad gear and
189  increasing their multishot by 1.
190- Captains count as princes, giving them slightly better gear and increasing
191  their multishot by 2.
192- The chance of a falling piercer missing its target is now a Dex% chance for
193  the player, and monster speed% chance for monsters.
194- Monsters fighting the player in melee with weapon attacks will use ranged
195  weapons if they have no melee weapon available.
196- Candles, lamps, and other ignitable things can be ignited by sources of fire
197  (typically in situations when other burnables also catch fire).
198- Quasits are buffed:
199  - Speed raised from 15 to 18.
200  - Their bite attacks can drain 1d4 points of Dexterity (up from 1d2).
201  - They generate in small groups.
202  - 25% of them generate invisible.
203  - They can see invisible.
204  - Difficulty is raised from 7 to 9.
205- The amount of backstab bonus Rogues can get is capped based on their skill
206  level in the weapon they attack with, but also gains a flat bonus based on
207  skill level.
208- Rogues get backstab bonus on trapped, frozen, unmoving, sleeping, stunned,
209  confused, and blinded monsters in addition to fleeing ones.
210- Orcish Town's general store shopkeeper is replaced with Izchak.
211- Dropping a ring of polymorph control into a sink causes it to change into
212  another sink, which allows a new pudding and foocubus to be generated from it.
213- Cleaver does not hit enemies in an arc if there is a known peaceful or tame
214  monster at either of the two additional spots it hits.
215- Grimtooth confers poison resistance when wielded.
216- Piranha now have two 2d6 bite attacks instead of one. Their speed is raised
217  from 12 to 18.
218- The Big Room now appears (if it appears at all) on levels 13-15 instead of
219  10-12.
220- Kicking open secret doors and corridors is easier, and never causes you to
221  hurt your legs.
222- A tiny fraction of erodable items will generate greased.
223- Dwarvish characters can always reach Skilled in pick-axe skill.
224- Gnomish characters can always reach Basic in club and crossbow skill.
225- Elvish characters can always reach Basic in enchantment spell skill.
226- Orcish characters can always reach Skilled in scimitar skill.
227- Flint stones and hard gems break 50% less often when used as projectiles due
228  to hardness.
229- Hobbits that generate with a sling will also generate with a stack of 4 + 1d6
230  flint stones (75% of the time) or rocks (25% of the time).
231- The caveperson role no longer starts with rocks. Instead, they now start with
232  20 + 1d10 flint stones (formerly 10 + 1d10).
233- Flint stones weigh 2 (up from previous weight of 1, but still lower than the
234  10 they weigh in vanilla NetHack).
235- The melee strength bonus is applied to ammunition thrown from a sling.
236- Skilled and above slingers can instakill any H monster on a critical hit.
237- Statues may generate near cockatrices that generate at level creation time
238  and not in a special room.
239- Tool shops now stock touchstones as 2% of items rather than 7%.
240- Tool shops stock potions of oil as 3% of items.
241- Yellow lights and fire elementals emit light in a radius of 2.
242- Fruits generate with holiday-themed names for a number of different holidays.
243- Mimics have additional special-cased things to mimic in special rooms.
244- The scroll of stinking cloud can be centered at a little over 7 spaces away
245  instead of slightly over 5. Strictly speaking, the radius is sqrt(50).
246- Gas clouds block line-of-sight.
247- Hallucination prevents petrification (because you are already stoned).
248- Mordor orcs and Uruk-hai can generate with orcish spears.
249- Any monster that generates with a spear can generate with a stack of them.
250- If a monster dies to damage from a trap on the player's turn, the player is
251  considered responsible.
252- Pit fiends' hug attack now creates a pit underneath their target, followed by
253  them hurling the target down into the pit. Sometimes a pit may be enlarged
254  into a hole. Levitation and flying prevent getting trapped in the pit, but
255  do not prevent damage dealt by being hurled down to the bottom.
256- Anything that polymorphs into a snaky form that is nonhumanoid and not
257  Gigantic will not break its armor. Instead, it will slither out of its armor.
258- Chaotics no longer incur a -1 alignment record penalty for angering peaceful
259  monsters.
260- Chaotics no longer incur a -1 alignment record penalty for casting healing
261  spells at their pets (but they still do for healing peacefuls).
262- There are no alignment record adjustments at all for casting healing spells
263  at a monster which is already at maximum HP.
264- Summon nasties scales based on the summoner's level, not the player's, and
265  always creates at least 3 monsters.
266- Add L's Wounds patch, which allows healers to receive messages showing how
267  wounded a monster is, and obtain the same information from farlook.
268- When disarming a shooting trap, its ammo is placed directly into your
269  inventory.
270- Spheres' explosions are now real explosions, hitting the 8 squares around
271  them and items on the floor in addition to their target. Note: real
272  explosions can destroy items!
273- When the player explodes as a sphere, their carried gear is safe from any
274  elemental damage the explosion would normally cause.
275- Flaming and freezing spheres are difficulty 9 (up from 8), and shocking
276  spheres are difficulty 10 (up from 8).
277- Digging out of an engulfer's stomach cuts its HP in half rather than setting
278  it to 1. If the engulfer is amorphous, its HP is only cut by 25%. There's no
279  longer a special case for unique engulfers (Juiblex counts under the
280  amorphous rule).
281- Getting lifesaved lowers current and maximum Con by 2, to a minimum of 3.
282- Mold grows on corpses roughly 5% of the time rather than 50%.
283- When a container is polymorphed, its contents are spilled out rather than
284  silently deleted.
285- Anaraxis the Black wears a cloak of magic resistance.
286- Sokoban levels are not eligible to be flipped.
287- Magic missile damage is no longer completely negated by magic resistance.
288  Instead, it halves the damage.
289- Half spell damage reduces the damage taken by magic missiles by half. This
290  stacks with the halving from magic resistance.
291- Half physical damage no longer applies when you zap yourself with a wand
292  unless the wand is striking.
293- Alchemic blasts deal twice as much damage ((# mixing potions + d9) * 2), but
294  acid resistance halves this (bringing it back to its vanilla level).
295- Vorpal Blade now deals +1d8 bonus damage instead of +1.
296- When you kill the Wizard or perform the Invocation, the upper limit on which
297  difficulty monsters can randomly generate is removed.
298- The 3.6.1 change in which your Int+Cha is capped at 32 for the purposes of
299  foocubus encounters is removed; there is no longer a cap.
300- The denominator of the seduction success formula is no longer a constant 35;
301  it is now 25 + 5 times the seducer's level, plus 20 if in Gehennom.
302- Secret corridors never randomly generate except as part of some closets.
303- Wood nymphs are slower than an unhasted player (10 speed).
304- Water nymphs have a slightly increased base level (4) and difficulty (6).
305- Mountain nymphs have an increased base level (5), speed (15), and difficulty
306  (7).
307- Being inside an abattoir can inflict you with nausea, with a Con-dependent
308  chance. Entering an abattoir for the first time also triggers this with a
309  higher chance.
310- The items inside Vlad's Tower are no longer guaranteed (except the candles,
311  which there will still be at least 8 of).
312- If you pray while Weak, not carrying much food, and at critically low HP,
313  your god will fix your HP rather than your hunger. (If you're Fainting and
314  don't have enough food, they'll still fix your hunger first.)
315- When evaluating if you're carrying enough food, your god will ignore any food
316  you're carrying if you have maintained the foodless conduct.
317- The Amulet now blocks teleport control instead of all intra-level teleports.
318  (It still blocks 1/3 of intra-level teleports, as in vanilla.)
319- Paper and straw golems (in addition to wood and leather golems) will rot and
320  instantly die when hit with a decay attack.
321- A wished-for thiefstone will be keyed to the spot the player is currently
322  standing on.
323- Blessed gain ability potions now increase a single attribute by 1-2 points
324  (the player chooses which) instead of raising all by 1 point.
325- Gain ability (uncursed or blessed) trying to raise an attribute randomly will
326  always succeed provided there is something raiseable. "Innate improvement"
327  attributes, e.g. strength while wearing gauntlets of power but when the base
328  value isn't maxed yet, now count as raiseable.
329- Item destruction is significantly nerfed; each source of cold, fire, and shock
330  damage can only destroy up to 1/5 of that damage in items.
331- New Big Room "Tea Party", containing a number of obstacles.
332- 8 polearms are removed: ranseur, spetum, bardiche, voulge, fauchard,
333  guisarme, bill-guisarme, lucern hammer.
334- The bec de corbin's damage stats are now those of the lucern hammer
335  (2d4 vs small / d6 vs large) instead of its former d8/d6.
336- Wielded rings can be enchanted with a scroll of enchant weapon, which has
337  identical effects to a charging scroll of the same beatitude.
338- Certain tools that have corresponding magical counterparts can be enchanted
339  with a scroll of enchant weapon while wielded, turning them into their
340  counterparts.
341- The "dtsund-DSM" proposal is implemented, which replaces dragon scale mail
342  with dragon-scaled armor of other types.
343  - All dragon scale mail is removed and no longer exists as objects. Wishing
344    for dragon scale mail will produce a "that doesn't exist" message.
345  - Dragon scales are now worn in the cloak slot. Their stats are unchanged:
346    3 AC, 0 MC, providing the same extrinsics.
347  - Reading enchant armor with scales equipped will always target the scales.
348  - Enchanting scales with body armor underneath will meld the scales into the
349    body armor, causing that piece of armor to provide the dragon extrinsic
350    associated with the scales as well as gaining 3 AC.
351    - The armor does not become erodeproof, but will become uneroded and
352      blessed if the scroll is blessed.
353    - This process does not change the enchantment of the armor.
354    - If the scroll is cursed, the resulting scaled armor proceeds to lose a
355      point of enchantment and become cursed, like normal for a cursed enchant
356      armor scroll.
357    - If you are confused, the scales will meld and then you will polymorph
358      into the associated type of dragon (see below). This skips the cursed
359      behavior.
360    - Melding scales into armor that already has scales will replace the old
361      color of scales with the new one.
362  - Enchanting scales without body armor underneath causes a polymorph into the
363    type of dragon matching the scales. Wearing a shirt does not affect this,
364    but polymorph control allows you to choose whether you wish to become a
365    dragon. A blessed scroll gives you a longer duration as a dragon and a
366    cursed scroll gives you a shorter duration.
367  - Reading a scroll of enchant armor while wearing a set of scales will always
368    try to do something with that set of scales; it will not choose an armor
369    piece randomly.
370  - Merging with scaled armor while polymorphing does not unfuse the scales
371    from the armor or cause any other sort of reversion; changing back will
372    restore the armor as it was.
373  - Scales' enchantment does not get transferred onto armor. It should not be
374    possible to obtain a set of scales with some enchantment other than +0,
375    apart from wishing for one.
376  - Player monsters that would receive dragon scale mail now instead receive a
377    standard body armor suit that is scaled with a random color of dragon
378    scales.
379  - Scaled armor cannot be wished for, it must be crafted.
380- Worn armor weighs 75% of its listed weight.
381- You can use #loot on adjacent pets to give them items and take items from
382  them. They will reevaluate their gear choices if you give or take anything.
383  Equipped items are valid selections; trying to take one will get the pet to
384  take it off. In wizard mode, this can be done to anyone, not just pets.
385- You can #rub a thiefstone on your hand as a gold golem in order to teleport
386  yourself to your stash with it.
387- Thiefstones no longer teleport themselves along with a gold golem that they
388  steal away, unless you are a gold golem rubbing it on your own hand, in which
389  case it stays with you.
390- Thiefstones now can be used to teleport any gold item to their stash, not just
391  coins.
392- Revert some of version 3.0's monster letter and color changes:
393  - Sea monsters moved back to ';'
394  - Zruties reintroduced as 'z'
395  - Lizards moved back to ':'
396  - Leprechauns moved back to 'l'
397  - Kop Sergeants/Lieutenants/Kaptains returned to blue/cyan/magenta
398- Mummy wrappings are no longer eligible for object materials and are always
399  cloth.
400
401### Interface changes
402
403- Light armor, studded armor, jackets, plain cloaks, and identified plain
404  gloves will display their default leather material when made out of leather.
405- Engravings now render as ~ (tilde) instead of " (quotation mark) by default.
406- The Vibrating Square is colored yellow instead of purple.
407- When water walking boots are identified by walking on liquid with them, a
408  message is printed.
409- The code is brought to parity with the interface improvements in the
410  NHTangles/NetHack36 github repository, branch 3.7-hdf.
411- Killing "player remnant" monsters (e.g. ghosts) from bones files is
412  livelogged.
413- Player remnant monsters cannot be renamed.
414- The 'checkpoint' option now defaults to true.
415- When you wear a cursed piece of gear, it will print a message about welding
416  to your body and immediately become identified as cursed.
417- Dying on a corridor or grass space now leaves a gravestone in the bones file.
418- You can no longer push a boulder in the course of running or traveling.
419- Monster and object lookup now print a heading which displays the monster or
420  object that it is printing details for.
421- Viewing an encyclopedia entry now prints the string that was used to find an
422  entry in the encyclopedia and the string in data.base that matched it.
423- The livelog for life saving prints the would-be cause of death.
424- The #conduct command (and thus the dumplog) shows how many items you have
425  polymorphed during your game, outside of wizard mode.
426- If you have nothing quivered but are wielding a weapon that can return to
427  your hand when thrown, the f (fire) command will choose that to throw (unless
428  autoquiver is on and it finds something else to quiver).
429- Riders now have unique messages for when they resurrect.
430- A couple more major Oracle consultations.
431- Monks now have role-specific hello/goodbye messages like several other roles.
432- An offscreen pet death will make you feel "woebegone" if hallucinating.
433- If you had a travel destination saved that you hadn't yet reached, a
434  controlled teleport will suggest that destination at its prompt.
435- Wielded weapons you are not at least Basic in are treated as non-weapons for
436  the purpose of "You begin bashing" messages.
437- When a monster wakes up, a message is printed indicating that, unless there
438  is a more specific message already being shown.
439- When you #loot while standing over a single container, and there is no
440  adjacent monster for you to loot, it will automatically loot that container
441  without prompting.
442- Monster lookup additionally shows the base level of the monster.
443- The xlogfile now contains a "polyinit=" field for all games, showing the
444  monster species the player polyinitted as, or "none" if the game was not in
445  polyinit mode.
446- New SERVERSEED sysconf option, which is intended for server operators to
447  obfuscate the values returned by the game's deterministic hash functions so
448  players can't compute them.
449- Conduct flags in the xlogfile are moved around (xNetHack flags now start at
450  the highest bit and count down) and conductX is extended to include xNetHack
451  conducts.
452- Bonesless conduct is determined by not loading any bones files, rather than
453  simply having the bones option off.
454- The xlogfile "flags" field is rearranged (xNetHack flags now start at the
455  highest bit and count down, and it no longer stores the number of bones).
456- You can now set monster colors to recolor a monster species: either via
457  "MONSTERCOLOR=species:color" in the configuration file, or via in-game
458  options. They do not persist when the game is saved and restored, but
459  configuration file changes will be reloaded upon restore.
460- More hallucinatory monsters, shirts, epitaphs, random engravings, rumors,
461  hallucinatory gods, hallucinatory blasts, tin labels, weapon names, and
462  taunts.
463- A number of new encyclopedia entries are added, mostly for things that vanilla
464  did not have an entry for, such as conducts and object materials.
465- The 'color' option is now on by default.
466
467### Architectural changes
468
469- tipcontainer() is generalized to work for spilling objects out of a container
470  on some space other than the player' other than the player's.
471- A bunch of enhancements, fixes, and refactors of the level parser, initially
472  implemented as patches versus vanilla. In particular, themed room subrooms
473  and special rooms can now be filled.
474- Monsters created in a bones file to represent a dead player (ghost, mummy,
475  etc) are tracked with a new "ebones" mextra struct.
476- A new body part, TORSO, is added.
477- Overhaul special_dmgval(); it now checks all possible sources of special
478  damage and returns the one that had the highest damage roll.
479- New function attack_contact_slots, which returns the worn gear slots which
480  will come in contact with a monster being attacked.
481- searmsg(), special_dmgval(), and mon_hates_material() are all
482  xhity-compatible.
483- polymon() now takes a second argument of a bitmask of flags, rather than a
484  boolean, for finer-grained control of which types of messages it will print.
485- New function invalid_obj_material(), used only by other object material
486  functions to check for a specific otyp-to-material invalidity.
487  valid_obj_material remains the main function accessible outside mkobj.c.
488- New macro livelog_mon_nam(), which is a wrapper around x_monnam()
489  specifically suppressing hallucination so that livelogs don't print a
490  hallucinatory monster.
491- New monster flag alias golem_destroyed, which is actually mrevived and
492  indicates that the monster was completely wiped out and should drop no items
493  from its body. Only should be used on monsters for which mrevived is never
494  set.
495- New function tt_name(), which returns a random name from the top 10 list.
496- artifact_hit now returns a bitmask of two flags: one for having printed any
497  special message (and the caller doesn't need to print a normal hit message),
498  and one for specifically printing an instakill message (for the caller to
499  suppress more messages in certain circumstances).
500- Rearrange the logic in mm_displacement() into a series of if statements
501  rather than one big if.
502- New function autoreturning_wep(), an xhity-compatible function that
503  determines if a thrown weapon should return to its user.
504- The its_dead() function now takes a fourth argument, the stethoscope being
505  used to listen to floor objects.
506- New function can_slime_with_unchanging(), which determines whether you have a
507  certain form of unchanging that should not impede turning to slime (such as
508  polyinit mode).
509- New function faulty_lifesaver(), which unifies the logic for deciding when an
510  amulet of life saving will fail.
511- New function check_gear_next_turn(), which sets a flag on a monster that it
512  should reassess its worn equipment for anything better at the beginning of its
513  next turn.
514- New function piercer_hit(), an xhity-compatible function that handles what
515  happens when a piercer attacks something by falling.
516- The thrwmu function now returns boolean instead of void, used to determine
517  whether the monster actually took any action.
518- New function ignite_items, which makes items in an object chain (candles,
519  lamps, etc) light on fire.
520- New function adj_monnam(), which contains the logic from Adjmonnam but
521  doesn't force the first character to be uppercase. Adjmonnam now calls this.
522- New function should_cleave(), which determines whether there would be
523  peaceful monsters in the path of Cleaver.
524- Move will_weld() macro up to obj.h so that it can be used outside wield.c.
525- Gas clouds are now capped at 150 squares (nothing that creates a cloud
526  currently uses this much area).
527- Convert the emits_light macro into a function in mondata.c.
528- New function weekday(), which returns the day of the week in a 0-6 range.
529- New function days_since_epoch(), which returns the number of days since
530  1/1/0000.
531- Externify the inside_region function.
532- Externify the cant_wield_corpse function.
533- New function create_pit_under(), an xhity-compatible function that has an
534  aggressor create a pit beneath a target monster and throw them down into it.
535- New function is_fleshy(), which determines if a monster has flesh or not.
536- New function dump_container(), which contains the logic extracted from
537  tipcontainer() that deals with actually dumping the items out on the floor.
538  Various item-spillage bits of code now call this.
539- Add nh.mon_difficulty() as a Lua function which returns the difficulty of a
540  given monster species.
541- Add door_into_nonjoined() which checks if a potential door location would
542  connect to an area marked as non-joined.
543- Unify the probabilities for random door generation between regular dungeon
544  levels and other levels: how often they generate closed, trapped, iron, etc.
545  into a new function random_door_mask().
546- New function clear_nonsense_doortraps() to delete traps on doors where the
547  trap type doesn't make any sense.
548- Remove the rnddoor() function.
549- retouch_object() now takes a third argument which indicates the caller thinks
550  the object isn't in contact with your body and there should be no damage due
551  to hating the material.
552- New function armor_bonus(), which is converted from the ARM_BONUS macro.
553- New function dragon_scales_color(), which returns just the color string from
554  a set of dragon scales or dragon-scaled armor.
555- armor_to_dragon() is externified and takes a monst instead of an otyp. It
556  unifies player and monster logic of figuring out what dragon a creature
557  should polymorph into based on what it's wearing.
558- New function armor_provides_extrinsic(), which finds the extrinsic property a
559  piece of dragon-scaled armor should provide.
560- Define constants FIRST_DRAGON, LAST_DRAGON, FIRST_DRAGON_SCALES and
561  LAST_DRAGON_SCALES for better semantics where they are used in the code.
562- The Is_dragon_mail and Dragon_to_scales macros are removed.
563- The Dragon_scales_to_pm and Dragon_mail_to_pm macros are replaced by
564  Dragon_armor_to_pm, which unifies them.
565- New macros Is_dragon_scaled_armor, Dragon_armor_to_scales,
566  Dragon_armor_to_pm, and mndx_to_dragon_scales.
567- An argument of 4 to polyself() indicates a polymorph from trying to enchant
568  dragon scales onto oneself (so that polymorph control only allows the player
569  to decline to turn into a dragon rather than being able to become anything).
570