This is also where the game-attribute system might come in handy; you can do quite a bit with this system. Think of how MTG or PoE have all these in/out conditions, but-only-applies-to-X, and whatnot, they do that with attributes/tags and effects (mods).
It’s worth looking into. It’s set up in C yes, but 95+ percent of what you do with and about it is in BP (or can be as much as you want, C is still an option otherwise)