Example #1
0
 private static void Prefix(Kingmaker.Items.Slots.ItemSlot __instance, ref ItemEntity __state)
 {
     if (Game.Instance.CurrentMode == GameModeType.Default && settings.togglAutoEquipConsumables)
     {
         __state = null;
         var slot = __instance.Owner.Body.QuickSlots.FindOrDefault(s => s.HasItem && s.Item == __instance.m_ItemRef);
         if (slot != null)
         {
             __state = __instance.m_ItemRef;
         }
     }
 }
Example #2
0
 private static void Postfix(Kingmaker.Items.Slots.ItemSlot __instance, ItemEntity __state)
 {
     if (Game.Instance.CurrentMode == GameModeType.Default && settings.togglAutoEquipConsumables)
     {
         if (__state != null)
         {
             var blueprint = __state.Blueprint;
             var item      = Game.Instance.Player.Inventory.Items.FindOrDefault(i => i.Blueprint.ItemType == ItemsFilter.ItemType.Usable && i.Blueprint == blueprint);
             if (item != null)
             {
                 Game.Instance.ScheduleAction(() => {
                     try {
                         Mod.Debug($"refill {item.m_Blueprint.Name.cyan()}");
                         __instance.InsertItem(item);
                     }
                     catch (Exception e) { Mod.Error($"{e}"); }
                 });
             }
             __state = null;
         }
     }
 }