Skip to content

Commit

Permalink
shipping bin
Browse files Browse the repository at this point in the history
  • Loading branch information
aedenthorn committed Jun 13, 2020
1 parent fd08e61 commit af3f5f9
Show file tree
Hide file tree
Showing 6 changed files with 237 additions and 45 deletions.
Binary file modified .vs/PortiaMods/v16/.suo
Binary file not shown.
226 changes: 202 additions & 24 deletions CookingMachine/Main.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
using Harmony12;
using Hont.ExMethod.Collection;
using Pathea;
using Pathea.CompoundSystem;
using Pathea.HomeNs;
using Pathea.HomeViewerNs;
using Pathea.InputSolutionNs;
using Pathea.ItemSystem;
using Pathea.ModuleNs;
using Pathea.UISystemNs;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using UnityEngine;
using UnityModManagerNet;
Expand All @@ -16,6 +21,7 @@ public static class Main
{
public static bool enabled;
private static bool isDebug = true;
private static List<int> crash;

public static void Dbgl(string str = "", bool pref = true)
{
Expand Down Expand Up @@ -61,7 +67,108 @@ static void OnUpdate(UnityModManager.ModEntry modEntry, float dt)

}

[HarmonyPatch(typeof(CompoundManager), "InitCompoundData")]
[HarmonyPatch(typeof(CompoundManager), "GetAllCompoundItems", new Type[] { typeof(bool)})]
static class AutomataMachineMenuCtr_1
{
static void Postfix(ref CompoundItem[] __result)
{
int start = 5000;
int start2 = 5001000;

List<CompoundItem> newList = __result.ToList();
//List<CompoundItem> allFoods = newList.FindAll((i) => i.m_plugInType == 4);
List<CookBookData> cookList = Module<CookBookMgr>.Self.CookList;
if (cookList == null || __result == null || __result.Length == 0)
{
Dbgl("missing list");
return;
}
Dbgl("getting cid");

SqliteDataReader reader = LocalDb.cur.ReadFullTable("Synthesis_table ");
var sourceData = DbReader.Read<CompoundItemData>(reader, 20);

CompoundItemData cidd = sourceData.Find((CompoundItemData c) => c.ItemID == 2000046);

Dbgl("getting list");
foreach (CookBookData food in cookList)
{
if (food != null && food.like)
{
Dbgl("got food");
cidd.NameID = Module<ItemDataMgr>.Self.GetItemNameId(food.foodId);
cidd.ItemID = food.foodId;
Dbgl("food " + food.foodId);
Dbgl("menu list length " + food.menuList.Count);
foreach (CookMatData cmd in food.menuList)
{
Dbgl("matdic length " + cmd.matDic.Count);
cidd.ID = start++;
cidd.BookId = start2++;
cidd.RequireItem1 = cmd.matDic.Keys.ToList()[0];
cidd.RequireItemNum1 = cmd.matDic[cmd.matDic.Keys.ToList()[0]];
Dbgl($"item1 {cidd.RequireItem1} count {cidd.RequireItemNum1}");
if (cmd.matDic.Count > 1)
{
cidd.RequireItem2 = cmd.matDic.Keys.ToList()[1];
cidd.RequireItemNum2 = cmd.matDic[cmd.matDic.Keys.ToList()[1]];
Dbgl($"item2 {cidd.RequireItem2} count {cidd.RequireItemNum2}");
if (cmd.matDic.Count > 2)
{
cidd.RequireItem3 = cmd.matDic.Keys.ToList()[2];
cidd.RequireItemNum3 = cmd.matDic[cmd.matDic.Keys.ToList()[2]];
Dbgl($"item3 {cidd.RequireItem3} count {cidd.RequireItemNum3}");
}
else
{
cidd.RequireItem3 = 0;
cidd.RequireItemNum3 = 0;
}
}
else
{
cidd.RequireItem2 = 0;
cidd.RequireItemNum2 = 0;
}
newList.Add(new CompoundItem(cidd));
}
}
}
Dbgl("list length" + __result.Length);
__result = newList.ToArray();
Dbgl("list length" + __result.Length);
}
}

[HarmonyPatch(typeof(AutomataMachiePlace), "Handler")]
static class AutomataMachiePlace_1
{
static void Prefix(ActionType type, int ___plugType)
{
if(___plugType == 4)
{
if (type == ActionType.ActionRoll)
{
UIStateMgr.Instance.ChangeStateByType(UIStateMgr.StateType.CookMachine, false, null);
}
}
}
}

[HarmonyPatch(typeof(AutomataMachiePlace), "FreshItemShow", new Type[] { typeof(int) })]
static class AutomataMachiePlace_2
{
static void Postfix(AutomataMachiePlace __instance, int ___plugType)
{
if(___plugType == 4)
{
PlayerTargetMultiAction CurPlayerTarget = (PlayerTargetMultiAction)typeof(UnitViewer).GetProperty("CurPlayerTarget", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(__instance, null);
CurPlayerTarget.SetAction(ActionType.ActionRoll, 101174, ActionTriggerMode.Normal);
}
}
}

//[HarmonyPatch(typeof(CompoundManager), "InitCompoundData")]
static class CompoundManager_GetSourceData
{
static void Postfix(ref List<CompoundItemData> ___sourceData, ref CompoundTable[] ___m_compoundTable)
Expand All @@ -74,38 +181,109 @@ static void Postfix(ref List<CompoundItemData> ___sourceData, ref CompoundTable[
int start = 5000;
int start2 = 5001000;
List<CookMenuData> datas = Singleton<CookMenuMgr>.Instance.DataList;
foreach(CookMenuData data in datas)
var TagList = DbReader.Read<CookItemtarget>(LocalDb.cur.ReadFullTable("Cook_TagList"), 20);
foreach (CookMenuData data in datas)
{
try
{
CompoundItemData cid = cidd;
cid.ID = start++;
cid.NameID = Module<ItemDataMgr>.Self.GetItemNameId(data.Food);
cid.ItemID = data.Food;
cid.BookId = start2++;
if (data.Mats.Count > 0 && ItemObject.CreateItem(data.Mats[0].ID) != null)
if (data.Mats.Count > 0)
{
cid.RequireItem1 = data.Mats[0].ID;
cid.RequireItemNum1 = data.Mats[0].Num;
if (data.Mats.Count > 1 && ItemObject.CreateItem(data.Mats[1].ID) != null)
CompoundItemData cid = cidd;
cid.NameID = Module<ItemDataMgr>.Self.GetItemNameId(data.Food);
cid.ItemID = data.Food;
List<CookMenuData.Mat> mats = new List<CookMenuData.Mat>();
if (data.Mats[0].ID > 200)
{
mats.Add(data.Mats[0]);
}
else
{
cid.RequireItem2 = data.Mats[1].ID;
cid.RequireItemNum2 = data.Mats[1].Num;
if (data.Mats.Count > 2 && ItemObject.CreateItem(data.Mats[2].ID) != null)

List<CookItemtarget> items = TagList.FindAll((t) => t.Tag.Contains(data.Mats[0].ID));
foreach (CookItemtarget item in items)
{
cid.RequireItem3 = data.Mats[2].ID;
cid.RequireItemNum3 = data.Mats[2].Num;
mats.Add(new CookMenuData.Mat()
{
ID = item.ID,
Num = data.Mats[0].Num
});
}
}
foreach (CookMenuData.Mat mat in mats)
{
cid.RequireItem1 = mat.ID;
cid.RequireItemNum1 = data.Mats[0].Num;
if (data.Mats.Count > 1)
{
List<CookMenuData.Mat> mats2 = new List<CookMenuData.Mat>();
if (data.Mats[1].ID > 200)
{
mats2.Add(data.Mats[1]);
}
else
{
List<CookItemtarget> items = TagList.FindAll((t) => t.Tag.Contains(data.Mats[1].ID) );
foreach(CookItemtarget item in items)
{
mats2.Add(new CookMenuData.Mat()
{
ID = item.ID,
Num = data.Mats[1].Num
});
}
}
foreach (CookMenuData.Mat mat2 in mats2)
{
cid.RequireItem2 = mat2.ID;
cid.RequireItemNum2 = data.Mats[1].Num;
if (data.Mats.Count > 2)
{
List<CookMenuData.Mat> mats3 = new List<CookMenuData.Mat>();
if (data.Mats[2].ID > 200)
{
mats3.Add(data.Mats[2]);
}
else
{
List<CookItemtarget> items = TagList.FindAll((t) => t.Tag.Contains(data.Mats[2].ID));
foreach (CookItemtarget item in items)
{
mats3.Add(new CookMenuData.Mat()
{
ID = item.ID,
Num = data.Mats[2].Num
});
}
}
foreach (CookMenuData.Mat mat3 in mats3)
{
cid.RequireItem3 = mat3.ID;
cid.RequireItemNum3 = data.Mats[2].Num;

cid.ID = start++;
cid.BookId = start2++;
CompoundItem ci = new CompoundItem(cid);
___m_compoundTable[(int)cidd.CompoundType].AddItem(ci);
}
}
else
{
cid.ID = start++;
cid.BookId = start2++;
CompoundItem ci = new CompoundItem(cid);
___m_compoundTable[(int)cidd.CompoundType].AddItem(ci);
}
}
}
else
{
cid.ID = start++;
cid.BookId = start2++;
CompoundItem ci = new CompoundItem(cid);
___m_compoundTable[(int)cidd.CompoundType].AddItem(ci);
}
}
}
else
{
continue;
}
Dbgl("adding to " + (int)cidd.CompoundType);
CompoundItem ci = new CompoundItem(cid);
___m_compoundTable[(int)cidd.CompoundType].AddItem(ci);
//___sourceData.Add(cid);
}
catch (Exception ex)
{
Expand Down
14 changes: 5 additions & 9 deletions FarmAnimals/Main.cs
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
using Harmony12;
using Hont.ExMethod.Collection;
using Pathea;
using Pathea.ACT;
using Pathea.ModuleNs;
using Pathea.AnimalFarmNs;
using Pathea.HomeNs;
using Pathea.TipsNs;
using System;
using System.Collections.Generic;
using System.Reflection;
using Pathea.ActorNs;
using UnityEngine;
using UnityModManagerNet;
using static Pathea.ActorMotor;
using Pathea.AnimalFarmNs;
using Pathea.HomeNs;
using Hont.ExMethod.Collection;
using Pathea.TipsNs;

namespace FarmAnimals
{
Expand Down Expand Up @@ -189,7 +185,7 @@ private static bool Prefix(ref AnimalFarmUnit __instance)
{
string name = TextMgr.GetStr(AnimalData.GetDataByDataId(kvp.Key).NameId, -1);
Dbgl($"sending tips ui");
Singleton<TipsMgr>.Instance.SendSystemTip($"A {name} gave birth!");
Singleton<TipsMgr>.Instance.SendSystemTip($"{(kvp.Value > 1 ? kvp.Value + " " + name + "s" : "A " + name)} gave birth!");
}
}
return false;
Expand Down
4 changes: 3 additions & 1 deletion ShippingBin/Main.cs
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ private static int getGols(List<IdCount> items)
int gols = 0;
foreach (IdCount idc in items)
{
int g = (int)Math.Round(Module<ItemDataMgr>.Self.GetItemSellPrice(idc.id) * idc.count * Module<StoreManagerV40>.Self.CurPriceIndex);
int g = (int)Math.Round(Module<ItemDataMgr>.Self.GetItemBaseData(idc.id).SellPrice.id0 * idc.count * Module<StoreManagerV40>.Self.CurPriceIndex);
gols += g;
}
return gols;
Expand All @@ -103,6 +103,8 @@ private static int getGols(List<IdCount> items)
private static void SellItems(List<IdCount> ls)
{
int gols = getGols(ls);
if (gols <= 0)
return;
MailShipping ms = new MailShipping(gols);
Module<MailManager>.Self.SendToMailBox(ms);
}
Expand Down
34 changes: 25 additions & 9 deletions UMMFreeze/Main.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public class Main
{
public static bool enabled;

private static readonly bool isDebug = false;
private static readonly bool isDebug = true;

public static void Dbgl(string str = "", bool pref = true)
{
Expand All @@ -40,20 +40,36 @@ static void Prefix(bool value)
{
if (!enabled)
return;
if (value)

try
{
if (UIStateMgr.Instance.currentState.type == UIStateMgr.StateType.Play)
if (value)
{
Dbgl("Opening UMM");
if (UIStateMgr.Instance.currentState.type == UIStateMgr.StateType.Play)
{
Dbgl("Freezing UI");
Module<InputSolutionModule>.Self.Push(SolutionType.Empty);
UIStateComm.Instance.SetCursor(true);
Dbgl("UI Frozen");
}
}
else
{
Module<InputSolutionModule>.Self.Push(SolutionType.Empty);
UIStateComm.Instance.SetCursor(true);
Dbgl("Closing UMM");
if (Module<InputSolutionModule>.Self.CurSolutionType == SolutionType.Empty)
{
Dbgl("Unfreezing UI");
Module<InputSolutionModule>.Self.Pop();
UIStateComm.Instance.SetCursor(false);
Dbgl("UI Unfrozen");
}
}
}
else if(Module<InputSolutionModule>.Self.CurSolutionType == SolutionType.Empty)
catch(Exception ex)
{
Module<InputSolutionModule>.Self.Pop();
UIStateComm.Instance.SetCursor(false);
Dbgl("Exception: "+ex);
}

}
}

Expand Down
4 changes: 2 additions & 2 deletions repository.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
{"Id": "BuildAnywhere", "Version": "0.2.4"},
{"Id": "ChangeClothes", "Version": "0.2.4"},
{"Id": "ChineseVoice", "Version": "0.1.0"},
{"Id": "CookingMachine", "Version": "0.1.0"},
{"Id": "CookingMachine", "Version": "0.3.0"},
{"Id": "CustomizePlayer", "Version": "0.1.3"},
{"Id": "CustomMerch", "Version": "0.2.0"},
{"Id": "CustomQuests", "Version": "0.1.0"},
Expand Down Expand Up @@ -33,7 +33,7 @@
{"Id": "PlantMod", "Version": "0.3.0"},
{"Id": "PostProcessing", "Version": "0.2.0"},
{"Id": "SaveAnyTime", "Version": "0.10.0"},
{"Id": "ShippingBin", "Version": "0.1.3"},
{"Id": "ShippingBin", "Version": "0.1.4"},
{"Id": "StorageAnywhere", "Version": "0.6.0"},
{"Id": "Swim", "Version": "0.2.1"},
{"Id": "Teleport", "Version": "0.0.1"},
Expand Down

0 comments on commit af3f5f9

Please sign in to comment.