Recipe System
Recipes are the foundation of the crafting system, defining how materials transform into useful items. Understanding recipe structure and mechanics is essential for creating balanced crafting progression.
Recipe Structure
Recipes are specialized items that contain crafting instructions:
interface RecipeItem extends ItemBase {
kind: 'recipe';
// Output items for different quality levels
baseItem: Item; // Basic crafting result
perfectItem: Item; // Perfect quality result
sublimeItem?: Item; // Sublime quality result (high-tier only)
// Crafting requirements
realmProgress: RealmProgress; // Required cultivation stage
difficulty: RecipeDifficulty; // Crafting challenge level
ingredients: {
// Required materials
item: Item;
quantity: number;
}[];
// Optional overrides
conditionEffectOverride?: RecipeConditionEffect;
harmonyTypeOverride?: RecipeHarmonyType;
// Advanced options
displayPerfect?: boolean;
hideFromCompendium?: boolean;
}
Quality Tiers
Recipes produce different quality outputs based on crafting success:
Basic Quality
- Default output for successful crafting
- Requires meeting minimum requirements
- Standard stats and effects
Perfect Quality
- Enhanced version with improved stats
- Requires higher skill and favourable conditions
- Often 20-50% better than basic version
Sublime Quality
- Ultimate version available only for high-tier recipes
- Exceptional stats and unique effects
- Only available for Core Formation realm and above
Quality Examples
// Healing Pill Recipe progression
export const healingPillRecipeIV: RecipeItem = {
name: 'Healing Pill (IV) Recipe',
realm: 'coreFormation',
baseItem: { ...healingPillMap.coreFormation, stacks: 5 }, // Basic
perfectItem: { ...healingPillPlusMap.coreFormation, stacks: 5 }, // Perfect
sublimeItem: { ...healingPillSMap.coreFormation, stacks: 5 }, // Sublime
ingredients: [
{ item: spiritFlameGrass, quantity: 4 },
{ item: celestialBlossom, quantity: 1 },
],
realmProgress: 'Early',
difficulty: 'easy',
};
Difficulty System
Recipe difficulty can not be manually set. It is instead derived from 3 fields that control its complexity. realm
, realmProgress
, and difficulty
. In general, the rule of thumb is to set the realm equal to that of the item being made. Then set the realmProgress to be where in that realm is the item intended to be used (is it a progression item (Early
or Middle
) or an end-game target (Late
)). Finally, set the difficulty based on how hard you wish it to be (and if uncertain, set it to medium
).
type RecipeDifficulty = 'easy' | 'medium' | 'hard' | 'extreme';
Difficulty Effects
Easy
- Basic recipes for new crafters
- High success rates
- Minimal skill requirements
- Common materials only
Medium
- Intermediate recipes
- Moderate skill requirements
- Mix of common and uncommon materials
- Introduces complexity
Hard
- Advanced recipes for experienced crafters
- High skill requirements
- Rare materials required
- Complex harmony patterns
Extreme
- Master-tier recipes
- Maximum skill requirements
- Legendary materials
- Punishing failure consequences
Harmony Types
Recipes can override default harmony mechanics:
type RecipeHarmonyType = 'forge' | 'alchemical' | 'inscription' | 'resonance';
Harmony Mechanics
Forge Works
- Heat management system
- Fusion actions increase heat, others decrease
- Optimal heat range provides bonuses
Alchemical Arts
- Action combination system
- Every 3 actions create effects
- Specific combinations grant bonuses
Inscribed Patterns
- Block-based action requirements
- Must follow prescribed patterns
- Invalid actions cause severe penalties
Spiritual Resonance
- Single action type focus
- Building resonance grants stacking bonuses
- Switching types causes penalties
Ingredient System
Recipes require specific materials in exact quantities:
Material Types
Basic Materials
- Common herbs and minerals
- Low-tier requirements
- Readily available through gathering
Distillations
- Processed materials requiring sub-recipes
- Mid-tier crafting components
- Created through material refinement
Rare Components
- Unique materials from specific sources
- High-tier recipe requirements
- Often require exploration or combat
Ingredient Examples
// Simple recipe - basic materials
ingredients: [
{ item: lesserSpiritGrass, quantity: 5 },
{ item: lesserYuheHerb, quantity: 1 },
];
// Advanced recipe - processed materials
ingredients: [{ item: fleshweavingDistillation, quantity: 2 }];
// Complex recipe - multiple rare materials
ingredients: [
{ item: spiritFlameGrass, quantity: 4 },
{ item: celestialBlossom, quantity: 1 },
];
Condition Effects
Recipes can specify custom condition behaviors:
interface RecipeConditionEffect {
name: string;
conditionEffects: Record<
CraftingCondition,
{
tooltip: string;
effects: CraftingConditionEffect[];
}
>;
}
Condition Types
- Neutral: Balanced state
- Positive: Favorable conditions
- Negative: Resistant conditions
- Very Positive: Brilliant conditions
- Very Negative: Corrupted conditions
Recipe Categories
Recipes span all major item categories:
Equipment Recipes
- Clothing: Armor and robes
- Artefacts: Powerful weapons
- Talismans: Accessory items
- Cauldrons: Crafting equipment
Consumable Recipes
- Pills: Combat and crafting enhancement
- Concoctions: Combat consumables
- Elixirs: Qi restoration items
- Reagents: Crafting consumables
- Consumables: Formation parts and other combat usable items
Material Recipes
- Distillations: Processed materials
- Blanks: Equipment crafting bases
- Components: Specialized materials
Special Recipes
- Mystical Keys: Region access items
- Formations: Environmental enhancements
- Breakthrough Pills: Advancement items
Recipe Design Guidelines
Progression Balance
- Linear Scaling: Each tier should meaningfully improve on the last
- Material Availability: Ensure ingredients match expected player resources
- Skill Requirements: Difficulty should match realm expectations
Economic Integration
- Cost Effectiveness: Recipes should provide value for material investment
- Market Position: Consider how crafted items compete with drops/purchases
- Resource Sinks: Higher-tier recipes should consume valuable materials
Player Experience
- Clear Upgrades: Recipe tiers should offer obvious improvements
- Experimentation: Allow players to discover optimal crafting strategies
- Specialization: Support different crafting focuses and builds
Implementation Examples
Basic Progression Recipe
export const healingPillRecipeBodyForging: RecipeItem = {
kind: 'recipe',
name: 'Healing Pill (I) Recipe',
description:
'The recipe for a Healing Pill suitable for a Body Forging cultivator.',
icon: pillRecipeIcon,
stacks: 1,
rarity: 'mundane',
realm: 'bodyForging',
baseItem: { ...healingPillMap.bodyForging, stacks: 5 },
perfectItem: { ...healingPillPlusMap.bodyForging, stacks: 5 },
ingredients: [
{ item: lesserSpiritGrass, quantity: 5 },
{ item: lesserYuheHerb, quantity: 1 },
],
realmProgress: 'Early',
difficulty: 'easy',
};
Advanced Master Recipe
export const celestialTalonRecipe: RecipeItem = {
kind: 'recipe',
name: 'Celestial Talon Recipe',
description:
'Instructions for forging a weapon that channels the power of the stars.',
icon: artefactRecipeIcon,
stacks: 1,
rarity: 'resplendent',
realm: 'coreFormation',
baseItem: celestialTalon,
perfectItem: celestialTalonPerfect,
sublimeItem: celestialTalonSublime,
ingredients: [
{ item: starryOrchid, quantity: 3 },
{ item: celestialEssence, quantity: 2 },
{ item: artefactBlank, quantity: 1 },
],
realmProgress: 'Late',
difficulty: 'extreme',
harmonyTypeOverride: 'forge',
};
The recipe system provides structured progression that rewards player advancement while maintaining crafting challenge and economic balance throughout the cultivation journey.