Method to determine that room is in Novice area
Atavus last edited by
Would be useful in order to path around novice areas.
Helam last edited by
This would be very helpful.
My scouts use Game.map.findRoute to get a path from their current room to the room they need to scout. Recently a novice area popped up near me and Game.map.findRoute is telling my scouts to path through novice areas, which of course cannot be done and it was eating all of my cpu trying to find a path.
If there were something like Game.map.isNoviceRoom(roomName) we could use it in the roomCallback to avoid novice areas. Game.map.findRoute and similar functions could also just treat the edges of novice areas as if there were no exits at all, and try to find a different route.
Either way something like this would be helpful.
If anyone knows of a workaround I would really appreciate hearing about it.
sparr last edited by
Wouldn't your code still fail in the same way if a player built a wall all the way across an exit? What's special about novice areas, here?
Helam last edited by
It is different because whole sections of the map instantly become novice areas (and stop being novice areas) all at once, placing walls OUTSIDE the novice rooms. If an enemy wanted to do this, they would have to claim every one of the rooms surrounding an area, and build walls around the whole thing. not likely to happen, and if it did, you would likely have several days if not weeks to watch it happen slowly and make adjustments accordingly. The novice area conversion happens instantly with no warning and builds the walls in a way that no enemy could. It would just make life a LOT easier for everyone if you didn't have to lay awake at night worrying about a novice area springing to life near you and killing your pathfinding code.
One other way, and perhaps the most important reason that it is different, is that if you have a claimed room adjacent to a novice area, it places indestructible walls inside your claimed room, blocking that exit. One of the recommended ways to move from room to room is to use Game.map.findRoute and then move from exit to exit. Using this method in this situation fails because of the indestructible walls placed in your claimed room that you have no control over. If the problem was caused by normal walls built by you, then its your own fault, but invincible obstacles just suddenly appearing in your own claimed room doesn't seem right. You should be able to plan for obstacles in your own room seeing as how 99.9% of the time the only way obstacles appear or disappear is if YOU do it yourself.