So a limitation apparently in the current library of scripts in use is that passive items (like shields or gas masks) are always "active." Regardless of where they are equipped. To enforce these items behaving logically, items are restricted in what equipment slots they can be placed in. So a gas mask can only be placed in the head slot, and a shield only in the hand slot. This is fine but eliminates the possibility of carrying a shield or a gas mask in one's inventory and equipping them when the situation calls for it. And also for picking up such "passive" items and carrying them off as loot without equipping them.
So I'm going through and enhancing some of the existing scripts with a modification that causes them only to execute when an item is in the proper location. Since the proper data is exposed in the newTurnItem hook, this can all be done with existing scripting tools which is great.
And for most items, the resulting functionality is fairly self-evident. It seems self-explanatory that a shield or a gas mask would only have an effect when worn in the proper location. But for various other items (for example, jewelry that provides a passive buff), it might not be.
For these situations, it would be beneficial to have a scripting hook that gets called after an item is moved to a new location on the paper doll, which can return a message that gets flashed to the user. Via this means feedback on the items state could be provided.
Additionally, this hook could be used to activate items that otherwise, I believe, would not have a chance to get activated (or deactivated) again until the next turn. Meaningful for reaction fire, for example. Currently, it is probably possible to drop a shield but retain its protection until the end of the turn in many mods. (Implementing this would probably mean a lot of code repetition, but I don't see a way around that with the current set of tools available).
It would be great if this would be exposed in all places the paper doll is exposed, the basescape equip screen, the pre-mission equip screen, and obviously, the in-mission equip screen. But probably not if it conflicts with the ability to "activate" equipment as described above.
I'm willing to take a stab at this if it does not seem unwanted, though I admit it would be a stretch given my current knowledge of the code base. But you know, that's how one grows (though I am more than willing to step aside if someone else wants to do it).