I plan do it after I finish new lighting. Overall I don't plan change how tracking part (that is expensive) work but how final calculation work.
Instead of intruding multiple new properties scripts will handle it. Otherwise would be huge mess, probably 20 would be needed if you would want support most of proposed functionality. Not mentioning mess in code that will need to handle all this cases.
Visibility scripts are superior because from code perspective it only one function call and all complexity will be in rulesets. And this lot less complex because you will not need handle all possible use cases, only what you will use.
Probably grate example is new corpse graphic by ivandogovich and probably he don't use even 10% of capabilities of it (animations, and handling more conditions).
I think I can do the simple heat and psi vision with just 2 armor attributes and less than 20 lines of code in FOV calc function.
I agree that scripts will be superior and we can remove my attributes and replace them with scripts once done. My ramshackle attributes could be used for experimentation and balancing until you are ready with the scripts.
That being said, I'd like to say more about my feelings towards your scripts:
- compared to let's say mapScript or missionScript, your scripts are much more advanced... slowly approaching the status of programming language, not just script
- they give enormous power... but I am afraid that currently you are the only one who can write them
- in my professional life, I have also created (or at least helped create) two such scripting engines for our customers, because their requirements were to be as flexible as possible and change for example some calculations on the fly without having to upgrade our software... at the end, both cases are a disaster... even though there are IT people there, nobody (and I mean nobody!) has learned the scripting language and writing of scripts ended up being our responsibility... the same may happen to you, just saying; also from time to time some individuals give it a try and most likely break it... and then they blame us that our software doesn't work... without telling us that they have changed the scripts of course.
You say that new corpse graphic by Ivan is a great example... but as far as I know, you have actually written the script for Ivan, not Ivan himself. Anyone who can write that script, can also change the source code to do the same functionality, even with less code than in the script (I guess I could do the alt corpses with less than 20 lines of C++ code).
Personally, I am adding new functions only if I am convinced that they will be used by someone... that's why I mostly add stuff requested by Dioxine and Solar... because I know they would use it... and mostly ignore stuff from fantasies of other people (like Surrealistic for example... btw. I am still waiting for that alpha chryssalid mod, if you're reading this). And writing a cool scripting engine, which nobody will be able or willing to use, is a scary thought for me. And I speak from real experience.
I definitely didn't want to discourage you from any of the work you are doing now... just warning you what might happen... be prepared for it. I hope somebody will use it, it will be a huge success and I will be proven wrong.