It took almost two months to refactor multiple maps to a single one. But it's not over yet...
It's annoying that I made mistakes even I should have known better. The bounds check is less reliable now, because it's not built-in like it was before. I don't know what was I thinking. I guess it can be fixed for at least those getters that return a class type, because returning -1 is dumb. It could be possible to create a type for a tile outside level borders that acts like any regular type, but the way that you can't reach or use.
FOV is not working properly. There was a coordinate translation change so it maybe has something to do with that.
The next task is a clean-up to fix bugs.