using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// GAME 1303 Tier 8 — An order from a customer: what the witch has to brew.
/// Create -> GAME1303 -> Recipe. Commission Witch.
///
/// From the instructor's whiteboard notes on Sylvia's pitch:
/// 1. order received 2. gather ingredients 3. mix and recipe check!
/// This asset is step 1 and the answer key for step 3.
/// </summary>
[CreateAssetMenu(menuName = "GAME1303/Recipe", fileName = "NewRecipe")]
public class Recipe : ScriptableObject
{
[System.Serializable]
public class Ingredient
{
public ItemType item;
public int amount = 1;
}
[Header("The order")]
public string potionName = "Calming Draught";
[TextArea(2, 4)] public string customerRequest = "";
public Sprite potionIcon;
[Header("What it needs")]
public List<Ingredient> required = new List<Ingredient>();
[Header("What ruins it")]
[Tooltip("Ingredients that spoil the brew if ANY are in the cauldron. 'are there bad ingredients?' — yes.")]
public List<ItemType> forbidden = new List<ItemType>();
[Tooltip("Extra ingredients beyond the recipe are tolerated up to this many. 0 = must be exact.")]
public int extrasAllowed = 0;
[Header("Rewards")]
public int payment = 10;
public string setFlagOnSuccess = "";
public string setFlagOnFailure = "";
}