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