> Amadox, you are wrong, once again I am checking Power Bank inside the room.
And as you said yourself, that can be done with findPath.
> Requires a very expensive FindPath function ( for example from my observer to powerbank in E20 it takes 40 CPU )
Exactly. which is why you don't do it every tick, but every 10k or so, like I suggested, and store the results (a list of rooms that are accessible or unaccessible, however you wanna go, or even a list of all rooms with a bool value determining if it's currently accessible or not) in memory. Then cost really doesn't matter if you only do it that rarely. A few high-CPU ticks every 10k ticks shouldn't really hurt.
Once you have that list in memory, you can use it every tick with no cost. Only downside is it takes up to 10k ticks to update once the newbie walls come down or new newbie walls are put up.
That being said, an API way to check if a certain room is protected and or part of a newbie zone even without having visibility to that room would indeed be very useful.