diff --git a/AI_CheatTools/AI_CheatTools.csproj b/AI_CheatTools/AI_CheatTools.csproj
index 30e1dac..1da68ac 100644
--- a/AI_CheatTools/AI_CheatTools.csproj
+++ b/AI_CheatTools/AI_CheatTools.csproj
@@ -47,7 +47,7 @@
False
- ..\packages\ExtensibleSaveFormat.AIGirl.16.4.0\lib\net46\AI_ExtensibleSaveFormat.dll
+ ..\packages\ExtensibleSaveFormat.AIGirl.18.2.0\lib\net46\AI_ExtensibleSaveFormat.dll
False
@@ -122,18 +122,15 @@
-
-
+
-
-
diff --git a/AI_CheatTools/CheatToolsPlugin.cs b/AI_CheatTools/CheatToolsPlugin.cs
deleted file mode 100644
index 86b9bf4..0000000
--- a/AI_CheatTools/CheatToolsPlugin.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using AIChara;
-using AIProject;
-using AIProject.SaveData;
-using BepInEx;
-using BepInEx.Configuration;
-using Manager;
-using RuntimeUnityEditor.Core.Inspector;
-using UnityEngine.AI;
-
-namespace CheatTools
-{
- [BepInDependency(KKAPI.KoikatuAPI.GUID, KKAPI.KoikatuAPI.VersionConst)]
- public partial class CheatToolsPlugin : BaseUnityPlugin
- {
- internal static ConfigEntry BuildAnywhere;
- internal static ConfigEntry BuildOverlap;
-
- private void Awake()
- {
- BuildAnywhere = Config.Bind("Cheats", "Allow building anywhere", false);
- BuildAnywhere.SettingChanged += (sender, args) => BuildAnywhereHooks.Enabled = BuildAnywhere.Value;
- BuildAnywhereHooks.Enabled = BuildAnywhere.Value;
-
- BuildOverlap = Config.Bind("Cheats", "Allow building overlap", false);
- BuildOverlap.SettingChanged += (sender, args) => BuildOverlapHooks.Enabled = BuildOverlap.Value;
- BuildOverlapHooks.Enabled = BuildOverlap.Value;
-
- NoclipFeature.InitializeNoclip(this, () =>
- {
- if (!Map.IsInstance()) return null;
- if (Map.Instance.Player == null) return null;
- if (Map.Instance.Player.Controller == null) return null;
- return Map.Instance.Player.Controller.GetComponent();
- });
-
- ToStringConverter.AddConverter(heroine => !string.IsNullOrEmpty(heroine.CharaName) ? heroine.CharaName : heroine.name);
- ToStringConverter.AddConverter(d => $"AgentData - {d.CharaFileName} | {d.NowCoordinateFileName}");
- ToStringConverter.AddConverter(d => $"ChaFile - {d.charaFileName ?? "Unknown"} ({d.parameter?.fullname ?? "Unknown"})");
- ToStringConverter.AddConverter(d => $"{d} - {d.chaFile?.parameter?.fullname ?? d.chaFile?.charaFileName ?? "Unknown"}");
-
- CheatToolsWindowInit.Initialize();
- }
- }
-}
diff --git a/AI_CheatTools/CheatToolsWindow.cs b/AI_CheatTools/CheatToolsWindowInit.AI.cs
similarity index 91%
rename from AI_CheatTools/CheatToolsWindow.cs
rename to AI_CheatTools/CheatToolsWindowInit.AI.cs
index 206de16..974ad42 100644
--- a/AI_CheatTools/CheatToolsWindow.cs
+++ b/AI_CheatTools/CheatToolsWindowInit.AI.cs
@@ -1,15 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using AIChara;
using AIProject;
using AIProject.Definitions;
using AIProject.SaveData;
+using BepInEx.Configuration;
using Manager;
using RuntimeUnityEditor.Core.Inspector;
using RuntimeUnityEditor.Core.Inspector.Entries;
using RuntimeUnityEditor.Core.ObjectTree;
using RuntimeUnityEditor.Core.Utils;
using UnityEngine;
+using UnityEngine.AI;
using Map = Manager.Map;
using Resources = Manager.Resources;
@@ -30,8 +33,34 @@ public static class CheatToolsWindowInit
private static KeyValuePair