A week into the new year, and still no playtesting post? That’s completely unacceptable!

You already know about the big Armour unnerfing, and also about the the new skill menu, so what else is new?

Well, for one, there have been so many updates to the Zot Defence minigame that, this time around, I had to put them into a subheading of their own. We’ve got a truckload of new tiles. Lots of crash bugs introduced, and even more resolved. Oh, and the noise propagation has been changed to produce pretty pictures. Well, that and to make it less likely to wake up monsters behind several layers of walls.

Now, without further ado, here’s the (probably woefully incomplete) list of changes within the last month:

Zot Defence

  • Rename Zot Defense to Zot Defence.
  • Start Zot Defence characters near the Orb.
  • Start with the map mapped.
  • In ZotDef, the “safest place” is near the orb, even with 20 pan lords there.
  • Disable the Abyss.
  • Greatly cheapen skill training.
  • Don’t explode if hostile plant lands on Orb (such as from attacking a friendly plant). Enjoy the rot.
  • Don’t rot people almost instantly when accidentally hitting a plant on the orb.
  • Fix broken Bazaar ability.
  • Don’t charge for Bazaar portal if the portal doesn’t show up for whatever reason.
  • Make predefined waves in ZotDef actually work.
  • Scale up the cost of plants and fungus when there’s hundreds of them.
  • Introduce a hard cap of 350 allies.
  • Fix #3051: Zot Defence create traps not identified.
  • Don’t generate several problematic cards (Tomb, Warpwright, Water, Trowel, Minefield, Stairs).
  • Fix friendly orange statues being completely useless.
  • Fix an overflow for the cost of oklobs.
  • Don’t spawn dummy monsters, orb guardians or test spawners.
  • Don’t show “Go fetch the orb” messages for Zot Defence.
  • Don’t claim there are 27 levels of the dungeon.
  • Save the game every time a boss is spawned.
  • Set zotdef rune types correctly.
  • Dump the ZotDef waves’ table during a crash.

Tiles

  • Fix #2884: crash with the monster tab.
  • Fix #3092: Update monster tab before drawing it.
  • Fix #3117: tile save file data sometimes being read incorrectly.
  • Fix #3149: Silently ignore invalid tile_names indices instead of asserting.
  • Fix #3145: Clear env.tile_names before loading/creating a level.
  • Add temporary option tile_force_regenerate_levels to fix corrupted tile saves.
  • Fix #3081: Properly create and destroy detached tabs when needed.
  • Fix #3033: crashes when drawing tentacle tiles for kraken zombies.
  • Fix #3056: crash on restarting the game with restart_after_game.
  • Fix #2815: Re-add the old ghoul tiles.
  • Fix a crash with small resolution.
  • Reinitialise dungeon tiles if TILE_WALL_MAX changed between versions.
  • Fix #2754: switching from console to tiles now displays map properly.
  • Fix #3061: Restore minimap after redoing layout.
  • Fix #2981, #3001: Items and player being drawn on top of large monster tiles.
  • Don’t check i_feel_safe and abilities for drawing the command tab.
  • Add a tile_layout_priority option for fully customizable detached tabs.
  • New tile tab for common commands.
  • Space allowing, detach monster, spell and command tabs.
  • Generate a Windows Alert dialog on assertions (Tiles).
  • Ctrl-mouseclick asks for quantity for drop/pickup.
  • Add an outline to the skill level numbers on the the skill tab.
  • Add aptitude icons to the skill tab.
  • New title screens (Denzi, Omndra).
  • Replace the tile_title_screen option by tile_skip_title.
  • Add tiles to the startup menu (Denzi).
  • Add kraken tentacle tiles.
  • Awesome new giant tiles (co).
  • Felid tiles (Denzi).
  • Add Centaur/Naga/Felid lich-form tiles. (psyshvl, Denzi)
  • Zombie hound and toad tiles (Curio), also kraken.
  • New Zz icon for sleeping (stabbable) monsters, question mark for confused ones.
  • Add Denzi’s 32×48 Lernaean hydra tiles.
  • New swamp tree tiles (Curio), displayed as based in water.
  • Desaturate red of Swamp floor tiles.
  • Add withdrawn turtle/agate snail variant tiles (coolio).
  • Add some deep dwarf monster tiles (coolio).
  • Steal the inappropriate air elemental tile for twisters.
  • Suppress blood overlay for the torch wall variants.
  • Draw blood overlay beneath non-wall dungeon feature tiles.
  • Reinit feature tiles for wizmode-created features.
  • Update gate tiles when changing features in wizard mode.
  • Store tile name for vault-defined monsters.
  • Store vault-defined tile names in the save.
  • Use rusty sewer tile when a sewer times out.
  • Don’t treat pressing and releasing the mouse button as the same event.

Monsters

  • Fix #2975: crash on loading save after monster cast Malign Gateway.
  • Fix #3114: remembered feature mimic crash.
  • Fix #2941: a crash involving kraken heads killing themselves.
  • Fix ghosts not getting mids.
  • Fix an arena crash with monster indices.
  • Fix arena crashes with monster berserkers.
  • Fix #3111: Make monster operator= copy mid so that monsters placed from the transit list don’t lose their mid.
  • Fix #3043: feature mimic glyph changes.
  • Fix #3146: branch stair mimics breaking overview, ^G travel.
  • Fix several bugs with respect to monster Brothers in Arms.
  • Don’t give more xp for killing berserk monsters.
  • Fix monsters losing maxhp on berserk.
  • Fix #2975: eldritch tentacle attitude change affecting all monsters.
  • Allies animating dead is ok for hungry herb3.
  • Don’t mislead into dummy monsters.
  • Disallow polymorphing plants into oklob saplings, at least for now.
  • Fix #2480: Recolour greater nagas to light magenta. Yellow made them not stand out from Snake walls.
  • Fix plants getting Xom-polymorphed into burning bushes.
  • Make monster tracers round up average expected damage so that monsters like oklob plants will use ranged attacks on high-AC targets.
  • Fix helpless fake enchantment not removed when aux hit does no damage.
  • Fix mon.number being 32 bit in memory but only 16 in saves.
  • Fix message leak for unseen Spriggan riders.
  • Fix unseen returning weapon message leak.
  • Fix monsters not being disturbed by clouds unless damaged by the cloud.
  • Fix monsters getting not the same bonuses from dragon hides as players.
  • Give every monster a globally unique id for proper attribution of clouds, poisoning etc.
  • New unique: Jory, unique vampire in the Tower of Silence vault.
  • New monsters: fire crab, raven, porcupine, bog mummy.
  • Replace grey rats with porcupines in most instances.
  • Fix bog mummies being capable of “withdrawing into their shells”.
  • Shedu are now fully implemented (paired holy monsters, capable of resurrecting one another).
  • Implement laboratory rats, using coolio’s tiles as base.
  • Non-stupid monsters try to avoid slime walls.
  • Make monsters consider resistances along with AC for armour pickup.
  • Only allow allies to pick up weapons, armour and ammunition.
  • Boost ettins to hit as hard as dual-wielding stone giants. Move them deeper.
  • Sheep can catch fire and spread it to other sheep.
  • Fix mermaid/siren mesmerise not attracting Shoals merfolk as intended.
  • If a wandering monster fails to move, try a new wander target.
  • Delay monsters’ Brothers in Arms until after first berserk.
  • Tweak sets of monsters’ acceptable “Brothers in Arms”.
  • Convert corpse rot into a monster-castable spell.
  • Allow adding monster enchantments from Lua.
  • Add ENCH_PERM_TORNADO for monsters, with the appropriate effect and immunity to Tornado spell.
  • Add new wizmode targeting command to heal monsters (Ctrl-H).
  • Unnerf friendly orange crystal statue out of ZotDef.
  • Casting messages for all holy monster spells.
  • Rename holy dragon to pearl dragon.

Spells

  • Fix beam tracer assert when casting mephitic cloud.
  • Fix a double miscast crash.
  • Fix silence only taking effect 1 turn after loading a save.
  • Fix igniting poison clouds not giving xp.
  • Remove spells: Bone Shards, Tame Beasts, Portal.
  • Remove the Book of Beasts.
  • New spell: Leda’s Liquefaction (area slowing effect).
  • Nerf sticky flame range to 1.
  • Fix Sticky Flame having range 2 under Vehumet.
  • Reduce Haunt duration
  • Make Tornado respect wind corridors.
  • Allow other clouds to overwrite tornado.
  • Buff Static Discharge: Higher damage and slightly higher chance of arcing.
  • Increase Sandblast to range 2 without stones, range 3 with.
  • Boost Stone Arrow damage from 2d12 at 50 power to 3d11.
  • Change Necromancy spell levels: Control Undead: 6 -> 5, Borgnjor’s: 5 -> 7, Death Channel: 9 -> 8.
  • Move spells around among the Necromancy books.
  • Cheapen Translocation spells: Teleport Other: 4 -> 3, Warp Weapon: 7 -> 5, Dispersal: 7 -> 6.
  • Reduce Ring of Flames level 8 -> 7.
  • Fix #2991: Allow immediate re-casting of Malign Gateway.
  • Fix #2865: mupltiple malign gateways.
  • Make IOOD’s caster suffer from Injury Mirror.
  • Fix #2400: Shadow Creatures summoning feature mimics.
  • Add Freeze to Vehumet’s list, it’s unquestionably direct physical damage.
  • Shift Air miscasts by one level, adjust level 1 miscasts.
  • New level 3 Air miscasts.
  • Ensure Death’s Door leaves you at least 1 hp.
  • Ignore DDoor if maxhp goes to 0 or below.
  • Don’t take notes or cancel tornado when restoring the game.

The dungeon

  • Fix #3055: Don’t use KILL_NONE for unknown killers.
  • Fix crashes when wizmode teleporting between branches.
  • Fix #2772: Refactor volcano_caves to prevent trapping.
  • Fix #3021: Kiku or Yredelemnul sometimes missing from the dungeon.
  • Fix Shoals open-sea background and inappropriate wall types in portals.
  • Troves: don’t ask for +5 robes of resistance, +2 is the max.
  • Fix #3107: Trove portals shouldn’t inspect the ground.
  • Fix #2940: Shoals plants being placed before minivaults.
  • Don’t overdo vitrification in labyrinths, but still make glass more common.
  • Replace labyrinths’ stone wall minotaur vaults with green crystal ones.
  • Generate at most one labyrinth per game (~70% chance), at depth 10-20, never in Slime or Orc.
  • Prevent randomly teleporting into the Slime:6 loot chambers.
  • New noise propagation system, taking into account walls and doors.
  • Nerf troves: increased entry fees, reduced loot.
  • Reduce sewer loot.
  • Store the blame when clouds are placed.
  • Limit MAX_SHOPS to 64.
  • Introduce serial vaults consisting of several mini vaults.
  • Only one serial vault per level, with reduced chances of generation.
  • New sprint map by 78291.
  • New Lair and Snake endings by minmay.
  • Many new minivaults.
  • Dump extra vaults properly.
  • Allow maps to specify different CHANCE and WEIGHT for different depth ranges.
  • Don’t randomly generate shops within minivaults already on the level.
  • Give different welcome spam for different game types.
  • Dungeon builder code clean-up.

The player

  • Fix crash on creating FeRe, FeCr, or HEAM.
  • Fix a few cases of LOS distortion.
  • Double GDR from body armour.
  • Re-balance Demonspawn’s Fire Facet, Nightstalker, Iridiscent scales.
  • Fix #2943: Don’t prompt for actions if item isn’t in inventory.
  • Fix Deep Dwarves not dying to rot.
  • Prevent grey draconians from drowning if they fall in deep water when transformed.
  • Fix #3010: Unify cloud damage routines for player and monsters.
  • Fix wasted turn when attempting to quaff berserk rage whilst exhausted
  • Fix an off-by-one bug with torment resistance.
  • Fix #2937: Apply terrain change to player when banished.
  • Add evil items to default autopickup exceptions
  • Kill the player instantly if drained below 0 maxhp (possible with Borgnjor’s).
  • Someone who’s flying won’t be “waist-deep” in water.
  • Felids: make corpses and zombies named after you.

Gods

  • Give the player better control over what items to sac to Nemelex.
  • Fix #2995: reskilling from fighting reducing your maxHP to 0 or below.
  • Fix #3116: End transfer knowledge when destination skill is trained to level 27.
  • Fix spells working through walls via Scrying.
  • Give monsters pathfinding AI boosts when you’re under Ashenzari penance.
  • Fix #2642: Zin warns for initial yellow glow, penance for deliberate additional glow.
  • Make high-powered Recite try to find an effect that applies to the monster.
  • Recite resistance tweaking; there are less bad effects early on, and it is still useful later.
  • Stop TSO from considering monsters with a Heal Other spell to be holies.
  • Allow recasting of Injury Mirror.
  • Cancel Injury Mirror on abandoning Yred.
  • Make rage-inducing missiles considered to be potentially hasty.
  • Tweaks to tgw_lugonu_bribe.

Items

  • Cap armour’s enchantments to its base AC.
  • Scrolls of enchant armour no longer have a chance of failing.
  • Boost staves of venom. Olgreb becomes 1/4 irresistible.
  • Fix staff of Olgreb on demons with no rPois.
  • Buff Mace of Variability, Bloodbane, Jihad, plutonium sword, crystal spear, Eos.
  • Fix acquirement hardly ever generating “plain” crystal plates and dragon armour.
  • Make acquirement’s “redundant armour” check consider things seen rather than worn.
  • Don’t consider over-expensive shop items as “seen” for acquirement purposes.
  • Allow acquirement of non-regular shields, weighted by skills.
  • Adjust plate acquirement (scrolls/genie) to 0.6 dodging changes.
  • For non-divine armour acquirement, prefer not yet seen base types as well.

Other

  • New, more informative and mouse-operable skill menu.
  • Reduce spam of ‘foo comes into view’ messages
  • Inform the user if travel/explore cuts off because the PC is in an excluded area.
  • For single items of quantity > 1 ‘g’ now prompts for an amount. Use the bindkey option to change this behaviour.
  • Don’t prompt for quantity when picking up a pile of gold.
  • autofight.lua is now loaded by default.
  • Update the FAQ on questions of Mantis, Tavern, etc.
  • Update INSTALL.txt.
  • Don’t try to use curses in print_error_screen if curses hasn’t been initialised yet.
  • Don’t spam about tile data not being present in console builds.
  • Simplify tag minor version handling.
  • Fix a memory leak and potential crash on browsing corrupted saves.

My, we have been busy!

And with that, we’re up-to-date with version c2f102f0 which, as usual, can be downloaded here, including Mac builds even!