Decompiled source of Expanded Boat Minimap v1.0.0

ValheimExpandedBoatMinimap.dll

Decompiled 3 days ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyCompany("ValheimExpandedBoatMinimap")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyDescription("Expanded Boat Minimap Valheim Mod")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+80ae0bfb40989f2c7c19dc3bf10a96aae2b90ec9")]
[assembly: AssemblyProduct("ValheimExpandedBoatMinimap")]
[assembly: AssemblyTitle("ValheimExpandedBoatMinimap")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace Lunarbin.Valheim.ExpandedBoatMinimap
{
	[BepInPlugin("lunarbin.games.valheim.expanded-boat-minimap", "Valheim Expanded Boat Minimap", "1.0.0")]
	public class ExpandedBoatMinimap : BaseUnityPlugin
	{
		[HarmonyPatch(typeof(Ship), "OnTriggerEnter")]
		internal class PatchShipOnTriggerEnter
		{
			private static void Postfix(Collider collider, Ship __instance)
			{
				Player component = ((Component)collider).GetComponent<Player>();
				if ((Object)null != (Object)(object)component && (Object)(object)component == (Object)(object)Player.m_localPlayer)
				{
					if (_defaultMinimapExploreRadius == 0f)
					{
						_defaultMinimapExploreRadius = Minimap.instance.m_exploreRadius;
					}
					if (((Object)__instance).name.Contains("VikingShip_Ashlands"))
					{
						Minimap.instance.m_exploreRadius = _drakkarRadius.Value;
					}
					else if (((Object)__instance).name.Contains("VikingShip"))
					{
						Minimap.instance.m_exploreRadius = _longshipRadius.Value;
					}
					else if (((Object)__instance).name.Contains("Karve"))
					{
						Minimap.instance.m_exploreRadius = _karveRadius.Value;
					}
					else if (((Object)__instance).name.Contains("Raft"))
					{
						Minimap.instance.m_exploreRadius = _raftRadius.Value;
					}
					if (_notifyOnChange.Value)
					{
						MessageHud.instance.ShowMessage((MessageType)1, $"Minimap explore radius changed to {Minimap.instance.m_exploreRadius}", 0, (Sprite)null, false, true);
					}
				}
			}
		}

		[HarmonyPatch(typeof(Ship), "OnTriggerExit")]
		internal class PatchShipOnTriggerExit
		{
			private static void Postfix(Collider collider, Ship __instance)
			{
				Player component = ((Component)collider).GetComponent<Player>();
				if (Object.op_Implicit((Object)(object)component) && (Object)(object)component == (Object)(object)Player.m_localPlayer && _defaultMinimapExploreRadius != 0f)
				{
					Minimap.instance.m_exploreRadius = _defaultMinimapExploreRadius;
					if (_notifyOnChange.Value)
					{
						MessageHud.instance.ShowMessage((MessageType)1, $"Minimap explore radius returned to default: {Minimap.instance.m_exploreRadius}", 0, (Sprite)null, false, true);
					}
				}
			}
		}

		public const string PluginName = "Expanded Boat Minimap";

		public static readonly ManualLogSource Logger = Logger.CreateLogSource("ExpandedBoatMinimap");

		private readonly Harmony harmony = new Harmony("lunarbin.games.valheim.expanded-boat-minimap");

		private static float _defaultMinimapExploreRadius = 0f;

		private static ConfigEntry<float> _drakkarRadius;

		private static ConfigEntry<float> _longshipRadius;

		private static ConfigEntry<float> _karveRadius;

		private static ConfigEntry<float> _raftRadius;

		private static ConfigEntry<bool> _notifyOnChange;

		private void Awake()
		{
			harmony.PatchAll();
			_drakkarRadius = ((BaseUnityPlugin)this).Config.Bind<float>("General", "DrakkarRadius", 150f, "The Drakkar's minimap explore radius. Mod default = 150; Game default = 50");
			_longshipRadius = ((BaseUnityPlugin)this).Config.Bind<float>("General", "LongshipRadius", 150f, "The Longship's minimap explore radius. Mod default = 150; Game default = 50");
			_karveRadius = ((BaseUnityPlugin)this).Config.Bind<float>("General", "KarveRadius", 120f, "The Karve's minimap explore radius. Mod default = 120; Game default = 50");
			_raftRadius = ((BaseUnityPlugin)this).Config.Bind<float>("General", "RaftRadius", 80f, "The Raft's minimap explore radius. Mod default = 80; Game default = 50");
			_notifyOnChange = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "NotifyOnChange", false, "Notify the player when their explore radius changes.");
		}
	}
	internal static class BuildInfo
	{
		public const string Version = "1.0.0";
	}
}