static bool MerchantPouch_RefreshInventory_Pre(MerchantPouch __instance, ref double ___m_nextRefreshTime) { #region quit if (!_merchantsToggle) { return(true); } #endregion if (_merchantsMode == ResetMode.Always) { ___m_nextRefreshTime = 0d; } else if (_merchantsMode == ResetMode.Never && !__instance.IsEmpty) { ___m_nextRefreshTime = double.PositiveInfinity; } else if (_merchantsMode == ResetMode.Timer) { __instance.InventoryRefreshRate = _merchantsTimer * TIME_UNIT; if (___m_nextRefreshTime == double.PositiveInfinity) { ___m_nextRefreshTime = GameTime + __instance.InventoryRefreshRate; } } return(true); }
public static bool RefreshInventory(MerchantPouch __instance) { try { if (MoreMerchantStock.Settings.AlwaysRefreshStock) { FieldInfo nextRefreshTime = AccessTools.Field(typeof(MerchantPouch), "m_nextRefreshTime"); nextRefreshTime.SetValue(__instance, EnvironmentConditions.GameTime - 1); //MoreMerchantStock.MyLogger.LogDebug($"nextRefreshTime={nextRefreshTime}"); } } catch (Exception ex) { MoreMerchantStock.MyLogger.LogError(ex.Message); } return(true); }
public static void Postfix(MerchantPouch __instance, object[] __state) { if (PhotonNetwork.isNonMasterClientInRoom || !SL_DropTableAddition.s_registeredDropTableSources.Any()) { return; } if (__state == null || !(bool)__state[0]) { return; } var merchant = __instance.GetComponentInParent <Merchant>(); foreach (var dropAddition in SL_DropTableAddition.s_registeredDropTableSources) { if (dropAddition.IsTargeting(merchant.HolderUID)) { dropAddition.GenerateItems(__instance.transform); } } }