static bool CraftingMenu_GenerateResult_Pre(CraftingMenu __instance, ref int __state, ItemReferenceQuantity _result) { #region quit if (_extraResultsMultiplier == 100) { return(true); } #endregion __state = _result.Quantity; _result.Quantity = GetModifiedResultsAmount(_result); return(true); }
static void CraftingMenu_GenerateResult_Post(CraftingMenu __instance, ref int __state, ItemReferenceQuantity _result) { #region quit if (_extraResultsMultiplier == 100) { return; } #endregion _result.Quantity = __state; }
static private int GetModifiedResultsAmount(ItemReferenceQuantity result) => 1 + (result.Quantity - 1f).Mul(_extraResultsMultiplier / 100f).Round();