BUG? Novice Zone, all terrain returns "wall"
-
Essentially,
I just respawned and my code didn't work. Found out that queries for terrain at non-wall spots were returning "wall". Eventually did a lookForAtArea on the entire room, and found that the entire room is one big wall. This is a new novice area, so my suspicions are that something somewhere is cached. Another player (fritee) was able to reproduce. This seems localized to this novice area. More details in the conversation below.
(slack conversation below)
Anwinity [12:17 PM]
uploaded and commented on this image: image.png
Guys, can somebody explain this to me... I am very confused.
Anwinity [12:19 PM]
Basically i'm querying the terrain at that spot, which is clearly a swamp, but it's returning wall in the code
In fact, spot checking numerous swamp/wall/plain in the room, they all return wall...
does not behave this way in sim either
Iranite [12:40 PM]
the code works for me. i find swamp where there is swamp.
smitt33 [12:41 PM]
@Anwinity Are you on multiple shards?
Anwinity [12:41 PM]
Nope
just shard2
Though I just respawned (same shard)
Also, I removed all of my code and reloaded window, and it's still happening
fritee [12:52 PM]
Try using Game.map.getTerrainAt
Does it get you a different result?
Anwinity [12:55 PM]
still wall
Game.spawns["Spawn1"].room.lookForAt(LOOK_TERRAIN, 38, 18);
wall
Game.getObjectById("59f1a11a82100e1594f37bdc").room.lookForAt(LOOK_TERRAIN, 38, 18);
wall
Game.map.getTerrainAt(38, 18, "W29N59");
wall
extra sanity check:
Game.shard.name + Game.map.getTerrainAt(38, 18, "W29N59");
shard2wall
fritee [1:01 PM]
Does room.lookAt also return walls?
You can also try cleaning cache for screeps
If not, then suspect its a bug
Game.map.getTerrainAt(38, 18, "W29N59");
wall
Hmmm
Same
Anwinity [1:02 PM]
JSON.stringify(Game.rooms.W29N59.lookAt(38, 18));
[{"type":"terrain","terrain":"wall"}]
I think it's only this room...
Game.map.getTerrainAt(29, 30, "W30N59");
plain
fritee [1:05 PM]
It also might be the case that this happened due to newbie zone opening up just a while ago. Maybe some caches weren’t updated?
Sergey [1:05 PM]
What about
lookAtArea
try to look at small square (3x3) to understand what wrong.fritee [1:05 PM]
Probably will return all walls
But trying out can help
Yup, seems like it happens with all the rooms in the newbie zone
Anwinity [1:07 PM]
ahh..
How long is that normally cached for you think?
fritee [1:07 PM]
Have literally no idea
Best bet would be to continue developing that particular piece after some time, and if bug persists, report it
Anwinity [1:09 PM]
@Sergey lookForAtArea shows the entire room is one big wall
i really like this room so ima give it a day and hope it clears up :l
thanks for the help
Saruss [1:10 PM]
did any other player test that? Everyone on shard2 could do
Anwinity [1:10 PM]
It seems localized to this novice area
fritee [1:10 PM]
I did
Returns a wall
At least Game.map.getTerrainAt. Doubt behaviour with other functions would be different
Saruss [1:11 PM]
Bad thing. There are other problems with newbiezones (like hard to detect where they end). But this one should be posted in Forum, as it destroys automated building code etc.
fritee [1:12 PM]
True. My guess is that because the bug is localised and only relevant to newbie zones wasn’t reported previously
Anwinity [1:12 PM]
Yeah I'm going to write up a forum post
-
Thanks, we'll take a look
-
Little extra info, in case it's useful. This also looks like it breaks pathfinding for the affected rooms.
-
Yeah, pathfinding is broken because of wrong terrain information.
-
This was fixed a while ago, please report if you still experience this issue.