openthebox/src/OpenTheBox/Core/Crafting/Recipe.cs
Samuel Bouchet c9f8a9566a Add adventure secret branches, Destiny finale, crafting system, and project docs
Integrate stats, resources, and cosmetics into adventures via conditional
branches gated by game state checks. Each of the 9 adventures now has a
secret branch that rewards exploration and encourages replay with subtle
hints on locked choices. The endgame box now triggers a Destiny adventure
that acknowledges all completed adventures and secret branches, with four
ending tiers culminating in an ultimate ending when all 9 secrets are found.

Also adds the crafting engine, CLAUDE.md and specifications.md for faster
onboarding.
2026-03-11 17:50:37 +01:00

23 lines
655 B
C#

using OpenTheBox.Core.Enums;
namespace OpenTheBox.Core.Crafting;
/// <summary>
/// A crafting recipe that transforms ingredients into a result item at a specific workstation.
/// </summary>
public sealed record Recipe(
string Id,
string NameKey,
WorkstationType Workstation,
List<RecipeIngredient> Ingredients,
RecipeResult Result);
/// <summary>
/// A single ingredient requirement for a recipe.
/// </summary>
public sealed record RecipeIngredient(string ItemDefinitionId, int Quantity);
/// <summary>
/// The output of a completed recipe.
/// </summary>
public sealed record RecipeResult(string ItemDefinitionId, int Quantity);