I finally twisted through the latest annoyance. Basically, special abilities and magical arts were looking very similar, and I didn't want to code everything twice. So I didn't. As it stands, an "ability" is just a new stat or skill, like "purity" or "virtue" that can be co-opted by other game elements. For creatures, special abilities (in DND terms) will arise in various ways. The gargoyle sun/skin/stone "ability" would arise through the skin material and material reactions, not through any new "ability" structure. A demon's power of possession would be a new magic art, with the restriction that only demons can use it. In this way, I won't have to code magic arts again just to handle special abilities. It might be a little weird, since magical creatures won't be totally self-contained (i.e. if you want to give a creature magical powers, you'll need to attach a magic art to it). However, this is old news, since a creature with a new model drags model files along with it, etc.
Anyway, with that hurdle overcome, I won't be so annoyed with the game and will therefore be more productive. All of the ability code will go in over the next few days. Then it's on to making things melt and more magic. Melting (that is, chemical reactions) will also be very annoying to code, but at least it has a more pro-active feeling to it than fussing with lame-ass ability structures.