The level number of an overworld tile changes after a particular event has been passed. This can be done for any number of levels, and each can change depending on a different event. Check out the readme and the asm files for more info.
There was a bug here with the macro: The event was a dw entry when it should have been db. This caused all entries except the first in the level table file to be incorrectly read, and made it so only the first entry actually worked. It was a small fix though, so I went ahead and corrected it. Everything else appears to work fine, so, accepted. Added a screenshot.
It's also worth noting that since this hijacks the level loading routine, the level name on the overworld does not change.