static void Postfix(WealthWatcher __instance) { Map map = (Map)__instance.GetType().GetField("map", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(__instance); //float wealthBuildings = __instance.GetType().GetField("wealthBuildings", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(__instance) as float; FieldInfo wealthItemsFI = __instance.GetType().GetField("wealthItems", BindingFlags.NonPublic | BindingFlags.Instance); float wealthItems = (float)wealthItemsFI.GetValue(__instance); wealthItems = TallyWealth(WorldComp.GetInfiniteStorages(map), wealthItems); //wealthItems = TallyWealth(WorldComp.GetNonGlobalInfiniteStorages(map), wealthItems); if (lastItemWealth < 1) { lastItemWealth = wealthItems; } else if (wealthItems > lastItemWealth * 5) { float temp = wealthItems; wealthItems = lastItemWealth; lastItemWealth = temp; } else { lastItemWealth = wealthItems; } wealthItemsFI.SetValue(__instance, wealthItems); }
static void Postfix(WealthWatcher __instance) { Map map = (Map)__instance.GetType().GetField("map", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(__instance); FieldInfo wealthItemsFI = __instance.GetType().GetField("wealthItems", BindingFlags.NonPublic | BindingFlags.Instance); float wealthItems = (float)wealthItemsFI.GetValue(__instance); wealthItems = TallyWealth(WorldComp.GetWeaponStorages(map), wealthItems); wealthItemsFI.SetValue(__instance, wealthItems); }