Fruit Items

Consumables that provide permanent stat bonuses.

Base Interface

interface BaseSpiritFruitItem extends ItemBase {
  kind: 'fruit';
  subKind: 'affinity' | 'lifespan';
}

Fruit Types

Affinity Fruits

interface AffinityFruitItem extends BaseSpiritFruitItem {
  subKind: 'affinity';
  amounts: Partial<Omit<Record<TechniqueElement, number>, 'none'>>;
  max: number;  // Maximum affinity it can increase to
}

Lifespan Fruits

interface LifespanFruitItem extends BaseSpiritFruitItem {
  subKind: 'lifespan';
  years: number;  // Years of lifespan added
}

Examples

// Affinity fruit
export const celestialFruit: AffinityFruitItem = {
  description: 'Improves celestial affinity.',
  icon: 'assets/example.png',
  stacks: 1,
  rarity: 'mundane',
  realm: 'meridianOpening',
  kind: 'fruit',
  subKind: 'affinity',
  name: 'Celestial Spirit Fruit',
  max: 255, // Can increase affinity to a maximum of 255
  amounts: { celestial: 10 },
  // ... base properties
};

// Lifespan fruit
export const longevityPeach: LifespanFruitItem = {
  description: 'Extends the lifespan of the cultivator who eats it.',
  icon: 'assets/example.png',
  stacks: 1,
  rarity: 'mundane',
  realm: 'meridianOpening',
  kind: 'fruit',
  subKind: 'lifespan',
  name: 'Longevity Peach',
  years: 100,
  // ... base properties
};