I'm using 2 collision objects, obj_parObstacle and obj_parFloor, so I can get a variable from those objects and check if something is possible or not. So I can also set a global variable to make the entire room of water for example.
parFloor = collision_point(x,y,obj_parFloor,1,1);
if(parFloor > 0)
{
switch(parFloor.T_FLOOR)
{
case 0: // Normal
...
break;
case 1: // Water
...
break;
};
}
else
{
switch(global.T_FLOOR)
{
....
}
};