Guess I should have waited a day for the new engine release…
But I've got a few things I can push out:
Release 0.7.2 "It's In the Walls!"
This is mostly a "mini-feature" release, covering some of what looked like the low-hanging fruit from my not-yet-implemented list:
- Most of the new features are small bits that I didn't do at first because I thought they'd be hard, but now I've already built the infrastructure I need for them in the process of implementing something else:
- The guts of Traps of Curse Armor and Curse Weapon can easily be reused to implement Scrolls of the same name.
- I'd already implemented the glyph of warding map feature for Runecraft's Rune [Protection], so it was easy to hook into that for Scrolls of Runes of Protection.
- I already had Half-Ogre's Explosive Rune power implemented, but didn't have handling of the exploding rune map feature; turns out it's nearly identical to existing handling of glyphs of warding. [Actually, I'm not sure I've got explosive runes right; as I read the code, they don't actually explode unless the player is standing on them while a hostile actor attacks them, otherwise they act sort of like glyphs of warding. Can any T2 players confirm?]
- The Invisibility temporary effect from Potions of Invisibility was obviously what I needed for Mimicry's Invisibility power.
- Similarly, the handling of the PASS_TREE flag from the Elder Ent mimicry form was just what I needed with the PASS_WALL and ONLY_WALL flags to implement Wall Mimicry.
- Actor:teleportRandom(), it turns out, already supports the sort of targeted teleporting that I needed to implement the Tracker spell. (Keeping track of teleportations on the level, on the other hand, was a bit trickier…)
- On a lark, implemented the Create Boulders talent conferred by the Boulder-throwing skill. We don't yet have any way of actually throwing those boulders, alas. In theory, of course, we're supposed to be able to throw pretty much anything, notably including potions that are supposed to shatter on impact; I may just punt that and implement a Throw Boulder talent.
- And of course, bump up to the new v1.7.5 game engine.
But I did fix a few bugs:
- Apparently when I broke out the jumpgate-creating code from Phase Door to its own function for reuse elsewhere, I forgot to actually take said code out of the Phase Door code, so we were creating the jumpgates twice. Generally harmless, I think, but still.
- Apparently no one was using the Inertia Control spell, because I don't think that would have worked. While I was there, I reimplemented it as a sustained talent, since that seems like a better fit.
- Now that we have sustained talents that cost mana, we should probably start treating them like sustained talents for mana purposes — i.e. reducing max mana instead of spending mana on activation. I've got the basic infrastructure implemented for that now, and so far I'm using it for Inertia Control (which has both an up-front activation cost and a sustain cost).
I've probably missed some reported bugs in the above; We Apologize for the Inconvenience.™
(Just report them again.
) Known bugs that are still under investigation include:
- Travak appearing multiple times (and apparently other artifacts…).
- Randarts reporting *ID*'d info when just ID'd? Maybe some sloppiness in Object:getDesc().
- Maze edge walls not visible. (Actually, is this still a problem? My tests aren't reproducing it.)
And of course, I've probably introduced some bugs in these new features, along with all the bugs that were already there and just haven't been tripped over yet…
As always, here is a good place to report any bugs you find.
And while I'm here, a few notes and questions:
- As I mentioned above, I'm so far using the new sustain-reduces-max-mana infrastructure for the Inertia Control spell. There are other talents that would potentially be affected, like Bear form or the various Mimicry sustains, which may not have been designed with that sort of long-term mana cost in mind. Wall Mimicry, for instance, costs 40 mana, and Spellbinder, another spell that looks like it really wants to be a sustained talent, can cost as much as 300 mana. How do people think we should go with this?
- Has anyone used the Touch of Death ability in T2? That's something else on my not-yet-implemented list (not associated with Necromancy, to my surprise). Its description in the original data files reads: "Your melee blows can insta-kill, but you only receive 1/3 of the experience". Thing is, I can't find it actually implemented anywhere in the code.
And as always, the .team file for the release
is available from my site, along with the Subversion repo
and SVN::Web front-end
thereto. And for those of you following along on SVN, the 0.7.2 release branch
will get bug fixes for all the aforementioned inevitable bugs.
And since having them scattered throughout the thread is sort of useless, here's a reference list of all the T2 addons I've released:
- Alchemic Arcanorum (current release 1.0.0): Starts Alchemist characters with an Alchemic Arcanorum object from my old ToME:Arcanorum T2 module, which can be used to store and extract essences.
- Gender Parity (current release 1.0.1): Modifies assorted NPCs that don't particularly have to be male or female so that they can be either randomly.
- Go to Landmark (current release 1.0.1): A quickie port of my T4 addon of the same name; allows you to auto-travel to various landmarks like stores or up/down stairs via the "Show known landmarks" action on the <Esc> menu.
- Neutral Townsfolk (current release 1.0.0): As requested by Thorondor. Modifies a few of the more harmless town denizens into the "Neutral" faction so they don't pester you.
- ZAngband Monsters (current release 1.0.1): Adds ZAngband monsters (hence the name). Untested.
- Gondolin Book Store (current release 1.0.0): Also as requested by Thorondor. Adds a book store to Gondolin (hence the name…).
So I might putter around for a bit picking off more low-hanging fruit (and fixing whatever bugs you guys find, of course). Although I am still taking requests for new features or anything I haven't implemented yet.