2023-03-03 18:52:31 +00:00
|
|
|
using System;
|
2023-06-21 13:43:15 +03:00
|
|
|
using Aki.Common;
|
2023-03-03 18:52:31 +00:00
|
|
|
using Aki.SinglePlayer.Patches.Healing;
|
|
|
|
using Aki.SinglePlayer.Patches.MainMenu;
|
|
|
|
using Aki.SinglePlayer.Patches.Progression;
|
|
|
|
using Aki.SinglePlayer.Patches.Quests;
|
|
|
|
using Aki.SinglePlayer.Patches.RaidFix;
|
|
|
|
using Aki.SinglePlayer.Patches.ScavMode;
|
2024-01-15 09:09:31 +00:00
|
|
|
using Aki.SinglePlayer.Patches.TraderServices;
|
2023-03-03 18:52:31 +00:00
|
|
|
using BepInEx;
|
|
|
|
|
|
|
|
namespace Aki.SinglePlayer
|
|
|
|
{
|
2023-06-21 13:43:15 +03:00
|
|
|
[BepInPlugin("com.spt-aki.singleplayer", "AKI.Singleplayer", AkiPluginInfo.PLUGIN_VERSION)]
|
2023-03-03 18:52:31 +00:00
|
|
|
class AkiSingleplayerPlugin : BaseUnityPlugin
|
|
|
|
{
|
2023-11-14 18:49:42 +00:00
|
|
|
public void Awake()
|
2023-03-03 18:52:31 +00:00
|
|
|
{
|
|
|
|
Logger.LogInfo("Loading: Aki.SinglePlayer");
|
|
|
|
|
|
|
|
try
|
|
|
|
{
|
|
|
|
new OfflineSaveProfilePatch().Enable();
|
2024-01-02 14:49:58 +00:00
|
|
|
//new OfflineSpawnPointPatch().Enable(); // Spawns are properly randomised and patch is likely no longer needed
|
2023-03-03 18:52:31 +00:00
|
|
|
new ExperienceGainPatch().Enable();
|
2023-08-06 07:09:49 +00:00
|
|
|
new ScavExperienceGainPatch().Enable();
|
2023-03-03 18:52:31 +00:00
|
|
|
new MainMenuControllerPatch().Enable();
|
|
|
|
new PlayerPatch().Enable();
|
|
|
|
new SelectLocationScreenPatch().Enable();
|
|
|
|
new InsuranceScreenPatch().Enable();
|
|
|
|
new BotTemplateLimitPatch().Enable();
|
|
|
|
new GetNewBotTemplatesPatch().Enable();
|
|
|
|
new RemoveUsedBotProfilePatch().Enable();
|
|
|
|
new DogtagPatch().Enable();
|
|
|
|
new LoadOfflineRaidScreenPatch().Enable();
|
|
|
|
new ScavPrefabLoadPatch().Enable();
|
|
|
|
new ScavProfileLoadPatch().Enable();
|
|
|
|
new ScavExfilPatch().Enable();
|
|
|
|
new ExfilPointManagerPatch().Enable();
|
|
|
|
new TinnitusFixPatch().Enable();
|
|
|
|
new MaxBotPatch().Enable();
|
|
|
|
new SpawnPmcPatch().Enable();
|
|
|
|
new PostRaidHealingPricePatch().Enable();
|
|
|
|
new EndByTimerPatch().Enable();
|
|
|
|
new PostRaidHealScreenPatch().Enable();
|
|
|
|
new VoIPTogglerPatch().Enable();
|
|
|
|
new MidRaidQuestChangePatch().Enable();
|
|
|
|
new HealthControllerPatch().Enable();
|
|
|
|
new LighthouseBridgePatch().Enable();
|
|
|
|
new LighthouseTransmitterPatch().Enable();
|
|
|
|
new EmptyInfilFixPatch().Enable();
|
2023-06-30 19:29:56 +01:00
|
|
|
new SmokeGrenadeFuseSoundFixPatch().Enable();
|
|
|
|
new PlayerToggleSoundFixPatch().Enable();
|
2023-07-09 07:20:48 +00:00
|
|
|
new PluginErrorNotifierPatch().Enable();
|
2023-07-17 13:11:22 +01:00
|
|
|
new SpawnProcessNegativeValuePatch().Enable();
|
2023-08-05 17:26:09 +00:00
|
|
|
new InsuredItemManagerStartPatch().Enable();
|
2023-10-10 10:58:33 +00:00
|
|
|
new MapReadyButtonPatch().Enable();
|
2023-11-14 18:49:42 +00:00
|
|
|
new LabsKeycardRemovalPatch().Enable();
|
2023-11-26 21:15:56 +00:00
|
|
|
new ScavLateStartPatch().Enable();
|
2024-01-04 17:16:43 +00:00
|
|
|
new MidRaidAchievementChangePatch().Enable();
|
2024-01-15 09:09:31 +00:00
|
|
|
new GetTraderServicesPatch().Enable();
|
|
|
|
new PurchaseTraderServicePatch().Enable();
|
2024-02-08 09:11:22 +00:00
|
|
|
new ScavSellAllPriceStorePatch().Enable();
|
|
|
|
new ScavSellAllRequestPatch().Enable();
|
2024-02-10 08:31:18 +00:00
|
|
|
new HideoutQuestIgnorePatch().Enable();
|
2024-02-12 09:22:45 +00:00
|
|
|
new LightKeeperServicesPatch().Enable();
|
2023-03-03 18:52:31 +00:00
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
2023-10-10 10:58:33 +00:00
|
|
|
Logger.LogError($"A PATCH IN {GetType().Name} FAILED. SUBSEQUENT PATCHES HAVE NOT LOADED");
|
2023-03-03 18:52:31 +00:00
|
|
|
Logger.LogError($"{GetType().Name}: {ex}");
|
|
|
|
throw;
|
|
|
|
}
|
|
|
|
|
|
|
|
Logger.LogInfo("Completed: Aki.SinglePlayer");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|