Fixed some bugs with hieroglyphs and saws that cropped up at some point (saws stopped attacking the player and I'm not clear why they worked previously). Hieroglyphs and Krakens will now attempt to teleport to a nearby valid square if they've spawned wrong. That'll be fine until I make some effect that's supposed to strand them.
I created an "effect" system to hold things items can do, made items call into the proper part of their effect, created the Blink effect, and generated some potions and scrolls with Blink. The potion actually worked on the first try, I was quite surprised. The scroll initially tried to repeatedly blink things that landed in the effect radius on the first try, which was confusing to look at, but fairly easy to sort out.
Scrolls of Blink are pure chaos. Here I tried to get a before and after of using them to shuffle Krakens around between different lakes, but forgot it'd send me to the other side of the map too. I'm pretty sure the Kraken in the second shot that doesn't look like it moved is actually the Kraken that was stuck in the 1x1 lake in the first shot.
I still need to wire armor, weapons, staves, and scrolls to their effects. Armor and weapons will be fairly easy. Staves and scrolls need me to make a targeting UI which is more of a pain.
I haven't done the generator or item-id portions, since I only have one effect. The generator portion looks pretty straightforward, item-id looks fiddly. Once I got all the infrastructure in place it only took about an hour to make Blink, though, which is fairly encouraging. An hour a piece would be too much, but this sort of thing tends to accelerate a bit as you have more code to play with.