Shadow of the Wyrm v1.7.0 "Michelagnolo Galilei"
- Version started February 18, 2024.

- Evergreen trees are now cyan in winter, to mimic the appearance of snow on
  their branches.

- If you leave followers behind on an overworld map that isn't permanent (a 
  random forest, etc), that map will be flipped to permanent if you leave any
  followers behind when exiting the map (dionje5).

- Cursed wands now have a chance to explode, lessened by Wandcraft, which can
  also (for higher values) prevent this altogether.

- For this reason, NPCs won't chance using cursed wands.

- You can now dig through non-blocking diggable tiles (trees, etc) if you have
  a digging implement equipped (sr.mafioso).

- Axes can now be used to cut down trees. Axes more suited to this purpose
  (woodsman's axe, briar axe) will not break, though others might.

- Digging through weeds no longer gives lumber, branches, and boughs.

- Digging through trees, bushes, and weeds gives different messages than when
  digging through earth and rock.

- Working with traps now trains Disarm Traps (hemsio).

- Improved the way in which Foraging and Herbalism train: these now train when
  herbs or foragables are generated during map creation.

- You will no longer be crowned if standing over a tile (eg, open water) that
  would cause your crowning gift to disappear.

- Shopkeepers now get additional ivory when shops repop and they're below a
  certain threshold (hemsio).

- Shepherds start with slings and a few stones (Paul Raymond-Robichaud).

- Crowning gifts are now generated blessed.

- Creature respawns now generate a message (with associated music effect).

- Full support for music and an initial soundtrack.

- New names, etc.

- New creatures: chamber ensemble.

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - Smithing was training far less frequently than it should (hemsio).

  - The message for NPCs kicking objects wasn't working correctly (Paul 
    Raymond-Robichaud).

  - The guidebook didn't note that Shepherds get Weaving (Paul Raymond-
    Robichaud).

Shadow of the Wyrm v1.6.5 "Reusner"
- Version started December 10, 2023. Version finalized February 18, 2024.

- Added sound support. The game has support for a number of events (hit, miss,
  etc) and the sounds for each can be configured in the game's main XML config.
  Sound effects can also be played on arbitrary regex matches on in-game 
  messages.

- Various new name, ship name, etc possibilities.

- Bug fixes:

  - Digging and dropping a stone block/etc would allow you to build over
    stairs (RelicWraith).

  - Made certain API functions safer to call without checks.

Shadow of the Wyrm v1.6.2 "Daca"
- Version started July 8, 2023.  Version finalized December 10, 2023.

- The game now shows "a vanished god" if you worship one of the Nine and they
  are gone from the game.

- Added a new religion option, godlessness (Josh Engdahl). Godless characters
  receive no divine help via prayer, and cannot be crowned. They are still
  subject to divine wrath if they do particular disliked things, such as
  kicking altars. Godless characters have a much harder time learning divine
  magic, and receive far fewer castings. When they drop items on altars, those
  items will be cursed, as when doing this on a cross-aligned altar.

- A while ago, the breakage chance of regular pickaxes was reduced to 1%, and
  that of dwarven mattocks to 0%. Tthis made Delver less useful, so it's been 
  buffed up: it now offers resistances to all the physical damage types, does 
  a bit more damage, and has the piercing flag.

- Made some improvements to the menu options in curses mode when 
  "full_stop_after_options" is set, so that they sound better when read by a
  screen reader.

- Added a "display_simplified_splash_screen" setting which in curses-mode will
  present a much simpler splash screen suitable for screen readers (no ASCII
  art) (Stephen Shaffer).

- Added a "show_distance_on_examine" setting (off by default) to display the 
  distance of the selected tile from your current position when examining.

- Added mushrooms to fields, and fungus to tree generation.

- Added a special mushrooms room type to dungeons.

- The base chance for an enchantment to brand a wearable has been halved.

- Amaurosis has been buffed up a bit: he can now cast spells, has a greater
  chance to blind on a successful hit, and is faster.

- A weapon/armour's status now affects the chance of that piece being branded
  when enchanted.

- A weapon's status now affects whether it gives a bonus or penalty to the 
  application of the damage type's status.

- When digging, an item's status now affects its breakage chance.

- Blessed scrolls of recharging now increase the minimum number of charges
  when recharging a wand. The wand's status now affects the potential number 
  of extra charges.

- A consumable's status now affects its nutrition, though this does not affect
  what the item is worth to the divine.

- The status of the item selected for the Bowyer/Fletchery skill now affects
  both the quality of the item produced, as well as (for fletchery) the
  quantity.

- Your fishing rod or spear's status now influences your fishing outcome.

- Most plants and vegetables are now plantable, and when dropped in a hole 
  will yield more of the same the next summer.

- Non-weapons that you can wield (such as shovels and fishing rods) and now
  properly treated as exotic weapons when using them in combat. Previously,
  the game treated you as unarmed.

- Added a temple master to the top of the temple in Carcassia - she takes
  donations to the temple, which are rewarded with piety; particularly large
  donations will bless the player's equipment, or inventory.

- When specifying symbol information in the configuration file, if no Row and
  Col are provided, a default of 0 for each is assumed.

- Externalized a bunch of world-generation settings into swyrm.ini for modding
  and/or just messing around.

- Created trap traps, which are traps that generate other traps nearby.

- Allowed for a per-class symbol which overrides the defaults applied to the
  player (Paddy).

- Added an option (off by default) that allows the game to save and then
  prompt for quitting.

- Tweaked a few sprites.

- More name combinations.

- New creatures: temple master.

- New items: mushroom, shelf fungus, Shiver's kiss, deathbloom, chanterelle,
  morel, elfcap, pufftop, elfland's exit, scroll of trap summoning.

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - The game would crash if an invalid race was specified for a creature being
    generated.

  - Fixed an auto-death issue involving mountains where you could be generated
    on an air tile, instantly killing you if you didn't have flying.

  - Pov wasn't handling invalid input nicely (Sofistico).

  - When notifying a deity about a pleasing action, the piety was incorrectly
    always getting applied to the creature's active deity.

  - The '%' character was being duplicated on screen in curses mode.

  - Cursed scrolls of enchanting completely prevented branding.

  - You could farm piety with Sceadugenga by continually digging on the same
    grave tile (Quartzartine).

  - The HP indicator (when using e'x'amine) sometimes wouldn't return a valid
    description.

  - Targetting via ranged combat could target a creature outside the field of
    view if they move (Hems).

Shadow of the Wyrm v1.5.8 "Testagrossa"
- Version started January 7, 2023. Version finalized July 8, 2023.

- Additional names for things.

- Added an option "full_stop_after_options" (off by default) which, when the
  game is running in curses-mode, will add a period to allow screenreaders to
  read the text with pauses (George White).

- Some creatures are generated cowardly, and will try to flee when their HP
  becomes too low (Josh Engdahl). Fleeing creatures may turn to fight when
  cornered.

- The table of contents in the guidebook now contains links to each section
  (Dimm_ddr).

- Allowed "template creatures", which are creatures for which the ID, short
  description, description, speech text, night speech text, and text details
  are CSV strings. This makes it easier to specify a number of variations of
  the same sort of creature without having to copy-paste the rest of the
  specification in the configuration. To see an example of this, search for
  "seagull" in ShadowOfTheWyrm_Creatures.xml.

- Wooden items can now be transformed into paper pulp (JovanM).

- Added a setting to always stop on items when using automove (Xvordan).

- Thieves and seafarers now start with bandanas. This is purely flavour:
  bandanas are basically the same as caps.

- Creatures may decide to kick if doing so could insta-kill their opponent.

- Set a weight limit allowing the player to exclude heavier items from
  autopickup (Xvordan).

- New material type, plant. "Wooden" items (clubs, crossbows, coracles, etc)
  are now specified properly as wood, with plant-type items (vegetables,
  wildflowers, etc) specified as plants.

- New items: Selrin's bandana.

- New creatures: guillemot, puffin, barn centipede, metallic centipede, great
  centipede, smallsailor, peddlar, Varra, Athel, Thena.

- Small memorial in Gnordvar for an old friend.

- The naming screen now references your selected class instead of just
  "adventurer" (Xvordan).

- Unimplemented skills are now disabled and can't be improved after levelling
  (Josh Engdahl).

- Deities may now grant knowledge of divine magic after prayer (JovanM).

- Added a small write-up to the docs around map permanence (Josh Engdahl).

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - A missing Lua script was causing an error to be emitted to the logs.

  - Hoard/shipwreck tiles weren't displaying correctly (Grond).

  - Fix an issue with being unable to drop items in shops when overburdened,
    which would lead to a slow and ignominous death (Benjamin Derge).

  - Wands weren't restacking properly when dropped from a larger stack - 
    the wand was being given a new charge as if it were a newly-created item.

  - Shop generation wasn't checking the safety of the shopkeeper tile.

  - Carcassia C1A and C2A didn't have an east-west linkage (though they
    currently can't be co-reached in these directions).

  - Having autopickup include rings would cause an issue with displaying that
    option in the automatic actions menu.

  - The boating skill wasn't showing a proper description when selected on
    the skill screen (Xvordan).

  - Option descriptions would repeat when an invalid key was pressed.

  - A player-specific confirmation message was showing when enemies decided
    whether to kick you or not.

Shadow of the Wyrm v1.5.2 "Satoh"
- Version started May 15, 2022. Version finalized January 7, 2023.

- Deserts have a small chance to generate a spring.

- When removing items from the player (typically for fetch-type quests), the
  game now checks inventory first, then worn equipment.

- There are no longer climbing danger prompts at skill 100 (Josh Engdahl).
  At 100 climbing there are no longer exhaustion/etc checks: you will be
  safe to climb mountains indefinitely.

- More names.

- Exiting the codex or bestiary during tile selection no longer exits tile
  selection.  This behaviour is configurable in swyrm.ini (Josh Engdahl).

- You can no longer use the Music skill underwater.

- Updated mawgrawls to use "itself" (Josh Engdahl).  Set this flag as well on
  birds and animals.

- Hirelings and adventurers now have a good chance to have personalized
  bestiary entries.  When they don't, they'll continue to use the existing
  respective entry.

- When you drop an item a shopkeeper doesn't want, it's now added back to your
  pack (Josh Engdahl).  This also happens if the shopkeeper wants to buy it
  but can't afford it.

- Boating now has an initial implementation, and allows faster movement over 
  water when not flying.

- When digging via non-magical means in a shop, the player is now prompted
  to continue (Grond).

- Wandcraft now affects to-hit when evoking a wand (Josh Engdahl).

- The in-game start date and current date are now shown in the character dump,
  and the date message formats in-game have been tweaked to also show the
  numerical month.

- Random artifact (randart) generation.

- The terrain lore skills (Desert Lore, Forest Lore, Marsh Lore, Mountain Lore)
  will now help you find treasure hidden across the world. These treasure
  caches contain a variety of useful items, the centrepiece being either a
  huge sum of ivory or a randart.  Dungeoneering can also help improve the
  quality of the cache.

- Ocean Lore lets you find sunken shipwrecks.  These are located on the ocean
  floor near coastlines - you'll need to dive down to find them.

- Mountains can now be generated with southern and eastern clifflines that
  drop off into nothing.  Mountains may now also have streams and springs.

- There are now different messages for using > and < on springs, open sea, 
  and the cosmos.

- Bargaining reduces the cost of hirelings (RelicWraith).

- Pelicans have a better sprite.

- The Forest of Yew is a reasonably well-known place and its tile message has
  been updated to be slightly more specific about what's there.

- If you now have a way of flying, you can move up to open sky.  Losing the
  ability to fly in such cases is not recommended, and deadly. If you have
  some swimming, you can go underwater, assuming you're in shallow water,
  though you can only hold your breath so long.

- Carcassia now has "sky maps" above the ground-level maps, that can be 
  accessed either via stairs from the appropriate place, or ascending while
  flying.

- Set the flying flag on creatures where it made sense, so long as they didn't
  get it already from their race.

- There is now a skill trainer located by the fighting pits in Carcassia.  He
  will let you train any of your skills - for a price.

- The inner teleporter in Carcassia A1 now has unlimited uses, so you won't
  get stuck in an exitless room (JovanM).

- Character dumps now show the date and time when you started your character,
  as well as the current time.

- The Fletchery skill now influences how many items get created when using
  Fletchery.  A similar calculation is applied to the creation of clay shot,
  with the key skill being Crafting.

- More weeds.

- Dolmens can be generated in the hills.

- Oceanography has been renamed to Ocean Lore, and given to goblins.
  Snakelings will now also start with Desert Lore, in addition to Marsh Lore.

- Forests at the northern and southern extremes are now rockier, their
  appearance closer to something like the Canadian shield. Fields and 
  scrublands, too.

- Mountaineering as a separate skill has been eliminated, and has been folded
  into Mountain Lore (RelicWraith).

- Added some additional Lua functions for modding: set_creature_size, 
  get_creature_size, get_nutrition.

- Updated the spell ending descriptions to "Ending after" instead of "Ending
  at", to better indicate that the spell doesn't end at exactly that time.

- Autopickup now excludes unpaid items by default. This is configurable in
  swyrm.ini and in-game via '!'.

- Wrote a Python script for checking the blank resource strings against the
  English ones, to ensure everything from the latter is in the former.
  Updated the blank strings to add a few dozen missing resource strings.

- Killing The Sorceror transports you back from Telari, and prevents you from
  re-entering.

- New items: amulet of the sky, conch.

- New creatures: Pern, stylite, ancient sage, Carcassian magistrate, hermit
  crab.

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - Some of the Nine's special creatures were unable to spawn in the rift in
    the cosmos.

  - Removed some wand enchantment code that was causing stack issues.
  
  - Setting age via swyrm.ini was also overriding the maximum, leading to
    death after one year (Josh Engdahl).

  - When sentries were considering allies, they weren't considering their own
    ID, leading to e.g. Carcassian guards attacking each other.

  - After paying off shopkeepers, hostility was removed from the shopkeeper
    but not the player.

  - The NPC Callara was too close to "Calara", used in Lish's quest.  Callara
    is now called Callisa (YARD).

  - The buy-in message for Blackjack wasn't clearing properly before starting
    the game.

  - Turned off an SDL hint that was causing sprite blurriness on high
    resolutions/large monitors.

  - Wand speed was using the magical speed calculator, so wand speed would
    unintentionally vary based on the last spell cast.  If you had never cast
    a spell, the wand speed would be very fast.  Wand speed has been updated
    to use its own calculations, with Wandcraft positively affecting the speed
    at which you can evoke wands.

  - Creatures with ranged weapons would sometimes attack you even when that
    didn't make sense (Josh Engdahl).

  - Fixed an issue with elements not being cleared from the Lua stack after
    a call into the Lua code from the engine.

  - Wintersea Tower is now properly connected/situated to the main Wintersea
    map, allowing you to either take the stairs or fly up to the top level.

  - Wild orchards and mountains weren't generating coastlines like fields, 
    forests, etc.

  - A bug with death-causing statuses was causing crashes in narrative mode,
    where the player is immediately revived. 

Shadow of the Wyrm v1.4.5.1 "Fuenllana"
- Version declared May 12, 2022.  Version finalized May 15, 2022.

- Hermits sometimes make their homes in the dry drainage basins in old sewers.
  It's very quiet.  Nobody tries to visit them.

- Hermits have been given the no-pickup flag.

- The Detect Traps effect now trains Detection (Josh Engdahl).

- Alcohol absorbs twice as fast on an empty stomach.

- More names.

- Bug fixes:

  - Eating most foods around adventurers and hirelings caused them to become
    enraged, because the game considered adventurers and fruit to be
    equivalent (Josh Engdahl).

  - Food added via the Lua console with 0 enchants provided no nutrition.

  - Added some additional 0-pt guards for enchanting and smithing.

Shadow of the Wyrm v1.4.5 "Fuenllana"
- Version declared March 27, 2022.  Version finalized May 12, 2022.

- Created a splash screen for curses mode.

- Killing a questmaster will now remove their quests from your active list
  (oooby).

- Improving items either by enchanting or smithing now has a very small
  chance to add extra speed.

- Creatures will now consider moving through traps if they think the damage
  won't be too much (Josh Engdahl).

- Added another poem for the title screen.

- Removed the use_default_name setting - this was unnecessary and the game
  will now just check to see if the default_name setting is populated.

- When calculating ranged damage, the effect bonus of the launcher now
  gets added to the total.

- Meat now floats, so you can now get eg corpses generated on water tiles.

- There is now an optional setting to prompt prior to quest completion 
  (Josh Engdahl).

- Created a new map flag, "divine forbidden".  This flag blocks NPCs not
  considering other NPCs threats if they have the same deity, and is used
  in the shrines.

- Re-added traps to caverns and mines (sewers will remain trap-free).

- Hostile creatures no longer follow and take orders.

- Additional person/place names.

- Additional townsfolk quests.

- Updated creature description via 'x' so that Friendly and Follower show
  outside the statuses section (since they're not technically statuses).

- Various typo fixes/text improvement.

- Sewers can now have drainage basins.

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - When default_name was set, and you already had a character of that name,
    the game would hang (Josh Engdahl).

  - Fixed the same issue with the username_is_character_name setting.

  - Traps weren't generating in dungeons (Josh Engdahl).

  - NPCs in corridors might try to cast a refective beam in such a way that
    they thought it would hit the target, but it ends up just bouncing and
    targetting themselves (Josh Engdahl).

  - Air-breathers could be generated on water (Josh Engdahl).

  - Cosmos generation sometimes caused the game to hang in SDL mode.

  - The "It feels peaceful here." message wasn't checking if there were any
    pre-existing hostile creatures.

  - Random villages' names weren't being set correctly, causing issues on the
    quest list screen when receiving quests from NPCs in those villages.

Shadow of the Wyrm v1.4.3 "da Milano"
- Version declared December 24, 2021.  Version finalized March 27, 2022.

- Stone blocks can be obtained by digging in solid rock, while sod can be
  harvested by digging in fields.

- Digging through trees provides a source of lumber (as well as branches and
  boughs).

- You can now build, and only need building materials (stone blocks, sod
  bricks, lumber):

  - Dig and drop the building material on a tile containing buried remains
    and you'll be asked if you want to make a grave.

  - Dig and drop the building material and you'll be asked if you want to
    build a section of floor.

  - Drop building material and if you can't/don't want to build a floor,
    you'll be prompted to build a section of wall.  Stone and sod let you build
    rock/earth walls, respectively, while dropping lumber near water allows
    you to build a pier.

- If maps have a very low danger level, traps will not be generated when
  requested.

- Lituus is now rods/staves rather than bludgeons.

- Pick axes are now much less likely to break, and dwarven mattocks will not
  break at all.

- Blessed weapons now make it a little easier to hit, and cursed weapons a
  little harder.

- Rewrote the Hunting skill to be clearer that it's about corpse drops
  (Wolpertinger).

- Skinning now provides a chance to preserve the corpse afterward.

- Hunting is now passively trained each time you get a corpse.

- Some creatures now have a small chance of providing a quest.  Right now,
  this is limited to townfolk-type NPCs: tradesmen, farmers, potters,
  travellers, tanners, commoners, jewelers, smiths, weavers, scribes,
  thatchers, fishermen.

- The scrimshander in Whaling's End now has a small quest as well.

- Certain NPCs (generally, the ones listed above) now have a chance to run
  some common quests as well.  These quests can be be repeated: you can do the
  quest for a fisherman in Isen Dun, a tradesman in a random village, etc.

- Added a loading splash image and an .exe icon, courtesy of Kenny Dalman.

- Character age can now be specified in swyrm.ini.  This lets you either
  directly set an age, or set a value that triggers an age selection screen
  (RelicWraith).

- Creating items via tannery now properly adjusts their value based on the
  quality of the crafted item (RelicWraith).

- Long spears are now range 3.

- Shard of Starlight deals more damage.

- If you're wielding a pick axe or mattock, you can knock stones loose from
  the ceiling when underground.

- When a particular tile has been dug, small or tiny creatures get a bonus to 
  their hiding checks (RelicWraith).

- Blessed scrolls of monster summoning now provide you with companions.

- New name and settlement name combinations.

- Dragonbane's range is now 3, keeping in line with other two-handed spears.

- Divine companions get additional bonuses to HP, AP, and damage based on
  your Religion skill (RelicWraith).

- Characters with Leadership can now use a command in the order menu to summon
  followers on the current map to nearby tiles.  This works even if the
  followers can't currently be seen (RelicWraith).

- Tamed/summoned creatures now start out in the at-ease state, which will have
  them decide what they want to do.  Generally, they'll follow you, attack
  threats in range, and so on.

- NPC AI has been updated so that creatures that were once a threat to a
  creature's leader, but aren't any longer (via taming, etc) are removed
  as threats.

- The Carcassian recruiter has a new quest to put down a peasant uprising.

- The speed difference between the attacker and defender now plays a part in
  determining whether an attack becomes a sneak attack.

- Added support for running a script when a creature is created to allow for
  more complex behaviours, if needed.  Added a creation script for cats to
  randomize their colour between brown/grey/black/white.

- The manual, keybindings, and confirmation text now make it more clear that
  quitting will abandon your character (Josh Engdahl).

- New creatures: thatcher.

- New items: stone block, sod brick, lumber, crowbar, speed ring, speed 
  amulet.

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - Acey's imperial stash quest wasn't displaying the reminder string.
  
  - Opponents in the arena were generating friendly if they shared your
    deity.

  - The changes to the ambient danger level were messed up the danger levels
    of mines, sewers, and dungeons - these were intended to give you 1 danger
    level per 50' of depth, but the danger level was starting at the ambient
    danger level, causing the first 50' to give you wildly different creatures
    based on where the dungeon was.

  - Display-related errors weren't being shown properly before exiting
    (RelicWraith).

  - The Stoneheim wizard quest could require you to slaughter the new wizard
    if they were generated as a goblin.  The quest is now smarter and sets
    a flag on all the generated hostile creatures, with the quest completion 
    condition now checking the value of this rather than relying on race
    (RelicWraith)

Shadow of the Wyrm v1.4.0 "Pisador"
- Version declared October 19, 2021.  Version finalized December 24, 2021.

- The display is now centered on the monitor when started in SDL windowed mode.

- Via swyrm.ini, you can now select the display the game should start on 
  in SDL (Larzid).

- Maps will now usually generate coastlines based on their placement on the 
  world map, and your placement will vary based on where the most land is at
  the edge.

- Islets (tiny islands surrounded by sea in the cardinal directions) are now
  generally uninhabited, and random creature generation on these is restricted
  to the naturally-occurring races: birds, animals, insects, plants, jellies, 
  dragons.

- The Rage status now provides immunity to Intimidation.

- Total number of random items has been toned down.

- For spellcasters, spellbook generation is now biased so that unusable
  spellbooks are much less likely to be generated (but will still be allowed
  by the item generation algorithm).  Spellbooks are generated as before for
  non-spellcasters.

- Ancient beasts now have some variation in their evade and soak, based on
  the current danger level.

- Updates to weapons when a creature has 100 skill in a particular weapon
  skill:

  - Axes give a chance at vorpal - half the chance as if the weapon had a
    dedicated vorpal flag.

  - Spears add piercing to all attacks

  - Daggers give an extra 30% chance to sneak attack

  - Bludgeons and exotic weapons give an increased chance to apply their
    damage statuses

  - Short and long blades help to deflect attacks, increasing evade

  - Rods and staves get +1 range

  - Unarmed attacks get a slight boost to their damage, and allow knockback
    without explicitly kicking

  - Whips get the same slight damage boost and have a chance to inflict
    Exposed and Bloodied statuses

  - Ranged weapons add an additional level/2 damage

- The chance to sneak attack based on Stealth has been improved from 
  <skill %>/10 to <skill %>/5.

- When deciding on a random movement direction, intelligent creatures will
  look to move away from any threats they can't directly reach.

- Both skills and spells now have descriptions similar to those of creatures
  and items.  They can be accessed by using the associated capital letter
  of a skill/spell on the respective screen.

- New name and settlement name combinations.

- Bug fixes:

  - Pregenerated items weren't properly considering whether they'd persist
    when placed on a particular tile (Gokajern).

  - swyrm.ini gave incorrect instructions on how to set default_sex to prompt
    the user to select their character's sex (RelicWraith).

  - Weather conditions no longer cause water to shimmer underwater.

  - Selecting 0 for a stack pickup size would duplicate the item into your
    inventory (RelicWraith).

  - When creatures were randomly placed in dungeons, if the creature couldn't
    be placed due to eg a wall tile being selected, this would still count
    against any maximums, with the effect that uniques could be generated,
    not placed, and then you'd never see them.

  - Damage messages could get displayed in an unintuitive ordering - this has
    been fixed so the damage-related message comes first ("You slash..."),
    followed by any knockback or status effect related messages.

  - Shops could be generated over top of shops, leading to situations where
    shopkeepers might not accept items of the types displayed in the shop,
    or where two shopkeepers could be created (RelicWraith).

  - The Arcane skill increment message wasn't working properly.

Shadow of the Wyrm v1.3.6 "Valderrabano"
- Version declared July 14, 2021.  Version finalized October 19, 2021.

- A copy of swyrm.ini is now created in the user's .sotw directory, with some
  hints on how to get started with overriding settings.

- New swyrm.ini setting (display_sdl_window_mode) to allow the SDL display to
  be either windowed (default) or fullscreen.

- NPCs that start with spells now start with some skill in those categories,
  plus Magic if the spell isn't Cantrips, to allow the NPC to pick up and
  read appropriate spellbooks.

- The spell Dig and digging wands are now range 5, rather than 4.  Crumble is
  still range 1, but now a ball rather than a directional spell.

- Dropping an item and refusing the shopkeeper's item now keeps the item in
  your inventory (krwak).

- Pickup all/pickup/autopickup now smartly pick up the right number of items.
  If the stack is too large, the maximum quantity of items is selected (Sean
  McKeague).

- You can now occasionally stumble across the corpse of a hapless adventurer.

- Artifact weapons are now more effective at inflicting status effects,
  giving a minimum bonus even if not explicitly specified in the game
  configuration.

- Shops are closed for business at night.  More generally, the game now supports
  night-time chat text and chat scripts.

- Deities now have likes as well as disikes.  Doing something a deity likes
  will grant a small amount of piety if you follow them.  This allows you to
  gain piety passively, rather than having to camp out at an altar and
  sacrifice repeatedly (though this can still be done to supplement your
  piety as needed!).

  - Burying remains (corpses, skeletons, etc) removes the remains and may give
    piety depending on what you're burying and your active deity.

  - The three good deities will give you piety when you heal your companions.

  - The evil deities enjoy cruelty, and attacking friendly creatures will make
    your god happy if you follow Shiver, Urgoth, or Sceadugenga.

  - Additionally, Sceadugenga rewards cannibalism, desecration, and 
    graverobbing.

  - Aurelion and Celeste both like smiting.  Celeste likes it when her followers
    learn spells, and Aurelion likes stunning.

  - Urgoth likes stunning, and revels when his followers rage.

  - Vedere enjoys the planting of seeds.

  - Voros likes inflicting blinding.

  - The Lady smiles on pacification via Beastmastery and Music.

  - Shiver enjoys bloodletting, learning spells, and inflicting slowness.

  - The Trickster likes sneak attacks and learning spells.

- Shiver's artifact list has been pared down, and the weapons are now only
  daggers and staves.

- Dungeons can now have orchards and vegetation rooms.

- The guidebook now includes information on how to read the equipment screen,
  as well as detailing what each of the damage flags does (krwak).

- Settlements now have signs at the perimeter with their names.

- Added vegetable gardens to Isen Dun, Gnordvar, Yew.

- Dwarves now start with a very small Smithing value, and smiths much more.

- Settlements can now have pens with sheep or chicken.

- World generation can now specify hermitages on certain types of terrain, 
  where a hermit either lives, or used to.

- World generation can also place storehouses, where large quantities of food
  are kept for long-term storage, as well as cottages, where witchlings
  retreat to live in peace, and welcome friendly visitors.

- Witchlings (and sages, who also learn primordial spells) now form their own 
  association, which other characters can automatically join by learning 
  primordial spells.

- Creatures who worship a particular deity and share that deity with you will
  no longer be hostile.

- When deities summon creatures around you, their deity ID now reflects who
  summoned them.

- Enchanting and glowing now start on the equipment screen, allowing you to
  selected equipped items as well as inventory items (Paul Blay).

- Added the ability to set custom scripts for a particular creature in its
  placement details, and added another scholar to the library at Atua-Elar to
  prove this out.

- Multi-page chat speech is now available (split using "%") - the game will
  split the text before displaying each page.

- More name/settlement name combos.

- Stanzas for "Tel and Floridel".

- New creatures: chicken, hermit, witchling.

- New features: fencing.

- New items: board with a nail in it.

- Bug fixes:

  - Fixed a couple of cases where items would be added to a tile without
    checking for stacking.

  - Tree and weed species had an extra period at the end of their synopsis.

  - There was a long-standing issue with gates not closing properly, or being
    kickable.

  - Special settlement features weren't being tracked properly and could be
    partially overwritten on the map by other buildings and structures.

  - Settlement generators are now better at placing new buildings and features
    without colliding with previously placed structures.

  - Bazaars were rarer than they should have been, due to a quirk in the world
    generation algorithm.  This has been refactored a bit, and things like
    bazaars, hermitages, etc., should now be slightly more common.

  - Fixed an issue with the current danger level and bazaar item generation.

  - The creature generation algorithm could lead to empty areas in some
    circumstances.  Updated the algorithm so that when the creature list
    is empty, the minimum danger level is halved, repeating until creatures
    are generated or we hit danger level 1.

  - Beastmastery anger was turning pets (RelicWraith).

  - Hiding could be very difficult even if the only nearby creatures were
    friendly/allied (RelicWraith).

  - Pulsars were mapped to the wrong sprite.

  - The logic around close misses was broken (and always had been), so now
    periodically combat should generate "you barely miss <x>"-type messages.

Shadow of the Wyrm v1.3.3 "de Sarlat"
- Version declared June 13, 2021.  Version finalized July 14, 2021.

- The log file location can now be configured via log_dir and will give the
  player an error if there are problems writing to that location (Larzid).

- The location for savefiles and char dumps has been updated.  Instead of
  being in the main game directory, this now defaults to .sotw under the
  user's home directory.  This can be reconfigured via a new setting,
  userdata_dir (Larzid).

- Added the setting use_default_name to allow you to bypass name selection
  and use the default/generated value, based on the default_name setting.

- Changes to character dumps:

  - The character dump command now displays the directory to which the file 
    was written.

  - Dumps now contain the user's username.

  - There is now a setting to always take system character dumps when the
    game ends.  These are stored to a directory specified by syschardump_dir
    and are intended to be used for stats, etc. on multi-user systems.

  - Character dumps taken after death now record what killed you, and where,
    and at what depth.

- Added a new setting to disallow score generation for a character when
  either narrative mode is set, or the Lua console has been used.  This
  setting (_disallow_score_on_exploration) is off by default, and is intended 
  for use on multiuser systems and in tournaments to enforce fairness.

- Each game's total playing time is now tracked and available in the
  character dump.

- Your status as Holy Champion/Fallen Champion is now displayed in the
  Memberships section of the character dump.

- New name and settlement name combinations.

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - When automelee was off, the player was being prompted when NPCs were
    attacking at range (Josh Engdahl).

  - Digging gave a weird message when you used it over another creature
    (Josh Engdahl).

  - Hide whips weren't being suppressed during regular item generation (Red).

  - Petrification wouldn't kill you when your current HP was greater than the
    max value.
  
  - Fireball traps were leaving fire bombs, when these had item destruction
    percentages that should've prevented that (Josh Engdahl).

Shadow of the Wyrm v1.3.2 "del Liuto"
- Version declared April 23, 2021.  Version finalized June 13, 2021.

- Default hair and eye colour can now be set in swyrm.ini, as well as an
  option that brings up a menu for each, in case you want to select these
  values for each character (Josh Engdahl).

- Damage messages will now be displayed in red when you are criticalled and 
  take damage, when you take >= 20% of your max HP, or when your HP falls 
  below 40% of the maximum.  Each of these settings can be configured in
  swyrm.ini.

- Knockback has been expanded from being possible only on kicks, to
  potentially firing on regular melee attacks when the size differential
  between the attacker and attacked is great enough.

- Knockback has a chance to apply the stun and exposed statuses.

- When attacking an adjacent creature with a regular attack, there is now
  a chance, based on the unarmed combat skill, to get an additional, free 
  kick attack.

- More name and settlement name combinations.

- Primordial creatures (those dealing shadow damage or knowing primordial
  spells) have a chance to leave primordial essence when they die. This can
  be used as a projectile on its own, or in the manufacturing of shadow
  bombs.

- Tagged Urlac's robes/staff on generation.  Now when doing a specific quest,
  those specific items will be removed from the player.

- You can now dig up clay along riverbeds. Clay also occasionally appears
  when you dig on regular ground, and is more likely to appear near other
  clay deposits.

- Added kilns, which can be used to create clay pots and shot, as well as
  fire and shadow bombs, if you have the right components.

- To be in line with kiln behaviours around item components, forges, jeweler
  workbenches, wheels and looms, etc., will no longer prompt you for the
  component (ingots, whiteflower, etc) when there is only one available in
  the inventory.  Pulpers will still prompt because selecting the item
  destroys it, and the player needs an option to cancel out.

- Tanning bonus have been simplified, and are now based on a min/max
  range that varies with the tanning and crafting skills.

- You can now create whips at tanneries.

- A couple of the houses near the water in Isen Dun now have a shared flower
  garden, with a shovel left out for their use.

- New material type (clay).  Clay pots, fire bombs, and shadow bombs are now
  made of clay.

- New creatures: potter.

- New features: kiln.

- New items: raw clay, clay shot, wisp of primordial essence.

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - The danger level of wilderness tiles was always intended to scale the
    further you got from your starting location, but due to a casting bug,
    the danger was always being defaulted to 1 instead (Josh Engdahl).

  - The value of the saved ASCII mode setting wasn't being properly set 
    after loading a saved game, reverting things back to whatever the 
    system default was.

  - Mono colour settings weren't working properly in the SDL display.

  - Issues with stacking due to value increasing for item types that don't
    actually improve with enchanting (potions, scrolls) (인수태).

  - Stream generation occasionally wouldn't work correctly, as it would start
    beyond the edge of the map.

  - Brightblade didn't have reach 2, as it should have (Grond).

  - Various typos in the codex/bestiary.

Shadow of the Wyrm v1.3.0 "Kapsberger"
- Version declared February 20, 2021.  Version finalized April 23, 2021.

- Settlements are now named during world generation.

- Cloak of Shadows now adds a little evade and soak as well as the Shadow
  resistance, making it more useful as a general-purpose buff.

- Items generated for the player (via NPCs, quest rewards, and so on) are
  now prevented from having cursed status (Mythrrinthael).

- The tick message for stoning is now displayed in red, to be more visible
  against other messages (Poser Destroyer).

- Dropping items in water now generates a "Splash!" message.

- The hireling and adventurer generation functions have been updated so that
  optional race and class IDs can be specified. A random value will be chosen
  for each if not specified or if the ID is bad.

- Additional name combinations.

- Defined a new "meat" material type, and named the wood one "wood/plant".

- A number of locations now have advisor NPCs.  Set a group quest for the
  advisor in Isen Dun.

- Drinking a large quantity of alcohol at once can now inflict immediate
  poison status.

- Certain items (wildflowers) metabolize alcohol, for reasons not fully
  understood. Eating these metabolizes a portion of the unabsorbed alcohol
  in your system and can help sober you up.

- Weapons now have an associated melee range. Typically 1, this can also be 2
  (spears, greatswords, great axes) or 3 (whips).  This will let you attack 
  creatures to up to x distance away in a straight line.  Range information is 
  shown in the item codex.  Range is only considered for the primary melee 
  weapon (KikuMorgana).

- The display can now be resized, and should scale to larger sizes nicely.
  It will stretch the sprites so things may not look perfect; there's also
  a setting in swyrm.ini allowing for integer scaling, which allows for
  cleaner scaling but will letterbox the game until it reaches a new integer
  multiple of 1280x600 (ACID GRIND).

- Created display_sdl_window_size to allow setting the window size at
  startup. When this isn't set, the window size will be created based on
  the size of the sprites.

- New creatures: advisor.

- New items: Isen Dun whisky, bread, flower bread, dwarven amulet "Protector".

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - Cats shouldn't have been aggressive by default (YARD).

  - Scroll-stacking issues (Mythrrinthael).

  - Cyrillic text wasn't working in SDL when bitmapped fonts were placing
    the characters > 127 (Meklon2007).

Shadow of the Wyrm v1.2.8 "Holborne"
- Version declared December 13, 2020.  Version finalized February 20, 2021.

- Cleaned up some issues around the Linux premake build file (Larzid).

- When using the codex in the inventory, the inventory page is remembered
  on exit, rather than returning to the first page (Josh Engdahl).

- Cathedrals can now have libraries generated behind the priest's quarters,
  and generally feel less empty (more features in various places).

- Libraries can now appear in the Carcassia religious district.

- Toned down the number of potions available via barrels.

- NPC adventurers are now available around the world (e.g. in the inn in
  Carcassia, at Wintersea Keep) and will join you for free.  They are squishy 
  and have just the base equipment for their race and class, so they may take 
  some care to keep alive.

- Drunks and bartenders can now be any race (as they're now considered
  townfolk).

- Taverns can now be generated in Carcassia (in the north-east sector)
  as well as in random settlements.  Each tavern is likely to have at least
  one adventurer looking to form a party.

- Updated the comments in the Lua premake file based on some feedback
  (Ezequiel Birman).

- Isen Dun now has a sea-captain on the east pier who can give quests to
  adventuring parties.

- Added Acey, in the Carcassia thieves guild, who offers quests to
  adventuring parties.

- Guards are now vigilant for stolen and contraband goods, and will attack you
  if they see any.

- Certain classes can now start with animal followers (think of them as pets,
  familiars, etc).  Currently, rovers start with a falcon or boar, shepherds
  start with a sheep, and witchlings and wizards start out with a cat, owl,
  or xither.

- Adventurers and hirelings of these classes should have their own pets
  generated.  Happily, these will not try to kill you.

- Deities may now grant a divine companion.  You will need high piety for
  this to happen, and be not generally afflicted by anything else.

- Shopkeepers can be generated from any of the user-playable races.

- Creatures previously breathed either water or air - there is now a
  breathe-all option, and this is set when praying for a companion, so you
  can take them anywhere.

- Performance improvements to world generation and other areas.

- New creatures: adventurer, sea captain, gnomish seatrader, Acey, Snakes,
  Koris, Balabin, Carcassian blackknife, owl, cat, sheep.

- New items: ivory tusks, stolen goods, powdered snowcap, fake snowcap,
  forged documents, alabaster key.

- New spells: paralyze (Mystic).

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - When a cathedral had stairs to the crypt, the player was being placed
    on those steps after entering the map (Josh Engdahl).

  - Fixed issues with crypt generation in cathedrals.

  - The game was using the view map (a subset of the full map) for determining
    NPC actions, which was cheating, because this wasn't taking into account
    things like line of sight.

  - If you had items made from skins, but no actual skins, applying a tannery
    was giving an empty inventory screen instead of the usual no-skins
    message.

Shadow of the Wyrm v1.2.5 "Arnold"
- Version declared November 1, 2020. Version finalized December 13, 2020.

- Rocs now have the "flying" flag (Josh Engdahl).

- More name combinations.

- When doing the Carcassia start, you now start on it instead of 1n (Grond).

- Hamlets have a chance to generate with earthen (sod) buildings.

- The glow effect now properly combines the glowing item(s) into similar
  stacks in the inventory (Josh Engdahl).

- Weaving was previously doing its free enchant "in one shot", leading to
  items that are weighted in the extreme: all soak, all evade, etc.  Updated
  this so that it goes point-by-point, creating more diverse items, and also
  updated it so that there is a small chance per enchant to apply a brand.

- Whiteflower is a little more common, and there is some guaranteed in Isen
  Dun.

- An individual jelly is now properly referred to as "itself" rather than
  "himself", as they are sexless (Josh Engdahl). Race-based flags have also
  been set for insects, constructs, and plants, not all of which are actually
  asexual, but for which "himself"/"herself" feels awkward.

- Woven items will now start off a little more powerful (2-4 EV, 1-2 SK) even
  before the free enchantments are applied.

- Instead of robes, the body-slot woven item is now wayfarer clothes, and you
  can weave for the head slot (cap) as well.

- Rarer, healing herbs can now generate naturally in fields, though with a 
  very low probability.

- Updates to the premake script to fix postbuild steps when run with premake 5
  (Larzid).

- Traps will no longer generate in random shops.

- Auto-identification on equip is no longer restricted to wearables (Josh
  Engdahl).

- You can now use '~' to list your unpaid items in the inventory view (Josh
  Engdahl).

- When picking up/dropping items, you can now use '*' in the inventory screen
  to select all the items in the current view and pick them up or drop them
  all at once.

- Created a new colourblind-friendly SDL palette (CB Reader) based on Paul
  Tol's work at https://personal.sron.nl/~pault/

- A settlement's walls can now be made of earth as well as rock.

- Walled settlements generate a barracks in one of the corners of the town.

- Walled settlement barracks generate a few mobile guards, and a few sentries
  are now placed along the walls.

- Races now have a reasonable default size, with support on the creature 
  definitions to override this.  Previously most corpses were 100 lbs. (the
  default for size medium) and there should be more variety now (Josh Engdahl).

- Level has been added to the bestiary, as well as the creature's name, when
  that's been defined (shopkeepers, hirelings, etc).

- Signposts no longer block.

- Spellbooks are now heavier (5 lbs - they were always meant to be big and
  tome-like).  The Magic skill can now be used to incinerate spellbooks and
  absorb the AP, though this always has a chance to backfire and cause a bit
  of damage. The amount of damage, and the chance to backfire, increases with
  the number of spellbooks you're trying to incinerate at once.

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - The spellcasting message wasn't properly displaying "something" when an
    NPC cast a spell, you were blind, and it was adjacent (Josh Engdahl).

  - when kicking a creature, knockback was prevented into dangerous tiles
    because the game was querying the NPC for permission.

  - NPC spellcasting for attack spells could cause a crash when the caster
    was blinded (Josh Engdahl).

  - Quislings' chat text was written, but not set in the game configuration.

  - Guardsmen were explicitly gender-neutral in their description but called
    "guardsman"/"guardsmen"; an instance is now simply a "guard".  Previously
    they were always human, and can now be any playable race.

  - An invalid action selection in the Order screen was advancing the turn
    (Josh Engdahl).

  - Pegasus was missing flying.

  - The game could lose track of creatures in a map's internal set of
    locations, leading to issues like duplication, non-removal, etc (various).

  - Applying traps while adjacent would eventually disarm them (Larzid).

  - A couple of characters still referenced "Hrothgar" in their chat text.

  - Typo fixes in bestiary/codex/manual (various).

Shadow of the Wyrm v1.2.4 "Britten"
- Version declared September 12, 2020. Version finalized November 1, 2020.

- The pickup code is more restrictive, and now only fires for humanoids
  (Josh Engdahl).

- Evergreen trees now have their own unique sprite.

- You can no longer find hiding places while blind (Josh Engdahl).

- Races can now be defined to have an increased chance to generate packs of 
  creatures.

- Corpses are worth a little more piety; ivory is worth a lot more.

- There's now a pair of warning signs outside the treasury.

- Various code updates to make items stack in a more intuitive way, creating
  fewer stacks overall.

- Draining and ethereal damage flags now have a greater chance to fire - 30%
  and 70%, respectively (was 20 and 20).

- Insects now generate with 1 Intelligence to prevent them from being able to
  open doors (Josh Engdahl).

- Effects now broadcast properly when applied to NPCs.

- Ancient Beasts now show up as "Unknown" difficulty, regardless of their
  level.

- Crumbling spells/digging wands will now crumble items and tile features
  in their path as well, so long as they're made of marble or stone.  The
  Nine won't like you destroying their altars this way, though.

- Praying when you've got a cursed, status-bearing item (e.g. voiceless
  amulet) might now cause your deity to uncurse your equipment (Vestphiliac).

- Flying now adds some evade as well.

- The food/hunger counter now has a (very large) cap, instead of just max int.

- The item codex is now available on tile selection (YARD).

- NPC AI improvements.

- Kicking an open door now causes it to slam shut.

- Version info now includes the build date to easily distinguish different
  builds with the same build number (e.g. prerelease builds).

- Hirelings now all start with boats (Blue).

- It's now clearer when something can't be pacified, and the musical failure
  message now only triggers when you fail to pacify any pacifiable creatures.

- The usage string for ivory pieces has been tweaked to work better with
  enchantments (Grond).

- You can now swim a little longer, and the damage that's dealt after you're
  exhausted is now reduced by the Swimming skill.

- Cancelling a spell via an invalid direction no longer advances the turn
  (Josh Engdahl).

- Added some more features to make the Carcassian fortress feel less empty.

- Stanzas for "Tel and Floridel".

- New items: uncursing potion.

- Bug fixes:

  - Custom underground maps (Siriath's level, etc) didn't set the terrain
    type appropriately.

  - The ordering of messages around kicking, especially when dealing with a
    tile with a hidden trap, was off (Josh Engdahl).

  - Thief titles were missing (Red).

  - Singing had a couple of missing messages (Josh Engdahl).

  - Freshwater tiles such as rivers were still being listed as "dangerous"
    in winter, despite being frozen and therefore passable.

  - The time of day LOS code was incorrectly firing when not on an overworld
    map (Josh Engdahl).

  - One of the areas in Carcassia A1 could generate over the road.

  - Leviathans were incorrectly appearing in dungeons (Josh Engdahl).

  - When moving between maps, followers could vanish when there were other
    creatures present (various).

  - Various bestiary/codex/manual typos and improvements (various)

  - When tiles/maps had preset items to be generated, this property wasn't
    being cleared properly after generation, causing duplication (Josh 
    Engdahl).

  - Stopped randomizing Intelligence when generated at 1 so that golems and
    other unintelligent creatures can no longer figure out how to work doors.

  - Bargaining was showing an "unimplemented" message when selected on the
    skills screen (Josh Engdahl).

  - NPCs will no longer pick up items while blind.

  - Trying to view the codex when there are no items caused a crash.
 
  - Draining, ethereal, and explosive attacks were grammatically weird when
    a stunned creature attacked themselves (Josh Engdahl).

  - Hirelings were very enthusiastic about following your orders to attack,
    to the point of attacking you to get at the creature they're supposed to
    be killing (Josh Engdahl).

  - Seafarers' titles weren't properly defined (Josh Engdahl).

  - Cypress trees were incorrectly defined as deciduous (Josh Engdahl).

  - Bestiary/codex typos (various).

  - Melura's stats option text wasn't displaying properly (Josh Engdahl),
    and her chat script was also not gracefully handling garbage input or
    offering 0 ivory.

  - Blindness wasn't properly restricting NPCs' FOV maps (Josh Engdahl).

  - Ancient Beasts can get random damage flags when they're generated, but
    this was including chaotic, which would shift the damage type around,
    and was confusing for very damage-specific type creatures (Josh
    Engdahl).

  - Esc-ing out of inscription no longer advances the turn (Josh Engdahl).

  - The change to make mountains visually blocking was causing it to be
    unable to move on to them. Separated out visually-blocking from
    movement-blocking.

  - Some digging strings weren't defined and were showing the default value
    (Josh Engdahl).

  - Gildi's cloak was missing lightning resistance (Josh Engdahl).

  - Special creature statuses (such as avernal bats: flying) weren't being 
    properly applied at creature creation.

  - Deities were angered when throwing beneficial potions (Josh Engdahl).

  - Bazaars weren't generating correctly on scrublands (various).

  - On the equipment screen, using the codex was improperly advancing the
    turn (Josh Engdahl).

Shadow of the Wyrm v1.2.2 "Borrono"
- Version declared July 17, 2020.  Version finalized September 12, 2020.

- More name combinations.

- Added support for curses-only configurations in both Visual Studio and in
  the premake configurations. These exclude SDL when building, resulting in a 
  smaller, asset-less build that has no dependencies on SDL (Larzid).

- NPCs may now pick up items if they consider them "good". This depends on 
  the item type, but in general, NPCs avoid cursed and autocursing items.

- NPCs can now evoke wands, equip weapons and ammunition, and wear rings and 
  amulets. They can also pick up and wear armour.

- Nobles now start with a higher starting leadership value (40).

- The Music skill now gives experience for pacification, like Beastmastery,
  and sets the no-exp flag.

- Pacified/Tamed are now displayed when examining a creature.

- Pacification still works on many creatures, but not constructs, undead,
  or the divine.

- There is now a narrative_mode setting in swyrm.ini that restores you to full 
  health and removes negative statuses at death, allowing you to play for as 
  long as you want.

- You can now give 'o'rders to your followers, and they'll follow you between
  maps if adjacent to you when you left the previous.  Your followers will get
  a bonus to their attack damage based on your Leadership skill, as long as
  you're in their line of sight.

- When NPCs gain levels, they now get extra HP, AP, and damage dice in line
  with the progression used in the game data.

- Starting location is now included in the synopsis on the naming screen.

- Hirelings can now be found in a few fixed areas (Isen Dun, Carcassia, Yew,
  Gnordvar). Hirelings will follow you - for a fee - and can be ordered around
  using the 'o'rder command. They have an enchanted set of initial equipment,
  and have improved versions of their initial race and class skills.

- The quit message now references that the game won't be saved (Josh Engdahl).

- Villages can have orchards as well as vegetable gardens.

- When unstacking wands after use, the new wand now goes to the front of
  the inventory (Josh Engdahl).

- Added a bit more heat resistance to Forger, toned down Goblincrusher's
  damage a touch.

- The ranged animation is now a little faster (Grond).

- Wands now show the total as well as the current charges, which makes it much
  more clear why they don't stack (Josh Engdahl).

- Merchants now start with full knowledge of the game's items.

- Pilgrims now start off with 100 Lore, meaning they will always know an
  item's B/U/C status.

- Tradesmen are now bold red.

- New poem fragment for the title screen.

- Now that creatures can put on armour, created a new, common weapon (whisper-
  thin dagger) that is slightly better than a normal dagger, and has the
  piercing flag set.

- Added info on updating the sprites to howdoi.txt

- Max score is now 100000000.

- Reworked the code around applying status identifiers.  This is more
  sophisticated and can now have multiples of the same status in effect at
  once (eg, poisoned by creature/spell, wearing a poison ring) and the game 
  will correctly undoing the status only when 0 instances of that status 
  remain in the set of active modifiers.  Undoing eg the creature's poison
  won't undo the permanent poison associated with the ring (until that's
  taken off), and so on.

- The character synopsis now shows modifiers, which are time-based effects that
  modify stats or apply statuses.  These can include spells, statuses applied by
  creature attacks, and those added by wearing certain pieces of equipment.

- Urchins now start with a sling and a handful of stones.

- Stanzas for "Tel and Floridel".

- New items: narcotic amulet (speed penalty, a little soak), voiceless amulet
  (mutes the wearer).

- Bug fixes:

  - When evoking a stack of wands, the new wand had the old stack size set,
    effectively creating a way of duplicating wands.

  - Animations (for spells, wands, etc) could be drawn offscreen even if none
    of the tiles were in the player's FOV.

  - The "seen for automove" flag wasn't being set on initial items, so
    there were issues when comparing items and multiple stacks would form
    when they shouldn't have.

  - The free hidden actions counter could get out of whack. Capped that so
    the player couldn't get lots of free actions while safely hidden (Grond).

  - Drinking potions off the ground was buggy (Josh Engdahl).

  - The examine command was giving too much information when the player was
    blind.

  - The unarmed combat improvement message wasn't firing properly (Grond).

  - Various typos in the bestiary and "Tel and Floridel" (Josh Engdahl).

  - The messages for special in-game days were broken (Grond).

  - When plazas were generated, fountains could be generated on wall tiles
    (Grond).

  - Entering an invalid pickup quantity was causing the turn to advance
    (Josh Engdahl).

Shadow of the Wyrm v1.2.1 "Lully"
- Version declared June 21, 2020.  Version finalized July 17, 2020.

- More name combinations.

- Paging now "wraps around" - going back on page 1 takes you to the last page,
  and forward on the last page goes to page 1 (yarpblat).

- Page up/down now work for paging through screens (yarpblat).

- Literacy now helps you get additional spell castings.

- The numpad enter key is now recognized.

- In addition to healing you, fairy spirits increase your max HP and AP by 1.

- Springs can also generate magical spirits, who grant some castings in a pair
  of randomly-determined spells.

- You can now name places on the world map via 'N', the same way you'd
  do inscriptions on other maps.

- Villages now have an extra description to indicate its predominant race.

- Monster traps are now cyan instead of bold green to differentiate them
  visually from teleport traps.

- Corpses now also leave a small amount of resistance to the dead creature's
  damage type, as long as it's not physical (slash/pierce/pound).

- Beastmastery is now implemented, allowing you to tame many (but not all)
  types of creatures.  Tamed creatures give experience as if killed, and
  grant no experience if later killed.  The amount of experience depends
  on your Beastmastery score.

- New trap type: cursing (curses equipment).

- New conduct, pacifist, broken when you kill another creature.

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - Trying to automove while affected by poison or stoning displayed a message
    differently than other conditions that stopped automove (yarpblat).

  - Trap triggers were still using only ASCII - set these to use a variety of
    existing and new sprites.

Shadow of the Wyrm v1.2.0 "Rodrigo"
- Version declared February 16, 2020.  Version finalized June 20, 2020.

- 1-bit sprite set now the default display mode.

- Reflective beams such as lightning now bounce differently - they should
  look more "connected" when looking at the output of diagonal beams.

- Failing to learn a spell, or reading a spellbook for an unfamiliar magic,
  now annotates the item as (tried). (Grond)

- Mountain tiles now block line of sight.

- F9 can be used to switch between a number of predefined colour palettes
  in SDL mode.

- F10 can be used to switch between tiles and ascii when using SDL (IceBox).

- F12 now also reloads existing texture references.

- Celeste, Aurelion, The Lady, and Vedere now dislike skinning humanoids
  (hbholland).

- Aeschburh now has a chaotic altar in the centre, courtesy of the new
  inhabitants.

- Shimmering clouds are now spirits, so they won't leave corpses and
  can move through walls.

- Snakeling sharpshooters now use crossbows.

- The mortuary in the character details now notes your first kill.

- The tombs at Wintersea are a bit more populated.

- Changed the symbol for each of the Nine.

- The help screen is now available on startup (YARD).

- Sages now start with a little skill in Rods and Staves (YARD).

- You can now use the escape key on user prompts (YARD).

- Emperor's guard and Carcassian guards have now flipped colours (YARD).

- Poison now stays in your body for less time.

- Dual wield now adds some damage to the secondary weapon.

- It's now possible to quaff items off the ground, similar to what's done
  for eating.

- There are no longer any racial deity restrictions: any race can select any
  deity.

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - In the skill screen, selecting Lore would erroneously describe it as
    unimplemented.

  - Inscriptions were broken in SDL.

  - Creatures could start with more weight than they could carry, would be
    overburdened, and couldn't shed the weight on the world map.  The player's
    strength is now adjusted upward when the game starts until the player
    is no longer burdened.

  - Gamblers and gnomish sailors were missing bestiary descriptions (YARD).

  - Special day messages (solstice, equinox, etc) were being cleared before
    the player could see them.

  - When you were blind at death, dumps showed "something" for items 
    rather than showing what the items were (yarpblat).

  - Various typos in the bestiary/codex (YARD, others).

Shadow of the Wyrm v1.1.7 "Boccherini"
- Version declared January 11, 2020.  Version finalized February 16, 2020.

- Teleporting is now disallowed in Telari and Zaeda's Tower (fiamma).

- The masters of the high tower now have an assortment of spells (fiamma).

- Nobles no longer start with scribing, which was useless to them as they could
  not cast any magic.  Instead, they are better at short and long blades, at
  whips, and also start with a leather whip for keeping the peasants in line
  (NoCreativeNames).

- Shops can now appear in dungeons.

- Dungeons can now have beer halls.  These contain a lot of booze and
  sometimes a few restorative-type potions as well.

- Beer halls may also be generated the public and low-income residential 
  sectors of Carcassia.

- Booze symbol colours have been tweaked to be more colourful.

- Unstoning potions can now occasionally be found when breaking clay pots.

- Holy damage from spells can now curse items on the ground.

- Arcane damage from spells has a chance either to destroy items on the
  affected tile, or to enchant them.

- Destroying or em-baddening items in a shop will now generate shopkeeper
  wrath.

- Automove remembers items. The first time you move over an item, you'll
  stop.  Subsequent auto-movement over that item won't halt unless there is
  another, new item there (Avagart).

- Automove should now also stop at (natural, anyway) intersections in
  dungeons, sewers, etc.  It also aborts before any movement that
  would require a prompt (Grond).

- More name combinations.

- Shrine creatures have been buffed a bit:

  - Extra damage: golgothan.

  - Piercing damage: archangel, divine avenger, shadow wyrm.

  - Spells: archangel, divine avenger, dragon, shrine hag.

  - Extra status effects/bonuses: unicorn, black unicorn, spectral emperor,
    titan, mist wraith.

  - Speed boost: avernal bat, mist wraith.

- New spells/spellbooks: stun bolt (Mystic).

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - Weather colouring wasn't respecting time-of-day overrides (Grond).

  - Falling damage wouldn't actually kill you when your current HP exceeded 
    your max.

  - Bestiary wasn't showing via 'B' (Jay Ferro).

  - Various typos (Jay Ferro, others).

  - Automove wasn't properly terminating without digging (naughtyusername).

  - The dungeon room-connecting code was digging as it should, but wasn't 
    transferring any existing items as it went.

  - Every time the FeatureGenerator was called to create a barrel, a bed
    was produced instead.

  - Scribing and wandcraft weren't checking whether the Nine were still
    present when creating a scroll/wand with a divine spell (Grond).

Shadow of the Wyrm v1.1.6 "Paganini"
- Version started November 27, 2019.  Version finalized January 11, 2020.

- The inn in Carcassia now has a couple of beds (Troubler).

- You can no longer fix the turtle races by attacking two of them and letting
  the third one win.

- Constructs, animals, birds, and jellies now start with 1 Intelligence, and 
  low intelligence creatures are now unable to open doors, not knowing how
  they work.

- Added several new fonts in 16x24 in preparation for adding 16x24 sprites
  later, as well as instructions on how to add font spritesheets.

- Initial weather implementation.  Weather can be checked via the "T"ime/Date/
  Weather command.  High winds will cause colour changes for rivers, seas,
  springs.

- Full spritesheet support, though no spritesheets yet.  All creatures, tiles,
  features, and various system-generated symbols (magical bolts/bursts, etc)
  can now have their own sprites and colours.

- Performance improvements for SDL input handling (JoeMaro).

- The message buffer ('M') now maintains its original message colours when
  displayed in-game (hapro).  The character display ('@') does not, as it 
  mirrors what gets dumped to disk.

- Shopkeepers now actively dislike when you do cast spells/evoke wands
  that might cause damage to the items in their shops.

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - Summoning traps could sometimes fail to summon creatures when the
    triggering creature's level was much lower than the map's danger level.

  - The new weather-shimmer code fixes an issue in previous versions with
    shimmer colours whereby a tile or feature could "flicker" several times
    before the player's next turn due to multiple redraws due to other
    creatures' turns.  There is now a symbol cache that gets cleared at the
    start of the player's turn, and this cache is used to maintain consistent
    tile colourings between turns, even when there are "random" colourings
    due to weather, torchlight, etc (Grond).

  - Weapons had a stacking bug where to-hit/damage/speed bonuses from the
    parent Wearable class weren't being considered properly (Troubler).

Shadow of the Wyrm v1.1.5.1 "Losy"
- Version declared August 11, 2019.  Version finalized November 27, 2019.

- Vigarion, the undersea guardian, now generates with an amulet of the
  sea (Grond).

- You can no longer inscribe when you are illiterate (TauReaver).

- The incorporeal damage message is now a little better - it no longer
  implies that you should take damage, given that the damage might be
  shrugged off (Grond).

- On maps where you cannot pray (e.g. Telari), you can now violate divine
  laws with impunity (Grond).

- Spell damage is now also affected by the Magic skill, the school
  associated with the spell, and the average of intelligence and
  willpower.

- New option (confirmation_require_capitalization) to force capitalized
  confirmation, for vi key players (Twelve).

- Items acquired by fishing now go directly to the player's inventory, with
  a message indicating what was caught.

- Due to some SDL/curses differences, scrolls now show their read message
  at the end.

- The item codex now includes material (Troubler).

- Migrated from hg to git and moved the project's repository from
  Bitbucket to GitHub.

- Miscellaneous post-migration and gcc strictness fixes.

- Made some significant per-turn performance improvements.

- Initial graphical support using SDL.  Right now, this imitates the curses
  interface.  Tileset support will come in a future release.  SDL and
  curses will always live side-by-side and curses will always be supported.

- Creature generation on maps is now faster.

- Updated the code to allow creatures/tiles/features to optionally contain
  a spritesheet location in addition to the usual text symbol/colour.

- New names/combinations.

- New effect type, glow, which can set the glow flag on arbitrary items.

- New spells: glow (Cantrips).

- New items: scroll of glowing.

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - Various typos in the codex and guidebook, as well as formatting in
    the in-game texts (Grond, Twelve, Troubler).

  - Resting on the world map gave a "Resting." message before telling you
    that you can't do that.

  - Senators' speech text wasn't triggering (Troubler).

  - Skinning a stack of corpses was removing the entire stack, rather than
    reducing the quantity appropriately (Grond).

  - Tile-specific messages weren't being shown properly when e.g. moving from
    a particular map back to the world map (Grond).

  - Random character generation wasn't respecting Not Specified for default
    sex.

  - Patch bug fixes: premake link issues with SDL_image (Larzid) and Nvidia
    screen-clearing issues with SDL (Larzid, Grond).

Shadow of the Wyrm v1.1.2 "Tarrega"
- Version declared July 16, 2019. Version finalized August 11, 2019.

- Cabers and huge rocks are now harder to hit with, and slower.

- The Medicine skill can now help automatically avoid negative statuses.

- Giants start with more initial Strength.

- Sages no longer get Brewing, but get Medicine.  Pilgrims and Gnomes
  also now start with Medicine.

- Beefed up The Smith's rewards for thrown bludgeons/rocks considerably -
  they now do double the damage, and have a considerable effect bonus.

- The prompts to continue adventuring after the regular and godslayer
  endings now default to "yes" (Grond).

- When trying to move down without an exit/shovel, the message now hints
  at the use of a shovel.

- Smiths start off with 3 iron ingots instead of 1.

- The ploughman's quest now provides additional rewards in the form of
  Herbalism and possibly magici shards (Yan Zhang).

- There is now a small chance to find an item while fishing.  How good
  it is depends on the danger of the area in which you're fishing
  (Naughtyusername).

- There is now an option in swyrm.ini to require capitalization for
  skill selection, for those using vi keys for movement (Twelve).

- Along with difficulty, you can now get a general sense of how wounded
  a creature is when you examine it (Yan Zhang).

- Swamps have a chance to generate bog iron, which can be used like
  regular iron ingots, but are heavier and less valuable.

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - The minimum danger level was being properly constrained in Telari,
    but the maximum was not, causing inappropriate creatures to be
    generated for the current floor (Grond).

  - Counter-strikes and intimidation could fire even when a creature
    was paralyzed.

  - Shops were generating over top of existing buildings in towns, leading
    to strange layouts (Grond).

  - Resistances from consumables weren't being properly carried over to
    a creature's individual resistances (Grond).

  - Cabers were listed as one-handed weapons.

  - Cross spells weren't terminating properly immediately when hitting a
    blocking tile (Grond).

  - Wands of digging weren't properly considering the tile's no-dig
    property, after the first tile in the beam (Klapaucius).

  - Resting was treating all statuses as requiring rest, rather than
    only considering only negative statuses (Grond).

  - The chaotic flag was a little too chaotic - it would change the
    damage type, display the combat message, but when calculating the 
    actual damage dealt, it could cause the damage type to flip again
    (Grond).

  - Various bestiary/codex typo fixes (Twelve and others).

  - Reading was available on the world map, which if you failed
    spectacularly could lead to summonings around you (Grond).  Wands
    could also be evoked on the world map, which was not intended.

  - Angering your deity while on the world map no longer has the
    possibility of summoning creatures (Klapaucius).

  - Death scripts could fire multiple times if multiple statuses would
    cause death (Grond).

  - An exception was being thrown when trying to select a skill from
    a subsequent page (Grond).

  - When you had Weaving > 80 and were in a position to complete Hild's
    quest, a Lua error prevented completion (Grond).

  - Capped the amount of experience that could apply to the high score
    value.

  - The inexact search for the codex wasn't properly considering whether
    the partial matches were identified items (Grond).

  - Smithing now works on a single item instead of a stack (Grond).

  - Selecting an item in the codex and then exiting the screen was
    unintentionally selecting that item for any screen that had support
    for using the codex (eat, evoke, etc) (Klapaucius).

  - Colours no long shimmer when timewalking (Grond).

Shadow of the Wyrm v1.1.1 "Campion"
- Version declared June 12, 2019.  Version finalized July 16, 2019.

- Recharging a wand now gives a very small number of charges, with extra
  charges possible from high Wandcraft skill.

- When checking to see whether the player can eat something, the check
  is now vs. the internal numerical hunger level, and not the more
  general hungry/stuffed/etc.  This will allow you to eat food while
  stuffed as long as it doesn't take you over the maximum satiation.

- Moved Catara further up Telari.

- Intimidation now also considers opposed creature levels in its
  calculation (Nules).

- The chance to automatically score a hit has increased to 5% (was 2%).

- Reduced the maximum chance to hide when there are creatures nearby.

- Multi-map areas like Carcassia can now have NW/NE/SW/SE exits,
  accessible at the edges by using the respective direction.

- Bows made by Bowyer are a little bit better (Grond), and items can
  now be smithed/crafting-improved, on average, as much as they can
  also be enchanted.

- Dealing damage now has a chance to reveal you, if hidden (Grond).

- Tweaked the minimum danger level calculation - this used to vary
  wildly, and the minimum is now closer to the maximum, meaning you
  should get creatures closer to your level.

- Boughs can now be used to make a wand, if you don't havea a branch
  available.

- Lua errors now dump tracebacks for easier bug-chasing.

- Stanzas for "Tel and Floridel".

- New items: amulet of the sea.

- Bug fixes: 

  - Some dead code was causing string substitution issues in the weapon
    synopsis message (Blue).

  - There were issues with the carrying capacity calculations (Rob 
    Ayres).

  - It was possible to bypass all the available options at character
    creation via the windows key, allowing for a raceless, classless,
    skill-less, godless, water-breathing, flying glitch-character
    (Grond).

  - A number of items weren't properly classified as plants/herbs.
  
  - Plants and herbs weren't included in the keyboard-based filtering 
    ('#') because the code was only returning the first matching item 
    type.

  - When pit opponents killed themselves (e.g. via stunning), the
    player wasn't being teleported out of the arena (Grond).

  - There were some inconsistencies in quest descriptions (Yan Zhang).

  - Removed a door in the middle of the air in the tower at Wintersea
    (Yan Zhang).

  - Ancient beasts' generation wasn't considering depth, so they were
    being found far too early, in places such as wells in towns.  They
    were also being generated in places other than underworld maps,
    which was not intended (Grond).

  - Ranged weapon attack difficulty calculations were incorrectly
    using the values from a creature's melee weapons.

  - Snakeling warriors started with both a long spear and a buckler,
    despite long spears being 2H.  Snakeling warriors now start with a
    spear (Grond).

  - The definition of the shop in Isen Dun was too wide, triggering the
    message about leaving with unpaid merchandise in unexpected places
    (Grond).

  - Scything was buggy and could lead to crashes in certain situations
    (Grond).

  - There were some general bugs around hiding that meant that the longer
    you were hidden, the more likely you were to stay hidden permanently,
    until you went on to the world map (Grond).

  - Wands with spells that didn't require targetting were always taking
    a range of 1, and were not reflecting the range of the underlying 
    spell (Grond).

  - The Lua API function for teleporting to a specific location could
    cause crashes if there was already a creature present there (Grond).

  - You can no longer switch places with creatures when it would put them
    on a dangerous tile (open air, etc) (Grond).

  - Malediction was causing the game to freeze (Grond).

  - Fixed a freeze when moving on to a map where the target tile was
    covered by a blocking feature such as a statue (Grond).

  - Ancient beasts weren't appearing properly in some types of areas due
    to some old code that kept incrementing the danger level down until
    creatures were found (Grond).

  - Fixed some script errors when attacking turtles and luring them off
    the track (Grond).

  - Cleaned up some internal code around Lua error handling.

Shadow of the Wyrm v1.1.0 "Robert Dowland"
- Version declared January 26, 2019.  Version finalized June 12, 2019.

- Added a new "item codex" command ('c'), that displays an item synopsis
  and description for a particular item (barrabus).

- Dropping items on a cross-aligned altar now generates a messages to hint
  at why the items are now cursed (introsp3ctive).

- Put some additional code in to force ivory to always stack (Kyzrati).

- Cynwise's first quest now gives some enchanting scrolls, too.

- When you've got the petrification effect, you're now periodically
  reminded of it. (Blue)

- Corpses now are not picked up by default with autopickup.  This is
  controlled by an .ini setting. (Kyzrati)

- Cursed ammunition can now be thrown/shot as if it were uncursed.  This
  is configurable by an .ini setting.

- The morgue prompt now requires the user to make a Y/N selection - it 
  won't default to N as before. (Combat Eric)

- The Primordial skill now gives bonus castings to sages and witchlings
  when they gain levels.

- All the major book casters (wizards, pilgrims, mystics, sages) are
  guaranteed to start with two books.

- Uncurse and Bless, both mystic spells, have very similar effects.
  Uncurse has been toned down to be cheaper and easier to cast, and show
  up earlier.  Bless is still better in terms of its overall effect, but
  it costs 10x the AP to cast (30 instead of 3).

- Stormstaff now deals lightning damage.

- Added creatures to Carcassia to teach literacy (temple tutor) and 
  cantrips (hedge wizard) (Blue, others).

- Verbena, white basil, stoneflower, and voxflower have had their symbols
  changed to 'w' (flower).

- Pick axes now break half as often.

- Added a setting to ignore version differences with savefiles to help 
  debug crashes.

- Stanzas for "Tel and Floridel".

- New creatures: sweet old dog, temple tutor, hedge wizard.

- Bug fixes:

  - Specifying a creature in the game XML with an invalid 
    equipment/inventory item would cause a crash on startup.

  - Silari was not listed as an artifact.

  - The Literacy skill was incorrectly being shown as unimplemented when
    selecting it from the Skill screen (Combat Eric).  This was also
    true for Intimidation (Blue).

  - When finally petrified, the death message wasn't being displayed
    properly, making it seem like a death out of nowhere (Blue).

  - Currency now always stacks regardless of any underlying flags on the
    items, so while these flags will be lost, currency now neatly stacks,
    always (Kyzrati).

  - Inscriptions could be read when illiterate (Timo).

  - Okhoa's key should only be generated once, but there was a bug in the
    check (Timo).

  - The fortress in Carcassia B1 was diggable (Kyzrati).

  - On the inventory screen, the paging functionality could lead to
    things being added past the current page, leading to weird paging
    issues (Troubler, Kyzrati).

  - The player was being referred to as "the player" in various targetting
    messages (NoCreativeNames).

  - Inventories filtered on the ground were filtering based on the
    player's inventory, not what's on the ground.  This allowed the
    player to duplicate any item as many times as they wanted
    (NoCreativeNames).

  - The danger level in the infinite dungeon and sewer wasn't being
    handled properly, causing ascent not to reduce the new danger
    rating (Blue).

  - The Carcassian recruiter's ogre quest wasn't clearing properly on
    completion (Grond).

  - There was a crash bug that could be triggered by storm-type spells
    being cast, and generating no potential coordinates due to all the
    selected coordinates being outside the caster's FOV (Grond).

Shadow of the Wyrm v1.0.2 "de Falla"
- Version declared December 23, 2018.  Version finalized January 26, 2019.

- Automatic movement will now switch or squeeze past friendly creatures
  without prompting (kraphead).

- Cleaned up a large number of magic numbers used for action costs.

- Spells previously sorted by an internal ID, which usually (but not
  always) gave reasonable behaviour.  Now spells sort first by category,
  second by name.

- More name combinations.

- Added hints to a couple of NPCs in Carcassia to help out illiterate
  PCs.

- Poison now does about half the damage it did before (Kyzrati).

- Deities now consider removing negative statuses like poison and
  stoning before considering whether to fully heal (Kyzrati).

- Added a new NPC, Corbett, at the very edge of town, who will teach you
  Hunting for a price.

- The character synopsis now displays carrying-related limits (Kyzrati).

- Effects that remove statuses like poison or stoning now always identify
  the item (Kyzrati).

- Turned off checkpoint_save in swyrm.ini - users were reporting that
  the delay was too much.

- Tweaked the character synopsis when you're not affected by status
  ailments.

- Random villages now contain wells.

- Creatures can now be specified to have a number of potential races, 
  rather than always using a set race ID.

  - Maps can also have default race IDs, and when the map default race
    ID is in the creature's list, it is always used; otherwise, a random
    value from the creature's list is selected.

  - The bestiary screen now displays all the possible races when
    selecting a creature via search ('B') rather than direct selection.

- Created a number of new creatures that can appear in random villages
  next to the appropriate feature: smith (forge), weaver (wheel and loom),
  jeweler (jeweler workbench).  Houses can also have inhabitants now
  as well, and villages should generally feel more "full".

- New effect type (warping), with an associated spell (Arcane) and scroll.
  Warping takes you back to your last position on the world map, and is
  a convenient way of getting out of deep dungeons and sewers.

- Minor updates to the Guidebook, as well as an expanded magic section
  to describe the spell selection screen (Kyzrati).

- Stanzas for "Tel and Floridel".

- New creatures: Calabus, Corbett, smith, weaver, jeweler.

- New items: scroll of warping.

- New spells: warp (Arcane).

- Bug fixes:

  - The bestiary would crash when trying to load a creature with an
    unspecified race ID.

  - Speed potions weren't working correctly - they were being overwritten
    immediately by a calculated value based on equipment and the base
    speed value.

Shadow of the Wyrm v1.0.1 "Besard"
- Version declared November 23, 2018. Version finalized December 23, 2018.

- Dawn and dusk now remove 1 from LOS, and night removes 3.  The effects
  of this can be reduced or eliminated based on the Night Sight skill.
  Given that most creatures won't have this skill, a high value in Night 
  Sight can allow you to see and attack a creature at range while it 
  cannot see you itself.

- Artisans start with a mold and deckle in their inventory.

- Created paper pulpers.  These appear in a few set locations, as well
  as being able to be selected randomly for distribution in dungeons
  and elsewhere.  Pulpers allow you to turn scrolls and spellbooks into
  paper pulp, and having skill in Papercraft allows you to use a mold
  and deckle to turn raw paper pulp into blank scrolls.

- Updated a number of the skills to get marks towards improvement when
  used.

- Reworked the depth code so that infinite dungeons/sewers/etc are
  actually infinite.  You can still hit a maximum depth (integer max),
  but you'll still be able to descend and get another level.

- Beyond the usual maximum depths, there are creatures more dangerous
  than those found throughout the world.  These ancient beasts are strange
  holdovers from the early universe, scale in difficulty twice as fast as 
  regular creatures, and have no real maximum to their power.

- The maximum depth you've reached is now tracked in the character 
  display/dump.

- Random villages now have a general proportion of their buildings marked 
  as workshops.  These are buildings that can contain forges, jeweler
  workbenches, wheels and looms, etc.

- Old Town and New Town in Carcassia now allow the generation of 
  workshops.

- More name combinations.

- Toned down Forger a bit.

- Reduced the probabilities of rooms having more than one trap, and
  being fully trapped.

- Magic trees now have a chance to grow in dungeons.

- New features: pulper.

- New items: mold and deckle, paper pulp, scroll of repelling, wand of
  osmosis.

- New spells: repel (Cantrips), teleport (Arcane).

- Stanzas for "Tel and Floridel".

- Bug fixes:

  - Electric Arc spellbooks were worth far too much money.

  - There was a bug in Glich's script (ironically? appopriately?) that
    prevented the player from getting an apple.

  - When there were a large number of potential creatures that could be
    generated, the generation code was overwhelmed with the probabilities
    and the probability for each was 0 instead of something arbitrarily
    low, like 1%.

Shadow of the Wyrm v1.0.0 "Dalza"
- Version declared January 20, 2018. Version finalized November 23, 2018.

- There are now two starting locations: on Little Island, as before; and
  on the Isle of Carcassia.

- On the south-eastern tip of the Isle of Carcassia is the great city of
  Carcassia.  Carcassia is home to a great fortress, and four city
  sectors:

  1. The public sector.

  - The public sector contains a sealed room with no obvious way in, the 
    tower of high sorcery, the guild of thieves, as well as a number of 
    potential public areas such as plazas, parks, and shops.  The public
    sector is also, it's said, built above the ruins of a much older
    settlement, one which has long since sunk deep into the earth.

  - The guild of thieves is said to be difficult to enter, difficult to
    leave.  It's also said that the ground there is cursed, and that at
    night, those that dwell there hear strange scratches sounds past the
    basement walls.

  - The Floundering Catfish is a source of rumour and gossip, as well as
    a few quests.

  - In the centre of the sector is the great Tower of High Sorcery, where
    those with magical aptitude from across the world come to study the
    arcane school of wizardry.

  - The tower extends high into the air.  It's said that a number of great
    creatures make their roost platforms anchored in the air by old
    magics.  The students study at the base of the tower, while the 
    masters make their homes above.

  2. Old Town

  - The oldest part of Carcassia.  The nobility left this area years ago,
    and it's grown a bit ramshackle and untended.  There are few roads. 
    
    - The old gambling house still stands, recently renovated.  Its
      winnings are locked away in a vault, and closely guarded.  There
      are tables for dice and card games, as well as a number of slot
      machines, with varying payouts and probabilities.
      
  - Besides some old houses and a graveyard, there is an ancient sewer
    from an earlier empire by the east gate.

  3. New Town

  - The New Town is home to the second-in-command of the Carcassian
    Empire, the praetor Dantus, uncle of the Emperor.  He maintains
    a palatial residence in the western part of the sector.

  4. Temple District

  - Home to an interfaith temple, the Fellowship of the Nine.  Considered
    by some to be an unwelcome front for the leadership of the Empire, it
    is ostensibly an organization dedicated to the promotion of religion
    in everyday life.  Membership in the Fellowship causes one's piety
    to increase faster and decrease less quickly.

  - In a small hut lives an old woman considered to be the holiest person
    in the world: the blind oracle.  Part of an unending line of oracles
    chosen by the Nine to be their direct speaker on earth, she can both
    speak with and as them, her voice shifting from her own creaky tones
    to the sweet music of The Lady, or Urgoth's horrifying roar.

  The fortress of Carcassia is the home of the Emperor Titus.  
  
  - Surrounded by his Emperor's Guard, he rules from within his pillared 
  court.  It stands on the remains of the old Carcassian senate, long 
  since neutered by the absolute rule of the emperors.

  - Beside it is his altar to Celeste, the favoured deity of the 
  Carcassian people. 

  - Further into the palace, there are a few small, official shops; and
  a fountain where the nobleman Questare hands out quests to aspiring
  adventurers.

  - The eastern sector contains the fighting pits and a vault protected
  by a moat full of electric eels.  Leading up from the fortress, the
  vaults are protected by strange, lifeless creatures loyal to the
  empire.

- The Isle of Carcassia was inhabited long before the Carcassian Empire
  took hold, and it has a number of other features, including a dungeon
  on the north-east penninsula.

- Off the northern coast of the Isle is a small, rocky islet, known to
  have been the home of an ascetic for a number of years.

- The "no dig" flag can now be set at the tile level, allowing a general
  map that is diggable, but sections that are not.

- There is now a chance to find coal when digging through rock.

- Summoning is now less dangerous: it's the average of the map's danger
  level and the triggering creature's current level.

- The Lua API functions map_set_additional_property and 
  map_set_tile_property did exactly the same thing.  Made the former
  set map-level properties, with the former handling setting tile
  properties, and renamed the former to "map_set_property".

- Script errors are now properly logged to disk as well as the UI.

- Hiding can now be cancelled by using Hiding again while hidden (Karagy).

- Unpaid items in the shop can now be "paid for" - no money changes hands,
  and the shopkeeper sees the items as yours (Karagy).

- Unimplemented general skills are now noted (Karagy).

- Gnomish barkeepers are now just called bartenders.

- There is now an option (that default to on) to do checkpoint saves
  whenever a map is loaded.  This ensures that in the event of a crash,
  there is still a reasonably-recent savefile available (Dallas Herrin,
  Alan Charlesworth).

- New poem fragment for the title screen (Pope's "The Rape of the Lock").

- Fire pillars now "shimmer", hooking into the shimmer colour code that
  was added for Telari.

- Guilds/associations are now possible, and will slowly be added to the
  game.  Memberships can be seen in the character display/dump, and
  membership in some organizations will exclude membership in others.

- Ranged combat is now disallowed when overburdened (Troubler).

- Huge rocks are much heavier.

- The various races are now specified as having hair (or not), so races
  like human, divine, demons all have hair.  Snakelings, constructs,
  insects, etc., do not (Troubler).

- Sex selection is now skipped, with the player's sex officially tracked
  as "not specified".  Sex has never had any real impact on the game for 
  the player, who is always "you".  There is a setting in swyrm.ini 
  controls pre-selecting your sex.  This can be unset to bring back the 
  sex selection screen.  Characters created through the "Random character"
  option at the main menu will continue to get their sex specified and
  selected randomly.

- Digging now considers properties of the tile when considering whether
  or not the digging item is broken.  Items now only break when digging
  through solid rock.

- Iron and steel ingots now weigh the same.

- To model their general inappropriateness as weapons, exotic weapons
  now have a speed multiplier that is modified by skill in melee/ranged
  exotics (Troubler).

- Thengil in Stoneheim now appropriately has a forge (Troubler).

- You can now descend into wells.

- Pathfinding has been updated to favour cardinal directions when
  constructing paths.  This prevents some "weird paths" that enemies will
  take to you, that are actually equally optimal, given that diagonal
  moves cost the same as cardinal (Karagy).

- Randomly generated buildings now look like people actually live in them
  and have features such as beds and tables.  They also have the chance
  to have items, such as food, clay pots, inkpots, magici shards...

- New feature, signs.

- New conduct, artifactless.

- Piety regeneration bonuses now have a per-creature component, rather
  than being based entirely on the creature's class.

- When dungeons are repopulated, there is now a check to ensure that
  creatures are not generated close to the player (Troubler).

- Sages can now also start with a spellbook of Electric Arc.

- More possibilities for randomly generated names.

- Stanzas for "Tel and Floridel".

- New creatures: Glich, Carcassian guard, urchin, vendor, Guildmaster
  Caro, Tela, drunk, Serat, Old Tomer, Ffleur, gardening spellstudent,
  evocations student, summonings student, enchantments student, runic
  student, Golgoa, Lorelei, Okhoa, Scheldt, shimmering cloud, Lish,
  gambler, pov dealer, blackjack dealer, racemaster, snapping turtle,
  Asher, Akhra, Axander, Wart, presence, the blind oracle, Praetor's
  footman, coalman, Praetor's scullerymaid, Praetor's cook, Praetor's
  secretary, Praetor Dantus, Emperor Titus, the Emperor's guard,
  Questare, senator, Lycaon, magici merchant, herbalist, Scamander,
  Carcassian recruiter, Pitmistress Ghara, commoner, noble.

- New items: salted nuts, skewer of mystery meat, wizard staff, 
  linothorax, Calara's cloak, Calara's flaming whip, piece of coal.

- New spells: electric arc (Cantrips).

- New features: table, slot machine.

- New artifacts: skeleton key, Amulet of the Carcassian Emperor, famed
  fighting rod "Qaali".

- New traps: teleport.

- Bug fixes:

  - The code to make copies of tiles for view maps was causing sentinel
    creatures' tiles to be marked as unviewed.

  - When confirming whether to move to a dangerous tile, an extra "[y/n]"
    could be added.

  - Teleporting/blinking wasn't disabling automatic movement afterward.

  - In-game keybindings was still referencing "Look" instead of "Examine".

  - All NPCs were erroneously defined as flying.

  - Thrown items weren't stacking properly due to a bug in how the item's
    worn location was processed (Alan Charlesworth).

  - Automovement wasn't being stopped by drowning (Karagy).

  - When checking other creatures' FOV maps for hiding checks, stale
    maps were causing the game to consider the hiding creature in view,
    even if it had moved out of range the turn before (Karagy).

  - Combat skill checks were succeeding even when 0 damage was dealt
    (Troubler).

  - Digging within the current tile wasn't checking for breakage.

  - The spell listing code would crash when given a spell ID that didn't
    have a corresponding entry in the game configuration.

  - Traps were being improperly checked and having usages decremented
    when the player declined to move into a new tile (Troubler).
 
  - Great axes weren't marked as two-handed (Troubler).

  - Various bestiary typos (Troubler).

  - The bestiary entry for Drakheen mentions a breath attack, but this
    wasn't defined in the configuration (Troubler).
  
  - Automove wasn't working correctly on the first attempt after
    teleporting.
  
  - The Lua API function get_creature wasn't checking the current map
    pointer before using it, which could cause a crash when certain other
    functions were invoked before the game had fully started.

  - You can no longer swap places into a race-restricted tile if you
    don't meet the requirements.

  - Fixed a pathfinding crash bug when trying to pathfind to the same
    tile.
 
  - Pickup code was broadcasting further than it should - you could get
    notifications for NPCs picking up items behind walls.

  - Maps weren't being loaded properly when timewalking (Troubler).
  
  - When items were being generated, they could be null, and this wasn't
    checked properly.

  - Fixed a pthread linker issue for the Arch builds (Larzid).

Shadow of the Wyrm v0.7.3 "de Murcia"
- Version declared December 23, 2017.  Version finalized January 20, 2018.

- Implemented the Hiding skill.  This skill requires selection via the
  Skills menu.  Once selected, a Hiding check is made.  If the player is
  not viewed by any creatures, hiding is automatic.  Otherwise, it is a
  function of the type of map (hard to hide in the cosmos, easier
  underground) and time of day, when above ground.

- Hiding works by removing the hidden creature from field of view maps
  constructed off the real maps.  Given that the game AI works off FOV
  maps to determine what action to take, this effectively renders hidden
  characters invisible to every creature around them.

- Most actions that have an in-game effect (e.g., picking up or dropping
  items, but not checking the game version or reading help files) will
  break hiding.  Searching or staying in place ('5' movement) never
  breaks hiding.

- Hiding is trained when you attempt to hide in a non-guaranteed
  situation (ie, there are one or more creatures around).

- Other hiding advantages/disadvantages:

  - It prevents the hidden creature from intimidating and performing
    counter-strikes.

  - The hidden creature, being hidden, gets a large evade bonus to
    incoming attacks.  Though most creatures will not be able to attack
    hidden creatures, if a missile were being fired through the tile, or
    an area effect spell casted, it would still be possible to be
    attacked.

  - When hiding, an extra 2x modifier is applied to any damage dealt
    when attacking a creature that has not been backstabbed before.
    This then sets the "backstabbed" flag on that creature, and subsequent
    backstabs are not possible, even if the attacking creature becomes
    hidden once again.  The 2x modifier applies both to physical damage 
    and magical damage from spells and wands.  The sneak attack multiplier
    is applied on top of the usual ones for slays and phase of the moon.

- Stealth has also been implemented.  When moving while hidden, the
  successful use of the skill allows movement without breaking the status.
  The skill is also useful when not hidden: it provides a passive, small
  (~Skill/10)% chance of performing a sneak attack, assuming the attacked
  creature has not already been victim of a sneak attack before.  As when 
  the attacker is hidden, this covers all forms of attacking: melee, 
  ranged, and magic.

- The NPC magic AI is a little smarter.  Previously, it was just checking
  to see if a threat existed in a certain direction.  Now, it considers
  the level of all creatures in a particular direction, and will only
  cast in that direction if the sum of the level of any threats is
  greater than the sum of the non-threats.

- The mean amount of time for paralysis is now 3 minutes, rather than 5.

- There are two new effect types, that increase maximum HP and AP.  These
  have been attached to golden and silver apples, respectively.  These
  items have seeds, like regular fruit, and the seeds can be used to
  plant trees, as usual.  The "increase max HP/MP effects", when used
  successfully, add to a counter on the creature.  The creature can only
  use the HP effect as many times as its base Health allows; likewise
  with Willpower for the AP effect.  If the creature increases his or her
  Health/Willpower later, the maximum for the counter is increased as
  well.

- Golden and silver apples can be found as regular items, but they also
  grow on magical trees.

- When a "regular" tree is generated, it has a 1 in 100000 chance of being
  a magical tree, which will grow golden or silver apples.  These trees
  can appear anywhere a regular tree would be generated.

- The look command has been rebound as 'x' (e'x'amine) instead of 'L' 
  because the shift key is a pain (ssteam).

- Hild now requires only 10 whiteflowers (ssteam).

- Moving outside a shop while carrying unpaid goods now requires
  confirmation.

- Shopkeepers now trigger an alarm when they first see you with unpaid
  goods.

- Amulets have been reworked so that their unidentified description
  doesn't refer to colour.  They have had colour overrides removed, so
  non-artifacts should almost always appear as a bold yellow '#' (ssteam).

- Stanzas for "Tel and Floridel".

- New items: golden apple, silver apple.

- Bug fixes:

  - Creature::is_affected_by_modifier_spell could return true when a
    particular modifier was marked for deletion.

  - Avernal bats were defined as birds and were dropping quills.  Added
    support for creature-level overrides of flying, and defined avernal
    bats as flying animals (ssteam).

  - One of the doors in the tower level of Wintersea Keep was incorrectly
    placed (ssteam).

  - Using unpaid wands in shops wasn't angering the shopkeeper.

  - Paying shopkeepers for unpaid goods wasn't globally removing 
    shopkeeper aggression (ssteam).

Shadow of the Wyrm v0.7.2 "Takemitsu"
- Version declared November 26, 2017. Version finalized December 23, 2017.

- There is now a configurable option to always receive a prompt when
  picking up stacks (Legend).

- In winter, fresh water becomes frozen and becomes safe for movement.

- Minstrel is now a viable class: the Music skill has a basic 
  implementation.  Creatures can be pacified - this will cause them to
  stop attacking the player.  They don't become friendly, though.  Their
  hostility is just reduced below a certain hostility threshold.  The
  item status of the instrument can help or hinder the performance -
  vocal performances aren't affected by this.  If the creature isn't
  pacified, it has a 75% chance of being unimpressed (no ill effect),
  with a 25% chance of becoming enraged.

- Certain instruments are more effective for pacifying certain races.
  Vocal performances don't have bonuses for any races, but have the
  advantage of not requiring an instrument.

- Defined a new hostility threshold, "dislike".  Values below this
  threshold that exist within a threat map are not considered for
  attacking, spellcasting, and movement decisions.  This allows NPCs to
  stop attacking while not being considered actively friendly towards the
  player.

- Created a new effect type, Rage.  This provides a melee bonus of +2 
  damage (melee), -1 evade, and +1 soak per level.  It also 
  prevents spellcasting, reading, and evocation.

- Oracles now have a chance to start out with a spellbook of Rage.

- More stanzas for "Tel and Floridel".

- New items: potion of rage.

- New spells/spellbooks: rage (Mystic).

Shadow of the Wyrm v0.7.1 "Neusiedler"
- Version declared October 23, 2017.  Version finalized November 25, 2017.

- Automove now stops on staircases.

- Explosive damage now has an animation.  It also no longer deals
  additional damage to the targetted creature (just the adjacent ones),
  but will now be triggered on any amount of damage, not just non-lethal.

- Dungeons can now have crafting rooms - these contain a tannery, a forge,
  a jeweler's workbench, and a wheel and loom.  
  
- The symbol for tanneries and wheels and looms used to be '^', but this 
  made the features look like traps.  With the placement of these features
  in dungeons, the symbol for both of these has been changed to ';'.

- Boats are now less common in the item generation algorithm, wands
  slightly more common.

- Akojo in Stonewall now loads with a coracle, and moves a bit quicker,
  so he can chase you.

- Stonewall and the Far Shore now have a few more missile-based creatures.
  Stonewall has a few goblin pelters and alchemists, and the Far Shore 
  has some ogre hurlers.  This makes it harder to grab a pile of rocks 
  and tackle these areas unopposed at level 1 (kraphead).

- Offering on an altar no longer trains charisma (kraphead).

- Passive, timer-based ways of training stats (carrying heavy items, 
  wearing jewelry, etc) no longer can train the stat to 99.  The new
  maximum is 20 more than the stat's starting value (kraphead).

- Multiple satisfied win conditions (e.g., slaying Amaurosis and doing the
  Godslayer ending) are now tracked properly in the high score file.

- High Charisma no longer generates creatures as friendly.  Instead,
  a combination of Intimidation and Charisma can cause an attacking
  creature to draw back, thereby wasting their turn.

- If the player is an archer, or has otherwise focused on ranged weapon 
  skills over melee, The Smith will now give out a gift based on the 
  highest-trained skill.

- Fields and cairns now have a chance to generate huge rocks, in addition
  to rocks and stones.

- Victories are now recorded in character dumps.

- More stanzas for "Tel and Floridel".

- Huge rocks are significantly more powerful.

- Poison darts and the various bombs are now shown as ammunition.

- Changed the tile for void to ' ' (space) from '?' so that the screen
  wasn't overwhelmingly ugly when playing in mono mode.

- New creatures: goblin alchemist.

- New items: arrow of ancient magics, bolt of ancient magics, tooth of an
  ancient sea-creature, spine of an ancient horror, massive ferric
  meteorite, Elysian throwing-axe, Elysian throwing-blade, throwing axe,
  throwing blade, titanic heavenly pillar, chaos bomb, antimatter shot.

- Bug fixes:

  - The teleport effect would cause a crash when used on a tile where a
    creature was not present (kraphead).

  - Fixed up some other instances of effects not safely checking pointers.

  - Two-handed weapons can no longer be wielded off-handed (kraphead).

  - Various typos in bestiary descriptions (kraphead).

  - A script bug was causing deities in the cosmos not to spawn the next
    in the sequence in certain cases. (kraphead)

  - The release-Sceadugenga ending can't be triggered if Sceadugenga has
    already been killed.

  - The repop message in the cosmos was clearing the message buffer,
    removing messages about hitting/killing the current deity.

  - Creatures were described as male or female in the bestiary but didn't
    have the sex explicitly set (but defaulted to male), allowing a 
    stunned female creature to potentially "hit himself".

  - Certain conditions could cause creatures' statuses to become
    permanent.

  - NPCs' FOV maps could sometimes be accessed before they were supposed
    to be, resulting in null maps and unsafe pointer checks.

Shadow of the Wyrm v0.7.0 "de Visee"
- Version declared March 1, 2017.  Version finalized October 23, 2017.

- New effect type, mapping.  When blessed, the entire map's structure
  is revealed.  When uncursed or cursed, tiles will be learned/forgotten
  at random.

- Fairy spirits will now also remove any negative status or spell
  effects that are in force.

- New dungeon room types.
  
  - Wet: a proportion of its tiles are water and reeds.

  - Dank: as wet, but bushes, weeds, and rocky earth.

  - Cave In: part of the inner portion of the room is collapsed rock.

- The identify and bless effects now re-group inventory items after
  invocation, to avoid ending up with stacks of the same item that have 
  been picked up and identified or blessed at different times (kain).

- Added a "single_user_mode" to bypass username verification of savefiles.
  This is off by default.  If you want to use other people's savefiles
  (passing games around, etc) turn the setting on.  The username who last
  saved the savefile is always maintained, so you can later turn it back
  on if needed.

- The Magic skill now has an impact on how quickly a creature regenerates
  AP.

- New effect type, water breathing.  This allows boatless travel over
  water within submerged tiles.  As long as a creature has this status
  it cannot drown.

- New map type, underwater.  These have submerged tiles in which you'll
  need to have water breathing or will die very quickly.  In normal water
  (non-submerged), survival is based on your swimming skill.  In
  submerged tiles, it's based on your Health.

- Traps can now have effects.  The new monster trap has a new effect
  type, monster summoning, which summons a nunber of nearby monsters,
  whose danger level is between the current danger level and 5 greater.
  This effect is also present on a scroll, which makes read ID-ing
  potentially more dangerous.

- The mad elf, Whitebard, now drops the Ring of Aran Fee.  This is
  a special artifact that permits water breathing, which in turn allows
  the player to talk to the little boy, Ead, in the Barrows, who with
  his strange, magical powers will send the player to Telari, the
  Cloudspire.  These details are hinted at by Cadlind and by Kew.

- Added the ability for races to have the Water Breathing status, similar
  to what already exists for flying and incorporeal.  Set this for
  Elysians.

- Logs now generate tidily in a "logs" subdirectory instead of cluttering
  the main directory. (kain)

- Carrying now gets trained when you walk around carrying a heavy load
  (kain).

- A few items in particular (spellbook of Aim, gain attributes potion)
  have had their rarity set to Common, which will actually make them less
  likely to generate, now, as there are many common items in their class.

- Items can now be picked up automatically by item type (kain).

- Experience points are now included in character dumps (kain).

- Casting spells now has a chance to train both the Magic skill, as well 
  as the individual magic category (kain).

- Traps no longer trigger when a flying creature moves into a trapped
  tile, and the confirmation message is suppressed.

- New effect type, digging, which bores through rock and solid earth.
  Added a wand of digging to the items in Kew's house in Isen Dun.

- Kew also has some more stuff squirreled away - he now also has a pick
  axe, a healing potion, and an unstoning potion.

- Custom maps can now define a load script, which allows for running a
  Lua script after the map has been created.

- Divine creatures now have the ability to fly.

- Disfiguration totals are now based on the danger level of the attack,
  with statistics being reduced more heavily based on the severity of the
  acid.

- Storm-shape spells can now be given a radius.  When less than 1, the
  storm acts as before, applying the damage to random points around the
  caster.  When >= 2, the storm becomes a radiant storm.  Fewer points
  are selected, but these become the starting point for balls with a 
  radius specified by the spell.

- Added Shards to spectral wizards, and Meteor to high wizards.

- Counter-strikes are now possible.  The possibility is based on having a
  minimum amount of Combat skill, and then the chance is based on a
  combination of Combat and Dexterity.  Any attack (melee, ranged, spell,
  kicking, etc) can draw a counter strike so long as the creatures are 
  adjacent.  Counter-strikes are free actions and do not affect the
  counter-striking creature's action timers.

- Added a new damage type, "scything".  When an attack is scything, it
  has a chance to apply to creatures immediately adjacent to the one that
  was originally attacked.  This chance is based on the creature's skill
  in the type of the scything weapon (scythes are typically spears).

- The artifact scythe "Whisperwind" now has the scything flag applied to
  its damage.

- Also added a new "explosive" damage type.  Explosive damage deals an
  extra third of the original damage to the attacked creature, and any
  creatures around it that are not the attacker.

- The artifact greatsword "Inferno" has the explosive flag, and is
  available from Aurelion, Voros, Urgoth, and Sceadugenga.

- Fire bombs are now flagged as explosive.  Exploding arrows have been
  added, and have the flag as well.  They start appearing later than
  fire bombs, deal slightly more damage, and weigh less.

- Certain races (Elysian) can now take a flag to exclude them from the
  list of races generated for determining pugilist slays.

- General depth-specific properties are now automatically propagated
  through dungeons, towers, etc.

- Added support for "shimmering colours" which allow for tiles to change 
  colour from turn to turn.  Applied this to the Cloudspire.

- Mining rocks can now yield iron ingots, steel ingots, and lumps of gold,
  in addition to the usual chances for magici shards, rocks, and stones.

- The algorithm for determining item probabilities when digging has been
  simplified.  The chance specified in the tile is now the only value
  used to determine if an item is generated when digging.

- Multiple types of items can be generated at once when digging (e.g.,
  a rock tile could yield an iron ingot and stones).

- When digging, items now break less based on Dungeoneering skill.

- Exits on custom maps can now have an associated set of map events.
  These get applied after the map is created, and are applied at
  appropriate times.  For the moment, the only event is "on load".

- Prayer has no effect when there are no more deities.  Similarly,
  interactions with altars (kicking and dropping items), pews, etc.

- Casting divine magic from memory is not possible after slaying the Nine,
  although magics previously set into wands, potions, etc., remain
  active.

- The minimum ammunition breakage chance has been reduced from 2% to 1%.

- Ammunition is now less likely to break if it has slays, or is blessed,
  and is more likely to break if it's cursed.

- Shadow is now vorpal-flagged.  Pelter has piercing.

- Taking damage from creatures at your level or higher trains Health
  (Rob Ayres).

- Classes now have a defined list of artifacts, independent of the deity.
  Deities have a 75% chance of giving an item from the class' list, with
  a 25% chance of selecting an item from the deity's own list.  This is
  done to ensure that classes generally get "appropriate" artifacts
  (ranged weapons for archers, etc), but with a chance of getting
  something out of the ordinary.

- The Lua console is now available in release mode, if you want to cheat
  your way to Great Success.

- When blind, you now "feel" something, rather than see it, when moving
  on to a tile.

- Made a few changes to allow Mac builds.  See README.build.macos.
 
- More stanzas for "Tel and Floridel".

- New species of weeds.

- New poem fragments for the title screen.

- New features: dwarf star, red giant star, supernova, black hole, pulsar,
  cosmic dust, spiral arm.

- New non-playable race: Elysian (builder).

- New spells/spellbooks: mapping (Cantrips), crumble (Cantrips), dig
  (Arcane), antimatter (Primordial), malediction (Mystic), divine form
  (Divine), holocaust (Arcane), inferno (Cantrips), shards (Cantrips),
  meteor (Arcane), absolution (Divine), annihilation (Primordial).

- New monster-only spells: wyrmfire (Arcane).

- New items: scroll of mapping, scroll of monster summoning, wand of
  digging, wand of inferno, moloch armour, scythe, lump of gold, holy
  mantle, exploding arrow.

- New artifacts: Ring of Aran Fee, Telarian Mail, Telarian Shield, 
  Telarian Helm, God-Blade, Shard of Starlight, shining amulet "Catara", 
  radiant amulet "Calluna", fiery greatsword "Inferno", longbow of the 
  Dragonlord Pelageus.

- Removed artifacts: Knife of the Long Hunt.

- New traps: monster trap.

- New creatures: drowned shade, cockatrice, The Sorceror, The Sentry,
  comet jellyfish, The Worldsinger, The Speaker, nether hydra, sea worm, 
  mesosaur, ghost ray, megalodon, The Conjurer, The Armourer, red witch, 
  solarian, lavos, ekakophia, myriadon, lamia, moloch, titanic slime, 
  copper bird, bird of paradise, alghari, The Smith, Celeste, Aurelion, 
  The Lady, Vedere, Voros, The Trickster, Shiver, Urgoth, Sceadugenga, 
  crystalline being, seraph of the highest heavenly order, gabar of the 
  book and the holy sword, knight exemplar, paragon of the twenty virtues,
  trio of shining silver dragons, howling fury of first love lost, 
  luminous angel, saint who moves in perfect grace, pulsating mass of 
  primordial ooze, cloud of murderous, flesh-eating scarabs, thunderbird 
  of the low steppes, hundred-headed hydra, drakkhar carrying a massive 
  flaming sword, early dragon of the first age, eddic crone, murder of a 
  thousand crows, wraith of wan and dying light, blood angel of the white 
  queen, nether hound, ancient shade, black ogre, cyclonic beast, dark 
  rider of the coming horde, teeming mass of writhing tentacles, beast 
  beyond the furthest star, apocalyptic hell that bears no name.

- New material types: gases, and unknown.

- Bug fixes: 

  - The water in Stonewall and Wintersea Keep was marked as river, and
    not sea.

  - When the "prompt_for_character_dump_on_exit" setting was set to
    false, savefiles were not being deleted.

  - Skill training messages were still being triggered when skills were
    at the maximum value (kain).

  - Hrimgar's quest to slay Amaurosis could not be completed if you chose
    not to end your game (kain).

  - Identified items now add the "lore checked" flag as well, so that
    stacking doesn't break when trying to add to an item the creature had
    originally (kain).

  - Moving on to a new tile was inconsistent as to whether a message was
    displayed about items.  Standardized this code so that it should be
    called for all the various types of movement (kain).

  - Inventories in dug tiles were maintaining the inventory type of the
    previous tile, meaning that items could be dropped and lost on open
    ground.

  - Creatures could be generated in mid-air, causing them to immediately
    plummet to their death.
  
  - If the player was killed and then damaged again, it would trigger
    multiple DYWYPI-type messages.

  - Incorporeal weapons were not being described properly with the "W"
    command.
    
  - Lumps of gold (which are the raw material for the Jewelry skill)
    were defined, but weren't set to a valid danger level, and so never
    appeared in-game.  These should show up, now.  Sorry, anon. (4chan
    /rlg)

  - Damage resistances less than 0 (e.g., -0.35) were not acting as zero
    multipliers in damage calculations, allowing characters with massive
    resistances to still take damage. (4chan /rlg)

  - Fixed a crash when trying to create an animation when a creature was
    killed without having an FOV map (immediately after spawn but before
    its first action).

  - In certain cases, the calculated speed for a creature could be 0 or
    less, which can cause infinite turn loops when the creature is the
    player.

  - Internally, there was a system of "additional damage" where you could
    hypothetically deal 1d6+1d6 damage.  This was really buggy and
    basically never worked.  It was used in the context of ranged combat,
    which has been updated to just add the number of dice from the
    launcher to the dice from the ammo when calculating the damage.

  - Helm of the Heavens wasn't flagged as an artifact.

  - ActionCost wasn't being fully initialized, leading to odd behaviour
    some of the time in release mode.

  - Fixed a crash related to ammunition reduction.

Shadow of the Wyrm v0.6.1 "Riquier"
- Version declared February 3, 2017.  Version finalized March 1, 2017.

- Wearables can now apply status ailments when equipped, and undo them 
  when unequipped.

- Satiation effect type.  When in place, a creature's hunger clock
  decrements at ~15% the normal speed.

- Implemented the Lore skill.  This gives a chance to identify the status
  of an item the first time the player picks it up.  The chance is 
  directly proportional to the skill value.

- The Bowyer skill is implemented as well.  When you have a bough, you 
  can use it to create a bow or a crossbow.  Higher skill values will add 
  to-hit or damage bonuses, in the same way that this is done for e.g.
  Smithing.  The Crafting skill also plays a role in the total potential
  improvements points, though to a lesser extent than Bowyer.

- Fletchery has also been implemented.  A branch can now be turned into
  arrows, bolts, javelins, or throwing clubs.  The quantity created is
  based on the per-item weight and the weight of the branch.  The
  ammunition created will get better and better with higher Fletchery and
  Crafting values.

- In-game shops have their items restocked on a monthly basis.  This 
  covers all shops on all persistent maps.  If the player is on a map
  with a shop when the repop occurs, he or she will see a message about
  it.

- Tree tiles now have a chance of generating a bough instead of a branch.

- Blackwater traps are now light blue instead of dark. (Rob Ayres)

- Spellbooks now provide fewer castings when read.

- Adventurers also start with a wand they've found on their travels,
  either lightning bolt or teleport.

- The random villages that are scattered throughout the world now have
  a chance to contain a shop: 40% for a hamlet or scattered settlement,
  75% for a regular settlement, 85% for a walled settlement, 100% for
  a city.

- Quests now show not just the questmaster, but the map that they're
  from.

- Currency is now fixed at uncursed status, always identified, and cannot 
  be blessed or cursed.  This will allow proper ivory stacking in the 
  player's inventory.

- Reworked the item generation algorithm.  The previous algorithm was
  based purely on an item's danger level and rarity, and did not take
  type into account at all.  After the rework, almost all items are now
  "common" for their specified danger level.  The algorithm now first 
  picks an item type (weapon, potion, etc) and then tries to generate an 
  item of that type based on the danger level and selected rarity.  This 
  ensures a more even distribution of item types throughout the game, as 
  previously scrolls, potions, and so on, were notoriously rare, getting
  passed over in the selection process by more common items.  The 
  algorithm is a work in progress and is likely to be reworked or tweaked 
  in future versions.

- Teleport wands will appear earlier.

- Shopkeepers don't like being outside their shop, so they will not allow
  the player to switch places with them. (Rob Ayres)

- Praying can now cause a deity to neuter all breeders on the level,
  preventing them from breeding.  Subsequently generated breeders are not
  affected.

- The chance of a breeder to breed on a given turn has increased from
  10% to 15%.

- There are a few more creatures at the start of Amaurosis' lair.

- The game now keeps track of which creature gave each status ailment.
  Experience is now properly granted when killing a creature with a
  time-delayed effect, such as poison or petrification (Esran).

- Keybindings are now reloaded whenever the game runs, not just when a
  character is first created (Esran).

- Bazaars can now be generated in the wilderness.  They can be generated
  on field, scrub, hill, and desert locations, and will display a message
  when moving on to the tile on the world map.

- Springs in the wilderness can now generate a fairy spirit.  These are
  the spirits of the fairy girls slaughtered by the giants in the sacred
  glade.  If you talk to one of these spirits, you'll have HP/AP restored,
  and hunger satiated.

- Slightly increased the probability of generating a special room in a
  dungeon.

- Springs can now be generated in dungeons as well as forests.  In
  dungeons, a fairy spirit will always be generated at the spring.

- More combinations for random name generation.

- More stanzas for "Tel and Floridel".

- New shops: potion shop in Gnordvar, general store in Stoneheim.

- New items: satiative amulet, bough, wand of wrath, wand of arcana.

- New creatures: kingspirit, roiling slime, splitting shrike, marsh 
  wraith, ancient worm, Pelageus, fairy spirit.

- Bug fixes:

  - The Literacy skill's improvement message was the same as Leadership
    (Rob Ayres).

  - Ivory pieces were forming separate stacks when selling, rather than
    being merged into the player's existing amount (Rob Ayres).

  - Petrification wasn't leaving a corpse on the right tile.

  - Creatures could leave both corpses and statues when petrified.

  - Creatures could drop their equipment and generate death drops when
    petrified, but these items would be unreachable due to statues being
    blocking features.  Suppressed item drops/generation on petrification,
    as any items should be considered part of the statue.

Shadow of the Wyrm v0.6.0 "Capirola"
- Version declared January 11, 2017.  Version finalized February 3, 2017.

- More potential random names for character creation.

- Witchlings and sages now get fewer castings per level (Esran).

- Thievery is no longer a slow action - it should be about the same as
  attacking. (Dallas Herrin)

- When sacrificing consumables, there are now additional checks for the
  item to be accepted by a deity.  It must have either a large amount of
  nutrition, or have some sort of magical effect.  For food, things such 
  as corpses, silverweed, food rations are all okay; fish and roots and 
  such won't meet the minimum. (Esran)

- Primary statistics (strength, dexterity, agility, health, intelligence,
  willpower, charisma) are now capped at 99.

- Hungerless races like the Fae now can now mark Health when being neither
  hungry nor full, but at a greatly reduced rate compared to other races -
  they only get a 20% chance to mark the stat, compared to 100% for the
  other races.

- When treating skins at a tannery, you can now select the ranged weapon
  slot, which will allow you to create a sling.  These can take on
  evade/soak/resistances based on the corpse like other tanned equipment.

- The mortuary now tracks the maximum difference between a slain 
  creature's danger level and the player's level when that creature was
  killed.

- Character info/dumps now also tracks the number of turns taken.

- Puglists now deal more damage.  They deal 1d(level) from 1 to 25, and
  1d(50 + (level-25) * 3) from 26 to 50. (4chan /rlg)

- When firing a branded ranged weapon with ammunition, the ammunition's
  damage type becomes that of the launcher.

- Oracles get a 5% bonus on experience points when killing a creature
  that has at least one status.

- Creatures now get angry at you if you teleport them.

- Added a new map, Whaling's End, at the south-most part of the world.
  An ancient citadel, it has been repurposed by traders as the last
  outpost at the edge of the map.

  - Hrethel, the hedge wizard of Whaling's End, will trade you one of his
    many spellbooks in exchange for a score of magici shards.

  - There are two shops in Whaling's End: Noah and Itzchak have a variety 
    of goods for sale.  Unpaid goods will list the total price when you 
    look at them.  All shops have a minimum item value, so very low value 
    items (rocks, turnips, etc) won't be generated.

  - Shopkeepers don't enjoy literal door-crashers.  They also don't like
    people kicking the wares, reading the wares, eating the wares,
    quaffing the wares, or generally acting antisocial with regards to
    the wares.  In fact, they're rather unpleasant.

  - Shopkeepers also look out for each other - if they see you outside a
    shop with unpaid goods, from any shop, they will seek revenge.

  - The total amount owing can now be seen with the "$" command.  You can
    pay for unpaid merchandise by chatting to the shopkeeper.

  - When you buy or sell, the Bargaining skill, in conjunction with your
    Charisma, determine if you can get a reduced price on a purchase or
    a better price on a sale, and if so, by how much.

- Added a shop to Isen Dun (food, weapons, ammunition), Forest of Yew
  (wands), and Atua-Elar (books).

- Now that money is more useful, nobles now start with more money.

- More stanzas for the epic poem.

- New creatures: Hrethel, whaler, scrimshander, shopkeeper, seadog,
  swabbie, harlot.

- New items: lunch.

- Bug fixes:

  - Missed comma in one of the naming options was leading to
    three-syllable names like "SulTanak."

  - Keys were stacking incorrectly, causing different crypt keys to be
    grouped together and lose track of the lock they open. (Dallas Herrin)

  - Traps without components (light traps, etc) couldn't be disarmed.

  - Alcien and Rukhala weren't specified as unique (Esran).

  - When deities summoned creatures around the player when angry, these
    could, like regular creatures, be generated friendly. (Dallas Herrin)

  - Branding was not properly adding resistances for armour. (Dallas
    Herrin)

  - Altars could be converted by offering items that generated no piety.

  - Status effects that applied modifiers, such as blindness with evade
    and disfiguration with the primary statistics, weren't having these
    modifiers properly removed when the effect was undone via prayer. 
    (Dallas Herrin)

  - The "fire through" code for archery had a bug in it that was
    preventing the proper targetting of creatures at high Archery skill
    values. (Dallas Herrin)

  - In-game character dumps were trimming left spaces on each line.

  - Doors could open and shut when there was an item present on the tile.

  - Rarity probabilities weren't properly defined for the "very rare"
    rarity, which is used for shops.
        
Shadow of the Wyrm v0.5.9 "Galilei"
- Version declared January 1, 2017.  Version finalized January 11, 2017.

- Nobles now start with a number of crossbow bolts, instead of just one.

- Witchthorns are far more dangerous for early game characters.  They have
  a chance to do a ranged attack: 1d3 damage, piercing.

- Added a "brandable" flag.  This allows a weapon or piece of armour to
  take on a particular non-physical (slash, pierce, pound) damage brand:
  holy, shadow, flame, etc.  

- Removed the old hard-coded branded weapons to make way for the
  dynamically-generated ones.

- Almost all weapons and armour are now brandable.  The exceptions tend to
  be specific-damtype items like poison darts and shadow bombs.  Armour
  created via skins is also not brandable.

- A brandable item has a ~15% chance to be branded when enchanted.  This 
  is modified to 0% (when reading a cursed enchanting scroll), or ~30%
  (blessed).  Once an item is branded, its brand is fixed, and it cannot
  be branded again.

- Branding will associate a particular damage type with the item.
  For armour, this will give an additional 15 percentage points of
  resistance.  For weapons, it will switch to that damage type, and
  add an additional die of damage, and +1 to the modifier.

- Weapons have a very small chance, upon enchantment, to gain a damage
  flag such as vorpal, draining, chaotic, etc.

- Now that damage flags are available to weapons outside of artifacts,
  any damage flags will be shown on the second line of the equipment
  screen (in addition to the "W" command).  The "Resists" line is now
  "Resists/Flags".

- Weapons are now less likely to gain resistances when being enchanted.
  The chance has been halved.

- Jellies can now split in half when they're wounded and have more than
  a third of their maximum HP.  The creature that splits off has half of 
  their current HP.

- Up staircases should no longer lead to a zoo.  But they can, like
  down staircases, once a certain amount of placement tries has been
  reached.  This should be very unlikely.

- Bug fixes:

  - Pack generation shouldn't be attempted for uniques (Esran).

  - Fixed a looping issue with entering a map where the entry tile is 
    occupied by an NPC (Esran).

  - All-zoo dungeon levels weren't allowing stair placement.

  - Tile-related messages were not always being displayed correctly when
    moving to a new map.

  - In certain situations on map creation, creatures weren't being
    removed properly which caused the player to be not placed properly.
    (Esran)

  - In some cases, a creature could try to act with a null FOV map, which
    would cause a crash.

Shadow of the Wyrm v0.5.8 "Merlin"
- Version declared December 1, 2016.  Version finalized January 1, 2017.

- Poison spells/wands now can affect any consumables on the ground.  This
  doesn't destroy the item, but makes it poisonous, instead.

- Acid spells/wands can now dissolve any item on the ground.

- Fire spells/wand can burn cloth, paper, and wood.

- Undead now leave poisoned corpses, as do any creatures that deal poison
  damage with their regular attack.

- Mines were generating in such a way that unconnected pieces were
  possible.  The black manticore quest from Gnordvar could then generate
  the manticore within the unconnected piece.  Rewrote MineGenerator to
  generate an empty room, and then scatter rock segments throughout the
  floor.  Connectedness should now be guaranteed as pieces are only placed
  if their enlarged bounding box (which is not minimal - should bound
  with distance 1 to the nearest outside point) can be placed on a set
  of floor tiles. (Dallas Herrin)

- Mines now generate on the world map.  Their symbol is still 'o', but
  has been changed to bold yellow to differentiate them from caverns and
  dungeons.

- Green slimes and red oozes are now mobile.

- Mighty blows now do 80% of the max damage roll (instead of 100%) and
  allow 75% of soak (instead of 50%).  Critical hits still do max damage,
  but allow 50% of soak (instead of 25%).

- Eka and Zaeda's Tower are protected by strong magics and are no longer
  diggable. (Dallas Herrin)

- Additional names and name fragments for randomly chosen names.

- Changes to automove:

  - Automove now breaks when receiving damage, or a change in a status 
    like blindness (Dallas Herrin).  It also breaks when you're attacked,
    and missed.

  - Automove can be interrupted by pressing a key. (Lagi)

- You can now fish using a spear, but only while standing on a land tile,
  and only if the spear is wielded - it can't be held in your off-hand.

- More stanzas for the epic poem.

- New items: wand of acid, Eka key.

- Added a dev script to check for creature spells with bad IDs.

- Isen Dun has a new character (worried mother).  Her son is somewhere
  in the Barrows new, very minor quest out of Isen Dun that will give the
  player a couple of silverweeds, but is more for flavour and lore than
  anything else.

- When the player moves, there is now a chance to search/detect traps
  without having to actively spend a turn doing so.  This is based on the
  Detection skill.

- Dusk and dawn now shade items and creatures as well (Dallas Herrin).
  Also rejigged the colours:

  - Night is now dark blue (surroundings) and bold cyan (creatures/items).

  - Dawn is red/bold red.

  - Dusk is yellow/bold yellow.
  
- New creatures: worried mother, Ead.

- Bug fixes:

  - Dragon breath wands were correct - flame - but the spell itself was
    acidic.

  - Typo fixes in keybindings (Larzid) and game text (Dallas Herrin).

  - Mines and sewers were showing day/night transition because the map 
    type wasn't being properly set during generation.  Refactored some
    per-map code into a common function to ensure this always gets set
    correctly.

  - Various bug fixes surrounding displaying text in larger resolutions.
    (VedVid)

  - Text would sometimes double-line-break, when a line was just up
    against the maximum width.

  - The key to Eka was not actually being placed.  Placed it hidden in the
    rock in Cithriel, protected by divine avengers within the chamber.
    Added a clue to the whereabouts at the end of Gildi's quest for the
    Black Orb. (Dallas Herrin)

  - Fixed a number of instances where custom maps had the wrong map type,
    causing day/night transitions. (Dallas Herrin)

  - The guidebook wasn't referencing the new deity stat modifiers.
    (Dallas Herrin)

  - The game could crash when there were multiple tiles present with
    traps, and the user selected an invalid direction in which to disarm.
    (Dallas Herrin)

  - The monster decision code to figure out what spell to cast would
    crash when given a spell ID that didn't exist. (Dallas Herrin)

  - Zaeda is able to cast Lightning Bolt, but the spell ID was typo'd,
    which would cause the crash described above.

  - Spirits weren't tagged as flying, so weren't moving over water
    properly (Dallas Herrin).

  - Fixed a crash with setting hostility for far-off creatures outside the
    player's LOS (kraphead, Dallas Herrin).

  - Self-attacking creatures were drawing the hate of other creatures,
    which was not intended.

  - Shrines were not being marked as permanent.  If you left/came back,
    the shrine would be re-generated and the shrine gem would be gone,
    since it can only be generated once. (Dallas Herrin)

Shadow of the Wyrm v0.5.7 "Cutting"
- Version declared November 5, 2016.  Version finalized December 1, 2016.

- Previously, immobile creatures were truly immobile and didn't move.
  Now, many of these creatures have a "sentinel" flag set, which causes
  them to stand still when there are no hostiles creatures within their
  view maps, and to move to attack otherwise.  No more easy rampaging
  through Isen Dun! (AgingMinotaur)

- Poison is now more dangerous: it scales based on the level of the
  creature applying it, meaning that it'll do more than a point of 
  damage per minute as creatures get more and more powerful: the base
  is 1 damage, +1 for every 5 levels, and doubled after that if the victim
  has a particularly low Health score.  This means that higher level 
  creatures that can inflict poisoning are much more dangerous, but it 
  also means that as the player levels higher, his or her poison attacks 
  will become increasingly powerful, too (AgingMinotaur).

- Poison damage is now always doubled for creatures with low (< 7)
  Health.

- Added searching to the command reference in the guidebook, and made
  a few updates to the section on secondary statistics (The_Great_Goblin).

- When attacking friendly creatures, if they have a voice (and not all
  races do), they will cry out, causing nearby friendly creatures to
  also become hostile to the attacker (AgingMinotaur).

- New area north-east of the starting island: the islet of Rowan Head.
  
  - Added a little bit of information to the Isen Dun Chronicle on this
    island and its people.
    
  - Maisy's story is a direct retelling of Robin Robertson's poem, "At 
    Roane Head" (my deepest apologies to the poet).

  - Franck offers to teach the player fishing for a fee, if they don't
    already know it.

  - Fixed some message formatting issues around resting/automove (VedVid).

- Added optional settings to colourize HP and AP on the display for easier
  scanability.  These are "default_hp_colour" and "default_ap_colour", 
  and if not set, will default to the usual white (VedVid).

- As you select sex, race, and class, the information is displayed at the
  top of the next screen.  This provides better feedback when choosing
  to randomize individual elements (AgingMinotaur).

- Made the Guidebook clearer on how attack difficulty, speed, and damage
  work (Dallas Herrin).

- Messages on time of day transitions when on an overworld map.  The map
  itself changes to red at dawn, regular colours during the day, yellow
  at dusk, and blue at night.

- Detection no longer gives messages for when it senses creatures, as
  that's pretty common.  It now checks for out of depth, dangerous hostile
  creatures (AgingMinotaur).

- Hungerless races (Fae) don't have their Health marked when neither
  hungry nor full.

- The search command now actually searches for hidden traps around the
  player.  The Detection skill is checked.

- When the game is starting up, if the terminal size is less than 80x24,
  the game will prompt the player to resize to at least that size and
  hit enter, rather than just exiting.  This fixes a reported issue where
  reinstalling the game was necessary (Avagart).

- Additional poem fragment for the title screen ("Consecration", John
  Masefield).

- Minimum/recommended terminal size is now 80x25, not 80x24.

- Cold spells/wands/etc now have a chance to shatter glass items
  (mainly potions) on the ground.

- Creatures can no longer pick up items once they become overburdened.

- Being burdened now gives a 1.5 multiplier to speed, strained 2.0, and 
  overburdened 3.0.

- Creatures are no longer generated immediately next to staircases.

- Creatures now have a small chance to be generated in packs.

- New pick up all command (";").  Use carefully, as it will take longer
  to pick up more items, and nearby creatures might be able to get in
  multiple attacks (Legend).

- Failing to pick up no longer advances the turn.

- More stanzas for "Tel and Floridel".

- New creatures: Maisy, Old Toller, Franck, ancient terror, wood elf
  sentry.

- New artifacts: giant greataxe "Blood and Glory."

- Bug fixes:

  - The damage dealt by poison each minute wasn't being considered
    Poison-type.

  - You could chat during timewalking, despite the fact that everything
    around the caster is supposed to be frozen in time.

  - Timewalking wasn't always being applied properly, causing the caster
    to immediately step back into time.

  - Magici shard in Siriath's lair wasn't loading properly (Dallas 
    Herrin).

  - It's no longer possible to spit out a fruit seed/pit on the world
    map and have that tile's inventory updated.  Tiles on the world map
    now always have null inventories (Dallas Herrin).

  - Twille's quest now terminates properly (Dallas Herrin).

  - The code responsible for incrementing trained statistics wasn't
    handling Health correctly (Dallas Herrin).

  - Miscellaneous typo fixes in the bestiary (The_Great_Goblin).

  - Water-breathing creatures would pursue threats on land, despite not
    being able to breathe air.

  - The skill command (F3) was missing from the keybindings in the help
    menu (The_Great_Goblin).

  - HP regeneration had a bug where the race- and class-based multipliers
    were being applied twice, resulting in incredible regen rates
    with ogre warriors, dwarf pugilists, etc (AgingMinotaur).

Shadow of the Wyrm v0.5.6.1 "Vivaldi"
- Version declared November 1, 2016.  Version finalized November 5, 2016.

- Log filenames now have the format "sotw-YYYYMMDD-i.log".

- Logs older than a week are now deleted on startup (AgingMinotaur).
  The age period can be configured in swyrm.ini.

- More stanzas for "Tel and Floridel".

- Siriath is now a proper spellcaster.  He casts Wreath of Fire and
  Flame Dart (AgingMinotaur).

- Bug fixes:

  - Fixed a few bestiary typos and wording issues (AgingMinotaur).

  - Some tiles in the non-Windows builds had null inventories due to an
    issue with one of the tile member variables not being properly
    initialized in all cases.  This caused items to disappear on drop
    (AgingMinotaur).

  - Backspace wasn't working properly in free-form text prompts in Linux
    builds (AgingMinotaur).

  - Fixed the vault-type crypt crash bug.  This was being caused when
    the item generation code didn't generate anything; the null item
    pointer was being added to the tile's inventory, and when trying
    to render a tile with a null item and no creature on it, the game
    crashed.  This was most evident in crypts, but definitely could
    happen elsewhere, too (AgingMinotaur, barrabus, others).

Shadow of the Wyrm v0.5.6 "Vivaldi"
- Version declared October 1, 2016.  Version finalized November 1, 2016.

- New effect type, Bless.  When the effect type is cursed, an item is only
  turned uncursed, and only if it is currently cursed.  When the effect 
  type is uncursed, the selected inventory item is blessed, and when the 
  effect type is blessed, all items of that type in the inventory are 
  blessed.

- When an item is dropped on an altar, if the dropping creature is pious 
  and the altar is co-aligned, the item/stack are blessed, and piety is 
  decreased.  If the creature and the altar are cross-aligned, the item 
  becomes cursed.

- Character dumps now include all the artifacts that have been generated
  as part of the current game.  This includes maps that have been 
  generated but not yet visited (custom areas).

- Toned down Stormstaff.  The damage on the staff of the artificer has been
  reduced as well - damage is now 12d4 instead of 12d6 to be consistent 
  with other staves.

- The player is now prompted before moving on to a tile with a dangerous
  feature, such as a known trap.

- Created a new skill, Wandcraft.  Wizards and Sages start with this skill,
  as well as Gnomes, though it can be learned by anyone from a quest from 
  Cynwise in Isen Dun.  Wandcraft acts in the same way Combat does for 
  melee combat, or Archery for ranged combat - it enhances the damage done
  by wands, and allows for a chance to use a wand without burning a charge.
  When a creature has skill in Wandcraft, as well as a branch, a shard of
  magici, and an external (beam/cone/storm/ball) spell, a wand can be
  created.

- High willpower scores now modify wand damage by a small amount.

- The player is no longer prompted before moving onto a dangerous tile when
  blind.

- Created a new item, magici shards.  These are used, together with 
  branches and known spells, to create magic wands.

- Tiles that can decompose into items (rock and earth) can now decompose 
  into one of a number of items, probabilistically.  Previously, they 
  would always decompose into a particular item type.  Rock tiles now have
  a very small chance to be broken up into magici shards, but will usually
  be broken up into smaller rocks.

- Placed a guaranteed magici shard in Siriath's lair.

- Created a quest from Cynwise (between her Sun Gem and Wintersea quests)
  to retrieve her a magici shard.  As a reward, she either grants a lot of
  training in Wandcraft, or, if the skill is maxed, she gives a wand of
  dragon breath, two potions of gain attributes, and three scrolls of
  enchanting.

- Additional useful and useless inscriptions.

- Places where rocks can be generated (on field/cairn tiles, etc) can now
  also generate stones.  Stones are smaller and only deal 1d2 damage.  They
  only weigh 3 ounces, however, much less than the 12 that rocks weight.

- Reworked the code that generated ivory pieces for humanoids.  The items
  that can be generated by race and ancestors are now specified in the 
  game configuration.

- Birds now have a chance of dropping quills.

- Constructs, which are animated by use of magici shards, have a chance
  to drop these when destroyed.  Dragons love the deep magical light
  emitted by the shards, and so have a small chance to drop them as well.
  
- Created a low level construct, animated brooms, which can be used as an 
  early-game source of shards.

- Added chat text for Kew and Cadlind to let the player know that
  constructs and dragons can drop magici shards.

- Blank scrolls do not vanish when read.

- Artisans now start with a small amount of Literacy, as well as Cantrips.

- Implemented the Scribing skill.  This currently allows the creation
  of scrolls.  To create a scroll, you will need skill in Scribing, a
  quill, an inkpot, a blank scroll, and knowledge of an internal (self
  targetting) spell.

- In the Lua API functions, get_creature_yx will now search creatures both
  by ID and original ID when given an identifier.

- Added a new, small quest.  There is now a second dying adventurer
  at the base of Zaeda's tower.  Cornel has a locket given to him by
  an adventurer the player is likely to meet early on.  When Cornel
  dies, he leaves this locket to the player.  Returning the locket to
  its rightful owner gains the player a scrimshaw hairpin that protects
  very well against the cold.

- Each completed quest now provides a per-level adjustment to the score
  at the end of the game.

- Additional compound name fragments, with special attention paid so that
  the names "Heman" and "Shera" can be randomly generated.

- After the stanzas in the epic poem on the giant Choros, created a new
  artifact, the seventeen-foot greatsword wielded by Choros against the
  hunting party.  The damage is good, though the weakest of the
  greatswords, but its primary advantage is a hefty boost to Slash
  resistance.

- Added a new unique, Thesilea, to the library in Atua-Elar.  Thesilea
  is a shrinking violet (and chief scribe of the library) who will trade 
  the player blank scrolls in exchange for inkpots.

- Giants are now neutral.  The fact that they were originally good didn't
  play out well with how the epic poem was developing.  Because Gnomes
  could have been good or neutral, and I wanted three races per deity
  group (with Humans getting their choice of any deity), Gnomes have been 
  updated to be good.  The groups are now:

  - Good: Dwarf, Gnome, Wood Elf, Human
  - Neutral: Mountain Elf, Fae, Giant, Human
  - Evil: Goblin, Ogre, Snakeling, Human
  
- Played with the starting stats a little bit so that Gnomes get a little 
  bit more intelligence, and Mountain Elves a little more willpower.

- In preparation for eventually differentiating day and night visually,
  added a new "hours_elapsed" setting that can control at what time
  the game starts.  Set 8 a.m. as the default.

- Additional poem fragments for the title screen (Goblin Market, The
  Stolen Child).

- More stanzas for "Tel and Floridel".

- New spells/spellbooks: vorpal bolt (Arcane), bless (Mystic).

- New items: vorpal bolt wand, scroll of blessing, magici shard, small 
  stone, quill, inkpot, blank scroll, wave locket, scrimshaw hairpin.

- New artifacts: Greatsword of Choros.

- New creatures: animated broom, Cornel, Thesilea.

- Bug fixes:

  - "You see..." messages for items were being shown when walking over a
    tile when blind.  It was still "You see something", but this wasn't
    quite correct - when you're blind, you can't see anything.

  - Traps could be seen via the "L"ook command even when untriggered
    (mibert).

  - Spell modifiers (for spells such as Divine Wind) weren't being
    carried over properly to items such as wands, scrolls, and potions.

  - Settings were reloading with F12, which I'm pretty sure was
    intentional at one point.  However, given that this also resets the
    in-game date, that has been removed, and F12 now reloads Lua state
    and SIDs only.

Shadow of the Wyrm v0.5.5 "Weiss"
- Version declared September 3, 2016.  Version finalized October 1, 2016.

- Stats can now be marked periodically.  Every three hours, the game
  checks for:

  - Being burdened (+1 mark) or strained (+2 marks) - Strength

  - Being neither hungry nor full (+1 mark) - Health

  - Wearing any rings or amulets (+1 mark for each) - Charisma

- Intelligence is marked whenever a creature identifies a new item.

- Increased the chance for a statistic to be incremented when max-marked.

- The phase of moon now has an effect on marking statistics.  The chance
  of marking a statistics when the moon is waxing is twice as easy, 
  while when the moon is full, statistics are always marked - no 
  probability check.

- Added a setting to enforce the character's name being the same as the
  player's username, for the full nethack/DCSS experience.

- Thieves can now steal from other creatures.  

  - A creature can only be stolen from once, if not the player.  This 
    sets a flag, preventing the creature from being stolen from again.  
  
  - Creatures without pockets (insects, birds, etc) can't be pickpocketed.
    Any other creature can be stolen from.
  
  - Certain deities do not appreciate stealing from innocent creatures.  
  
  - When stealing, any item from level 1 to the target creature's level 
    can be generated.

- Ironsword's damage has been toned down, and now only gives poison
  resistance.

- The welcome screen now has an option to show the high scores.

- Barrels now have a specified number of drinks, and so can't dispense
  infinite booze.

- Created support for transmission types when getting a message manager
  instance.  This takes not only creature details, but also a transmission
  type.  The combination of the two drive the type of message manager
  returned.  This should hopefully fix a class of bugs and will probably
  open another.

- Added a new setting, current_month_is_start_month.  This defaults to
  false, but when set to true, the game will start with its calendar set to
  the first day of the current month.

- Implemented a new damage flag, draining, which has a chance to transfer
  a portion of the damage dealt to the attacker.  Added the draining flag 
  to Bloodsinger.

- When no AP is specified for a creature, the AP will default to 50% of
  the creature's HP when generating the creature.

- Implemented a new damage flag, ethereal.  Ethereal acts like draining,
  but on Arcana Points instead of Hit Points.  The attack always does
  damage against HP, but when the ethereal check passes, the attack does
  the same amount against the creature's AP, and transfers a portion back
  to the attacker.
  
- Created a new artifact, Elcrynn, that has the ethereal flag.  This can 
  be gifted by The Lady, The Trickster, and Shiver.

- Mighty blows now do max damage at 75% soak.

- Added draining and ethereal to crones.

- Added more useful and useless inscriptions.

- There is now a text describing some of the lore of the Nine in the 
  rectory in Isen Dun (Cheap Miami Records).

- Support for Linux builds.  Added build instructions/guidance to a new 
  file, README.build.linux

- Some refactoring in the Lua and C++ code.

- More stanzas for "Tel and Floridel".

- New creatures: seeper, redback spider.

- New artifacts: ethereal staff "Elcrynn".

- Bug fixes:

  - Improving statistics when not going through the NPC was not
    incrementing the marks properly.

  - The code that handled equipping from a stack of items wasn't properly
    identifying wearable items, or handling auto-cursing.

  - The W/R weapon info commands weren't properly respecting player
    blindness.  Full weapon details are now shown when not blind, or when
    blind and either unarmed or wielding a glowing weapon.

  - Due to a bad refactoring prior to the first release, mighty blows and 
    critical hits did not reduce soak appropriately when applying the 
    damage.

Shadow of the Wyrm v0.5.4 "Barrios"
- Version declared July 2, 2016.  Version finalized September 3, 2016.

- New world map location type, shrine.  Updated the post-world map 
  generation XML/script routines to place the sky/world/nether shrines.

  - Rectangular shrines are pretty plain-jane.  They have statues and
    pillars leading up to the centre, where the shrine's relic is kept.

  - Cross shaped shrines keep the relic off to the sides.

- The blacksmith now gives a quest for the shrine gems.  This is an
  alternative if you wish to clear the shrines, but don't want the
  artifact for the evil ending.  He crafts a divine blade of immense
  power and protection.

- Repurposed Bagra from a random high-level unique to the quest-giver for
  the evil ending.  She now wanders Wyrmeswraec.  Her quest grants an
  unholy dagger, Heart's Needle, that can be given to Amaurosis to
  complete the evil ending and destroy the universe. (Jeremy Long and
  others)

- Boating now improves at a much slower pace.

- Each of the Nine now include the skyborn in their list of creatures that
  can be summoned when they are annoyed.

- More random name combinations.

- Skinning and tanning are now slightly less easy-mode, though still very
  powerful with high skinning/tanning/dungeoneering.

- Tanning now always adds at least 0.01 points of resistance when the
  resistance is present.

- Gnomes now start with Literacy, as do Adventurers.

- Added a new vorpal flag.  This gives a 3% chance to insta-kill
  creatures that are not incorporeal.  Added the flag to a new artifact,
  the vorpal blade.

- Added a flag to allow administrators to set a maximum number of
  savefiles per user.  This is intended to limit resource usage on
  multi-user systems.  The flag is -1 (unlimited characters) by default.

- The size of a stack of ammunition is now based on how on the weight of
  the individual projectiles.

- New effect type, trap detection.  When blessed, detects all traps on the
  level; uncursed, all traps in the FOV.  When cursed, hides all traps in
  the FOV.  As a spell, Detect Traps is mystic and therefore available to
  Oracles.  The detect traps spellbook is a potential starting spellbook 
  for Oracles.

- Added support for marking statistics, and gaining statistics.
  Statistics can now be marked in certain circumstances (e.g., agility
  is marked when dodging).  Every two days, each creature's statistics
  are checked, and if there are any statistics whose marks equal the base
  value of the statistic, there is a chance (~70%) that the stat will
  increase.  Statistics are currently marked in the following cases:

  - Strength: when digging on a tile or through another tile, when a
    heavy melee attack hits.

  - Dexterity: when dismantling a trap into useful components, when a
    light melee attack hits, when a ranged attack hits.

  - Agility: potentially when an attack is avoided.

  - Health: when a particular status wears off or is cancelled, 
    potentially when HP regenerates.

  - Intelligence: successfully reading a spellbook, reading a scroll,
    when a magical attack hits.

  - Willpower: potentially when AP regenerates, when casting a spell
    causes the spell's bonus to increase, drinking a potion, evoking a
    wand.

  - Charisma: when quests are requested and completed, when a sacrifice
    is offered and accepted, when praying while in good standing.

- Sacrificing on an altar now breaks the agnostic conduct.

- Reduced the weight required for a weapon to be "heavy" from 30 lbs. to
  20.  Adjusted a number of weapons to be heavy: Apocalypse, Torasin,
  Urgol, Beow.

- There is now an NPC in the Forest of Yew, Melura, who provides training
  (marking) for statistics in exchange for ivory.

- More stanzas for "Tel and Floridel".

- New creatures: gorgon, skyborn, shrine hag, vorpal bug, gloaming,
  Melura.

- New spells/spellbooks: Detect Traps (mystic).

- New items: scroll of trap detection.

- New artifacts: Heart of Heaven, Heart of the World, Heart of the World
  Beyond, holy sword "Heart's Fury", unholy dagger "Heart's Needle",
  vorpal blade.

- Bug fixes:

  - Slaying information wasn't being displayed correctly when a weapon
    slays '*' (everything).

  - Text paging wasn't working correctly when the current "page" was
    very long, as the additional padding wasn't being added.

  - Very small resistances (ie, around 0) were showing their value in
    scientific notation.  Fixed this so that resistances are still 
    precisely calculated using doubles, but displayed using precision 2.

  - Staircase generation in caverns was incredibly broken (4chan /rlg).
    Down staircases in sewers were also broken.

  - There was an unterminated parenthesis in damage output when the
    damage didn't have any slays.

  - Nagas didn't have speech text.

Shadow of the Wyrm v0.5.3 "Calvi"
- Version declared June 4, 2016.  Version finalized July 2, 2016.

- Behemoth hide armour is a bit more powerful, soak-wise.

- Defined grave-rooms for dungeons.  These contain a sarcophagus that
  is guaranteed to contain an item, and is very likely to contain someone
  not pleased with being woken.

- Sarcophagi can now be plundered with the usual 'a' (apply feature)
  command.

- Updated the dungeon generation algorithm to keep better bookkeeping on
  special rooms.  Previously, some rooms might not be placed, but would
  be tracked as such, preventing the generation of the room on that
  dungeon level.

- Fields, forests, scrublands, and hills now have a small chance of having
  a grave or barrow generated as part of the map.  If this happens, then
  the map is made permanent.

- The gnomish barkeeper in Gnordvar will now sell you food and a drink
  for a few ivories.

- The code has been internally restructured so that weapons no longer
  have slays.  This is now at the damage level, so that it can be applied
  both to a weapon and to unarmed damage (or, later, magic).

- Slays are now shown when using the W/R weapon info command.

- Pugilists are now more powerful: at levels 20 and 40, they receive a
  random slay on their unarmed damage.

- Attack details (the output of the "W"/"R" commands) are now shown in
  the character synopsis.

- Fixed some ugliness with how equipment is displayed in the character
  synopsis.

- Dual wielding is now even more difficult, as before this difficulty
  could be offset pretty easily by pumping a weapon skill.

- Skills now also affect damage: creatures get +1 damage for every 10
  skill in the relevant melee or ranged weapon skill (clubs, spears, etc).
  Furthermore, an additional +1 damage is granted for every 20 points of
  Combat or Archery, depending on the type of the physical attack.

- Prettified damage flags in the weapon output.

- The following races now have some resists/vulns, which should make
  skinning creatures of that race worthwhile: construct, demon, divine,
  insect, jelly, monster.

- The chance of a corpse carrying over a racial resistance is no longer
  100% - the base chance is 40, and modified by the skinning creature's
  Skinning skill (based on an observation by Alzrius).

- Each corpse now produces only one skin.

- The resistances transferred from a skin to a piece of armour are now
  much lower - they used to be the same value, but now start at 1/4.
  At maximum Tanning skill, the divisor is 1/2, and there is the chance
  to increase the resistance a bit beyond the base value, depending on
  the Tanning skill.

- The base rate for corpse-dropping has been reduced from 15% to 7%.

- The Medicine skill now helps reduce the number of minutes required for
  a tick of HP regeneration.

- The Dungeoneering skill now affects the drop rate on slain creatures.

- Inscriptions are now shown when moving to a tile containing one.

- There are now useful and useless inscriptions that can be added to the
  floor during dungeon generation.

- The Herbalism skill now allows finding herbs that can heal HP 
  (blackroot) and AP (verbena), remove poison (white basil), restore the
  voice (voxflower), or reverse the effects of petrification 
  (stoneflower), when generating an overworld map like a field or forest.
  The availability of the herbs depends on the season.

- Foods can also have effects now, instead of just potions.

- The skills screen now remembers the page properly, so that after
  selecting a skill, the page is not reset to 1.

- Added a new room type, trap room, to the dungeon.  When placing traps,
  one to four traps can now be added.  Occasionally, the room will be
  completely filled with traps, and this will generate a warning message
  when entering the dungeon.

- The Disarm Traps skill is now useful.  It can be used to disarm an
  existing trap, with a chance to deconstruct the trap into a stack of
  useful projectiles, based on the type of the trap:

  - Poison dart (poison dart trap)

  - Fire bomb (fireball trap)

  - Arrow (arrow trap)

  - Bolt (crossbow trap)

  - Rock (rock trap)

- Clay pots are more brittle.

- When using destructible items as melee weapons, the destruction
  percentage is now properly considered in melee - you can't wield
  clay pots or fire bombs with impunity.

- Ranged combat is no longer possible when trying to fire cursed
  ammunition.

- There is now a small chance that digging on a field or under a bush
  will yield an edible root.

- Two new title poems (selection from Ben Jonson's "Gypsy Songs", and a
  haiku by Kobayashi Issa).
    
- Additional stanzas for "Tel and Floridel".

- New creatures: abyssal beast, aster, golgothan, fantastic beast, ghast,
  ichor, celestial, muck, mire, manticore, rock grinder, Whitebard,
  magmos.

- New items: abyssal hide armour, intact skeleton, white basil, blackroot,
  verbena, stoneflower, voxflower, poison dart.

- New artifacts: Sword of the Fairy-King, fickle dagger "Fatebender".

- Bug fixes:

  - Shadow snakes' speech text wasn't defined properly.

  - Marvelle is supposed to be unique, but didn't have a Max defined
    (4chan rlg).

  - Character synopsis now displays "Resists" by item resistances, to
    be consistent with the other screens.

  - Long lines weren't being handled properly in the synopsis.

  - For creatures with lots of general skills (e.g., Human Rover), the
    skills on the second page were not selectable.

  - Selecting a letter for which there is no skill bound (e.g., 'u')
    no longer gives the message "This skill is not yet implemented."

Shadow of the Wyrm v0.5.2 "Le Roy"
- Version declared May 1, 2016.  Version finalized June 4, 2016.

- Added support for reading a random file for a resource string.  This
  won't be used in many places, but is currently being used for allowing
  a number of different title poems.

- Deities now grant +2 to a statistic at the start of the game, instead
  of +1.

- The locked room in Kew's house now always contains an unstoning
  potion.

- Goblin trappers can now, as part of their AI, set a trap.  Whether or
  not the trap is seen is dependent on the Detection checks of the
  creatures the trapper can see that the trapper is hostile towards.
  Trappers don't set traps when there are no hostile creatures present.

- When skills are checked for improvement, if the number of marks is less
  than the amount required for a skill increase, the skill still has a
  chance to improve, based on the number of marks accumulated.

- Witchlings get a new wide-beamed spell, Umbra, starting at level 26.

- Created support for beam spells with radii greater than 1.

- Updated the pathfinding code to use a greater cost when considering
  a search node that contains a dangerous feature like a trap.

- The player must now be standing on a trap to apply it - traps can't
  be applied while the player is adjacent.

- Traps now give a message regardless of whether they're triggered by the
  player or another creature, so long as the player can see the triggering
  creature.  Reworked the trigger messages so that they no longer assume
  that the player is the triggering creature.

- Created a new epic poem, to be added to with each release, found in
  the library of Atua-Elar.

- Each race now has an associated number of skill points that they gain
  per level.  Humans and Snakelings are the most adaptive, and gain skill
  the fastest this way (10 points each).  Fae and Giants are the most
  hidebound as a people, and very set in their ways (7 each).  Between the
  two extremes are:
  
  - Dwarves, Ogres, and Wood Elves (8)
  - Goblins, Gnomes, and Mountain Elves (9).

- When creatures gain levels, they now gain a certain number of skill
  points.  Each skill point can be used to gain skill in a previously-
  learned skill, or learn a new skill when trainable from 0 (melee and
  ranged weapons).  The number of skill points is determined by the
  creature's race.  Unused skill points have an effect on the game's
  final score.

- Looking at a tile with multiple items now results in a message about
  this, rather than an ugly list of all the items in the stack.

- Tiles can now have inscriptions, and the player can create inscriptions
  ("N" by default).

- Added more name syllables, so there are more possible random names.

- Graveyards weren't properly hooked up to world generation.  Now there
  are lots of lovely graves to plunder.  These now have inscriptions, so
  you can see whose grave you're trying to plunder.

- New creatures: goblin trapper, corpse fiend, Shale, Marvelle, 
  changeling.

- New traps: crossbow trap, blackwater trap, electric field trap.

- New spells/spellbooks: blast (Cantrips), umbra (Primordial), absolute
  zero (Arcane).

- New items: wand of poison, wand of shadow, epic poem "Tel and Floridel".

- Bug fixes:

  - Randomizable items (potions, etc) placed on custom maps weren't
    being randomized properly.

  - The Magic skill didn't have its resource string properly defined,
    resulting in empty text when that skill was selected from the Skills
    screen (Redfeek).

  - Untriggered traps were being displayed when moving out of view of
    that tile.

  - When using +/- to cycle between creatures using Look, the message
    manager details were not being updated correctly.

  - Tomatoes weren't red.

  - When a trap killed a creature, the redraw was not immediate and the
    projectile might end up being redrawn in the wrong location.

  - Resource strings for NPC paralysis were missing.

  - Poison dart traps now deal piercing damage instead of pound damage.

  - Fixed a bug where renaming with Nama wouldn't redraw the screen
    properly when inputting a name consisting of many lines of text.

Shadow of the Wyrm v0.5.1 "Beauvais"
- Version declared April 3, 2016.  Version finalized May 1, 2016.

- Added a new area, the Caldera, in the dwarf lands.  Guarding the centre
  of the lake are four ageless giants: Weyg, Rhone, Phole, and Carne.
  Weyg and Carne are warriors, while Rhone is an archer and Phole a
  witchling.

- Added a quest to the caravan master, which will fire after the Cithriel
  quest is complete, to slay the four avernal giants in the Caldera.

- In adding the Caldera and the associated mythology, I noticed there were
  now two distinct "underworlds": the underworld of Greek and Roman myth, 
  and the one of Dungeons & Dragons and other fantasy games.  Reworked the
  texts so that demons are now from a parallel world known as the black 
  plains, while the underworld is now the place where spirits go after 
  death.

- The player can now view his or her skills (default keybinding is F3).
  This shows all trained and trainable skills.  Trainable skills are those
  that can advance from 0. (AgingMinotaur)

- Skills can be selected from the skill screen as well.  Selecting a skill
  gives a message as to how it's used (for weapon skills, magic, etc),
  actually does something (no skills take advantage of this, yet), or
  throws up a message about how the skill is not yet implemented.

- Appropriately 0-valued skills (weapon skills) are now shown in the
  character dump as well.

- Implemented the crafting skill.  This is a secondary skill for a lot
  of crafting-type skills, and increases the chance of creating something 
  useful.

- Implemented the blind fighting skill.  This helps negate the large
  evade penalties associated with blindness, as well as the to-hit
  penalties.

- As weaving and tanning now consider both a primary skill as well as 
  crafting, the items created can now be more powerful.

- Working at a jeweler's workbench now considers the Jeweler skill instead
  of Smithing.

- The player now needs literacy as a basic prerequisite to read scrolls
  and spellbooks.  The Literacy skill now also affects how quickly a
  readable item is read, and is also now checked when determining if a
  creature is able to learn a spell from a spellbook.

- One more inhabitant of Isen Dun wants the Sun Gem.  Cynwise's first
  quest is now for the Gem, and she gives a number of identify scrolls.
  She also teaches the player about Literacy, if that skill is 0.

- Since there is now additional incentive to do Cynwise's quest for
  Literacy, the Blacksmith's reward, Forger, now does a bit more damage.

- The Escape skill is now also checked when trying to ascend/descend
  while adjacent to hostile creatures.  Previously, this movement could
  always be performed.  Now, there is a base chance to ascend/descend,
  and if that fails, the Escape skill is checked for a second chance.

- Awareness now plays a large part in calculating the target number for
  magical combat, so creatures with very high awareness and/or evade
  will be very difficult to attack with magic.

- Religion now plays a part in your relations with your deity.  After
  praying, a multiplier is now applied to the piety gain (sacrificing)
  and loss (praying).

- Being favoured by the Nine and spoken to in visions and in their dreams,
  Shepherds now start with skill in Religion.

- Most of the general skills are now marked on use, or in certain use
  cases, meaning that their repeated use will improve them over time.

- Rejected sacrifices now no longer disappear, but are left on the altar.

- Rovers and Seafarers now start with fishing rods.  There is also a
  guaranteed fishing rod in the boathouse in Isen Dun.

- Implemented fishing.  To fish successfully, you will need to have a
  fishing rod and be standing by water.  It also helps a great deal if
  you have skill in Fishing.  Fishing on a map makes it permanent, if it
  was not before.  If you catch a fish while on land, the fish will appear
  on your tile; if you're in the water, the game will add the fish to
  your inventory.  If you lack the space in your inventory, you will toss
  the fish back.

- Artifacts are now always generated as either uncursed or blessed
  (Sean McKeague).

- The Hunting skill now improves combat skills against animals, and also
  helps find more corpses.

- Wood Elves and Fae now start with Hunting.

- Bug fixes:

  - Fixed a crash bug in a Lua API test function.

  - The resource string for the Foraging skill's name was incorrect,
    pointing at Escaping instead.

  - To-hit modifiers weren't being properly applied in the magical to-hit
    calculations.

  - Sacrificing a low-value item and receiving 0 piety was incorrectly 
    generating a "you feel pious"-type message.

  - Both currency and ammunition were generating in much larger piles
    than expected, due to calling the RNG "dice" function instead of
    "range".  This led to stacks of three hundred or more cabers weighing
    18000 lbs. (Sean McKeague)

- New creatures: Weyg, Rhone, Phole, Carne, avernal bat, mist wraith, fox
  mage.

- New items: avernal arrow, fishing rod, rainbow trout, river carp,
  nothern pike, sockeye salmon, yellowfin tuna, southern cod.

- New artifacts: the ruby amulet "Eunoia".

Shadow of the Wyrm v0.5.0 "Molinaro"
- Version declared March 7, 2016.  Version finalized April 3, 2016.

- Added a utility to set the username to empty on savefiles, and updated
  the code so that any savefile with an empty username can be opened by
  anyone.

- Save files now persist after loading, and are only removed when quitting
  or dying.  This allows a basic recovery mechanism from crashes.

- Fixed up a number of locations in the Lua API functions where creature
  pointers were being used unchecked.

- Dying stars will change their evade, damage, and speed based on their 
  intensity.

- Defined initial equipment for goblin pelters, archers, ogre hurlers,
  and dwarven warriors (these receive slings and rocks/bows and 
  arrows/cabers/crossbows and bolts, respectively).

- Updated NPC AI to consider ranged combat when threats are in range and
  when an appropriate ranged weapon is wielded.

- Resting no longer cuts off at full HP or AP when the player has at
  least one status.  This allows players to quickly rest off being
  Spellbound, etc.  Resting still can't be done when afflicted by
  particularly dangerous statuses (Stone, Poison) - in this case, the
  player would need to use an item, pray, manually rest using 's', etc.
  (Antonio Sabochini)

- Creatures can now have skills as well.  Added archery-related skills to
  archers, goblin pelters, ogre hurlers, snakeling sharpshoters, and 
  dwarven warriors.

- Amulets now have randomized unidentified descriptions.

- Changed amulet symbol to '#'.

- Added configuration settings to allow the selection of a default race,
  class, deity, and sex.  If these aren't set appropriately, the user
  is prompted to select a value.

- Creatures can now attack with two weapons.  There is a to-hit penalty
  on the secondary weapon, as well as a speed penalty.  These are both
  reduced by the Dual Wield skill (kraphead).

- Rovers now start with skill in Dual Wield as well.

- Thieves now start dual-wielding daggers, with some extra daggers in
  their inventories.  Rovers start with an extra dagger in their
  inventory.

- There is now a simple in-game help, accessible via '?'.  All keybindings
  shown are the default values (AgingMinotaur/Mateusz Lagowski).  The
  help menu also includes an introduction to roguelike games, a history 
  of Shadow of the Wyrm, and a basic strategy guide.

- Creatures can now be defined as breeders.  Breeders have a small chance
  to create another creature of the same type onto a surrounding tile.
  Breeding respects when the creature generation rate is 0 (via the
  Cleansing spell), so even if a creature decides to breed, breeding will
  be suppressed on the level by this spell.

- Added the breeder flag to fork bugs, as well as a piercing attack.

- Added another entrance to the boathouse in Isen Dun.

- Increased the amount of currency per drop, as well as ammunition.

- New conduct type: silent (broken on chatting and spellcasting).

- New creatures: dying star, puca, tentacled spider, fork bug, ogre
  hurler.

- New items: holy amulet, shadow amulet, lightning amulet, flame bolt,
  arcane bolt, barbed spear, winged javelin, caber.

- Bug fixes:

  - Combat/Archery was not affecting the combat to-hit calculations.

  - Off-hand equipment specified in the configuration XML wasn't being
    equipped properly.

Shadow of the Wyrm v0.4.9 "Mavroedes"
- Version declared March 3, 2016.  Version finalized March 7, 2016.

- Slightly better estimation of the distance to the goal for the A*
  search algorithm - it now considers the movement multiplier of the
  current tile, in addition to the Chebyshev distance.

- Added code to create a minidump when a crash is detected.

- Fixed a bug where certain set underworld maps had bad links back to the
  surface.

Shadow of the Wyrm v0.4.8 "Carulli"
- Version declared January 23, 2016.  Version finalized March 3, 2016.

- Out-of-view features no longer disappear - these are remembered
  (Avagart).

- Added support for special days, with messages being displayed when that
  day arrives.

- New special days: Alari, Festival of the Midwinter Moon; Halingsdaeg,
  Celebration of the Ascension of St. Haling; Demonstide, Day of Defeat of
  the Unholy Hordes; Coma, Night of Heavenly Death; Edelmas, Ancient Day 
  of Slaughter; Solstide, Festival of the Summer Sun; Dragonsday, Rout
  of the Old Dragon Lords; Reaving, Celebration of the Harvest; Elfenwael,
  Death of the Fair Folk.

- Adventurers now start with skill in Cantrips (Darcy Faires).

- Creatures now have a chance of finding foragable foods on overworld 
  maps.  The chance of finding these is seasonal: roots can always be 
  had, but are fewer and rarer, while berries are more plentiful, but can 
  only be found in the fall.  Fiddleheads are the curled fronds of ferns, 
  and are only available in the spring.  The chance of a particular 
  random overworld map of having foragables is based on the player's 
  Foraging skill.

- Created a Windows XP-compatible release build configuration (Legend).

- The game now checks to see if it has write access in the main
  directory, failing out if it does not.

- In preparation for eventual Unix builds, added the player's user name
  to the high score entries.

- When resting, each turn now adds a "." to the resting message, to give
  a visual indication of how long the player has rested.

- Added a new island off the coast of the Stonewall ruins.  This is the
  basis for a quest from Twille in Atua-Elar.

- Beefed up Goblincrusher a little bit.

- Additional logger functionality.

- New tile types: sewer complex (shown on the world map), and sewer
  (individual tiles within a sewer complex).

- Sewer complexes have a chance to generate on field tiles.  They are
  generally rare, being generated even less often than keeps.  However,
  pretty much any non-unique can be found in sewers.

- Created an infinite sewer complex north-west of Aeschburh.  Made the
  infinite dungeon even deeper.  Added a new unique, Cadlind, in Isen Dun
  to tell the player about the existence of these places.

- Rovers now start with either a woodsman's axe or a briar axe.

- World generation now sets a maximum depths on dungeons and sewers.
  There is always at least one 50-level structure.

- Tiles can now have engravings.  For dungeon and sewer complexes, added
  engravings, when applicable, of a creature whose danger corresponds to
  the maximum depth of the dungeon.

- Reduced the depth of the dungeon on little island from 50 levels to 25.

- Wearables (weapons and armour, rings, amulets, etc) are now identified
  when equipped.

- Added an "auto curse" flag that sets an item's status to cursed when
  the item is equipped.  Set the following items and artifacts auto-curse:
  withering ring, Crown of Tyranny, smouldering black plate mail "Terror",
  eldritch greatsword "Apocalypse", stumbling ring.

- Next to the Chronicle in the rectory in Isen Dun there is now a book
  describing the world's special days.

- Winning characters are now mentioned in the high scores.

- The message displayed after winning is more descriptive.

- After winning, the player now has the option to keep adventuring.  The
  winner flag is always set regardless of the choice, so that quitting
  later still yields a winner in the high scores (kraphead).

- New items: roots, berries, kelp, History of the Kell Empire, briar axe,
  fortified dwarven wine, elven brandy, goblin moonshine, imperial dagger
  "Amagari", withering ring, stumbling ring, Book of Days.

- New creatures: Twille, Cadlind.

- New artifacts: imperial dagger "Amagari".

- Bug fixes:

  - Blue jays were, uh, bright yellow.

  - Damages were being displayed incorrectly (e.g., 1d8--10) when the
    modifier portion was negative.

  - Negative damages used to be possible.  This is now fixed so that
    the base damage (before resistances, soak, etc) is always at least 1.

Shadow of the Wyrm v0.4.7 "Llobet"
- Version declared January 6, 2016.  Version finalized January 23, 2016.

- Refactored the curses-based display so that the message buffer can be
  used on any screen, instead of just stdscr.

- Added "Alert" functionality, which is basically just using the message
  buffer on the current window (instead of stdscr) along with requiring
  the player to press a key.

- Cursed items now cannot be removed.

- The cursed uncursing effect curses the creature's equipment.

- After prayer, deities may now decide to uncurse the player's equipment.

- Deities can curse a player's equipment when angry.

- When applying additional, user-requested filters on the Inventory
  screen, the title text indicates that additional filters are in place.

- The equipment screen now displays colours for cursed (bold red) and
  blessed (bold white) items.

- Added hands-required to items.  When wielding an item in the wielded/
  off-hand slot, the number of hands free is checked against the number
  of hands required to wield the item.

- White wildflowers have been renamed to cream wildflowers to reduce
  confusion for the early whiteflower quest.

- Merchants now start with Literacy (/rlg).

- The second line on the equipment screen now shows "Resists:" to make it
  clearer that the numbers and the abbreviations are resistance deltas
  (/rlg).

- Added a prompt when targetting friendly creatures via ranged combat
  (Dave Keen).

- HP and AP regeneration has been updated so that instead of always
  getting 1 HP/AP per tick, the amount is calculated based on race- and
  class-based multipliers, rounding up to the nearest HP.  Effectively,
  for almost all race/class combos, the HP rate has at least doubled
  (except for some very weak classes, like wizards, witchlings, etc).
  Some race/class combos, like Ogre Warriors/Puglists/etc, will regain
  HP very quickly.  And some classes (Elven/Gnomish/Fae Wizards, etc)
  will regain AP much faster.  Finally, the base minutes per HP/AP tick 
  is now 15, so in general, HP/AP regeneration should be at least twice
  as fast as in the previous version, and based on the selected race/class
  combination, could be much faster than that.

- When defaulting an NPC's action, use max(1, (creature speed + 1)).

- New creatures: were-light.

- New items: greatsword, greataxe.

- New artifacts: boreal scythe "Whisperwind" (The Trickster, Shiver).

- Bug fixes:

  - Clearing inventory filters wasn't respecting the original filter.

  - The order of potential actions was allowing ticked-off deities to 
    help a creature rather than doing something nasty.

  - Crash when talking to Hild after gathering the required twenty
    whiteflowers (/rlg).

  - Typo in one of the resource string names for the Cleansing spellbook,
    which caused the book's unid'd name to show up as blank in the UI.
    Created a Python script to catch this (/rlg).

  - Incorporeal creatures on blocking features could not be attacked
    (Dave Keen).

  - Redcap speech text was the same as its bestiary description.

  - Reflective beam spells could get into infinite loops (Darcy Faires).

  - Score calculation had some signed/unsigned arithmetic issues
    (Darcy Faires).

  - When selecting an item to pick up, and selecting none, a message is
    incorrectly added about not being able to pick up (Darcy Faires).

Shadow of the Wyrm v0.4.6 "Spinacino"
- Version declared January 2, 2016.  Version finalized January 6, 2016.

- New effect type, uncursing.  The cursed effect does nothing - when the
  effect is uncursed, the creature's equipment is uncursed, and when the
  effect is blessed, all of the creature's possessions are uncursed.

- Lua API functions to allow cursing a creature's equipment and inventory.

- New spells/spellbooks: uncurse (Mystic).

- Bug fixes:

  - Rest command broken (Dave Keen).

Shadow of the Wyrm v0.4.5 "Bacarisse"
- Version declared December 1, 2015.  Version finalized January 2, 2016.

- Wearables can now include a speed bonus.  This will be used very, very
  rarely, essentially only for artifacts.

- Updated the creature speed calculation to also include speed bonuses on
  worn equipment.

- Random name generation on an empty name on the naming screen (Lagi).

- '=' can be used in the same way as '+' when using the keys to toggle
  target selection (Lagi).

- Various minor refactorings and cleanups.

- New settings: default_name (can be used to set a default name, or leave
  empty or as "*" to do random name generation).

- ESC can now be used to exit tile selection, equipment, magic and 
  inventory screens.  This should include all uses of those screens:
  the readables screen when reading, wands when evoking, and so on (akeley
  and Lagi).

- Created a batch file to run the game plus procdump to try to track down
  a particular crash bug.

- Known spells, number of castings, and spell bonuses can now be specified
  per creature in the configuration XML.

- Refactored the death script code to be table-based and more general,
  like the attack scripts.  Updated Amaurosis' death script, and created a
  currently-empty script for gas clouds.

- Gas clouds "explode" on death, by casting wreath of fire.

- The monochrome colour is now an ini setting.

- New food-related conduct type: corpseless.

- Olive trees may now be generated in the same way as other fruit trees.

- Eight new species of weeds.

- Fruit trees now typically generate more than a single piece of fruit.

- Wands that take a direction (flame, teleport, etc) cam now be used
  by the player against his or her own character by selecting the null
  direction (by default, '5').  Ranged spells are reduced to range 1 when
  made self-targetting.

- Kew now dispenses useful advice on a variety of topics after you 
  complete his quests.

- Each damage type now has an additional damage message that can be
  selected.  The use of multiple messages for damage is controlled by an
  ini setting.

- There are a few new real-world dates tracked by the game: summer and
  winter solstice, spring and fall equinox.

- The map is now updated (either partially or fully) after each creature's
  action.  With NPC spellcasting, having the screen update after the
  player's action only was causing issues with bits of the screen not
  being redrawn correctly after spell animations.

- After dying or quitting, the player is now asked if they want an
  identified character dump.

- Character dumping code now respects existing files.  If it tries to
  dump to a named file that exists, the game will retry, adding a time
  stamp.  If that also fails (typically because the user tries to dump
  several times a second), an error message is displayed.

- Added decision (AI) code for NPCs regarding spellcasting, separating out
  attack, healing, buff, and utility spells.  NPCs have a base chance to
  cast spells every turn, with decisions being made based on their
  health, whether there are threats in range of attack spells, and so on.

- Flame Dart is now range 2 instead of 1, as is Shadow Flame.

- New effect type, Cleansing, which sets a regeneration multiplier on
  the map that affects creature generation.

- Rejigged the structure of the DecisionStrategy node in the game
  configuration to include both the strategy as well as a "suppress magic"
  flag, which is set for gas clouds and which prevents the selection of
  spellcasting actions during decision strategy execution.

- New spellcasters: gas cloud (wreath of fire), apprentice (flame dart),
  acolyte (minor healing), ogre magus (shockwave, minor healing, nether
  bolt), thaumaturge (minor healing, radiant beam), sorceror (flame
  dart, force bolt), lichling (frost bolt), Brimman (ice storm, frost 
  bolt), Gilirien (wreath of fire, lightning bolt), spectral wizard
  (cross of flame, fireball), high wizard (minor healing, lightning bolt,
  maelstrom), deep wizard (chaos aura, nightfire), Bagra (nether bolt,
  nightfire, veil of shadows), black priest (shadow flame, curse of
  shadows, nether bolt), witch king (curse of shadows, nether bolt, chaos
  aura, nightfire), lich (lightning bolt, fireball), lich king (lightning 
  bolt, fireball, fire storm, ice storm, lightning storm, maelstrom),
  Lalo (wreath of fire, lightning bolt), Zaeda (lightning bolt, force
  bolt), Callara (minor healing, dragon breath, lightning bolt), snakeling
  magus (chaos aura, cross of flame).

- New spells/spellbooks: radiant beam (Divine), force bolt (Cantrips),
  ice storm (Arcane), lightning storm (Arcane), maelstrom (Arcane),
  cleansing (Cantrips).

- New items: scroll of cleansing.

- New artifacts: legendary boots "Akos Akari", tiger's eye ring "Asturias".

- New creatures: gas cloud, frostling, Wulf.

- Boost updated to 1.60.0.

- Various minor refactorings.

- Bug fixes:

  - Crash when attacking with a ranged weapon with no launcher (e.g.,
    thrown rocks, no sling equipped) (Lagi).

  - When throwing potions, the last potion in a stack was not being
    removed properly (Lagi).

  - The code for setting a new name in-game via Nama wasn't using the
    same rules as name generation at the start of the game.

  - Generator::set_depth_custom_map_id_properties was copying over too
    many properties.  It was intended only to copy over custom map IDs
    for particular depths (e.g., if level 5 of some dungeon was a set
    level), but it was copying over additional properties, which lead to
    a bug in the infinite dungeon where the up staircase on every level
    lead back to the surface because the key TILE_PROPERTY_PREVIOUS_MAP_ID
    was copied from level to level.

  - Beam spells weren't properly handling going off the edge of an open
    map.

  - Certain weed tile configurations weren't showing a description.

Shadow of the Wyrm v0.4.4 "Domeniconi"
- Version declared November 3, 2015.  Version finalized December 1, 2015.

- Firing through an occupied tile is now possible, when that occupied
  tile is not the terminal tile on a particular path.  The check is
  based on the maximum of the defending creature's Awareness, and the
  attacking creature's Archery.

- Added "seeds" to certain food items (apples, cherries, etc).  When
  a creature eats these foods, he/she "spits out" the seed onto their
  own tile.  This seed is its own item and will eventually be used to
  allow planting of trees.

- Added some guards to a few of the Lua API functions so that they
  wouldn't do anything while the player is on the world map.

- Created a new character, Nama, who like Idem can be found at Wintersea 
  Keep.  Nama records the true name of things, and allows the player to 
  change his or her name.

- Improvised weapons now deal 1d2 damage, plus a modifier based on
  their weight.

- Evade nerf part 1: half the attacking creature's level, rounded down,
  is now used for all physical and magical to-hit calculations (kraphead).

- Evade nerf part 2: there was already a check in place for automatic
  misses; now there is also a check in place for automatic hits, though
  the chance of the latter (2%) is less than the former (5%).

- HP regeneration is now based on not only on the multipliers associated
  with the creature's tile and feature, but also on the creature's
  Health score.  There is a hard minimum of 4 minutes to regen 1 HP
  in-game.

- Similarly, AP regeneration now takes into account the creature's
  willpower score (akeley).

- The naming screen now shows the selected race/class combination, as
  well as the selected deity.  Typically the user will know these, but 
  may not depending if a random generation option was chosen.

- The welcome screen now offers an option to create a new, randomized
  character.  Random selections are also possible from each of the
  sex, race, class, and deity selection screens (akeley).

- Conducts are now worth points (100 per conduct per level), not just
  bragging rights after winning (kraphead).

- Added brief class descriptions to character creation (Mateusz Logowski)

- Dropping a seed in a tile with a hole now plants that seed, and if the
  map is not permanent (e.g., it was a randomly generated field, forest,
  etc) then the map becomes permanent and links up to the world map.  
  The planted tile will transform into a tree of the appropriate type at 
  some point in the spring of the following year.  Planting is currently 
  100% successful when planting on overworld maps (a tree always grows 
  the following year), and 0% on other map types (dungeons, caverns, etc),
  though this may change in future.

- Digging on a water- or air-based tile is now impossible.

- Good and neutral deities now very strongly dislike the consumption of
  undead corpses.

- Idem now only shows you the items in your inventory that are not
  identified.

- Item enchantments were way too powerful.  Instead of using a uniform
  random number from 1 to (danger level/2), the algorithm is now 
  mostly Poisson-based, with a typical mean of (danger level/8).  This
  is likely to be tweaked again in future releases.

- For generated NPCs, set AP to be half the base HP, if not specified.

- Spellbooks have been set to uncommon, so they should be generated much
  less frequently (akeley).

- Item generation was ridiculously biased towards generating common items,
  as those make up the majority of items in the game.  Rewrote the
  item generation algorithm to generate a larger proportion of uncommon
  and rare items.

- When out of depth creatures appear, there is a greater chance for
  uncommon items to appear as well.  Right now this results in a
  preponderance of potions and spellbooks, but will sort itself out over
  time as more items are added to the game.

- Humanoids now have a base chance to be carrying a small amount of
  ivory pieces.

- Kicking a creature now has a chance to send the creature staggering
  back (Mateusz Lagowski).

- Added a setting to always disallow moving on to dangerous tiles.  Set
  it to false by default - players can enable it as desired (kraphead).

- Various code cleanups and minor refactorings.

- New creatures: Nama.

- New artifacts: ruby ring "Falcon's Eye", jasper ring "Carpathos".

- Bug fixes:

  - Idem's description implied that he was mobile, but he was set to
    immobile.

  - Altus' quest incorrectly defaulted to Christof's generic chat text
    when the quest was completed (kraphead).

  - Shields/etc could be used in the ammunition slot for extra Ev/Soak,
    resistances, etc.  Fixed this so that only ammunition adds to
    Ev/Soak/resists when in the ammunition slot (kraphead).

  - Puglists' unarmed damage was being applied even when an improvised
    weapon (e.g., a shield) was wielded (kraphead).

  - The completion function for the Caravan Master's quest referenced an
    older creature ID, preventing the quest from being completed
    (kraphead).

  - A number of monster races (undead, dragon, etc) had their resistances
    and vulnerabilities inverted.

  - Ensured that piercing/incorporeal attack messages don't fire when a
    creature attacks itself (kraphead).

  - The code to remove items (e.g., the Exile taking the Amulet of the
    Two Moons) wasn't properly handling the case when the item was
    equipped in the inventory (kraphead).

  - The game would crash when it encountered a "%" when trying to print
    the game text, because of how the printw-type functions work.  Fixed
    up CursesDisplay to always change "%" to "%%" when doing string
    printing.

  - Fixed a bug with dates in the Isen Dun Chronicle going past the
    actual in-game start date.

Shadow of the Wyrm v0.4.3 "Carcassi"
- Version declared October 6, 2015.  Version finalized November 3, 2015.

- Shepherds now start with Weaving (AgingMinotaur).

- Added a brief guide on how to do simple modding (Zirael).

- Logged an error when unable to insert a map into the MapRegistry
  because the key is already in use.  Useful for debugging while modding.

- Soak is quartered when an incorporeal attack is used.  Typically, this
  will be an unarmed attack by an incorporeal creature, such as a spook,
  etc.  A successful hit generates a message about the incorporeal attack,
  similar to what is done for piercing damage.

- Changed the pierce damage type message from "tears at" to "pierces".

- The switching places prompt now defaults to "yes" when an unrecognized
  input is received (AgingMinotaur).  The "squeeze past" prompt also
  defaults to "yes".

- Created a new "I"tems command to view the inventory directly.  "i"
  continues to take the player to the equipment screen (Akeley).

- Made the Lua code safer (everything should run in protected mode, now)
  so that errors in certain scripts no longer cause the application to
  panic-exit.

- Once a year, the game does a sweep through everything in the game with
  an age (currently just creatures), increments their age, and then checks
  that against their maximum, calculated on creature creation.  If the
  current age exceeds the maximum, the creature has died of old age, and
  is removed from the game.

- Added Lua API functions to add seconds, minutes, hours, days, or years
  to the calendar.

- Weapons and ammunition now show the damage when viewing the equipment
  screen (AgingMinotaur, Kyzrati).

- Added a character details screen in addition to the character dump
  command.  Character details is now bound to '@' by default, with 
  character dump using '#' (AgingMinotaur).

- The game now tracks phase of moon (displayed in-game via the "T"ime
  command).  When waning/new, shadow/acid/poison/arcane damage does
  another 10% (waning)/20% (full).  When waxing/full, heat/cold/holy/
  lightning does an additional 10%/20% damage.

- Automovement improvements:
  
  - Stop on tile features (doors, pews, altars, etc).
  
  - On first move, ignore a lot of the things (features, items, etc) that
    would normally cause automovement to halt.
    
  - Turn bends in corridors automatically.

  - Added a message when trying to auto-move while poisoned/in stoning.

- Wands with a cardinal beam type (e.g., those that use cone effects)
  now display an appropriate message to warn the player that a cardinal
  direction must be selected.

- When wands are used unsuccessfully, a message is now generated.

- Each level now has a chance to generate out of depth creatures.  There
  is no upper bound on the level of the out of depth creatures, but a
  low-percentage check must be passed each time to raise the max danger
  level.

- Out of depth items are now possible as well.  If out of depth creatures
  are generated, the max depth from that will be used.  Otherwise, the
  probability follows the same model as that used for generating out of
  depth creatures.

- Added an "identifier", Idem, a wandering mountain elf.  He can be found
  in Wintersea Keep, and will happily take ivory pieces in exchange for
  doling out bits of his encyclopedic knowledge of items.

- Created a new "Questless" conduct, which is broken when the player is
  given any quest.

- New creatures: boar, blue jay, weeper, Idem.

- New items: wand of dragon breath.

- Bug fixes:

  - Fire weapon was acting strangely due to some code that was shared
    with looking.  The cursor was correctly being set on the nearest
    hostile creature, and that was being recorded as the target, but then
    the map cursor was reset on the player (AgingMinotaur).

  - The currency command was only considering the first stack of currency,
    not all of them.

Shadow of the Wyrm v0.4.2 "Sanz"
- Version declared September 12, 2015.  Version finalized October 6, 2015.

- Added an option ("cursor_mode") to configure the visibility of the 
  cursor under the player when on the map (akeley).

- Made mention that Witchling magic is innate and other magics are
  book-learnt (Calandor).

- Friendly creatures are now identified as such when using the "L"ook
  command (barrabus).

- The game XML now allows defining on a race-by-race basis whether a
  corpse will be left.  Jellies, constructs, and divine creatures do not
  leave corpses.

- Creatures can also be specified as to whether or not they leave a
  corpse.  This is checked after the race flag (the race flag overrides).
  If this flag is not specified, it is assumed the creature leaves a
  corpse.  Skeletons, skeletal kings/dragons/etc now no longer leave
  corpses.

- Made all rings initially unidentified.

- Murdering the ploughman in Isen Dun can now trigger a victory condition
  for the blacksmith's quest (Jeremy Long).

- The player can now rest up (default is 100 turns) by using "5".  Most of
  the usual auto-movement checks apply: hunger, hostile creatures, etc
  (Calandor).  Resting will also halt when HP and AP are both full, if
  there are turns remaining.

- Automovement now stops on Poison and Stone statuses.

- Kicking generates a message about passing through when kicking solid
  tiles and features.  Kicking creatures remains unchanged - an
  incorporeal kick is considered an attack.

- New items: guildmaster's ring, knight's ring.

- Kicking a door has a chance to sprain the player's leg (deal damage,
  potentially add slowness) when the kick is unsuccessful.  When the
  kick is successful, the door is destroyed.

- The default "apply a feature" code (that does nothing) now shows a 
  message for the player (AgingMinotaur).

- Included the material as part of a feature's description when looking
  at it.

- Bug fixes:

  - Skins that had been converted to armour were still available as
    "skins" afterwards (barrabus).

  - Found an instance in NPCDecisionStrategy where a CreaturePtr was
    being used unchecked.  It *should* always be valid, but you know...

  - Various typos (barrabus, others).

  - Dungeon creatures generated on update weren't getting their actions
    initialized properly, and thus weren't acting at all.

  - The map display code wasn't properly considering both map size and
    display size in its output routines (Aleksanderus).

  - Incorporeal creatures were able to drop items on rock/earth tiles.
    Tiles with non-zero solidity (earth, rock at the moment) now have
    null inventories, so dropping items on these makes the items
    disappear (barrabus).

  - Ensured that switching places properly checks for whether the creature
    can switch into the tile - this was triggered by trading spaces with
    friendly spooks while not incorporeal (barrabus).

  - Trap messages were being displayed when the player was in LOS -
    should only have been displayed when the player actually triggered
    the trap (barrabus).

Shadow of the Wyrm v0.4.1 "Torroba" 
- Version declared September 1, 2015.  Version finalized September 12,
  2015.

- Pierce damage is now "X tears at Y" (AgingMinotaur).

- Added a file of suggestions to look at for each release.

- Adjusted a few more creatures to not have 'w' for a symbol: woodsman,
  high wizard, dire wolf, witch king.

- In character creation, name has been moved to the end of the process
  at the request of quite a few people.

- Stopped automovement when stepping on an item.  Prevented the
  item-related message from getting cleared from the message buffer by
  the command processing code.

- Automovement also halts when the number of available directions is
  reduced from the number available from the previous step.

- Tanning will now have a chance to also add a portion of the corpse 
  creature's original soak value to the piece of armour. (AgingMinotaur)

- Ivory pieces are now "free" in terms of their total number - they do
  not count at all against the total number of items a creature can
  carry (Faladrit).

- Enchanting skins can now add potential soak, that get converted to
  actual-soak when turning the skin into a piece of armour.

- Bug fixes:

  - CarryingCapacityCalculator was missing an entry for huge creatures,
    causing bugs related to maximum number of items (pat--).

  - Wreckers looked like flowers.  Changed their symbol to 'h'
    (AgingMinotaur).

  - Typo in a Lua function name meant Siriath's quest couldn't be
    completed (pat--).

  - Items can no longer be kicked into/through walls (AgingMinotaur).

  - Up exit from Wintersea Keep B1 was declared on the wrong tile
    (Faladrit).

  - Equipment merging was occurring for all slots, not just ammunition
    (Faladrit).

  - Documentation PDFs had a stray reference to "Savage Lands" (barrabus).

  - Brass knuckles and spiked gloves had 0 speed.  This was being treated
    by the engine as a free attack.  Changed the speed to 1 for each,
    and updated the engine to ensure that a valid attack is considered
    at least 1 in terms of speed (barrabus).

  - North-east tile selection wasn't being remapped properly (barrabus).

  - There was a bug in the screen paging so that if the number of lines
    was greater than the allowable number for a screen, the screen would
    not page correctly.  This caused the inventory screen to "jump around"
    (AgingMinotaur & others).

  - The option letters weren't being reset properly, so it was not
    possible to view all of a creature's items without filtering
    (AgingMinotaur & others).

Shadow of the Wyrm v0.4.0 "Albeniz"  
- Version declared August 31, 2015.  Version finalized September 1, 2015.

- Small revision this time.  Needed to rename the game to avoid a 
  naming-collision with open-world fantasy exploration game "Savage 
  Lands" (I should have released last year!).

Savage Lands v0.3.9 "Dowland"
- Version declared August 5, 2015.  Version finalized August 31, 2015.
  (First public release)

- Prayer can now summon divine wrath.  When the creature has at least two
  adjacent hostile creatures, the deity may decide to smite them, doing
  (praying creature's level * 5) damage.

- New effect, Timewalk.  This allows the creature to move at 0 cost.  The
  spell is broken when the effect wears off, or when the creature makes
  an action with an action cost.

- Updated the documentation to discuss status ailments.

- New spells: timewalk (Mystic).

- Updated the release build to create the executable in its own directory,
  and copy over the required game files.  Did some minor refactoring of
  the location of some source files.

- Smiths start with either a dwarven mattock (dwarves, gnomes) or a pick
  axe (other races) in their inventory.

- Ingots now have a danger level of 3, so they can be considered for
  normal item generation.

- Using a pick axe or mattock, creatures can now dig through rock and
  earth tiles.  Digging decomposes the rock/earth tile into a different
  tile type (rocky earth, earth) and has a chance of adding a stack of
  rocks/handfuls of dirt.  The item used to dig has a chance of breaking,
  unless it is an artifact.

- Maps can now have properties set in the XML.  Added a property to
  control whether digging is possible on a particular map, and set it on
  Isen Dun and Last Island Lair.

- Added another level to B1 of Wintersea Keep, a storage area that has
  been found by a terrifying, and powerful creature.

- Added a ruined tower to Wintersea Keep.  This area has locked doors,
  but is accessible via flying.  The area is no-dig/no-teleport, and the
  key is found near Ardu in the tombs.  Within each room is a powerful
  artifact of the forgotten empire.

- Made the Wintersea Tombs undiggable.

- Went through the game data and adjusted item danger level values.
  There were a number that were unreasonable for the statistics on the
  item.

- Rovers and Shepherds now start with trail rations instead of food
  rations.  Adventurers start with both.

- Added a "no teleport" flag that can be set at the map level.

- Converted all typedefs to C++11 using statements.  Renamed the "jrcpp"
  branch to "default".

- Created a batch file to create the Windows release zip.

- New creatures: goblin pelter, githra, chaosling, grawl, quaalis.

- New items: pick axe, dwarven mattock, trail ration.

- New artifacts: primeval pick axe "Delver", imperial broadsword
  "Ironsword", imperial staff "Stormstaff".

- Bug fixes: Ardu wasn't generating in the Wintersea tombs.

Savage Lands v0.3.8 "Narvaez"
- Version declared July 11, 2015.  Version finalized August 5, 2015.

- Merchants start off knowing everything about either wands and potions, 
  rings and amulets, or scrolls and spellbooks.

- Apothecaries start off with knowledge of all potions.

- Refactored the room generation code out of DungeonGenerator and into
  its own set of classes.  Created generators for basic rooms, X-shaped
  rooms.

- The player can now set the day of the year in the settings, so they
  can easily start in any season.  Example dates are provided.

- When wielding a shovel with the dig-hardness property, a message is now
  added when trying to dig (by using the "descend" keybinding) when on a
  non-world map.  Initially, this is just based on tile super type, so
  that a different message is generated based on ground, air, or water.

- Added a conduct to track whether the player ever engaged in
  graverobbing.  This is defined as opening a grave or barrow with e.g.
  a shovel, and specifically doesn't apply to the Sun Gem quests in
  Isen Dun.  This conduct gets broken when digging on a barrow or grave
  tile.

- Added graverobbing as a tracked deity action.  All the good- and
  neutral-aligned deities punish graverobbing.  Thieves, however, are
  immune to this wrath.

- Tiles can now have undead hidden in them, exposed by digging.  The
  danger range is half the digger's level to 5 more than their level.
  Currently, only graves/barrows have undead hidden in them.

- Any tile can now have an item found while digging, though the
  probability is currently 0 for non-barrow/grave tiles.  The items found
  can be any rarity within the danger level range.

- Started work on the "need before I release the source" work.  Removed
  the old, dead Code::Blocks project.  Changed hardcoded project directory
  paths to use Visual Studio's $(ProjectDir) option.  Updated all
  dependencies to use their own environment variables to remove the
  dependency on an absolute path.

- Converted the project from Visual Studio 2013 to 2015.

- Added resistances to a number of pieces of armour.

- Bug fixes:

  - Potions weren't adding messages when hunger was sufficiently changed
    by quaffing.

- New creatures: quillich, quakeling, quadriga, quadari, queen bee.

- New items: shovel, sustenance potion, elemental shield, iron ring.

Savage Lands v0.3.7 "Brouwer"
- Version declared June 6, 2015.  Version finalized July 11, 2015.

- Updated Church tiles to include clerics, laypeople, devotees, followers,
  apostles, pilgrims.

- Updated Cathedrals so that when a down staircase is generated, it
  leads to a crypt.

- Updated Site of Death tiles to include black servants, black monks,
  black priests, astral horrors, star beasts, black devil.  These are all
  for Sceadugenga; for the other deities, added zealots, bloodletters,
  dark priests, believers, acolytes.

- Added generator filters so that certain generators can enforce the
  presence of creatures with certain filters present.  Added a filter to
  overgrown sacrifice sites (Scedugenga's turf), and added that filter to
  a number of creatures.  Those creatures can still be generated
  elsewhere.

- Removed the level-based creature generation restrictions from villages
  and worship sites.

- Added some more debug-level logging to world generation so that more
  added features can be tracked.

- Changed the title poem to an excerpt from "The Faerie Queene".

- Added a new tile feature, Bed, to provide a bit more flavour.  Added
  beds to the starting maps appropriately.

- Added another tile feature, Stone Marker, and added one to Wintersea
  Keep.

- Creatures now have a maximum number of items that they can carry in
  their equipment and inventory.  This is based on dexterity and size,
  and does not include currency.

- Burden levels describe how much weight a creature is carrying: a
  creature can be unburdened, burdened, strained, or overburdened.

  - At burdened and strained, creatures move slower.

  - At overburdened, a creature can no longer move.

  - Every pound the creature is above burdened has a negative impact on
    the ability to hit with spells.

- Added per-tile and per-feature HP and AP regeneration multipliers.
  All tiles (for now) provide the same level of regeneration.  Beds cut
  the time required to regenerate 1 HP/1 AP to 30%/75% of the base.
  Stone Markers are 100%/10%.

- Added two new special rooms to dungeons to allow beds/stone markers to
  appear randomly.

- Special dungeon rooms now trigger messages that are shown to the player
  the first time the map is entered.

- New creatures: cleric, layperson, devotee, follower, apostle, pilgrim,
  zealot, bloodletter, dark priest, believer, large ant, hellbore beetle,
  flare beast.

- Bug fixes:

  - Kew's quest wasn't being set up properly.

  - Custom map IDs for lower dungeon levels weren't being carried over
    correctly.

Savage Lands v0.3.6 "Milan"
- Version declared May 6, 2015.  Version finalized June 6, 2015.

- Added a new questmaster, Wispe, to the ruins of Aeschburh, and gave him
  a quest for the player to kill four uniques.

- Updated the mortuary to track not only creature deaths, but also whether
  a creature is a unique or not, so that uniques' deaths can be tracked.

- Made certain characters (the blacksmith, Hild, etc) uniques.

- Keeps are now part of the world generation process.  These can either
  be ruined or unruined, and are generated on fields or scrubland.

- Keeps are now generated as permanent structures.

- Changed the keep symbol to 'O'.

- Added castle generation to the MapTester configuration, as well as to
  the world map generation.  These can be generated on fields and forests.

- Items can now have scripts.  Added support for an "ammo destruction
  script", to be potentially fired when ammunition is used and then
  destroyed.

  - Added an ammo destruction script for clay pots, which can leave behind
    ivory pieces or healing/ether potions.

- Removed the restriction of having at most one random village per race
  during world generation.

- Added a race flag to allow excluding certain races (Fae) from having
  random villages throughout the world.

- Villages now can have creatures.  These are based on the village's
  race ID and the list of those creatures with the same race defined for
  TILE_TYPE_VILLAGE.  Creatures generated in villages are always generated
  friendly towards the player.

- New creatures: Wispe, guardsman, watch captain, spearman, archer, young
  woman, tradesman, merchant, traveller, wood elf moneychanger, wood elf
  bowyer, wood elf forester, wood elf child, mountain elf spelunker,
  mountain elf stonemason, mountain elf skirmisher, snakeling muckraker,
  snakeling magus, snakeling mercenary, snakeling thug, snakeling
  sharpshooter, dwarven anklebiter, dwarven mother, dwarven metallurgist,
  dwarven stonecarver, gnomish adventurer, giant, giant stonetosser, giant
  earthshaker, giant griffinrider, giant cloudwalker, ogre bonegrinder,
  ogre mage, ogre war captain, ogre annihilator.

- New items: clay pot.

- New artifacts: black sabre "Bloodsinger".

- Bug fixes: 

  - The "current" count for creature generation wasn't being
    updated properly (uniques were being generated multiple times).

  - Log level wasn't being set properly from the the ini settings.

Savage Lands v0.3.5 "Tzortinakis"
- Version declared April 5, 2015.  Version finalized May 6, 2015.

- New "X"perience action that displays current level, experience total,
  and amount required for the next level.

- Cleaned up code I'd written pre-common-C++11 support that had a number
  of custom to_string functions off classes, and changed these to use
  std::to_string.  The exception is Char::to_string, which needs to stay
  when I want to convert 'c' to "c" - std::to_string does integer
  promotion on the char it is provided.

- Implementation of the "steal" script: add a message about the theft
  (or lack of money, if the creature has no money), transfer the
  currency, and teleport away.

- Support for decision scripts.  These are per-creature scripts that are
  run prior to the engine's checks for movement, attack, etc - if the
  script returns true after executing, no further actions are taken.
  Each individual function (for thieves, dragons, etc) returns an array
  of functions, and these are executed in order until done, or one of
  the functions returns true, whichever occurs first.

- Updated NPC AI so that even when hostile, moving towards a particular
  target occurs a certain percentage of the time.  This allows for
  additional actions (e.g. via scripts).

- Updated the pickup action so that several of its functions can be
  called from script, and updated the pickup message functions to handle
  items being picked up by any creature, not just the player.

- Added zlib-1.2.8 as a project dependency so that savefiles can be 
  compressed.

- Updated Boost from 1.55 to 1.58.

- Savefiles can now be optionally compressed after the initial write to
  disk - this is controlled by the "savefile_compression" and
  "compression_level" ini settings.

- The game now redraws the display after each movement when the player
  selects automovement.

- Added a new deity decision strategy, Protection, that can trigger when
  there are hostile creatures in the praying creature's field of view.
  This adds a huge amount of temporary evade/soak to the creature for a
  period of time.

- If there is now an unhandled exception in Game::go(), the game attempts
  to create a savefile before exiting.

- Created a new spell shape, "Storm".  This affects a random number of
  tiles within a particular radius, and can potentially target the same
  tile multiple times (unlike ball/cross/etc which target a particular
  tile at most once).

- New spells, with associated spell books: Fire Storm (Arcane).

- New uniques: Callara, Cahri.

- Bug fixes:

  - Drop action wasn't properly using the action cost value, resulting
    in a free action for the player.

Savage Lands v0.3.4 "Mudarra"
- Version declared March 8, 2015.  Version finalized April 5, 2015.

- Oracles now also start with a spellbook of Aim or Haze, in addition to 
  what they currently receive.

- Aim is now a little more effective, so that Bravery can be half as
  effective (+20 instead of +40 To-Hit) while costing a little more, as
  it's a Cantrip.

- The player's bestiary entry could always be accessed by typing "player"
  into the text box; added another option, so that the player could be
  found when selecting creatures with the cursor and selecting the
  "B"estiary option.

- With the exception of various spells that require their own colours
  (elemental spells, etc), standardized schools of magics with colours:
  Cantrips are white, Mystic is bold green, Divine is bold white,
  Primordial is blue, and Arcane is bold magenta.

- Added a new text format specifier, "new page" (%P).  Created a new
  in game text, "On the Faerie Fragment" that uses this to combine
  some criticism with a translation of the Faerie Fragment poem.

- Added the Eka, the Undersea Prison, the resting place of the fearsome 
  cosmic creature imprisoned by the Faerie people.  This is located
  just north of the caravan.

  - Added Eakauri in a locked room in the centre of the prison, and loaded
    the cosmos stone into his inventory.

  - Created a quest for Thengil for the player to find the Cosmos Stone.  
    When the player brings the Cosmos Stone to Thengil, he forges the 
    World-Sword, the most powerful weapon in the game.

  - Added Vigarion near the entrance of Eka.

  - Added four ancient guardians at the corner of Eakauri's room, water
    elementals to the watery parts, a pair of clockwork monstrosities,
    windwalkers, and skeletal dragons.

- Licenses for dependencies (Boost, Google Test, Lua, Xerces) are now 
  contained in the "licenses" directory.

- The Lua "get_creature" API function now first checks by creature ID.
  If that returns no matches, the function iterates over the creature
  container on the map to check by original creature ID.

- Creatures can now have associated inventories.  Most shouldn't - in most
  cases, drops should be random.  But certain key creatures can have items
  loaded on them that are then guaranteed to drop on death.

- A value of "*" can be used to indicate that a weapon slays everything.
  This should be used sparingly.

- Updated the score calculator to also include spell castings of various
  spells, and the bonuses associated with each.

- Created support for running scripts after a successful attack, and
  centralized the various creature scripts (chat, death, attack) in a 
  common data structure.

- Last Island Lair is now (more) dangerous: instead of just containing
  Amaurosis, it contains a number of other creatures, including: skeletal
  dragons, voidlings, old lords, cosmic infernos, lich kings, steel
  slimes, barrow wyrms, shadow wyrms, screamers, Taro wraiths.

- Added the artifact knife "Akkar" to the evil deities' potential
  crowning gifts.

- New items: eka key, cosmos stone.

- New artifacts: the World-Sword, assassin's knife "Akkar".

- New creatures: Eakauri, Vigarion, ancient guardian, clockwork
  monstrosity, windwalker, old lord, cosmic inferno, barrow wyrm,
  screamer, Taro wraith.

- New spells (with associated spellbooks): haze (Mystic), bravery
  (Cantrips).

- New API functions: add_message_direct (doesn't use a resource string -
  should only be used for debugging scripts!)

- Bug fixes:

  - HostilityManager::set_hostility_to_creature wasn't safe to call with
    a null CreaturePtr.

  - Saved games with traps in dungeons weren't loading properly, as when
    I'd made traps into proper Features, I'd neglected to add them to
    the map in FeatureFactory.

Savage Lands v0.3.3 "Dyens" (switching version names to guitar composers)
- Version declared February 8, 2015.  Version finalized March 8, 2015.

- Creatures can now switch places with other non-hostile (mobile)
  creatures, instead of having to attack.

- Creatures can now also "squeeze past" friendly creatures that are
  immobile.  This is a pretty heavy action, in terms of cost, because
  the creature is essentially making two moves in a turn: one into the
  tile with the creature, and one into the free tile.  So, it makes sense
  that this action should cost twice as much as a "regular" one.

- Reduced the danger level on flame/frost wands to 4.

- When a creature dies, it can now potentially drop an item.  This is
  relatively rare (5% chance).

- Added Resistances to the Modifier class, and added XML support, so that
  resistance modifiers could be specified as spell properties and spells
  could add resistances/vulnerabilities.

- The Mystic spell "Curse" now sets a number of vulnerabilities.

- Spellbooks are now common and should be easier to find.

- Witchlings get a new "Curse of Shadows" spell that adds vulnerability
  to shadow.  Sages do not get this spell.

- Wizards now start with a spellbook of wreath of flame or flame dart.

- Sages now start with a spellbook of wreath of flame, flame dart, blind,
  or healing word, in addition to always getting shadow flame.

- New "P"iety command so that the player can easily get an indication of
  their current piety.

- Added a new "Earth" tile type, that represents packed earth.  Right now
  this has the exact same properties as Rock tiles, but eventually (once
  I implement digging) will be easier to dig.  Update the dug-out 
  basement at Wintersea to use Earth.

- Resource strings can now be specified in external files.  This is
  handled by placing the filename in square brackets, e.g.,
  [text/some_file_en.txt].

  - Converted the histories of Yew, Stoneheim, Gnordvar, and Atua-Elar
    to external files, as well as "On Eternalism".

- Bug fixes: 

  - When traps were firing, there weren't any checks to see if the trap 
    and the creature that triggered it were in the player's LOS.  This
    led to problems like trap animations being shown even if the trap
    was behind a closed door.

  - Movement accumulation updaters/checkers weren't always firing after
    movement, so creatures could do things like move into the open air
    tiles in the Tower while not flying, and still be able to move back
    safely, instead of falling to their death.

  - When parsing file-based resource strings, spaces are now added to
    the end of all text format specifiers to ensure that the tokenizer
    picks them up properly.

- New items: lightning wand, fireball wand.

- New spells and associated spellbooks: benediction (Divine), fireball
  (Arcane), heavenly hand (Divine), elemental mastery (Arcane), antimagic
  shield (Cantrips), curse of shadows (Primordial), cloak of shadows
  (Primordial), frost bolt (Arcane), aim (Mystic).

Savage Lands v0.3.2 "Hussa"
- Version declared January 10, 2015.  Version finalized February 8, 2015.

- Added a new effect type, "modify statistics", that can be used for
  buff and debuff type spells.

- Updated creatures to maintain a map of statistic modifiers.  These
  are keyed by the expiry time.

- Added a calculator for statistic modifiers, to calculate the length
  of the effect (the mean is twenty minutes).  Added code to
  ModifyStatisticEffect to update the modifiers to reflect that the
  lowest a stat can be is 1, and the highest 99.

- Refactored the status effects to use Modifiers instead of special
  code to handle things like statistic modification.

- Added spell-specific wear off messages (for the player, who experiences
  them directly) and a generic wear-off message that the player sees when
  a monster in the player's FOV has an effect wear off.

- Spells with net negative modifiers now trigger hostility towards
  the caster.

- Moved Cantrips out of the General skills section and into the magical.
  Added some new cantrips with associated spellbooks.

- Effects can now read in properties so that values can be varied.
  Updated the healing effect so that the min/max can be read in from
  properties, so that weaker/stronger healing effects can be specified.
  Updated Minor Healing to be weaker.

- std::random_shuffle is going away in C++14.  Rewrote instances to use
  std::shuffle instead.

- Replaced the boost-heavy sections of RNG with standard C++11
  functionality (std::mt19937 and std::uniform_int_distrbution).

- New spells, with associated spellbooks: divine wind (Divine), divine 
  shield (Divine), curse (Mystic), minor healing (Cantrips), flame dart
  (Cantrips), steel wind (Cantrips), blink (Cantrips), spirit bolt
  (Cantrips), cure (divine), purify (Cantrips), soften (Divine).

- New traps: poison dart.

Savage Lands v0.3.1 "Frithuwald"
- Version declared December 7, 2014.  Version finalized January 10, 2015.

- Updated the engine so that maps could get creature updates periodically.
  Custom maps (in XML files, etc) don't allow creature updates.

- Increased the minimum number of creatures that can be generated on a
  particular map to half the maximum (previously 1, which was too few).

- Started adding some dangerous uniques every 4 levels (with stats at 
  least 3 levels higher than their danger level): Grubb, Pallas, Kith,
  Bel, Brimman, Gilirien, Hord, Filch, Myrdin, Alteus, Layal, Bagra,
  Alcien, Rukhala.

- Excluded uniques from temporary maps.  This prevents the player from
  being able to leave the map and never have to face the unique again.

- Separated traps from features.  Originally a feature could have a trap,
  but I decided to make things simpler, make a trap a subclass of a 
  feature, and just have a trap be a potential feature that could be
  present on a tile.

- Added damage and description SIDs to the Trap class, as well as a
  trigger message SID, and a player damage message SID.  Traps display
  a damage message only when the player steps on the trap.  Added colours
  so that traps can be differentiated on the map at a glance (fireball
  is red, spiked floor is white, etc).

- Traps also have simple animations when triggered, in addition to
  messages.

- Added a "uses" counter to features.  This is -1 for most features
  (unlimited uses) and will be set to > 0 for traps.  When the counter
  reaches 0, the feature is removed from the tile (the trap is spent,
  basically).

- Added traps to dungeons, caverns, and mines.  Traps are applied on 
  movement  when the creature fails a Detection check.  Some traps (arrow 
  and rock, for now) have a chance to generate items when triggered.

- Kick messages for barrels and traps.

- Critical hits are now more powerful, allowing only a quarter of the
  creature's Soak score, rather than the half that was previously used.

- Logging is now set in the ini settings, as is the display.

- Added a section to the Guidebook entitled "The World", which talks
  about the Savage Lands world, travelling, combat, quests, etc.

- After spending an hour tracking down a serialization bug related to
  the write_enum template function, converted all instances of enums
  (old C++-style unscoped enums) to C++11-style scoped enums, and replaced
  the template function with a proper, statically-typed function.
  This...took a while.

- Bug fixes: 
  
  - Too many room features were being generated in dungeons.
  
  - Hide items with dynamic descriptions (which weren't supposed to be 
  generated randomly) were being generated randomly, and the "%s" was
  causing curses outputting issues.
  
  - Properly considered a creature's maximum number when creating the 
  creature generation maps.

  - Updated the code to apply pierce-effects at the DamageCalculatorPtr
  level instead of in combat manager, so that when damage is applied
  outside of combat (e.g. traps) and is piercing, the piercing flag is
  properly handled.

- New creatures: Pallas, Grubb, Kith, Bel, Brimman, Gilirien, Hord,
  Filch, Myrdin, Alteus, Layal, Bagra, Alcien, Rukhala.

- New traps: fireball, arrow, rock, floor spikes, flash.

Savage Lands v0.3.0 "Theodric"
- Version declared November 11, 2014.  Version finalized December 7, 2014.

- Created tanneries.  These are tile features that can be used to treat
  skins to make leather armour/boots.

  - When at a tannery, and the creature applies the tannery, they are
    prompted to select a skin, and then an equipment slot.  An item of
    the appropriate type is then created.

  - The item has a chance of having additional evade and soak based on
    the creature's Tanning skill.

- Created jeweler's workbenches.  These tile features are used to
  improve rings and amulets with gold.  Rings and amulets follow the same
  rules as armour for improvement by goldsmithing.

- Added the ability to skin a corpse (mapped by default to "/").  Skinning
  has the chance to produce a skin, which can be used at a tannery to
  create new armour.

- The tavern in Gnordvar didn't seem to have any barrels of alcohol -
  added some whisky and gnomish stout.

- Added a tile feature, Wheel and Loom, that allows the conversion of
  natural fibres into clothing.

- Added a tannery and a wheel and loom to Isen Dun and a jeweler's 
  workbench to Gnordvar.  Added Hild to the house with the
  wheel and loom.  Added a tanner to the tannery.

- Created a quest for Hild: she needs a good supply of whiteflower,
  but needs the player to retrieve it for her, as her workload and the
  danger of the outside world have made retreiving all the fibre she
  requires a difficult proposition.

  - Completion of the quest increases the player's Weaving score by up
    to 20.  If the player has greater than 80 in Weaving, Hild will
    also present the Wintersea Mantle.

- Skinning now influences:

  - the chance of a successful skin attempt

  - whether a "bonus" skin is created on a successful attempt

- Weaving now influences:

  - the ability to use a wheel and loom

  - the ability to create an excellent piece of clothing, with additional
    (free) enchants based on the Weaving score

- Foraging now increases the chance that a creature will drop a corpse.

- Minstrels now start with a musical instrument.

- Field tiles now have a small chance to generate a wildflower or
  whiteflower in summer.

- For a bit more descriptive flavour, added several distinctive corpses
  to the approach to Amaurosis' lair.

- Misc: renamed "About Body" to "Around Body" at the suggestion of people
  on /r/roguelikedev.

- Bug fixes: fixed an issue with item generation in treasure rooms.  Fixed
  an item stacking issue where additional properties should have been
  considered, but weren't.

- New items: protective amulet, evasive amulet, hide armour, hide cloak,
  hide cap, hide boots, lute, fife, dulcimer, sackbut, fiddle, horn,
  whiteflower, three particular un-generatable corpses.

- New artifacts: Mantle of Wintersea.

- New creatures: Hild, tanner.

Savage Lands v0.2.9 "Aethelric"
- Version declared October 15, 2014.  Version finalized November 11, 2014.

- Sacrificing on a co-aligned altar adjusts the creature's alignment
  very slightly: good increases alignment, evil decreases it, and neutral
  will increase or decrease based on the creature's alignment relative to
  0.

- Sacrificing on a cross-aligned altar has a chance to convert the altar,
  based on the value of the item(s) sacrificed.  The creature's alignment
  will be adjusted based on whether the altar was converted or not.
  
- Changing alignment to a different range (good -> neutral, etc) has
  the following effects:

  - If the creature was a champion, it becomes a fallen champion of all
    deities.

  - A random deity of the new alignment is selected, and the creature
    then worships that deity.

- Angering the Nine is now a lot more deadly: it can result in getting
  one's equipment and inventory destroyed, being lowered to 1 HP/AP,
  or having a number of high-level and generally deadly creatures
  summoned immediately adjacent.

- There is now a small chance for an altar to be generated on a given
  dungeon level.

- Dungeons can now also contain zoos, which are rooms filled with
  creatures suitable for the given map and danger level.  There can be
  at most one zoo per level.

- As well, dungeons can contain a treasure room, a room with a handful of 
  out of depth creatures and an item, sort of a less dangerous version of 
  a vault.

- Characters get a bonus to all statistics when created on Creator's
  Day (September 1).

- Items that are found in more dangerous places are more powerful,
  receiving a random number of base enchantments (not counting against
  the total for the item) up to half the current danger level with 
  uniform probability.

- Added a new effect, gain attributes, and created a Potion of Gain
  Attributes.
  
  - Cursed: do nothing.

  - Uncursed: +1 to two statistics.

  - Blessed: +1 to all statistics.

- Smithing is now possible, as long as the following conditions are
  met: Smithing skill > 0, wielding a club/hammer, ingots in inventory.

  - Ingots can only affect items made of the same material as the ingots.

  - Artifacts can't be improved, either by smithing or enchanting.

  - There is a chance that smithing will improve a physical resistance
    (either Slash, Pierce, or Pound).  A weapon will always improve
    some combination of to-hit and damage, in addition to the possibility
    of improved resistances; and likewise for armour with evade and soak.

- Smiths now start with an iron ingot, and if they complete the
  Blacksmith's quest, in addition to the usual reward, he also grants
  a couple of iron ingots and a steel ingot.

- Added a new material, gold.  All rings and amulets are now made of gold
  instead of their previous materials.

- New artifacts: rune-covered rod "Light of Battle" (neutral), giant-
  forged sword "Beow" (lawful), black hand crossbow "Shadow" (evil),
  silent sling "Pelter" (all).

- New creatures: oread.

- New items: gain attributes potion, iron ingot, steel ingot.

- New features: forge.

- Bug fixes: when descending down in dungeons, the wrong map type was
  generated.

Savage Lands v0.2.8 "Adda"
- Version declared September 13, 2014.  Version finalized October 15, 2014.

- Created deity-specific crowning gifts to provide some additional
  differentiation (once crowning is implemented) beyond the deity's bonus
  to statistics at character creation.

  - Celeste: celestial shortsword "Heaven's Blade"

  - Aurelion: battle-armour of Aurelion

  - The Lady: divine spear "Radiance"

  - Vedere: alabaster rod "Creator's Might"

  - Voros: titantic battle axe "Earthcleaver"

  - The Trickster: Shroud of Fate

  - Shiver: frost-covered athame "Winter"

  - Urgoth: colossal stone club "Urgol"

  - Sceadugenga: eldritch greatsword "Apocalypse"

- Crowning will now happen after praying when the creature is uncrowned, 
  and has a piety greater than the minimum required for crowning.  The 
  deity will give a 10% reduction to all damage (in practical terms, -0.10 
  to all damage types for the creature's intrinsic resistances), and grant 
  a crowning gift.  The crowning gift will be either an artifact, or a 
  pile of money.  The money is only generated if none of the artifacts can 
  be generated (e.g., if they have already been generated in-game).

- Created two more guaranteed altars - a neutral altar in Wintersea Keep,
  and a chaotic altar in the ruins of Stonewall.

- Created a new offer command, used to offer sacrifices to one's deity,
  and mapped it to "O".

  - Piety is increased as creatures make offerings, and a message is
    shown after sacrifice to give the player a general indication of 
    their piety.

- Added the kick command, and mapped it to "K".

  - Features are kickable.  Kicking a feature generates a message about
    kicking either the feature, or "something", depending on whether the
    player is blinded or not.

  - Creatures can be kicked as well.  Kicking is an unarmed attack with
    the same characteristics as a regular unarmed attack.

  - Kicking items moves them one tile over, assuming that's a valid move.
    If it's not a valid move, energy is expended, but the item is not
    moved.

- Each deity now has its own anger message, to add a little bit more
  flavour.

- Refactored the feature-handling code out of the feature and into
  manipulator classes located in the engine.  This provides more
  separation between engine and model, as the features in the world
  subdirectory are intended to mostly be data structures.  Features,
  for example, shouldn't manipulate tiles - that's the engine's job.

- Creatures didn't have alignments, before.  Deities could be selected
  based on race, but there was no concept of alignment at the creature-
  level.  Made Alignment a serializable class and added it to Creature.
  Creatures now get their alignment set based on the deity's range,
  and alignment is included in character dumps.

- New artifacts: celestial shortsword "Heaven's Blade", battle-armour of
  Aurelion, divine spear "Radiance", alabaster rod "Creator's Might",
  titantic battle axe "Earthcleaver", Shroud of Fate, frost-covered athame
  "Winter", colossal stone club "Urgol", eldritch greatsword "Apocalypse"

- New items: athame.

- New creatures: seagull, dryad.

- Bug fixes: eating food off the ground wasn't removing the item from the
  tile's inventory after eating.  Unarmed attacks weren't adding the
  appropriate bonuses for the unarmed combat skill.  The clean_string
  function would die when the character value for a particular part of
  a string was out of range - added a fix to default the character to '?'.

Savage Lands v0.2.7 "Glappa"
- Version declared August 13, 2014.  Version finalized September 13, 2014.

- More early game quests!  Started working on a quest for Kew that uses
  the south-east dungeon.  Kew gives a quest to slay an agent of
  Sceadugenga, Siriath, early in the dungeon.  Siriath is found on
  the fifth floor.

  - Created a fixed map for the 4th or 5th floor, that will hook up to the
    generated maps.  The floor that the level appears on is selected
    randomly.

- Added the ability to eat items off the ground - the player no longer
  needs to pick up an item just to eat it immediately.

- Created a new effect type, Cross, and created a new arcane spell, 
  Cross of Flame, to demonstrate it.

- Corpses now track the race ID of the killed creature.  Eating the corpse
  causes the game to check for cannibalism, which then notifies the
  creature's deity.  Some deities (particularly the good ones) disapprove
  of cannibalism.

- Defined the crowning gifts for each deity.  For now, the good, neutral,
  and evil deities all, as a group, have the same crowning artifacts:

  - Common: great mace of Torasin, eternal longsword "Erebus"

  - Good: Sunsword, Dragonbane, Beastbinder, Alaric's mail shirt

  - Neutral: Dragonsfist, Bugcrusher, Jellysmasher, Knife of the Long
    Hunt, dragon-leather armour of Tius

  - Evil: Kithslayer, Staff of the Artificer, Skyslayer, Terror, Crown
    of Tyranny, Helm of the Heavens

- Since deities now reference items, and items are serialized, deities are
  now serialized as well.

- New creatures: xither, kalath, mirshi.

- New artifacts: Alaric's mail shirt, smouldering black plate mail
  "Terror", dragon-leather armour of Tius, Crown of Tyranny, Helm of the
  Heavens, great mace of Torasin, eternal longsword "Erebus"

- Bug fixes: 
  
  - Many creatures were missing Cavern in their list of allowable
    terrain types - added Cavern to those lists where appropriate (pretty
    much everywhere).  
    
  - Piety wasn't being updated properly for displeasing actions like
    attacking friendly creatures or cannibalism.

  - The "B"estiary command wasn't available during tile selection after
    the recent conversion to use user-defined mappings.

Savage Lands v0.2.6 "Ida"
- Version declared July 13, 2014.  Version finalized August 13, 2014.

- Started working on monster corpses.

  - Incorporeal monsters will drop corpses.  The weight of the corpse
    varies based on the size of the creature, so the player will
    (eventually, once I add proper weight tracking) not be able to 
    lift up the corpse of a dragon or a behemoth.

  - Corpse colour is always the creature's colour.

  - Creatures with a poison component in their damage type leave a
    poisoned corpse.  Poisoned consumables (whether food or potion) have
    a good chance of poisoning the eater/quaffer.

  - When creatures die, their race/class resistances are transferred
    to the corpse.  Vulnerabilities are not transferred.

  - When a corpse (or other food or drink) with resistances) is consumed,
    the creature's race, class, and intrinsic resistances are checked.  
    If any of the corpses's resistances are greater than the total of
    these, the creature gets the delta added to its intrinsic resists,
    and a message is added if the creature is the player, to indicate the
    type of resistance gained.

- Support for creature titles.  These are based on class (though there is
  also a generic "the Unknown"-type title for those cases where creatures
  don't have classes), and are gained at levels 1, 10, 20, 30, and 45.

- Added support for races to be able to fly automatically.

- Made water tiles safe for flying creatures.

- Created a new race, Bird, and set the Flying flag.

- Added a new text formatter for line breaks (so that text can be broken
  up either by line or by paragraph).  Created a poem for the library of
  Atua-Elar.

- Lua API updates: added the ability to provide an array of replacement
  strings to most of the "add_message"-type functions.  Refactored the
  Lua API functions out of ScriptEngine and into their own header/source.

- New items: philosophical tract "On Eternalism" (added to the Atua-Elar
  library), lituus.

- New creatures: pelican.

Savage Lands v0.2.5 "Eoppa"
- Version declared June 15, 2014.  Version finalized July 13, 2014.

- Added rudimentary support for reading ini settings.  The game will now
  first check for a settings file in the user's home directory.  If the
  file isn't found, it'll next check the game's directory.

  - Set the default language file (savagelandstext_en.ini) in the ini
    settings.

  - Allowed redefining keybindings for commands in the main game (eating,
    quaffing, movement, etc).

  - Allowed redefinition of some of the tile selection keys (movement and
    bestiary) to remain consistent with the redefinition of the higher-
    level commands.

- Added a message buffer to the message manager.  Each message that goes
  to the message manager is also added to the message buffer, up to a
  particular maximum size.

  - Hooked the message manager up to the character dumper, so that the
    latest (15 by default) are included in the dump.

  - Added the "M" command to display in-game message history.

- Started working on the Snake Lands, the area containing the snakeling
  village and Zaeda's Tower:

  - Created the inhabitants of the village of Sithrin.  Populated the
    village - it's less of a village and more of a mini-dungeon.  There
    are a few buildings, each of which has useful items: a spellbook;
    poison and freezing arrows; and the rune stone.

  - Added the island to the far north-east corner, adding a reference in
    the Isen Dun Chronicle.

  - Created the custom map for the base and top floors of Zaeda's Tower.

  - Added Altus to the base of the tower.  His quest will let the player
    know what they need to do to open the door.

- Created a new tile type, Air, and used this for populating the region
  around the top of Zaeda's Tower.

  - The game will prompt the player about stepping out into an open air
    tile, since it is considered dangerous.

  - Unless the creature has the ability to fly, the creature will plummet
    to their immediate death.

  - Populated the top floor of Zaeda's Tower with Zaeda and a number of
    creatures in the 25-30 range.

- Added a Flying status effect, and a corresponding potion.

- Misc: added a "player" creature that should not be generatable
  (basically, just for the bestiary entry).

- New creatures: thaumaturge, snakeling assassin, snakeling conjurer,
  snakeling thief, Kraal, Murk, Altus, Zaeda, abomination, forerunner,
  planewalker, stone worm.

- New items: flying potion, august longbow "Lora", poison arrows, freezing
  arrows.

- New spells: flight (Arcane).
      
- Bug fixes:

  - Fixed an issue where the ActionCoordinator would not be properly reset 
  on the first turn after loading a game, to a loop being exited 
  prematurely, fixed the race on quivering blob (set to jelly; was 
  snakeling).

  - Fixed an issue where world map tiles generated from WorldMapAreas.xml
  could potentially have items on them.

Savage Lands v0.2.4 "Esa"
- Version declared May 4, 2014.  Version finalized June 15, 2014.

- Sped up the crypt generation a little (switched to vector<Coordinate>
  instead of set, pre-reserved sizes, etc).

- Refactored the graveyard generation code so that it would be possible to
  generate graves over a range of values on a given map.

- Began work on Aeschburh, a ruined settlement referenced in the Isen Dun
  Chronicle.  It sits to the north-west of Isen Dun, and at night, strange
  lights can be seen from across the water.

  - Added black servants, Pirrha, and will o' the wisps.  Created support
    for generating random amounts of certain creatures on set maps,
    similar to what is done already with generating lists of creatures on
    maps created from a tile's terrain type.

  - Created a second quest for Cynwise, to slay Pirrha in Aeschburh, the
    reward for which is Cynehild's Shroud.

- Updated pugilists so that they start with brass knuckles in their
  inventory.  Kept it in the inventory and kept them unarmed as a hint
  that, long term, unarmed is the better path.

- Increased the damage on the existing artifact weapons.

- Cleaned up some of the field generation code - this doesn't just generate
  fields, but also special features like dungeons and field-based villages.
  Updated this code to also consider generating crypts, which will generate
  at half the probability (0.25%) of dungeons.  Crypts are ancient, long-
  forgotten features, which is why they're scattered randomly over the
  world instead of tied to settlements like some other features.

- The custom maps now have level range information.  This isn't used
  in-game (yet?), but gets used by an external Python script to help me
  see what level ranges are reasonably well covered, and which need some
  additional areas.

- Began working on the Fae Caravan, an area located on a far northern
  island covered with fruit trees.

  - Added the caravan master, and a number of caravan guards, fae
    musicians, and fae travellers.

  - Created a quest from the caravan master to clear the taint from
    Cithriel, the ancient home of the Fae.

- Began work on Cithriel, accessible only from the Fae Caravan.

  - Added five named black summoners throughout the hall.

  - Surrounded each by a number of creatures in the 26-35 range.

  - Added additional cosmological creatures and demons randomly throughout
    the level.

- Names can now be set in the custom map XML.

- Added new items: brass knuckles, spiked glove, iron claw.

- New creatures: black servant, Pirrha, will o' the wisp, grave worm,
  caravan master, fae musician, fae traveller, caravan guard, black
  summoner, red lady.

- New artifacts: the jewelled claw "Dragon's Fist", Cynehild's Shroud,
  fae-forged sword "Erandu".

- Misc: standardized on "screen" instead of just "menu", updating lots of
  file/class names/resource strings/filters/etc, added a new "common"
  folder in the Lua scripts and added a "creature" module within that.

- New API functions: get_creature_yx (returns two values, a given 
  creature's y and x coordinates in the current map), get_current_map_id
  (returns the ID of the current map), map_transform_tile (converts a tile
  to a new tile type, preserving the various details of the old tile),
  log, map_add_tile_exit (add an exit to a custom map).

- Bug fixes: ensured correct spacing between flags on the inventory
  screen.

Savage Lands v0.2.3 "Eadwine"
- Version declared March 22, 2014.  Version finalized May 4, 2014.

- Started work on the documentation, specifically a Nethack-esque guidebook
  explaining the game and describing the basic commands.

  - Created an initial chapter on the game: a basic "why you're here".

  - Created a chapter with information on races, classes, deities, skills, 
    resistances, and so on.

  - Created a command reference, and also added a separate "quick
    reference" PDF with just command information.

  - Broke out each chapter into its own TeX file.

- Gave sages access to primordial spells, though they gain fewer castings,
  start learning the spells at a higher level, and don't get access to
  Veil of Shadows.

- Refactored the Inventory display.  Instead of being displayed directly
  by an instance of the Display interface, it will now be a regular
  menu (like the Equipment screen).

- Moved the character option (i.e., "a" for option 0, "c" for option 2,
  etc) out of the Display and made it a property of the Option class.
  This simplified the work that the CursesDisplay was doing and allowed the
  deletion of a member function.

- Added a value attribute to items in-game - there was XML support for
  this, but I apparently forgot to add it to the Item itself.

- Started work on the score file.  Created a score calculator, and created
  a score algorithm that takes into account experience points, total level,
  any artifacts and their values, and whether the end boss was killed.

- Created a high score menu that displays the (for now) super basic score
  info and highlights the player's score, if it's within the top-X.  Set
  the number of entries in the file to be 100.

- Created a new tile type, crypt.

- Created layout strategies for crypts: pillared layouts create a
  particular type of pillar (square- or cross-shaped) and apply them
  regularly throughout the crypt.  Vault crypts have a locked room in
  the center full of dangerous creatures and useful items.

- Misc bug fixes: fixed a paging issue where the option (e.g., "[a]") could
  display several times.

Savage Lands v0.2.2 "Aelfwald"
- Version declared February 25, 2014.  Version finalized March 22, 2014.

- Created an external schema and XML file for specifying set areas on
  the world map.

- Added support for reading in world map areas from XML, and overlaying
  them on to an existing map.

- Removed Isen Dun, Wyrmeswraec, Stoneheim, the Far Reaches, Last Rock,
  the Far Shore, the infinite dungeon, Atua-Elar, Stonewall, Gnordvar,
  and the Gnordvar Mines from the WorldGenerator and added XML/Lua support 
  for generating these (also deleted the corresponding map IDs/extra 
  description SIDs within the C++ code).

- The Nine can now satiate with divine manna, if the creature isn't full.
  This is lower priority than full HP/AP.

- Added conducts to creatures.  Started tracking the following conducts:

  - Foodless: cannot eat food or drink potions (basically, anything that
  gives nutrition).

  - Vegetarian: cannot eat meat-based foods.

  - Agnostic: never prayed or otherwise requested divine assistance.

  - Weaponless: never attacked with a weapon other than bare hands.

  - Illiterate: never read a scroll, spellbook, etc.

- Created messages for each conduct.  Created a Show Conducts screen
  (F2).

- Added support for filtering the inventory (either when viewing, or when
  picking up, dropping, etc) by item type, as well as support for clearing
  the filter and getting a full view.  Updated the display symbol/filtering
  symbol for plants from 'w' to '#'.

- The character dumping functionality has long languished behind the actual
  functionality.  Made the following improvements to align it with the
  current codebase:

  - Added the creature's current statuses to the statistics dumper.

  - Added item quantities to the inventory dumper.

  - Added item additional descriptions to equipment items, and suppressed
    this for inventory items.
  
  - Added mortuary details, conducts, spells, resistances, and both
    current and completed quests.

- Finally got around to working out a standard paging solution for spells,
  inventory, etc.  
    
    - Added the concept of "pages" to the menu system.

    - Displayed page number info in the menu title when there are multiple
      pages.

    - By setting the current page into the menu object, and displaying
      the current page, the right set of spells now appears for spells, 
      and the correct mapping is used, as spell mappings are now also
      paged - e.g., selection 'a' might be Fire Breath on page 1, but
      Shadow Flames on page 2, as each page has its own map.

    - Created a separate command mechanism for menus (the only keys mapped
      are those for paging), and updated Menus so that they could page
      and clean up the display as appropriate.  This provides a common
      paging mechanism: for spells, text displays like Quests/reading
      books/etc.

- Refactored the equipment selection out of the Display class and into a
  proper menu.  This allows for a more uniform approach to displaying
  screens of information to the user, and will make it easier to implement
  future Display classes (libtcod, sdl, etc).

- Implemented cycling between creatures in tile selection (when "L"ooking,
  "f"iring, etc) using +/-.

- Misc: updated the string table to split based on the first '=' instead
  of doing full tokenization (so that text could actually contain '=' in
  it).

- Bug fixes:
  
  - Fixed a bug where creatures would always confirm that they wanted to
    move over dangerous tiles.  Changed this so that they never do, for 
    now: there should be far fewer dead mountain elves and gnomish 
    children.  This will be revisited later.

  - Knowing a spell that didn't exist (bad spell ID, etc) caused problems,
    so added a guard to protect against this in the spell selection screen.

Savage Lands v0.2.1 "Oslac"
- Version declared January 26, 2014.  Version finalized February 25, 2014.

- New creatures: added Iliri to the library of Atua-Elar; Skaal, Gildi,
  Thengil, Tindr, and dwarven bodyguards to Stoneheim.  Added piercing
  eyes, deep crawlers, stone golems, animated armours, iron horrors,
  holy shades, divine avengers, earth elementals (pre-existing in game),
  lich kings, hollow men to the temple of Wyrmeswraec.

- Added Gildi's first quest, to retrieve the Black Orb of Wyrmeswraec.

- Added Skaal's quest, to investigate the destruction of Wyrmeswreac.

- Added support for existing features (e.g., Fountain, Fire Pillar) via
  XML, and refactored the schema so that all the XML Feature types had
  a common base.  This is useful for setting common features such as
  material type.

- New items: scroll of enchantment, gleaming wyrm scales, the dwarven
  shield "Wyrm-Ward" (artifact).  Tweaked the evade/soak values of the
  Faerie Shield.

- Added a resistances and vulnerabilities screen (F1) which shows a
  creature's resistances and vulnerabilities, colour-coded to be helpful
  (well, as long as the player isn't red-green colour blind).

- Added the basics of item enchantment.  Updated adventurers so that they
  also start with a scroll of enchantment.

- Basic item enchantment rules:

  - If there are no overridden rules for the item type, enchanting will
    modify resistance values.  

  - Consumables (food/potions/etc) update the nutrition based on the
    number of "points" for the enchantment.

  - Wands will be fully recharged, and have their maximum number of
    charges increased.

  - Weapons will enchant either to-hit, additional damage, or both, and
    have a chance of also enchanting resistances.

  - Wearables (armour, rings, amulets, etc) enchant evade, soak, or both,
    and have a chance of also enchanting resistances.

  - Spellbooks have associated difficulty modifiers - this is reduced
    (or increased, in the case of of a cursed enchantment) based on the
    number of points available for the enchantment.

- Updated Atua-Elar to include books in the library: histories of
  Stoneheim, Gnordvar, Yew.

- Added the ability to load random items on set maps.  Added random
  spellbooks to the bookshelves of the library.

- Added the concept of "piety loss multiplication" to tiles and features.
  Updated things so that praying from an altar (not currently possible,
  since they're blocking) or a pew reduces the piety loss associated
  with praying.

- In the north-west part of the world, added Wyrmeswraec.  Added a
  temple above the ruins.  Added a lair below the ruins.

- To the east of Wyrmeswraec, added Stoneheim.

- Added support to custom maps to set random creatures.  Set up the lair
  in Wyrmeswraec to have a bunch of random insects/slimes/etc.

Savage Lands v0.2.0 "Oswald"
- Version declared January 3, 2014.  Version finalized January 26, 2014.

- Added new creatures: antlion, cave troll, stone jelly, fox maiden, 
  firebird, dire wolf, chaos beast, fell lord, voidling, witch king,
  black monk, virequus, golden eagle, star beast, king slime, war
  mammoth, black devil, hellhound, skywing, pit fiend, high wizard, 
  dracospawn, tarasque, tiamat, wumpus, steel slime, Akojo, goblin elite 
  guard, goblin impaler.

- Created new items: fencer's ring, barbarian's ring, ring of flames,
  ring of ice, ring of acid, ring of poison, ring of holiness, ring of
  shadows, ring of sorcery, ring of lightning, tarasque armour.

- Added new artifacts: Goblincrusher.

- Creatures can now die if their blood alcohol content climbs too high
  (greater than 0.37).

- Added Stonewall to the north-west of Atua-Elar.  Populated it with
  Akojo, the goblin captain, and an assortment of goblins of lesser
  level.

- Updated the bestiary to also include race information.

- Changed the "L"ook command to also include the approximate difficulty of
  a creature - this is based on the difference between the current level
  of the "L"ooking creature and the target creature.

- Updated the curses colour initialization code to be able to set any
  (base) colour as a background (e.g., COLOUR_BLACK, COLOUR_RED, ...,
  COLOUR_WHITE - but not the bold colours).

- Updated a couple of the more powerful creatures (archangel, demon
  prince) to have white/red backgrounds, to indicate auras.

- All wearable items can now contribute a to-hit and additional-damage
  bonus or penalty.

- The equipment and inventory screens now show the attack and defense
  bonuses of wearable items, when those values exist.  Fixed up some
  issues where the description and usage description weren't being
  properly differentiated.

- All items (not just wearables) now have an associated set of resistances,
  which are used each turn to update a creature's overall resistances, also
  taking into account race and class values.

- If an item has resistances or vulnerabilties, these will be included in
  a synopsis on the second line of the equipment screen.

- Updated the resistances on a number of artifacts:
  
  - Forger: added heat resistance.

  - Two Moon Amulet: added arcane resistance.

  - Faerie Shield: added heat, cold, and lightning resistance.

  - Brightblade: added holy resistance.

  - Staff of the Artificer: added acid and arcane resistance.

  - Bugcrusher: added pound resistance.

  - Jellysmasher: added poison and acid resistance.

  - Goblincrusher: added slash and pierce resistance.

  - Knife of the Long Hunt: added pierce resistance.

  - Kithslayer: added slash resistance.

  - Beastbinder: added pierce and pound resistance.

  - Skyslayer: added holy and shadow resistance.

  - Sunsword: added heat resistance.

  - Dragonbane: added heat, cold, and acid resistance.

  - Stonespear: added poison resistance.

Savage Lands v0.1.9 "Osmund"
- Version declared November 27, 2013.  Version finalized January 3, 2014.

- Added new creatures: quivering blob, giant frog, giant toad, crone,
  shapeshifter, knight, crusader, naga, cave bear, sword-eater, squire,
  rock crawler, living vines, witchthorn, treow, tangleweed, drakheen,
  wraith, sorceror, wight, steel golem, black priest, Kirin, Akkara, 
  mountain elf scholar, mountain elf youth, mountain elf brewer, Tir, 
  gnomish sailor, silver fish, jellyfish, swordfish, merman, electric eel, 
  squid, mermaid, giant crab, grey octopus, blackfin shark, wraith 
  jellyfish, lanternfish, siren, stone whale, seadragon, mammoth turtle, 
  water elemental, fire elemental, earth elemental, air elemental, great 
  eel, water demon, lion shark, nicor, white whale, bunyip, sea serpent, 
  kraken.

- Added new items: drams of gin and mead, which are contained in the
  barrels of the brewery of Atua-Elar.

- Updated the creature describer, used by the look command, to return a
  status synopsis when looking at the creature.

- Added new mystic spells: Poison, Blind, Mute, Spellbind, Haste, Slow,
  Stone.

- Added new divine spells: Smite, Holy.

- Updated Oracles so that they start with a spellbook of Poison or Blind,
  at random.

- Updated Pilgrims so that they start with a spellbook of Healing Word or
  Smite.

- Added a new "piercing" flag for damage.  Piercing damage ignores soak
  completely.

- Updated the code surrounding damage status ailments.  A set of status
  ailments can now be specified, which override the default for a
  particular damage type.  Crones now can potentially inflict all negative
  status ailments with each (piercing!) hit.

- Started adding Atua-Elar, the ancient home of the mountain elves.

- Added new race, plant.

- Created a new feature type, Barrel, and added a couple to the brewery
  in Atua-Elar.  Added the ability for a barrel to have a tap and
  an item associated with them (i.e., work the tap, get a beer).

- Added a "breathes" flag to differentiate air- and water-breathers.  Set
  the water-breather flag for the appropriate creatures.

- Added a blood structure to each creature, and the amount of alcohol
  consumed/absorbed/released is tracked over time, with blood alcohol
  content measured.

- Added the following consequences of inebriation:

  - Hitting with light weapons/ranged weapons (dex-based) becomes more
    difficult (heavy weapons are not affected)

  - Hitting with magic is more difficult

  - Physical damage is increased

  - Spells become much more difficult to learn (each 0.01 BAC results in
    a penalty of -10)
  
  - There is a chance to stumble, based on BAC level.  If a creature
    stumbles, a penalty is added to the cost of movement.
     
- Bug fixes:
 
  - Fixed a number of places in the configuration XML where the
    description SID was being referenced instead of the short description
    SID.

  - Fixed a bug where the colours for the status ailments weren't being
    set properly when there were multiple ailments.

  - Fixed a bug in create_spreadsheet.py where duplicates were only being
    detected if the creature tuple matched exactly, which meant that
    a match would only be found if there were two creatures of the same
    symbol, colour, and level.  Loosened those restrictions to match
    any level (so, just match on symbol and colour).

  - The item description randomization code (for wands, spellbooks, etc.)
    was not checking to see if an item was unidentified before including it
    for randomization.  The end result was that I ran into a spellbook
    called "the Isen Dun Chronicle".

  - Haste could be stacked as many times as desired, halving the player's
    speed each time.  This made the game kind of ridiculously easy.

  - Fixed an identification bug: the base "is this item identified?" code
    was checking to see whether the unidentified description string ID
    was empty, rather than equal to the description string ID.

  - The XMLPotionReader (XML integration) was deriving from XMLItemReader, 
    not XMLConsumableReader, so the number of standard drinks wasn't being
    read correctly for potions, among other things.

  - The code responsible for adding a creature's action to the action
    coordinator was adding it before the current turn's value, which
    ultimately prevented a summoned creature from being able to act
    (since when the "lowest value" was removed from the map and the
    others updated, it was the summoned creature's turn that was removed,
    not the current creature's turn).

  - The player character's sex wasn't being converted properly from the 
    player's input (apparently, a very old bug!), and as a result,
    alcohol absorption rate lookup was failing.

Savage Lands v0.1.8 "Aethelbert"
- Version declared November 2, 2013.  Finalized November 27, 2013.

- Added a level script for thieves.  Thieves now get a speed bonus whenever
  they reach a level that is a multiple of 5.

- Created support for calling a stat-gain function on level based on both
  race (every 7 levels) and class (every 5).  These are defined as:

  Class:
    - Adventurers: +1 Dex, with a 50% chance to gain each of +1 Str
                   and +1 Hea
    - Apothecaries: +1 Int
    - Archers: +1 Dex
    - Artisans: +1 Dex
    - Merchants: +1 Cha
    - Minstrels: +1 Cha
    - Nobles: +1 Cha
    - Oracles: +1 Wil
    - Pilgrims: +1 Wil
    - Pugilists: +1 Str
    - Rovers: +1 Agi
    - Sages: +1 Int and +1 Wil
    - Seafarers: +1 Hea
    - Shepherds: +1 Wil
    - Smiths: +1 Str
    - Thieves: +1 Agi
    - Warriors: +1 Str
    - Witchlings: +1 Int
    - Wizards: +1 Int

  Race:
    - Humans: +1 Str, Dex, or Agi; +1 Int, Wil, or Cha
    - Wood Elves: +1 Int or Dex
    - Mountain Elves: +1 Int or Hea
    - Snakelings: +1 Int or Agi
    - Fae: +1 Int, +1 Wil
    - Dwarves: +1 Str or +1 Hea
    - Goblins: +1 Agi
    - Ogres: +1 Str
    - Giants: +1 Str
    - Gnomes: +1 Int, Wil, or Agi

  - Added new creatures: mole, ghost, spook, spectral knight, spectral
    wizard, spectral lord, spectral emperor, charcoal burner, wrecker,
    woodsman, bog spirit, divine spirit, fire spirit, gargoyle.

- Added a new NPC race, spirit, which will be used for ghosts, spooks,
  and other ghost-y undead.

- Added a couple of spooks to Wintersea Keep.

- New armour: elven robes, magic armour, ethereal armour, spirit mail,
  chimera hide armour, behemoth hide armour, heavy cloak, hunter's
  cloak, shell armour, steel plate armour, dragonscale armour, leviathan
  armour, colossus armour, magic shield, spirit shield, steel helm,
  knight's helm, dragon helm, thief's cap, guildmaster's cap, kite
  shield, dragon shield, tower shield, thief's boots, magic boots, 
  steel boots, dragon boots.

- Added an "incorporeal" status flag.  This is on permanently for races
  that support it (spirits), and has a corresponding powerful mystic
  spell, Wraith Form.  While creatures are incorporeal, they are able
  to move through any tile, so long as it is not occupied by another
  creature.  They are also not troubled by water (swimming) or great
  heights (mountain checks).  However, casters must take great care: any
  creature that is in an otherwise-inaccessible square when Wraith Form
  wears off will be instantly killed.

- Updated the Lua quest code so that it properly considered the quest's
  precondition function return value prior to actually executing the
  quest function and assigning the quest to the player.

- Refactored the deity decision handling code slightly.  Added a deity
  strategy handler for restoring AP, as well as one for removing harmful
  statuses from the player.

- In what appears to be my annual development environment update: upgraded 
  from Visual Studio 2010 Express to Visual Studio 2013 Express, Google 
  Test from 1.6 to 1.7, Boost from 1.48 to 1.55.  No updates to pdcurses
  or xerces. 

- C++11 updates:
  
  - Updated all occurrences of BOOST_FOREACH to range-based for.

  - Replaced boost::shared_ptr, boost::make_shared, and
    boost::dynamic_pointer_cast with their std:: equivalents.

  - Refactored the code in ItemDescriptionRandomizer.  This was using
    a couple of pairs to simulate a tuple, which was ugly.  Now it uses
    a real std::tuple.

  - Changed BOOST_STATIC_ASSERT to C++11's static_assert.

  - Changed "> >" safeguards from old-style C++ to ">>", due to the new
    C++11 parse rules.

  - Where applicable, created or assigned vectors and maps using
    initialization lists rather than multiple push_back/insert statements.

  - Converted boost::unordered_map to std::unordered_map.

  - Began the process of adding override/final keywords where appropriate.
    This will be a long road.

Savage Lands v0.1.7 "Aethelstan"
- Version declared September 29, 2013.  Version finalized November 2, 2013.

- There were too many elf-type races (Wood Elf, Mountain Elf, Marsh Elf,
  Fae), so Marsh Elves became Snakelings, which are loosely modelled on the
  Serpent Queen from Advanced Fighting Fantasy.

- Added additional compilation details to the "V"ersion command.

- Toned down the damage on criticals/mighty blows, as these had the
  potential to one-shot weaker characters of an appropriate level.

- Valour and spirit really weren't adding anything to the game, so they
  have been removed.

- Prior to adding Lua scripting support, there was a system of "event 
  functions" in place, basically a map from strings to a common function 
  signature.  This felt awkward once scripting support was enabled, so I 
  removed this feature, and changed all the event functions to use 
  Lua scripts instead.

- Added a number of new creatures: imp, white wolf, cyclops, hydra, wyrm,
  goblin, goblin champion, minotaur, hydra, nightmare, red ooze, sellsword,
  griffin, angel, unicorn, black unicorn, goblin raider, golem, mammoth,
  skeleton king, archangel, troglodyte, troll, beholder, tentacled horror,
  dragon, sylph, naiad, harpy, colossus, titan, skraeling, black creeper,
  great serpent, deep wizard, astral horror, shadow wolf, shadow snake,
  shadow beast, shadow demon, shadow wyrm, snakeling, redcap, drakeling, 
  arachnos, behemoth, barrow spider, dwarf, dwarven warrior, dwarven hero,
  pegasus, bog devil, leviathan, floating eye, mountain elf, moutain elf
  explorer, wood elf, wood elf swordsman, wood elf sage, Ilru, Falir,
  lichling, grey glider, Lalo, ghoul, corpse bird, quisling, cougar, lion,
  cave tiger, liger, goliath, demogorgon.

- Added a damage flag, "chaotic", that has a chance of returning a
  random damage type each time the underlying type is requested via the
  getter.

- Defined new base races (animal, construct, demon, divine, dragon, 
  humanoid, insect, jelly, monster), and set races for every creature.

- Defined slaying flags, and implemented double damage when an attack slays
  the creature's race (either directly, or indirectly through a parent
  race - e.g., a humanoid-slaying sword would slay an elf).

- Created a number of race-slaying artifact weapons.

- Added a new custom map, the Forest of Yew, which will be the set
  Wood Elf settlement.  Nearby, created Lalo's Grotto, and created a quest
  for Ilru in Yew.

- Added a levelling script for Pugilists so that they do 1d(2 * level)
  base damage.

- There is now a little rectory adjacent to the church in Isen Dun.

- Added support for reading "books" - scrolls or spellbooks with text
  instead of spells.  Created the Isen Dun Chronicle and started adding
  entries to let the player know about the locations of various race
  settlements (Yew, Gnordvar, etc).

- Misc: added some support for CSV strings to handle "monster lists"/"item
  lists".

Savage Lands v0.1.6 "Osric"
- Version declared August 17, 2013.  Version finalized September 29, 2013.

- Added the ability to throw potions.  When thrown, potions explode
  on impact (can't be salvaged).

- Added a "glow" flag to items.  When set, this flag will make the items
  "visible" when the creature is blind (the item won't appear as
  "something", it can be "seen" on the ground, etc).

- Redesigned the Wintersea Keep tombs.  Added sarcophagi (available with
  or without inscriptions).  Updated stoning/statues so that these could
  be created with the description of the creature that was petrified.

- Added Ardu to guard the Wintersea tombs.  One of the crypts is now his,
  and houses a few of his wordly possessions.

- Updated the threat code so that repeated attacks repeatedly increase the
  threat level of a particular creature.

- Created scroll of recharging.

- Updated Springs tile with a temperature, returning a different
  description SID for springs vs. hot springs.  Added rocky earth tiles.

- Added new custom maps (Last Rock, and its associated subterranean
  level) to the eastern edge of the map, north of the infinite dungeon.
  Added a quest to the exile for the player to find out information about
  the exile's lost sister.  As a part of this, a couple of artifacts
  (the Amulet of the Two Moons, Brightblade) were added.

- Added a custom map (Far Shore) as part of the exile's quest.  Populated
  it with big, ferocious ogres.  Unfortunately, the first time I visited
  the island, the ogres were a little too ferocious - they would dive into
  the water to get at the player, so if the player kept his distance,
  the ogres would eventually drown.  While awesome, this ultimately needed
  to be fixed.  Ogres aren't bright, but they're not stupid, either.  
  Added a tile/tile-super-type safety check mechanism, and added safety 
  checks for water tiles so that creatures would only cross water if they
  had a boat.

- Created the gnomish village of Gnordvar in the mountains of a small
  island, north of Isen Dun.

- Created a new tile/generator type (Mine), and added a rather dangerous
  mine adjacent to the village of Gnordvar.

- Initial implementation of automatic movement via 'w' + direction.

- Miscellaneous changes/bug fixes: fixed an issue with adding a creature 
  to its own threat map (via self_attack when stunned, etc), which 
  hilariously caused it to wander from tile to tile, looking for itself.  
  Fixed some FIXMEs, and removed some others I'm basically never going to 
  bother to fix.  Added a description for Cynwise's Wintersea quest.
  Updated TileGenerator to be instance-based, as it was getting buggy and
  awkward with a static method.  Fixed a text bug with the blindness
  status message.

Savage Lands v0.1.5 "Beorhthun"
- Version declared June 23, 2013.  Version finalized August 17, 2013.

- Changed Pixie to Fae.  Created a "hungerless" race option that allows
  creatures to eat and have their hunger level tick down to normal, but
  stop there, so that they never get hungry.  Set this option for Fae.

- Updated the message manager code to properly account for the creature
  generating the message - the player should always generate messages,
  and other creatures should only generate messages if within the player's
  view map.

- Added status ailments (poison), and the application of status ailments
  via damage (e.g., checks for poisoning after being hit with poison
  damage).  Created a new creature observer for handling per-minute
  status checks, and created the mechanics for poison - 1 point of damage
  per tick.  Added a green "Po" as a status indicator on the player
  synopsis so that the player is aware of the status.

- Added muteness for holy damage (dumbstruck by divine power).  Added
  checks to chatting, evoking wands, and spellcasting so that muteness
  prevents these from occurring.

- Added paralysis for lightning damage, updating the game loop so that
  the player doesn't get an action when paralyzed, instead burning a turn
  with an action cost equal to his or her current speed.

- Added slowness for cold damage.

- Added haste status effect, and speed potion.  Made haste cancel out
  slowness, and vice versa.

- Added stoning (petrification) for shadow damage, and updated the code so
  that petrified creatures leave their petrified corpses behind.  These are
  treated as blocking terrain features.

- Added bloodied for slash damage.  Updated the code so that this status
  would cause a significant to-hit penalty for melee and ranged combat.

- Added stunned for pounding damage.  This can cause randomization of
  the creature's chosen movement direction, auto-attacking friendly
  creatures if they occupy the new tile.

- Added exposed for piercing damage.  This causes the player to have a
  temporarily lower Evade score.

- Added spellbound for arcane damage.  Updated the code so that this
  prohibits all movement to and from a map, but not other types of actions
  (so it can be waited out with searching, etc).

- Added disfiguration for acid damage.  Updated the code so that this
  status effect reduces a number of stats (25% chance for each).  Changed
  the display code so that any statistic less than its maximum value is
  displayed in red.

- Added blindness for fire damage.  Preventing chatting, firing weapons,
  added to-hit and evade penalties, and did the necessary work to black
  out the map.

- Added new creatures with various damage types for testing the status
  effects on the player: rock adder, acolyte, lightning bug, frost devil,
  fire devil, shade, apprentice.

- Eliminated three damage types (mental, sonic, radiant).  As I was adding
  more and more creatures and spells, I noticed that I wasn't using these
  damage types at all.  To have a more meaningful and oft-used set of
  resistances, I decided to eliminate these damage types.

- Miscellaneous fixes and changes: updated the player-death code so that 
  the display will be updated before death (to show final HP, etc),
  allowed normally hostile creatures to be generated as friendly on
  custom maps, added items to remedy each status ailment created (except
  paralysis), added weapons with non-slash/pierce/pound damage types to
  test the status ailment (e.g., blade of shadows), added a potion of fire
  (no effect, just deals fire damage), fixed an issue with item statuses 
  not being respected when handling spell effects, fixed a bug where a 
  creature's action cost was 0 when auto-handling a terrain feature via 
  movement (bumping a door, etc), included total difficulty in the "W" and
  "R" weapon commands, added better support for reflexive pronouns
  such as "yourself", "itself", etc.

Savage Lands v0.1.4 "Andhun"
- Version declared June 6, 2013.  Version finalized June 23, 2013.

- The botanical release!  Added evergreen trees (pine, fir, spruce, cedar),
  and updated the forest generation algorithm so that forests generated 
  further away from the equator have a higher proportion of evergreen 
  trees.

- Added wild orchards as a tile type to the world map, and added a
  guaranteed wild orchard on the starting island.  Random wild orchards
  can be considered for generation when generating forest tiles for the
  world map.  Wild orchards are sparser than regular forests, and contain 
  a proportion of fruit trees (apple, cherry, peach, plum, and pear).  
  These have a chance of bearing fruit in the summer months.

- Added a dozen types of weeds.

Savage Lands v0.1.3 "Ealdwulf"
- Version declared April 28, 2013.  Version finalized June 6, 2013.

- Bestiary (a la ADOM's monster memory and DCSS's examine command), and a
  few new minor (flavour) creatures.

- Added support for wands, and added a few types of wands (teleport, frost)
  to the game.

- Changed the item creation routines to randomly set blessed/uncursed/
  cursed status, to include these in the item descriptions (though not
  the usage descriptions), and show an appropriate colour in the UI based
  on the object status.

- Randomization of the unidentified descriptions and usage descriptions
  for scrolls, wands, staves, spellbooks, rings, potions, and amulets 
  after starting a new game.

- Learning of spells via spellbooks for non-Primordial spells.
  Consequences for particularly bad spell learning checks (e.g., a
  pilgrim that badly fails after trying to learn a wizard spell).

Savage Lands v0.1.2, "Aethelwalh"
- Version declared March 28, 2013.  Version finalized April 28, 2013.

- Added support for ranged combat animation.

- Extended the scripting engine to allow for "level scripts" that can be
  executed per-class on creature creation (L1) and after levelling.

- Spellcasting: an initial L1 spell for Witchlings, spells screen, 
  spellcasting mechanics and animation, various bugfixes for magical 
  calculators due to stubs being created in the Early Days, shape
  processing for beams (regular and reflective), cones, balls, and self-
  targetting.  Various spells (Dragon Breath, Wreath of Fire, Lightning
  Bolt, Healing Word) to test the various shapes.  Changes to animation
  to support changing symbols (so that reflecting beams look good).

- Miscellaneous small changes: AP regeneration, some class renaming/general
  cleanup of strings and actions.

Savage Lands v0.1.1, "Cissa"
- Version declared March 10, 2013.  Version finalized March 28, 2013.

- Added different tile colours based on season.

- Updated the display routines to be much quicker - these update a subset
  of the screen, rather than the whole screen, which saves a lot of time.
  
- Added a warning message prior to attacking a friendly creature, and 
  added support so that certain deities Do Not Like This.

- Added Cynwise, the village witch, and her associated quest in Wintersea
  Keep.

- More creatures added and populated within Wintersea Keep.


Savage Lands v0.1.0, "Aelle"
- Initial version, unreleased.  Project started July 2, 2011.

- Version finalized March 10, 2013.

- Races, classes, deities, maps, world generation via cellular automata,
  pathfinding, creatures, items, fixed and random maps, quests (via 
  embedded Lua), game configuration via XML, hunger, seasons, unit test 
  support, display via (pd,n)curses, serialization, terrain features,
  chatting, praying, skills and resistances, movement via feet or boat,
  locks with unique keys, random and persistent dungeon complexes, end
  boss with victory condition, and many more.

- Initially started the project in Cygwin.  Migrated to MinGW in Dec 2011,
  and during a failed attempt at using Boost's serialization library,
  switched from MinGW to Visual Studio 2010 Express in October 2012.

- No version control at first.  Started using Subversion in November 2011,
  and then migrated to Mercurial around May 2012. 

