private void ShowWeeklyRecipes() { if (_thisWeeksRecipes.Count == 0) { ShowNoRecipes(); return; } Monitor.Log($"This weeks recipes are:", LogLevel.Alert); foreach (var item in _thisWeeksRecipes) { Monitor.Log($"{ModHelper.GetMoneyAsString(item.AquisitionConditions.Cost)} - {item.Name}", LogLevel.Info); } }
private void BuyRecipe(string[] args, bool checkInWeeklyRecipes = true) { if (args.Length == 1) { var recipeName = args[0].Trim('"'); var recipe = _cookingRecipes.FirstOrDefault(x => x.Name.Equals(recipeName, StringComparison.OrdinalIgnoreCase)); if (recipe == null) { Monitor.Log("Recipe not found", LogLevel.Info); return; } // Use the explicit name recipeName = recipe.Name; if (recipe.IsKnown || Game1.player.cookingRecipes.ContainsKey(recipeName)) { recipe.IsKnown = true; Monitor.Log("Recipe already known", LogLevel.Info); return; } if (checkInWeeklyRecipes && !_thisWeeksRecipes.Any(x => x.Name.Equals(recipeName))) { Monitor.Log("Recipe is not availble to buy this week", LogLevel.Info); return; } if (Game1.player.Money < recipe.AquisitionConditions.Cost) { Monitor.Log("You can't affort this recipe", LogLevel.Info); return; } Game1.player.cookingRecipes.Add(recipeName, 0); Game1.player.Money -= recipe.AquisitionConditions.Cost; recipe.IsKnown = true; Monitor.Log($"{recipeName} bought for {ModHelper.GetMoneyAsString(recipe.AquisitionConditions.Cost)}!", LogLevel.Alert); } else { LogArgumentsInvalid("buy"); } }