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 = {
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 = {
kind: 'fruit',
subKind: 'lifespan',
name: 'Longevity Peach',
years: 100,
// ... base properties
};