I think you can use

        private bool IsTorchOn(BasePlayer player)
        {
            var torch = player.GetHeldEntity() as TorchWeapon;

            if (torch == null)
                return false;

            return torch.HasFlag(BaseEntity.Flags.On);
        }​

and remove ActiveItemIsTorch, but i've never tried so not sure