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; }