... with Act III's scripting! That's right, after 4 months - 2.5 months not including a 1.5 month break to do little things like a Halloween project - I'm officially done with the "scripting" portion of Act III. I'll still have to tinker with scripts as I continue to test, tweak, and polish, but the heavy-lifting is finally done.
I've also managed to complete quite a bit of play-testing. I've already done three run-throughs of the first half, though there are several more left to do. In addition, unlike my normal methodology, I play-tested each part of the second half as I went, so I actually think that's all polished and done. So I'd conservatively place my testing and polish phase at 50% done, and it's probably closer to 75%.
The bad part is that it doesn't look like I'll be getting to that play-testing for a bit because of a rather nasty bug that cropped up in patch 1.21. In short, the OnEnter trigger for areas no longer seems to be firing conversation commands. In other words, people no longer initiate conversations upon entering an area. I can certainly confirm some head-scratching behavior that left me puzzled for a couple hours before I found that thread, and it seems that the same bug may have butchered MotB and several other user-made modules.
The funny thing was that my pre-release version of SoZ only took me to patch 1.20, and the programming I did during that time worked like a charm, but as soon as I went to the legitimate post-release version and patch 1.21, it got all goobered up. It's baffling how this can happen, but I'm not a programming guru, so I won't rip Obsidian too much until I know more. In the referenced thread, Obsidian has claimed that they will release a patch to fix this in "December or January," so other than a couple more tweaks I can test as is, I'm done with Act III until the next patch, at which point I'll return to finish it off.
So I'm almost on to Act II...