public static void Prefix(ref KeroseneLampItem __instance, ref float hoursBurned)
        {
            //var gi = Traverse.Create(__instance).Field("m_GearItem").GetValue<GearItem>();
            var gi = __instance.m_GearItem;

            if (!gi.m_InPlayerInventory)
            {
                hoursBurned *= Settings.options.placed_burn_multiplier;
            }
            else
            {
                hoursBurned *= Settings.options.held_burn_multiplier;
            }
        }
        public static void Prefix(KeroseneLampIntensity __instance)
        {
            Gradient gradient = new Gradient();

            GradientColorKey[] colorKey;
            GradientAlphaKey[] alphaKey;

            colorKey          = new GradientColorKey[2];
            colorKey[0].color = KeroseneLampTweaks.GetNewColor();
            colorKey[0].time  = 0.0f;
            colorKey[1].color = KeroseneLampTweaks.GetNewColor();
            colorKey[1].time  = 1.0f;

            alphaKey          = new GradientAlphaKey[2];
            alphaKey[0].alpha = 1.0f;
            alphaKey[0].time  = 0.0f;
            alphaKey[1].alpha = 1.0f;
            alphaKey[1].time  = 1.0f;

            gradient.SetKeys(colorKey, alphaKey);

            //Set Stuff
            __instance.m_GlassColor = gradient;
            __instance.m_FlameColor = gradient;

            if (__instance.m_LitGlass)
            {
                Material glassMat = __instance.m_LitGlass.GetComponent <MeshRenderer>().material;
                glassMat.SetColor("_Emission", __instance.m_GlassColor.Evaluate(0f));
            }


            KeroseneLampItem keroseneLampItem = null;
            //var gi = Traverse.Create(__instance).Field("m_GearItem").GetValue<GearItem>();
            var gi = __instance.m_GearItem;

            if (gi)
            {
                keroseneLampItem = gi.m_KeroseneLampItem;
                KeroseneLampTweaks.ColorLamps(keroseneLampItem.gameObject);
            }
        }
        public static void Postfix(ref KeroseneLampItem __instance)
        {
            //var gi = Traverse.Create(__instance).Field("m_GearItem").GetValue<GearItem>();
            var gi = __instance.m_GearItem;

            if (!gi.m_InPlayerInventory)
            {
                if (Settings.options.mute_lamps)
                {
                    __instance.StopLoopingAudio();
                }
            }

            /*Light indoor = Traverse.Create(__instance).Field("m_LightIndoor").GetValue<Light>();
             * Light indoorCore = Traverse.Create(__instance).Field("m_LightIndoorCore").GetValue<Light>();
             * Light outdoor = Traverse.Create(__instance).Field("m_LightOutdoor").GetValue<Light>();*/
            Light indoor     = __instance.m_LightIndoor;
            Light indoorCore = __instance.m_LightIndoorCore;
            Light outdoor    = __instance.m_LightOutdoor;

            indoor.range     = INDOOR_DEF_RNG * Settings.options.lamp_range;
            indoorCore.range = INDOORCORE_DEF_RNG * Settings.options.lamp_range;
            outdoor.range    = OUTDOOR_DEF_RNG * Settings.options.lamp_range;
        }