var/Piece = GetNextEmptyNetworkPiece()
while(Piece) //As long as there is a piece to work on...
NextNetNum++
FloodFillNetwork(Piece)
Piece = GetNextEmptyNetworkPiece()
var/Piece
while(Piece = GetNextEmptyNetworkPiece())
NextNetNum++
FloodFillNetwork(Piece)
This would also help to reduce code repetition as shown. Since other operators (|, ||, ==, etc) already do this, making = return a value would also improve language consistency and ease of use.
assignment within conditional statements
It's something that appears in other languages quite often, I think its been requested before. Not sure how long ago but it seems like a big and not trivial change for the compiler,
also for your example you could probably? use a do while, instead of a while