player->active = TRUE;
// remove potentially duplicate players
- if (StorePlayer[jx][jy] == Tile[x][y])
+ if (IN_LEV_FIELD(jx, jy) && StorePlayer[jx][jy] == Tile[x][y])
StorePlayer[jx][jy] = 0;
StorePlayer[x][y] = Tile[x][y];
game.LevelSolved = TRUE;
game.GameOver = TRUE;
+ tape.solved = TRUE;
+
// needed here to display correct panel values while player walks into exit
LevelSolved_SetFinalGameValues();
}