private static void Postfix(Tinkerable __instance, ref bool __result)
            {
                var extra = __instance.GetComponent <ExtraSeedProducer>();

                if (extra != null)
                {
                    __result = __result || !extra.ShouldFarmTinkerTending;
                }
                // todo: может быть. прикрутить запрет убобрять засохшие или полностью выросшие.
            }
            private static void Postfix(Tinkerable __instance, Worker worker)
            {
                var extra = __instance.GetComponent <ExtraSeedProducer>();

                if (extra != null && !extra.ExtraSeedAvailable)
                {
                    // шанс получить семя за счет навыка фермера
                    float seedChance = worker.GetComponent <AttributeConverters>().Get(ExtraSeedTendingChance).Evaluate();
                    // множитель длительности эффекта.
                    float effectMultiplier =
#if EXPANSION1
                        worker.GetAttributes().Get(Db.Get().Attributes.Get(__instance.effectAttributeId)).GetTotalValue() * __instance.effectMultiplier +
#endif
                        1f;
                    // чем выше навык, тем дольше эффект, тем реже убобряют, поэтому перемножаем чтобы выровнять шансы

                    Debug.Log($"Tinkerable ExtraSeed effectMultiplier={effectMultiplier}, seedChance={seedChance}");

                    extra.CreateExtraSeed(seedChance * effectMultiplier);
                }
            }