Fix some mistakes in the Horizontal Blockage routines

fixes some issues with LOS and explosives (bigwalls)
stops explosions passing through walls when they shouldn't, by checking
the CORRECT direction according to the operation being performed.