rendered paste bodyRook:
Step 1:
Diagonal && Invalidate
Space occupied && Invalidate
Step 2:
Same direction || Invalidate
Space occupied && Invalidate
Repeat 2
Knight:
Step 1:
Diagonal && Invalidate
Step 2:
Diagonal && Invalidate
Same direction && Invalidate
Step 3:
Same direction || Invalidate
Space occupied && Invalidate
Bishop:
Step 1:
Diagonal || Invalidate
Space occupied && Invalidate
Step 2:
Same direction || Invalidate
Space occupied && Invalidate
Repeat 2
Queen:
Step 1:
Space occupied && Invalidate
Step 2:
Same direction || Invalidate
Repeat 2
King:
Step 1:
Space occupied && Invalidate
Pawn:
Step 1:
Forward || Invalidate
Space occupied && Invalidate
Step 1:
Forward || Invalidate
Step 2:
90 || Invalidate
EnemyOccupied || Invalidate