diff --git a/1.6/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/1.6/Assemblies/WulaFallenEmpire.dll index 27ce99e8..e38939e6 100644 Binary files a/1.6/1.6/Assemblies/WulaFallenEmpire.dll and b/1.6/1.6/Assemblies/WulaFallenEmpire.dll differ diff --git a/1.6/1.6/Defs/EventDefs/Wula_AI_Events.xml b/1.6/1.6/Defs/EventDefs/Wula_AI_Events.xml index 8cfd99a5..89b3ed22 100644 --- a/1.6/1.6/Defs/EventDefs/Wula_AI_Events.xml +++ b/1.6/1.6/Defs/EventDefs/Wula_AI_Events.xml @@ -31,6 +31,18 @@ +
  • + + +
  • + +
  • +
  • + +
  • + diff --git a/Source/WulaFallenEmpire/EventSystem/Effect/Effect_OpenAIConversation.cs b/Source/WulaFallenEmpire/EventSystem/Effect/Effect_OpenAIConversation.cs index 30533397..721fc540 100644 --- a/Source/WulaFallenEmpire/EventSystem/Effect/Effect_OpenAIConversation.cs +++ b/Source/WulaFallenEmpire/EventSystem/Effect/Effect_OpenAIConversation.cs @@ -38,4 +38,35 @@ namespace WulaFallenEmpire } } } + public class Effect_OpenWulaLink : EffectBase + { + public string defName; + + public override void Execute(Window dialog = null) + { + if (string.IsNullOrEmpty(WulaFallenEmpireMod.settings.apiKey)) + { + Messages.Message("AI API Key is not configured in Mod Settings. AI conversation cannot be started.", MessageTypeDefOf.RejectInput, false); + return; + } + + EventDef eventDef = DefDatabase.GetNamed(defName, false); + if (eventDef != null) + { + var existing = Find.WindowStack.WindowOfType(); + if (existing != null) + { + existing.Expand(); + } + else + { + Find.WindowStack.Add(new Overlay_WulaLink(eventDef)); + } + } + else + { + WulaLog.Debug($"[WulaFallenEmpire] Effect_OpenWulaLink could not find EventDef named '{defName}'"); + } + } + } }