else
{
struct cell *cell_next = pcell( (v2i){ fish->pos[0]+fish->dir[0], fish->pos[1]+fish->dir[1] } );
- if( !(cell_next->state & FLAG_CANAL) )
+ if( !(cell_next->state & (FLAG_CANAL|FLAG_OUTPUT)) )
{
// Try other directions for valid, so down, left, right..
v2i dirs[] = {{1,0},{-1,0},{0,-1}};
if( (dirs[j][0] == -fish->dir[0]) && (dirs[j][1] == -fish->dir[1]) )
continue;
- if( pcell( (v2i){ fish->pos[0]+dirs[j][0], fish->pos[1]+dirs[j][1] } )->state & FLAG_CANAL )
+ if( pcell( (v2i){ fish->pos[0]+dirs[j][0], fish->pos[1]+dirs[j][1] } )->state & (FLAG_CANAL|FLAG_OUTPUT) )
{
fish->dir[0] = dirs[j][0];
fish->dir[1] = dirs[j][1];