are you sure it is the tiles themselves being changed and not just a Sprite being drawn underneath? The only reason I ask is because that crater is very definitely centered on the player, so the player would have to be snapped to a grid at all times in order for that to work using tiles.
if it's just a Sprite, then just draw the Sprite and then draw the player.
if you are actually going to change tiles though, I'd use a FOR loop and some creative math to fetch each neighboring tile's id then change those tiles based on the current iteration of the loop.