generated from nhcarrigan/template
7f43dc725e
Add initialVampireState() and vampireSpread validation to mirror the goddess mode pattern. Also lint-fix pre-existing style issues across all Chunk 2 vampire data and type files.
539 lines
23 KiB
TypeScript
539 lines
23 KiB
TypeScript
/**
|
|
* @file Game data definitions.
|
|
* @copyright nhcarrigan
|
|
* @license Naomi's Public License
|
|
* @author Naomi Carrigan
|
|
*/
|
|
/* eslint-disable max-lines -- Data file */
|
|
/* eslint-disable stylistic/max-len -- Data content */
|
|
import type { CraftingRecipe } from "@elysium/types";
|
|
|
|
/*
|
|
* Note: In vampire context, "gold_income" bonus maps to blood income,
|
|
* "essence_income" maps to ichor income, and "combat_power" maps to thrall combat power.
|
|
*/
|
|
export const defaultVampireCraftingRecipes: Array<CraftingRecipe> = [
|
|
// ── Haunted Catacombs ─────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.1,
|
|
},
|
|
description: "Bone dust boiled with grave essence produces a thick extract that resonates with the catacombs' ancient hunger. Those who consume it briefly see in total darkness.",
|
|
id: "bone_dust_extract",
|
|
name: "Bone Dust Extract",
|
|
requiredMaterials: [
|
|
{ materialId: "bone_dust", quantity: 3 },
|
|
{ materialId: "grave_essence", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_haunted_catacombs",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "combat_power",
|
|
value: 1.1,
|
|
},
|
|
description: "Catacomb ash worked into a paste with grave essence, then applied to weapons before battle. The ash remembers every fight these tunnels have witnessed.",
|
|
id: "catacomb_tonic",
|
|
name: "Catacomb Tonic",
|
|
requiredMaterials: [
|
|
{ materialId: "catacomb_ash", quantity: 2 },
|
|
{ materialId: "grave_essence", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_haunted_catacombs",
|
|
},
|
|
// ── Blood Mire ────────────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.1,
|
|
},
|
|
description: "Mire sludge filtered through blood moss produces a dense poultice that, when applied correctly, amplifies the feeding reflex across all thralls in range.",
|
|
id: "mire_poultice",
|
|
name: "Mire Poultice",
|
|
requiredMaterials: [
|
|
{ materialId: "mire_sludge", quantity: 3 },
|
|
{ materialId: "blood_moss", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_blood_mire",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "combat_power",
|
|
value: 1.1,
|
|
},
|
|
description: "Blood moss steeped in crimson reed sap makes a foul-smelling brew that is nevertheless extremely popular before fights — it dulls pain and sharpens reflex.",
|
|
id: "blood_moss_brew",
|
|
name: "Blood Moss Brew",
|
|
requiredMaterials: [
|
|
{ materialId: "blood_moss", quantity: 3 },
|
|
{ materialId: "crimson_reed", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_blood_mire",
|
|
},
|
|
// ── Obsidian Keep ─────────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "combat_power",
|
|
value: 1.15,
|
|
},
|
|
description: "Obsidian chips ground into a paste with iron shavings make an abrasive compound used to hone weapons. The resulting edge carries a trace of the Keep's blood magic.",
|
|
id: "obsidian_edge",
|
|
name: "Obsidian Edge Compound",
|
|
requiredMaterials: [
|
|
{ materialId: "obsidian_chip", quantity: 3 },
|
|
{ materialId: "iron_shaving", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_obsidian_keep",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.15,
|
|
},
|
|
description: "Keep mortar dissolved into a slurry with iron shavings creates a sealant that, when applied to the feeding chambers, prevents blood loss between hunts.",
|
|
id: "keep_mortar_mix",
|
|
name: "Keep Mortar Mix",
|
|
requiredMaterials: [
|
|
{ materialId: "keep_mortar", quantity: 1 },
|
|
{ materialId: "iron_shaving", quantity: 3 },
|
|
],
|
|
zoneId: "vampire_obsidian_keep",
|
|
},
|
|
// ── Crimson Citadel ───────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.15,
|
|
},
|
|
description: "Citadel stone powder mixed with blood bronze filings creates a seal that, when pressed into the architecture of a feeding ground, amplifies the blood yield of the space.",
|
|
id: "citadel_seal",
|
|
name: "Citadel Seal",
|
|
requiredMaterials: [
|
|
{ materialId: "citadel_stone", quantity: 2 },
|
|
{ materialId: "blood_bronze", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_crimson_citadel",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "combat_power",
|
|
value: 1.2,
|
|
},
|
|
description: "Crimson silk wrapped around weapons before battle absorbs moonlight during the process. Thralls armed with these wrapped weapons fight with unusual composure.",
|
|
id: "crimson_silk_wrap",
|
|
name: "Crimson Silk Wrap",
|
|
requiredMaterials: [
|
|
{ materialId: "crimson_silk", quantity: 1 },
|
|
{ materialId: "blood_bronze", quantity: 3 },
|
|
],
|
|
zoneId: "vampire_crimson_citadel",
|
|
},
|
|
// ── Shadow Court ──────────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.2,
|
|
},
|
|
description: "Shadow thread woven into a net and suspended over feeding grounds creates an obscuring field that encourages prey to walk toward the hunter.",
|
|
id: "shadow_thread_weave",
|
|
name: "Shadow Thread Weave",
|
|
requiredMaterials: [
|
|
{ materialId: "shadow_thread", quantity: 4 },
|
|
{ materialId: "whisper_ink", quantity: 1 },
|
|
],
|
|
zoneId: "vampire_shadow_court",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "essence_income",
|
|
value: 1.2,
|
|
},
|
|
description: "Whisper ink recorded with secrets about the ichor trade and sealed with court wax. Reading it reveals techniques for extracting greater ichor yield during the siring rite.",
|
|
id: "whisper_ink_tome",
|
|
name: "Whisper Ink Tome",
|
|
requiredMaterials: [
|
|
{ materialId: "whisper_ink", quantity: 2 },
|
|
{ materialId: "court_wax", quantity: 1 },
|
|
],
|
|
zoneId: "vampire_shadow_court",
|
|
},
|
|
// ── Plague Ossuary ────────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "combat_power",
|
|
value: 1.2,
|
|
},
|
|
description: "Plague ash worked into a paste with ossuary resin and applied to thrall weapons before battle. The pestilence that lingers in the ash makes opponents hesitate.",
|
|
id: "plague_ash_remedy",
|
|
name: "Plague Ash Weapon Coat",
|
|
requiredMaterials: [
|
|
{ materialId: "plague_ash", quantity: 3 },
|
|
{ materialId: "ossuary_resin", quantity: 1 },
|
|
],
|
|
zoneId: "vampire_plague_ossuary",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.2,
|
|
},
|
|
description: "Infected bone ground down and mixed with ossuary resin creates a sealant for feeding vessels that prevents spoilage and stretches each harvest considerably further.",
|
|
id: "ossuary_resin_coat",
|
|
name: "Ossuary Preservation Coat",
|
|
requiredMaterials: [
|
|
{ materialId: "infected_bone", quantity: 2 },
|
|
{ materialId: "ossuary_resin", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_plague_ossuary",
|
|
},
|
|
// ── Ashen Wastes ──────────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "combat_power",
|
|
value: 1.25,
|
|
},
|
|
description: "Volatile compounds produced when volcanic ash and cinder crystals are combined make an excellent weapon coating — the resulting strike burns in ways cold steel cannot.",
|
|
id: "volcanic_ash_bomb",
|
|
name: "Volcanic Ash Bomb",
|
|
requiredMaterials: [
|
|
{ materialId: "volcanic_ash", quantity: 3 },
|
|
{ materialId: "cinder_crystal", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_ashen_wastes",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.25,
|
|
},
|
|
description: "Ashen cloth soaked in volcanic ash produces a wrapping for the body that insulates against heat and disperses the blood-scent of the wearer, making them harder to detect.",
|
|
id: "ashen_cloth_wrap",
|
|
name: "Ashen Cloth Wrapping",
|
|
requiredMaterials: [
|
|
{ materialId: "ashen_cloth", quantity: 2 },
|
|
{ materialId: "volcanic_ash", quantity: 3 },
|
|
],
|
|
zoneId: "vampire_ashen_wastes",
|
|
},
|
|
// ── The Iron Gaol ─────────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "combat_power",
|
|
value: 1.3,
|
|
},
|
|
description: "Iron rivets combined with a length of chain link produce a weapon wrap that adds both weight and containment glyph resonance to every strike.",
|
|
id: "iron_chain_shackle",
|
|
name: "Iron Chain Shackle",
|
|
requiredMaterials: [
|
|
{ materialId: "iron_rivet", quantity: 3 },
|
|
{ materialId: "chain_link", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_iron_gaol",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.3,
|
|
},
|
|
description: "Gaol stone ground and packed with iron rivets into a floor-sealing mortar. The despair absorbed into the stone makes the feeding ground more effective at producing passive blood.",
|
|
id: "gaol_stone_mortar",
|
|
name: "Gaol Stone Mortar",
|
|
requiredMaterials: [
|
|
{ materialId: "gaol_stone", quantity: 1 },
|
|
{ materialId: "iron_rivet", quantity: 4 },
|
|
],
|
|
zoneId: "vampire_iron_gaol",
|
|
},
|
|
// ── Veilborn Hollow ───────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.3,
|
|
},
|
|
description: "Veil thread woven through the structure of a feeding ground creates small tears in the boundary between worlds. Blood that passes through these tears is somehow more potent.",
|
|
id: "veil_thread_weave",
|
|
name: "Veil Thread Weave",
|
|
requiredMaterials: [
|
|
{ materialId: "veil_thread", quantity: 4 },
|
|
{ materialId: "hollow_crystal", quantity: 1 },
|
|
],
|
|
zoneId: "vampire_veilborn_hollow",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "combat_power",
|
|
value: 1.3,
|
|
},
|
|
description: "Phantom dust mixed with hollow crystal powder creates a potion that, when consumed, allows thralls to partially phase during the first moments of a fight — before the enemy can react.",
|
|
id: "phantom_dust_potion",
|
|
name: "Phantom Dust Potion",
|
|
requiredMaterials: [
|
|
{ materialId: "phantom_dust", quantity: 1 },
|
|
{ materialId: "hollow_crystal", quantity: 3 },
|
|
],
|
|
zoneId: "vampire_veilborn_hollow",
|
|
},
|
|
// ── Moonless Moor ─────────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.35,
|
|
},
|
|
description: "Moor peat rendered with fog essence produces a slow-burning fuel that warms the feeding ground whilst simultaneously obscuring its location from outsiders.",
|
|
id: "moor_peat_tonic",
|
|
name: "Moor Peat Fuel",
|
|
requiredMaterials: [
|
|
{ materialId: "moor_peat", quantity: 3 },
|
|
{ materialId: "fog_essence", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_moonless_moor",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "combat_power",
|
|
value: 1.35,
|
|
},
|
|
description: "A brew of night bloom petals steeped in fog essence produces a drink that heightens the predator's senses to impossible levels for a brief, battle-winning window.",
|
|
id: "fog_essence_brew",
|
|
name: "Fog Essence Brew",
|
|
requiredMaterials: [
|
|
{ materialId: "fog_essence", quantity: 3 },
|
|
{ materialId: "night_bloom", quantity: 1 },
|
|
],
|
|
zoneId: "vampire_moonless_moor",
|
|
},
|
|
// ── The Sunken Crypt ──────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.4,
|
|
},
|
|
description: "Sunken stone coated in drowned silk becomes a permanent feeding vessel — the silk prevents evaporation and the stone's porous structure allows remarkable volume.",
|
|
id: "sunken_stone_seal",
|
|
name: "Sunken Stone Vessel",
|
|
requiredMaterials: [
|
|
{ materialId: "sunken_stone", quantity: 2 },
|
|
{ materialId: "drowned_silk", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_sunken_crypt",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "essence_income",
|
|
value: 1.4,
|
|
},
|
|
description: "Deep amber dissolved in a solvent derived from sunken stone — the resulting extract amplifies ichor yield during siring by resonating with the amber's preserved fragments.",
|
|
id: "deep_amber_extract",
|
|
name: "Deep Amber Extract",
|
|
requiredMaterials: [
|
|
{ materialId: "deep_amber", quantity: 1 },
|
|
{ materialId: "sunken_stone", quantity: 3 },
|
|
],
|
|
zoneId: "vampire_sunken_crypt",
|
|
},
|
|
// ── Desecrated Sanctum ────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "combat_power",
|
|
value: 1.4,
|
|
},
|
|
description: "Defiled marble carved into a totem and inscribed with dark incense smoke. The desecrated memory in the marble makes it an effective focus for battle rites.",
|
|
id: "defiled_marble_totem",
|
|
name: "Defiled Marble Totem",
|
|
requiredMaterials: [
|
|
{ materialId: "defiled_marble", quantity: 3 },
|
|
{ materialId: "dark_incense", quantity: 1 },
|
|
],
|
|
zoneId: "vampire_desecrated_sanctum",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.4,
|
|
},
|
|
description: "Dark incense burned in a vessel made of sanctum glass creates a ritual smoke that saturates a feeding ground with the hunger of the desecrated, amplifying all blood yield.",
|
|
id: "dark_incense_ritual",
|
|
name: "Dark Incense Ritual",
|
|
requiredMaterials: [
|
|
{ materialId: "dark_incense", quantity: 2 },
|
|
{ materialId: "sanctum_glass", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_desecrated_sanctum",
|
|
},
|
|
// ── Carrion Peaks ─────────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "combat_power",
|
|
value: 1.45,
|
|
},
|
|
description: "Carrion bone worked into a talisman and inlaid with peak crystal shards creates a focus for the predator's instinct — thralls carrying it fight with the certainty of the high hunt.",
|
|
id: "carrion_bone_talisman",
|
|
name: "Carrion Bone Talisman",
|
|
requiredMaterials: [
|
|
{ materialId: "carrion_bone", quantity: 3 },
|
|
{ materialId: "peak_crystal", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_carrion_peaks",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.45,
|
|
},
|
|
description: "Blood obsidian edges ground from peak crystal and bonded to carrion bone handles — weapons that are as much ritual object as instrument of predation.",
|
|
id: "blood_obsidian_edge",
|
|
name: "Blood Obsidian Edge",
|
|
requiredMaterials: [
|
|
{ materialId: "blood_obsidian", quantity: 1 },
|
|
{ materialId: "peak_crystal", quantity: 3 },
|
|
],
|
|
zoneId: "vampire_carrion_peaks",
|
|
},
|
|
// ── The Bloodspire ────────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.5,
|
|
},
|
|
description: "Spire stone carved into a seal and inscribed with blood crystal resonance. When placed at the centre of a feeding ground, it draws blood from the surrounding area passively.",
|
|
id: "spire_stone_seal",
|
|
name: "Spire Stone Seal",
|
|
requiredMaterials: [
|
|
{ materialId: "spire_stone", quantity: 3 },
|
|
{ materialId: "blood_crystal", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_bloodspire",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "essence_income",
|
|
value: 1.5,
|
|
},
|
|
description: "Ancient gore dissolved in a blood crystal suspension — a highly potent ichor catalyst that resonates with the Spire's pre-existing blood magic to enhance ichor production dramatically.",
|
|
id: "blood_crystal_extract",
|
|
name: "Blood Crystal Extract",
|
|
requiredMaterials: [
|
|
{ materialId: "blood_crystal", quantity: 3 },
|
|
{ materialId: "ancient_gore", quantity: 1 },
|
|
],
|
|
zoneId: "vampire_bloodspire",
|
|
},
|
|
// ── Shroud of Eternity ────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.5,
|
|
},
|
|
description: "Eternity thread woven through a feeding space creates a temporal fold that causes each feeding to last slightly longer than it should. The blood never quite finishes flowing.",
|
|
id: "eternity_thread_weave",
|
|
name: "Eternity Thread Weave",
|
|
requiredMaterials: [
|
|
{ materialId: "eternity_thread", quantity: 4 },
|
|
{ materialId: "shroud_dust", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_shroud_of_eternity",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "combat_power",
|
|
value: 1.5,
|
|
},
|
|
description: "Timeless amber dissolved and reset in a shroud dust medium creates a capsule that, when broken before battle, briefly accelerates the thrall's perception of time.",
|
|
id: "timeless_amber_brew",
|
|
name: "Timeless Amber Brew",
|
|
requiredMaterials: [
|
|
{ materialId: "timeless_amber", quantity: 1 },
|
|
{ materialId: "shroud_dust", quantity: 3 },
|
|
],
|
|
zoneId: "vampire_shroud_of_eternity",
|
|
},
|
|
// ── The Abyssal Vault ─────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.6,
|
|
},
|
|
description: "Abyssal stone inscribed with void crystal dust creates a seal that, when placed in a feeding ground, creates a pocket of absolute silence — prey within it cannot call for help.",
|
|
id: "abyssal_stone_seal",
|
|
name: "Abyssal Stone Seal",
|
|
requiredMaterials: [
|
|
{ materialId: "abyssal_stone", quantity: 3 },
|
|
{ materialId: "void_crystal", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_abyssal_vault",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "combat_power",
|
|
value: 1.6,
|
|
},
|
|
description: "Void crystal ground and bonded to vault iron makes a weapon component that strikes with the force of absolute inevitability — opponents don't question whether they will fall, only when.",
|
|
id: "void_crystal_totem",
|
|
name: "Void Crystal Weapon Core",
|
|
requiredMaterials: [
|
|
{ materialId: "void_crystal", quantity: 2 },
|
|
{ materialId: "vault_iron", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_abyssal_vault",
|
|
},
|
|
// ── Court of Whispers ─────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "essence_income",
|
|
value: 1.6,
|
|
},
|
|
description: "Whisper parchment inscribed with silent ink contains the distilled knowledge of the Court's ichor trade. Reading it aloud triggers a resonance that permanently enhances ichor yield.",
|
|
id: "whisper_parchment_tome",
|
|
name: "Whisper Parchment Tome",
|
|
requiredMaterials: [
|
|
{ materialId: "whisper_parchment", quantity: 2 },
|
|
{ materialId: "silent_ink", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_court_of_whispers",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.6,
|
|
},
|
|
description: "Silent ink mixed with court crystal powder creates a medium for a feeding ritual that cannot be detected by anyone not already participating — the blood flows and no one outside knows.",
|
|
id: "silent_ink_ritual",
|
|
name: "Silent Ink Ritual",
|
|
requiredMaterials: [
|
|
{ materialId: "silent_ink", quantity: 1 },
|
|
{ materialId: "court_crystal", quantity: 3 },
|
|
],
|
|
zoneId: "vampire_court_of_whispers",
|
|
},
|
|
// ── The Eternal Abyss ─────────────────────────────────────────────────────
|
|
{
|
|
bonus: {
|
|
type: "gold_income",
|
|
value: 1.75,
|
|
},
|
|
description: "Void essence rendered in an eternal crystal medium produces a brew of impossible potency. Something about the combination makes every subsequent feeding feel like the first — and the first is always the best.",
|
|
id: "void_essence_brew",
|
|
name: "Void Essence Brew",
|
|
requiredMaterials: [
|
|
{ materialId: "void_essence", quantity: 3 },
|
|
{ materialId: "eternal_crystal", quantity: 2 },
|
|
],
|
|
zoneId: "vampire_eternal_abyss",
|
|
},
|
|
{
|
|
bonus: {
|
|
type: "essence_income",
|
|
value: 1.75,
|
|
},
|
|
description: "An eternal crystal seal made with primordial ash creates a focus for ichor resonance that has no upper bound — the older the vampire who sets it, the more it yields.",
|
|
id: "eternal_crystal_seal",
|
|
name: "Eternal Crystal Seal",
|
|
requiredMaterials: [
|
|
{ materialId: "eternal_crystal", quantity: 3 },
|
|
{ materialId: "primordial_ash", quantity: 1 },
|
|
],
|
|
zoneId: "vampire_eternal_abyss",
|
|
},
|
|
];
|