Does this really need to be called 5 different places in the fire handling code? why isn't the first check for fire being visible sufficient?