This update is only to the client/bot side of things. The original client was broken on Python 3.10 and a new major version of the TwitchIO library I was using required that I rewrite the bot code a bit. Functionality should be the exact same as the old version.
This update adds another configuration option "object_respawn" that controls if objects respawn when the player dies and continues from a checkpoint. If set to 0 objects won't respawn. If set to 1, which is the default value and the previous behaviour, objects will respawn with the same health they had when the player died. If set to 2 then objects will respawn with full health. Additionally an issue where certain defeated bosses would be respawned with 0 health and enter a buggy state has been fixed.
The music changing system has been changed to be much simpler due to problems with the previous implementation. Unfortunately as a result of this if jingles like the extra life music play then the music will revert back to the default stage music, instead of what was playing.
Finally the labels and messages over spawned objects will now be aligned properly on non-"green" resolutions and for fields of view other than 90°.
This changes how items are spawned. The most important result of this change is that monitors should no longer instantly crush the player to death when spawned.
As well as that objects and sound effects can how be specified by name rather than just ID number. "!obj RedSpring" and "!sfx alarm" should do what you expect. You need to update both the WAD and the Python client for this to take effect as the previous version of the client checked to make sure a number was specified instead of a name.