Folgende Idee:

Im Wegschubsfall:
Koordinaten des Helden speichern.
Dann z.B. zum Feld unter ihm verändern (Y+1).
Terrain ID speichern anhand der Koordinaten
Abfragen, wie diese ist.
In den TileSets alle nicht begehbaren Flecken (LOWER TILE!) auf zB 2, alle begehbaren
auf 1.
If 1 = Wegschubsen, If 2 = alles von vorne, nur diesmal in eine andere Richtung, z.B. Rechts

Das wiederholen, bis man alle vier Richtungen hat.