diff --git a/MuzikaGromche/MuzikaGromche.csproj b/MuzikaGromche/MuzikaGromche.csproj
index 2d6680f..d107302 100644
--- a/MuzikaGromche/MuzikaGromche.csproj
+++ b/MuzikaGromche/MuzikaGromche.csproj
@@ -20,6 +20,7 @@
of generating code at compile time. See https://github.com/lc-sigurd/CSync/issues/11
-->
+
diff --git a/MuzikaGromche/Plugin.cs b/MuzikaGromche/Plugin.cs
index af69800..a1e968e 100644
--- a/MuzikaGromche/Plugin.cs
+++ b/MuzikaGromche/Plugin.cs
@@ -7,6 +7,9 @@ using BepInEx;
using BepInEx.Configuration;
using CSync.Extensions;
using CSync.Lib;
+using LethalConfig;
+using LethalConfig.ConfigItems;
+using LethalConfig.ConfigItems.Options;
using HarmonyLib;
using UnityEngine;
using UnityEngine.Networking;
@@ -15,6 +18,7 @@ namespace MuzikaGromche
{
[BepInPlugin(PluginInfo.PLUGIN_GUID, PluginInfo.PLUGIN_NAME, PluginInfo.PLUGIN_VERSION)]
[BepInDependency("com.sigurd.csync", "5.0.1")]
+ [BepInDependency("ainavt.lc.lethalconfig", "1.4.6")]
public class Plugin : BaseUnityPlugin
{
internal new static Config Config { get; private set; } = null;
@@ -299,6 +303,13 @@ namespace MuzikaGromche
new ConfigDefinition("Tracks", track.Name),
50,
new ConfigDescription(description, chanceRange, track));
+
+ var slider = new IntSliderConfigItem(track.Weight.Entry, new IntSliderOptions
+ {
+ RequiresRestart = false,
+ CanModifyCallback = CanModifyWeightsNow,
+ });
+ LethalConfigManager.AddConfigItem(slider);
}
// HACK because CSync doesn't provide an API to register a list of config entries
@@ -312,6 +323,24 @@ namespace MuzikaGromche
ConfigManager.Register(this);
}
+
+ public static CanModifyResult CanModifyWeightsNow()
+ {
+ var startOfRound = StartOfRound.Instance;
+ if (!startOfRound)
+ {
+ return CanModifyResult.True(); // Main menu
+ }
+ if (!startOfRound.IsHost)
+ {
+ return CanModifyResult.False("Only for host");
+ }
+ if (!startOfRound.inShipPhase)
+ {
+ return CanModifyResult.False("Only while orbiting");
+ }
+ return CanModifyResult.True();
+ }
}
[HarmonyPatch(typeof(JesterAI))]
diff --git a/NuGet.Config b/NuGet.Config
index fffd918..a58b3de 100644
--- a/NuGet.Config
+++ b/NuGet.Config
@@ -2,5 +2,6 @@
+
diff --git a/manifest.json b/manifest.json
index c6b419f..e9b793f 100644
--- a/manifest.json
+++ b/manifest.json
@@ -6,6 +6,7 @@
"website_url": "https://git.vilunov.me/nikita/muzika-gromche",
"dependencies": [
"BepInEx-BepInExPack-5.4.2100",
- "Sigurd-CSync-5.0.1"
+ "Sigurd-CSync-5.0.1",
+ "ainavt.lc.lethalconfig-1.4.6"
]
}