├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── ShipLoot.sln ├── ShipLoot ├── Patches │ └── HudManagerPatcher.cs ├── PostBuildEvents.targets ├── Properties │ └── AssemblyInfo.cs ├── ShipLoot.cs ├── ShipLoot.csproj ├── ShipLootConfig.cs └── packages.config ├── icon.png └── manifest.json /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea/ 2 | /.vs/ 3 | packages 4 | Releases 5 | **/bin 6 | **/obj 7 | **/GameDirectory.targets 8 | ShipLoot.sln.DotSettings.user -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # v1.1 2 | 3 | - Fixed items which cannot be turned in (like keys) counting towards the displayed total. 4 | - Bodies do not count towards the displayed total. 5 | - Added support for BMX's LobbyCompatibility if it is installed. 6 | - Added config option for display duration. 7 | 8 | # v1.0 9 | 10 | - Initial release. -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 tinyhoot 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ShipLoot 2 | A mod for Lethal Company which reliably displays the total scrap value on the ship. 3 | 4 | Currently, whenever you scan the scrap on your ship you have to position yourself just right to get 5 | all loot on the screen at once. Even then, your scanner never picks up more than 16 things at once, 6 | which makes it hard to tell whether you actually met the quota the further into the game you get. 7 | 8 | This mod introduces a small new counter below the usual scrap total. It is displayed whenever you scan 9 | from inside the ship and will always show the exact scrap total you currently own. 10 | 11 | ## Installation 12 | 13 | - Install [BepInEx](https://thunderstore.io/c/lethal-company/p/BepInEx/BepInExPack/) 14 | - Unzip this mod into your `Lethal Company/BepInEx` folder 15 | 16 | Or use the thunderstore mod manager to handle the installing for you. 17 | -------------------------------------------------------------------------------- /ShipLoot.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShipLoot", "ShipLoot\ShipLoot.csproj", "{C385B338-068C-4761-8672-30027515A9FA}" 4 | EndProject 5 | Global 6 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 7 | Debug|Any CPU = Debug|Any CPU 8 | Release|Any CPU = Release|Any CPU 9 | EndGlobalSection 10 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 11 | {C385B338-068C-4761-8672-30027515A9FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 12 | {C385B338-068C-4761-8672-30027515A9FA}.Debug|Any CPU.Build.0 = Debug|Any CPU 13 | {C385B338-068C-4761-8672-30027515A9FA}.Release|Any CPU.ActiveCfg = Release|Any CPU 14 | {C385B338-068C-4761-8672-30027515A9FA}.Release|Any CPU.Build.0 = Release|Any CPU 15 | EndGlobalSection 16 | EndGlobal 17 | -------------------------------------------------------------------------------- /ShipLoot/Patches/HudManagerPatcher.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Linq; 3 | using HarmonyLib; 4 | using TMPro; 5 | using UnityEngine; 6 | using UnityEngine.InputSystem; 7 | using Object = UnityEngine.Object; 8 | 9 | namespace ShipLoot.Patches 10 | { 11 | [HarmonyPatch] 12 | internal class HudManagerPatcher 13 | { 14 | private static GameObject _ship; 15 | private static GameObject _totalCounter; 16 | private static TextMeshProUGUI _textMesh; 17 | private static float _displayTimeLeft; 18 | 19 | [HarmonyPrefix] 20 | [HarmonyPatch(typeof(HUDManager), nameof(HUDManager.PingScan_performed))] 21 | private static void OnScan(HUDManager __instance, InputAction.CallbackContext context) 22 | { 23 | if (GameNetworkManager.Instance.localPlayerController == null) 24 | return; 25 | if (!context.performed || !__instance.CanPlayerScan() || __instance.playerPingingScan > -0.5f) 26 | return; 27 | // Only allow this special scan to work while inside the ship. 28 | if (!StartOfRound.Instance.inShipPhase && !GameNetworkManager.Instance.localPlayerController.isInHangarShipRoom) 29 | return; 30 | 31 | if (!_ship) 32 | _ship = GameObject.Find("/Environment/HangarShip"); 33 | if (!_totalCounter) 34 | CopyValueCounter(); 35 | float value = CalculateLootValue(); 36 | _textMesh.text = $"SHIP: ${value:F0}"; 37 | _displayTimeLeft = ShipLoot.Config.DisplayTime.Value; 38 | if (!_totalCounter.activeSelf) 39 | GameNetworkManager.Instance.StartCoroutine(ShipLootCoroutine()); 40 | } 41 | 42 | private static IEnumerator ShipLootCoroutine() 43 | { 44 | _totalCounter.SetActive(true); 45 | while (_displayTimeLeft > 0f) 46 | { 47 | float time = _displayTimeLeft; 48 | _displayTimeLeft = 0f; 49 | yield return new WaitForSeconds(time); 50 | } 51 | _totalCounter.SetActive(false); 52 | } 53 | 54 | /// 55 | /// Calculate the value of all scrap in the ship. 56 | /// 57 | /// The total scrap value. 58 | private static float CalculateLootValue() 59 | { 60 | // Get all objects that can be picked up from inside the ship. Also remove items which technically have 61 | // scrap value but don't actually add to your quota. 62 | var loot = _ship.GetComponentsInChildren() 63 | .Where(obj => obj.itemProperties.isScrap && !(obj is RagdollGrabbableObject)) 64 | .ToList(); 65 | ShipLoot.Log.LogDebug("Calculating total ship scrap value."); 66 | loot.Do(scrap => ShipLoot.Log.LogDebug($"{scrap.name} - ${scrap.scrapValue}")); 67 | return loot.Sum(scrap => scrap.scrapValue); 68 | } 69 | 70 | /// 71 | /// Copy an existing object loaded by the game for the display of ship loot and put it in the right position. 72 | /// 73 | private static void CopyValueCounter() 74 | { 75 | GameObject valueCounter = GameObject.Find("/Systems/UI/Canvas/IngamePlayerHUD/BottomMiddle/ValueCounter"); 76 | if (!valueCounter) 77 | ShipLoot.Log.LogError("Failed to find ValueCounter object to copy!"); 78 | _totalCounter = Object.Instantiate(valueCounter.gameObject, valueCounter.transform.parent, false); 79 | _totalCounter.transform.Translate(0f, 1f, 0f); 80 | Vector3 pos = _totalCounter.transform.localPosition; 81 | _totalCounter.transform.localPosition = new Vector3(pos.x + 50f, -50f, pos.z); 82 | _textMesh = _totalCounter.GetComponentInChildren(); 83 | } 84 | } 85 | } -------------------------------------------------------------------------------- /ShipLoot/PostBuildEvents.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Assets.targets 6 | GameDirectory.targets 7 | $(ProjectDir)$(GameDirTargetsFile) 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | No game directory was defined in a $(GameDirTargetsFile) file. Skipping copy to game directory. 20 | If you want to enable this feature, create this file in the same folder as the $(MSBuildProjectFile) and add a 'GameDirectory' MSBuild property to it to proceed. There is an example file in $(MSBuildThisFileDirectory) you can copy and adjust. 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | $(GameDirectory)\BepInEx\plugins\$(AssemblyName) 31 | 32 | $(OutputPath)ZipMeUp 33 | 34 | plugins\$(AssemblyName) 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | %(AssemblyIdentity.Version) 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | $(OutputPath)$(AssemblyName)-$(AssemblyVersion).zip 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /ShipLoot/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("ShipLoot")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyProduct("ShipLoot")] 11 | [assembly: AssemblyCopyright("Copyright © tinyhoot 2023")] 12 | [assembly: AssemblyCulture("")] 13 | 14 | // Setting ComVisible to false makes the types in this assembly not visible 15 | // to COM components. If you need to access a type in this assembly from 16 | // COM, set the ComVisible attribute to true on that type. 17 | [assembly: ComVisible(false)] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion(ShipLoot.ShipLoot.VERSION)] 30 | [assembly: AssemblyFileVersion(ShipLoot.ShipLoot.VERSION)] -------------------------------------------------------------------------------- /ShipLoot/ShipLoot.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using BepInEx; 4 | using BepInEx.Bootstrap; 5 | using BepInEx.Logging; 6 | using HarmonyLib; 7 | 8 | namespace ShipLoot 9 | { 10 | [BepInPlugin(GUID, NAME, VERSION)] 11 | [BepInDependency("BMX.LobbyCompatibility", BepInDependency.DependencyFlags.SoftDependency)] 12 | internal class ShipLoot : BaseUnityPlugin 13 | { 14 | public const string GUID = "com.github.tinyhoot.ShipLoot"; 15 | public const string NAME = "ShipLoot"; 16 | public const string VERSION = "1.1"; 17 | 18 | internal new static ShipLootConfig Config; 19 | internal static ManualLogSource Log; 20 | 21 | private void Awake() 22 | { 23 | Log = Logger; 24 | Config = new ShipLootConfig(base.Config); 25 | Config.RegisterOptions(); 26 | 27 | Harmony harmony = new Harmony(GUID); 28 | harmony.PatchAll(Assembly.GetExecutingAssembly()); 29 | } 30 | 31 | private void Start() 32 | { 33 | SetLobbyCompatibility(); 34 | } 35 | 36 | /// 37 | /// Register the compatibility level of this mod with TeamBMX's LobbyCompatibility. 38 | /// All of it done via reflection to avoid hard dependencies. 39 | /// 40 | private void SetLobbyCompatibility() 41 | { 42 | // Do nothing if the user did not install that mod. 43 | if (!Chainloader.PluginInfos.ContainsKey("BMX.LobbyCompatibility")) 44 | return; 45 | 46 | // Try to find the public API method. 47 | var method = AccessTools.Method("LobbyCompatibility.Features.PluginHelper:RegisterPlugin"); 48 | if (method is null) 49 | { 50 | Log.LogWarning("Found LobbyCompatibility mod but failed to find plugin register API method!"); 51 | return; 52 | } 53 | 54 | Log.LogDebug("Registering compatibility with LobbyCompatibility."); 55 | try 56 | { 57 | // The register method uses enums as its last two parameters. 0, 0 stands for client side mod, no 58 | // version check. 59 | method.Invoke(null, new object[] { GUID, new Version(VERSION), 0, 0 }); 60 | } 61 | catch (Exception ex) 62 | { 63 | Log.LogError($"Failed to register plugin compatibility with LobbyCompatibility.\n{ex}"); 64 | return; 65 | } 66 | 67 | Log.LogDebug("Successfully registered with LobbyCompatibility."); 68 | } 69 | } 70 | } -------------------------------------------------------------------------------- /ShipLoot/ShipLoot.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {C385B338-068C-4761-8672-30027515A9FA} 8 | Library 9 | Properties 10 | ShipLoot 11 | ShipLoot 12 | v4.7.2 13 | 512 14 | 8 15 | warnings 16 | 17 | 18 | AnyCPU 19 | true 20 | full 21 | false 22 | bin\Debug\ 23 | DEBUG;TRACE 24 | prompt 25 | 4 26 | true 27 | 28 | 29 | AnyCPU 30 | pdbonly 31 | true 32 | bin\Release\ 33 | prompt 34 | 4 35 | true 36 | 37 | 38 | 39 | ..\packages\HarmonyX.2.7.0\lib\net45\0Harmony.dll 40 | 41 | 42 | ..\Dependencies\Assembly-CSharp_publicized.dll 43 | 44 | 45 | ..\Dependencies\Assembly-CSharp-firstpass_publicized.dll 46 | 47 | 48 | ..\packages\BepInEx.BaseLib.5.4.21\lib\net35\BepInEx.dll 49 | 50 | 51 | ..\packages\Mono.Cecil.0.11.4\lib\net40\Mono.Cecil.dll 52 | 53 | 54 | ..\packages\Mono.Cecil.0.11.4\lib\net40\Mono.Cecil.Mdb.dll 55 | 56 | 57 | ..\packages\Mono.Cecil.0.11.4\lib\net40\Mono.Cecil.Pdb.dll 58 | 59 | 60 | ..\packages\Mono.Cecil.0.11.4\lib\net40\Mono.Cecil.Rocks.dll 61 | 62 | 63 | ..\packages\MonoMod.RuntimeDetour.21.12.13.1\lib\net452\MonoMod.RuntimeDetour.dll 64 | 65 | 66 | ..\packages\MonoMod.Utils.21.12.13.1\lib\net452\MonoMod.Utils.dll 67 | 68 | 69 | 70 | 71 | 72 | 73 | ..\Dependencies\Unity.InputSystem.dll 74 | 75 | 76 | ..\Dependencies\Unity.Netcode.Components.dll 77 | 78 | 79 | ..\Dependencies\Unity.Netcode.Runtime.dll 80 | 81 | 82 | ..\Dependencies\Unity.Networking.Transport.dll 83 | 84 | 85 | ..\Dependencies\Unity.TextMeshPro.dll 86 | 87 | 88 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.dll 89 | 90 | 91 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.AccessibilityModule.dll 92 | 93 | 94 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.AIModule.dll 95 | 96 | 97 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.AndroidJNIModule.dll 98 | 99 | 100 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.AnimationModule.dll 101 | 102 | 103 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.AssetBundleModule.dll 104 | 105 | 106 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.AudioModule.dll 107 | 108 | 109 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.ClothModule.dll 110 | 111 | 112 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.ClusterInputModule.dll 113 | 114 | 115 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.ClusterRendererModule.dll 116 | 117 | 118 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.ContentLoadModule.dll 119 | 120 | 121 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.CoreModule.dll 122 | 123 | 124 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.CrashReportingModule.dll 125 | 126 | 127 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.DirectorModule.dll 128 | 129 | 130 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.DSPGraphModule.dll 131 | 132 | 133 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.GameCenterModule.dll 134 | 135 | 136 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.GIModule.dll 137 | 138 | 139 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.GridModule.dll 140 | 141 | 142 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.HotReloadModule.dll 143 | 144 | 145 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.ImageConversionModule.dll 146 | 147 | 148 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.IMGUIModule.dll 149 | 150 | 151 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.InputLegacyModule.dll 152 | 153 | 154 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.InputModule.dll 155 | 156 | 157 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.JSONSerializeModule.dll 158 | 159 | 160 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.LocalizationModule.dll 161 | 162 | 163 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.ParticleSystemModule.dll 164 | 165 | 166 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.PerformanceReportingModule.dll 167 | 168 | 169 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.Physics2DModule.dll 170 | 171 | 172 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.PhysicsModule.dll 173 | 174 | 175 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.ProfilerModule.dll 176 | 177 | 178 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.PropertiesModule.dll 179 | 180 | 181 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll 182 | 183 | 184 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.ScreenCaptureModule.dll 185 | 186 | 187 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.SharedInternalsModule.dll 188 | 189 | 190 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.SpriteMaskModule.dll 191 | 192 | 193 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.SpriteShapeModule.dll 194 | 195 | 196 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.StreamingModule.dll 197 | 198 | 199 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.SubstanceModule.dll 200 | 201 | 202 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.SubsystemsModule.dll 203 | 204 | 205 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.TerrainModule.dll 206 | 207 | 208 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.TerrainPhysicsModule.dll 209 | 210 | 211 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.TextCoreFontEngineModule.dll 212 | 213 | 214 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.TextCoreTextEngineModule.dll 215 | 216 | 217 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.TextRenderingModule.dll 218 | 219 | 220 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.TilemapModule.dll 221 | 222 | 223 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.TLSModule.dll 224 | 225 | 226 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.UIElementsModule.dll 227 | 228 | 229 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.UIModule.dll 230 | 231 | 232 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.UmbraModule.dll 233 | 234 | 235 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.UnityAnalyticsCommonModule.dll 236 | 237 | 238 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.UnityAnalyticsModule.dll 239 | 240 | 241 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.UnityConnectModule.dll 242 | 243 | 244 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.UnityCurlModule.dll 245 | 246 | 247 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.UnityTestProtocolModule.dll 248 | 249 | 250 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.UnityWebRequestAssetBundleModule.dll 251 | 252 | 253 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.UnityWebRequestAudioModule.dll 254 | 255 | 256 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.UnityWebRequestModule.dll 257 | 258 | 259 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.UnityWebRequestTextureModule.dll 260 | 261 | 262 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.UnityWebRequestWWWModule.dll 263 | 264 | 265 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.VehiclesModule.dll 266 | 267 | 268 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.VFXModule.dll 269 | 270 | 271 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.VideoModule.dll 272 | 273 | 274 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.VirtualTexturingModule.dll 275 | 276 | 277 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.VRModule.dll 278 | 279 | 280 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.WindModule.dll 281 | 282 | 283 | ..\packages\UnityEngine.Modules.2022.3.9\lib\net45\UnityEngine.XRModule.dll 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}. 304 | 305 | 306 | 307 | 314 | 315 | 316 | 317 | -------------------------------------------------------------------------------- /ShipLoot/ShipLootConfig.cs: -------------------------------------------------------------------------------- 1 | using BepInEx.Configuration; 2 | 3 | namespace ShipLoot 4 | { 5 | internal class ShipLootConfig 6 | { 7 | private readonly ConfigFile _configFile; 8 | 9 | public ConfigEntry DisplayTime; 10 | 11 | public ShipLootConfig(ConfigFile configFile) 12 | { 13 | _configFile = configFile; 14 | } 15 | 16 | public void RegisterOptions() 17 | { 18 | DisplayTime = _configFile.Bind( 19 | "General", 20 | nameof(DisplayTime), 21 | 5f, 22 | new ConfigDescription("How long to display the total scrap value for, counted in seconds.", 23 | new AcceptableValueRange(1f, 30f))); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /ShipLoot/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyhoot/ShipLoot/111805b506da9d80f9901ca068ae25ab6f3f153a/icon.png -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ShipLoot", 3 | "version_number": "1.1.0", 4 | "website_url": "https://github.com/tinyhoot/ShipLoot", 5 | "description": "Reliably shows the total value of all scrap in your ship.", 6 | "dependencies": [ 7 | "BepInEx-BepInExPack-5.4.2100" 8 | ] 9 | } --------------------------------------------------------------------------------