In this first pr, the old loops used to override the nodes were replaced by functions, making the code more modularized and easier to understand and modify.
There's a function specially created to handle crop nodes, so we can easily add the flood funcion to all the crop variations and have different flood and drop chances too.
But the coolest thing is the soil erosion system. When a soil has space to erode, an abm will change its old position to a randon inferior position , and after making and nodeupdate to make it fall. Currently the abm is using the "air" neighbor but can be easily changed to erode only with flowing water.