using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using RandomEncounters; using RandomEncounters.API; using sailadex; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("RandomEncountersBridge")] [assembly: AssemblyDescription("https://github.com/bryon82/SailwindSail-a-dex")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("raddude")] [assembly: AssemblyProduct("RandomEncountersBridge")] [assembly: AssemblyCopyright("Copyright © 2026")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("8a27e40a-f47b-4e3f-8d0a-5677ecc26bb9")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace RandomEncountersBridge; public static class EncounterTracker { private static readonly Dictionary _encounterNames = new Dictionary { { "Flotsam", "FlotsamEncounters" }, { "Dense Fog", "DenseFogEncounters" }, { "Whales", "SeaLifeEncounters" }, { "Fishing Bonanza", "FishingBonanzaEncounters" }, { "Intense Storm", "IntenseStormEncounters" } }; public static void TrackEncounters() { SAD_Plugin.LogInfo("Tracking encounters from RandomEncounters mod."); EncounterEvents.EncounterTriggered += delegate(Encounter enc) { SAD_Plugin.LogDebug("Encounter triggered: " + enc.Name); }; EncounterEvents.EncounterCompleted += delegate(Encounter enc) { EncounterCompleted(enc.Name); }; } private static void EncounterCompleted(string encounterName) { SAD_Plugin.LogInfo("Encounter completed: " + encounterName); if (_encounterNames.TryGetValue(encounterName, out var value)) { StatsUI.Instance.IncrementIntStat(value); } } }