I may have to bow out of the discussion as it seems to me that no real headway is being made. It sounds like you have all sorts of logical reasons for wanting stuff to be a certain way but I’m asking you to take a moment and question why people here with (I will guess) more experience are questioning your conclusions.
I could definitely be wrong but the odds that I am wrong (in this case) and that your design is the one that makes sense is quite small. That isn’t some sort of boast but you may think that it is. You decided to try ineffective alternatives to get rid of errors. Again using the car analogy, you decided that mixing corn oil with the gasoline “might help”. So what’s your next guess?
Read/analyze your post when you have a moment. You’re are explaining mathematically how many effects, armors and stuff your solution will have and how you’ve engineered things to work so well as if none of us has done the same (or more) without the problems you are having. It makes no logical sense except that you feel you have a handle on development that we simply do not have. Or perhaps that your project is unique in its complexity and requires special non-standard ways of doing common, every day things. Understand (if you can) that we all compute stuff.
Good luck on your game. Think about that fact that I (and others here) could have written it by now without any compiler warnings. You are mistaken about how OOP languages work and (it seems) the ideal way to compartmentalize data and behaviors.
We tried