generated from nhcarrigan/template
feat: vampire mode chunk 3 - sync/sanitize and initial state
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.
This commit is contained in:
@@ -20,9 +20,18 @@ import { defaultGoddessZones } from "./goddessZones.js";
|
||||
import { defaultQuests } from "./quests.js";
|
||||
import { currentSchemaVersion } from "./schemaVersion.js";
|
||||
import { defaultUpgrades } from "./upgrades.js";
|
||||
import { defaultVampireAchievements } from "./vampireAchievements.js";
|
||||
import { defaultVampireBosses } from "./vampireBosses.js";
|
||||
import { defaultVampireEquipment } from "./vampireEquipment.js";
|
||||
import { defaultVampireExplorationAreas } from "./vampireExplorations.js";
|
||||
import { defaultVampireQuests } from "./vampireQuests.js";
|
||||
import { defaultVampireThralls } from "./vampireThralls.js";
|
||||
import { defaultVampireUpgrades } from "./vampireUpgrades.js";
|
||||
import { defaultVampireZones } from "./vampireZones.js";
|
||||
import { defaultZones } from "./zones.js";
|
||||
import type {
|
||||
ApotheosisData,
|
||||
AwakeningData,
|
||||
ConsecrationData,
|
||||
EnlightenmentData,
|
||||
ExplorationState,
|
||||
@@ -30,7 +39,9 @@ import type {
|
||||
GoddessState,
|
||||
Player,
|
||||
PrestigeData,
|
||||
SiringData,
|
||||
TranscendenceData,
|
||||
VampireState,
|
||||
} from "@elysium/types";
|
||||
|
||||
const initialPrestige: PrestigeData = {
|
||||
@@ -91,6 +102,24 @@ const initialEnlightenment: EnlightenmentData = {
|
||||
stardustPrayersMultiplier: 1,
|
||||
};
|
||||
|
||||
const initialSiring: SiringData = {
|
||||
count: 0,
|
||||
ichor: 0,
|
||||
productionMultiplier: 1,
|
||||
purchasedUpgradeIds: [],
|
||||
};
|
||||
|
||||
const initialAwakening: AwakeningData = {
|
||||
count: 0,
|
||||
purchasedUpgradeIds: [],
|
||||
soulShards: 0,
|
||||
soulShardsBloodMultiplier: 1,
|
||||
soulShardsCombatMultiplier: 1,
|
||||
soulShardsMetaMultiplier: 1,
|
||||
soulShardsSiringIchorMultiplier: 1,
|
||||
soulShardsSiringThresholdMultiplier: 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* Builds a fresh initial goddess state for a player who has just completed their
|
||||
* first Apotheosis. All goddess content is locked until progressed through the realm.
|
||||
@@ -132,6 +161,48 @@ const initialGoddessState = (): GoddessState => {
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Builds a fresh initial vampire state for a player who has just achieved their
|
||||
* first Eternal Sovereignty. All vampire content is locked until progressed through the realm.
|
||||
* @returns A clean VampireState with all default data.
|
||||
*/
|
||||
const initialVampireState = (): VampireState => {
|
||||
return {
|
||||
achievements: structuredClone(defaultVampireAchievements),
|
||||
awakening: { ...initialAwakening },
|
||||
baseClickPower: 1,
|
||||
bosses: structuredClone(defaultVampireBosses),
|
||||
equipment: structuredClone(defaultVampireEquipment),
|
||||
eternalSovereignty: { count: 0 },
|
||||
exploration: {
|
||||
areas: defaultVampireExplorationAreas.map((area) => {
|
||||
return {
|
||||
id: area.id,
|
||||
status:
|
||||
area.zoneId === "vampire_haunted_catacombs"
|
||||
? ("available" as const)
|
||||
: ("locked" as const),
|
||||
};
|
||||
}),
|
||||
craftedBloodMultiplier: 1,
|
||||
craftedCombatMultiplier: 1,
|
||||
craftedIchorMultiplier: 1,
|
||||
craftedRecipeIds: [],
|
||||
materials: [],
|
||||
},
|
||||
lastTickAt: Date.now(),
|
||||
lifetimeBloodEarned: 0,
|
||||
lifetimeBossesDefeated: 0,
|
||||
lifetimeQuestsCompleted: 0,
|
||||
quests: structuredClone(defaultVampireQuests),
|
||||
siring: { ...initialSiring },
|
||||
thralls: structuredClone(defaultVampireThralls),
|
||||
totalBloodEarned: 0,
|
||||
upgrades: structuredClone(defaultVampireUpgrades),
|
||||
zones: structuredClone(defaultVampireZones),
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Builds an initial game state for a new player.
|
||||
* @param player - The player data from Discord OAuth.
|
||||
@@ -175,4 +246,9 @@ const initialGameState = (
|
||||
};
|
||||
};
|
||||
|
||||
export { initialExploration, initialGameState, initialGoddessState };
|
||||
export {
|
||||
initialExploration,
|
||||
initialGameState,
|
||||
initialGoddessState,
|
||||
initialVampireState,
|
||||
};
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
* @author Naomi Carrigan
|
||||
*/
|
||||
/* eslint-disable stylistic/max-len -- Data content */
|
||||
/* eslint-disable max-lines -- Data file */
|
||||
|
||||
import type { VampireAchievement } from "@elysium/types";
|
||||
|
||||
export const defaultVampireAchievements: Array<VampireAchievement> = [
|
||||
// ── Total Blood Earned milestones ─────────────────────────────────────────
|
||||
{
|
||||
condition: { amount: 1_000, type: "totalBloodEarned" },
|
||||
condition: { amount: 1000, type: "totalBloodEarned" },
|
||||
description: "Spill the first thousand drops. Every hunt starts here.",
|
||||
icon: "🩸",
|
||||
id: "blood_thousand",
|
||||
@@ -61,7 +61,7 @@ export const defaultVampireAchievements: Array<VampireAchievement> = [
|
||||
icon: "⚫",
|
||||
id: "blood_hundred_million",
|
||||
name: "The Dark Eternal",
|
||||
reward: { ichor: 2_000, soulShards: 10 },
|
||||
reward: { ichor: 2000, soulShards: 10 },
|
||||
unlockedAt: null,
|
||||
},
|
||||
{
|
||||
@@ -70,7 +70,7 @@ export const defaultVampireAchievements: Array<VampireAchievement> = [
|
||||
icon: "🕳️",
|
||||
id: "blood_billion",
|
||||
name: "Ancient Hunger",
|
||||
reward: { ichor: 5_000, soulShards: 25 },
|
||||
reward: { ichor: 5000, soulShards: 25 },
|
||||
unlockedAt: null,
|
||||
},
|
||||
// ── Vampire Bosses Defeated ───────────────────────────────────────────────
|
||||
@@ -116,7 +116,7 @@ export const defaultVampireAchievements: Array<VampireAchievement> = [
|
||||
icon: "🌑",
|
||||
id: "boss_all",
|
||||
name: "The Darkness Made Flesh",
|
||||
reward: { ichor: 1_000, soulShards: 10 },
|
||||
reward: { ichor: 1000, soulShards: 10 },
|
||||
unlockedAt: null,
|
||||
},
|
||||
// ── Vampire Quests Completed ──────────────────────────────────────────────
|
||||
@@ -203,12 +203,12 @@ export const defaultVampireAchievements: Array<VampireAchievement> = [
|
||||
unlockedAt: null,
|
||||
},
|
||||
{
|
||||
condition: { amount: 1_000, type: "thrallTotal" },
|
||||
condition: { amount: 1000, type: "thrallTotal" },
|
||||
description: "One thousand bound souls. The vampire realm bows to your dominion.",
|
||||
icon: "👑",
|
||||
id: "thralls_thousand",
|
||||
name: "Sovereign of Thralls",
|
||||
reward: { ichor: 2_000, soulShards: 15 },
|
||||
reward: { ichor: 2000, soulShards: 15 },
|
||||
unlockedAt: null,
|
||||
},
|
||||
// ── Siring Count ──────────────────────────────────────────────────────────
|
||||
@@ -245,7 +245,7 @@ export const defaultVampireAchievements: Array<VampireAchievement> = [
|
||||
icon: "⚫",
|
||||
id: "siring_fifteen",
|
||||
name: "Eternal Bloodline",
|
||||
reward: { ichor: 1_500, soulShards: 15 },
|
||||
reward: { ichor: 1500, soulShards: 15 },
|
||||
unlockedAt: null,
|
||||
},
|
||||
// ── Vampire Equipment Owned ───────────────────────────────────────────────
|
||||
@@ -291,7 +291,7 @@ export const defaultVampireAchievements: Array<VampireAchievement> = [
|
||||
icon: "🌑",
|
||||
id: "equipment_all",
|
||||
name: "The Complete Darkness",
|
||||
reward: { ichor: 2_000, soulShards: 20 },
|
||||
reward: { ichor: 2000, soulShards: 20 },
|
||||
unlockedAt: null,
|
||||
},
|
||||
];
|
||||
|
||||
@@ -127,7 +127,7 @@ export const defaultVampireAwakeningUpgrades: Array<AwakeningUpgrade> = [
|
||||
},
|
||||
{
|
||||
category: "soulshards_meta",
|
||||
cost: 1_000,
|
||||
cost: 1000,
|
||||
description: "The apex of soul refinement — all future awakenings yield three times the soul shards.",
|
||||
id: "awakening_meta_3",
|
||||
multiplier: 3,
|
||||
|
||||
+1080
-1080
File diff suppressed because it is too large
Load Diff
@@ -8,8 +8,10 @@
|
||||
/* 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.
|
||||
/*
|
||||
* 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 ─────────────────────────────────────────────────────
|
||||
{
|
||||
|
||||
@@ -36,7 +36,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
},
|
||||
{
|
||||
bonus: { bloodMultiplier: 1.08, combatMultiplier: 1.05 },
|
||||
cost: { blood: 1_500, ichor: 0, soulShards: 0 },
|
||||
cost: { blood: 1500, ichor: 0, soulShards: 0 },
|
||||
description: "Ground from a warlord's tooth, this fang has seen three centuries of campaigns. Its edge is still perfect.",
|
||||
equipped: false,
|
||||
id: "war_fang",
|
||||
@@ -48,7 +48,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
},
|
||||
{
|
||||
bonus: { bloodMultiplier: 1.12 },
|
||||
cost: { blood: 4_000, ichor: 0, soulShards: 0 },
|
||||
cost: { blood: 4000, ichor: 0, soulShards: 0 },
|
||||
description: "Carved from volcanic obsidian, this fang channels the Keep's stored blood magic into every hunt.",
|
||||
equipped: false,
|
||||
id: "obsidian_fang",
|
||||
@@ -244,7 +244,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
},
|
||||
{
|
||||
bonus: { combatMultiplier: 1.1 },
|
||||
cost: { blood: 1_500, ichor: 0, soulShards: 0 },
|
||||
cost: { blood: 1500, ichor: 0, soulShards: 0 },
|
||||
description: "Cut from volcanic obsidian-fibre and stitched with iron thread. It does not stop blows — it returns them.",
|
||||
equipped: false,
|
||||
id: "obsidian_shroud",
|
||||
@@ -255,8 +255,8 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
type: "shroud",
|
||||
},
|
||||
{
|
||||
bonus: { combatMultiplier: 1.12, bloodMultiplier: 1.05 },
|
||||
cost: { blood: 4_000, ichor: 0, soulShards: 0 },
|
||||
bonus: { bloodMultiplier: 1.05, combatMultiplier: 1.12 },
|
||||
cost: { blood: 4000, ichor: 0, soulShards: 0 },
|
||||
description: "Woven from threads dyed in the Citadel's blood-tanneries. The crimson never fades. Neither does the authority it implies.",
|
||||
equipped: false,
|
||||
id: "crimson_shroud",
|
||||
@@ -267,7 +267,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
type: "shroud",
|
||||
},
|
||||
{
|
||||
bonus: { combatMultiplier: 1.12, bloodMultiplier: 1.08 },
|
||||
bonus: { bloodMultiplier: 1.08, combatMultiplier: 1.12 },
|
||||
cost: { blood: 12_000, ichor: 2, soulShards: 0 },
|
||||
description: "Woven entirely from shadow thread. A skilled observer would say it moves before the wearer does — a less skilled observer would simply not notice the wearer at all.",
|
||||
equipped: false,
|
||||
@@ -279,7 +279,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
type: "shroud",
|
||||
},
|
||||
{
|
||||
bonus: { combatMultiplier: 1.15, bloodMultiplier: 1.08 },
|
||||
bonus: { bloodMultiplier: 1.08, combatMultiplier: 1.15 },
|
||||
cost: { blood: 35_000, ichor: 5, soulShards: 0 },
|
||||
description: "Treated with plague compounds until the fabric has developed its own kind of patience. Wearing it keeps opponents at arm's length, quite literally.",
|
||||
equipped: false,
|
||||
@@ -292,7 +292,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
},
|
||||
// ── Shrouds — Rare ────────────────────────────────────────────────────────
|
||||
{
|
||||
bonus: { combatMultiplier: 1.2, bloodMultiplier: 1.1 },
|
||||
bonus: { bloodMultiplier: 1.1, combatMultiplier: 1.2 },
|
||||
description: "Woven from ashen cloth and cinder-crystal thread. It does not burn. Opponents who try to burn the wearer discover this too late.",
|
||||
equipped: false,
|
||||
id: "ashen_shroud",
|
||||
@@ -303,7 +303,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
type: "shroud",
|
||||
},
|
||||
{
|
||||
bonus: { combatMultiplier: 1.22, bloodMultiplier: 1.1 },
|
||||
bonus: { bloodMultiplier: 1.1, combatMultiplier: 1.22 },
|
||||
description: "Woven from chain-link thread recovered from the Gaol's deepest holding cells. Each link carries a containment glyph that now works against those who attack the wearer.",
|
||||
equipped: false,
|
||||
id: "iron_shroud",
|
||||
@@ -314,7 +314,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
type: "shroud",
|
||||
},
|
||||
{
|
||||
bonus: { combatMultiplier: 1.2, bloodMultiplier: 1.15 },
|
||||
bonus: { bloodMultiplier: 1.15, combatMultiplier: 1.2 },
|
||||
description: "Woven from veil thread and phantom-dust infused silk. It flickers between solid and not quite solid, making it very difficult to land a decisive blow against the wearer.",
|
||||
equipped: false,
|
||||
id: "veil_shroud",
|
||||
@@ -325,7 +325,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
type: "shroud",
|
||||
},
|
||||
{
|
||||
bonus: { combatMultiplier: 1.25, bloodMultiplier: 1.12 },
|
||||
bonus: { bloodMultiplier: 1.12, combatMultiplier: 1.25 },
|
||||
description: "Made from moor peat-treated fabric, this shroud absorbs and dissipates kinetic energy in ways that no one has been able to explain satisfactorily.",
|
||||
equipped: false,
|
||||
id: "moor_shroud",
|
||||
@@ -336,7 +336,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
type: "shroud",
|
||||
},
|
||||
{
|
||||
bonus: { combatMultiplier: 1.28, bloodMultiplier: 1.12 },
|
||||
bonus: { bloodMultiplier: 1.12, combatMultiplier: 1.28 },
|
||||
description: "Woven from drowned silk and sunken stone fibre. The pressure of the depths has been incorporated into every thread — this garment is under constant compression.",
|
||||
equipped: false,
|
||||
id: "sunken_shroud",
|
||||
@@ -347,7 +347,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
type: "shroud",
|
||||
},
|
||||
{
|
||||
bonus: { combatMultiplier: 1.3, bloodMultiplier: 1.15 },
|
||||
bonus: { bloodMultiplier: 1.15, combatMultiplier: 1.3 },
|
||||
description: "Salvaged from the Sanctum's vestry — garments that were once sacred and have since been repurposed, without apology, into something entirely different.",
|
||||
equipped: false,
|
||||
id: "sanctum_shroud",
|
||||
@@ -359,7 +359,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
},
|
||||
// ── Shrouds — Epic ────────────────────────────────────────────────────────
|
||||
{
|
||||
bonus: { combatMultiplier: 1.35, bloodMultiplier: 1.2 },
|
||||
bonus: { bloodMultiplier: 1.2, combatMultiplier: 1.35 },
|
||||
description: "Woven from carrion bone fragments and peak crystal thread. This garment was assembled at altitude, in conditions where most vampires would not survive, by a craftsperson who clearly had opinions about structural integrity.",
|
||||
equipped: false,
|
||||
id: "carrion_shroud",
|
||||
@@ -370,7 +370,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
type: "shroud",
|
||||
},
|
||||
{
|
||||
bonus: { combatMultiplier: 1.4, bloodMultiplier: 1.25 },
|
||||
bonus: { bloodMultiplier: 1.25, combatMultiplier: 1.4 },
|
||||
description: "The Bloodspire's architects would recognise their own work in this garment. It was made from the same crystallised blood-material as the building, and it follows the same impossible logic.",
|
||||
equipped: false,
|
||||
id: "spire_shroud",
|
||||
@@ -381,7 +381,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
type: "shroud",
|
||||
},
|
||||
{
|
||||
bonus: { combatMultiplier: 1.45, bloodMultiplier: 1.3 },
|
||||
bonus: { bloodMultiplier: 1.3, combatMultiplier: 1.45 },
|
||||
description: "Woven from eternity thread and shroud dust, this garment exists slightly out of sync with the present moment. Blows land where the wearer was, not where the wearer is.",
|
||||
equipped: false,
|
||||
id: "eternity_shroud",
|
||||
@@ -392,7 +392,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
type: "shroud",
|
||||
},
|
||||
{
|
||||
bonus: { combatMultiplier: 1.5, bloodMultiplier: 1.3, ichorMultiplier: 1.1 },
|
||||
bonus: { bloodMultiplier: 1.3, combatMultiplier: 1.5, ichorMultiplier: 1.1 },
|
||||
description: "The garment of someone who has been to the edge of the known world and found the edge wanting. It absorbs damage from an existential weariness that precedes the arrival of the blow.",
|
||||
equipped: false,
|
||||
id: "abyss_shroud",
|
||||
@@ -404,7 +404,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
},
|
||||
// ── Shrouds — Legendary ───────────────────────────────────────────────────
|
||||
{
|
||||
bonus: { combatMultiplier: 1.55, bloodMultiplier: 1.4, ichorMultiplier: 1.2 },
|
||||
bonus: { bloodMultiplier: 1.4, combatMultiplier: 1.55, ichorMultiplier: 1.2 },
|
||||
description: "Woven from the Court's most closely held thread — shadow and whisper and silence all at once. To wear this is to become genuinely difficult to locate, let alone fight.",
|
||||
equipped: false,
|
||||
id: "whisper_shroud",
|
||||
@@ -415,7 +415,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
type: "shroud",
|
||||
},
|
||||
{
|
||||
bonus: { combatMultiplier: 1.7, bloodMultiplier: 1.5, ichorMultiplier: 1.3 },
|
||||
bonus: { bloodMultiplier: 1.5, combatMultiplier: 1.7, ichorMultiplier: 1.3 },
|
||||
description: "A shroud woven from the fabric of the Eternal Abyss — the void itself, shaped into something that can be worn. It does not protect the wearer. It convinces the universe not to bother attacking.",
|
||||
equipped: false,
|
||||
id: "eternal_shroud",
|
||||
@@ -427,7 +427,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
},
|
||||
// ── Talismans — Common ────────────────────────────────────────────────────
|
||||
{
|
||||
bonus: { combatMultiplier: 1.06, bloodMultiplier: 1.06 },
|
||||
bonus: { bloodMultiplier: 1.06, combatMultiplier: 1.06 },
|
||||
cost: { blood: 200, ichor: 0, soulShards: 0 },
|
||||
description: "A talisman carved from catacomb bone. Every vampire starts somewhere. Most of them start here.",
|
||||
equipped: false,
|
||||
@@ -452,7 +452,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
},
|
||||
{
|
||||
bonus: { bloodMultiplier: 1.1, combatMultiplier: 1.05 },
|
||||
cost: { blood: 1_500, ichor: 0, soulShards: 0 },
|
||||
cost: { blood: 1500, ichor: 0, soulShards: 0 },
|
||||
description: "Carved from obsidian chip and iron shaving bonded together. The resulting piece is heavier than it looks and radiates a faint warmth.",
|
||||
equipped: false,
|
||||
id: "obsidian_talisman",
|
||||
@@ -464,7 +464,7 @@ export const defaultVampireEquipment: Array<VampireEquipment> = [
|
||||
},
|
||||
{
|
||||
bonus: { bloodMultiplier: 1.12, combatMultiplier: 1.06 },
|
||||
cost: { blood: 4_000, ichor: 0, soulShards: 0 },
|
||||
cost: { blood: 4000, ichor: 0, soulShards: 0 },
|
||||
description: "A talisman carrying the Citadel's seal — the weight of centuries of dynasty compressed into a small, heavy object.",
|
||||
equipped: false,
|
||||
id: "crimson_talisman",
|
||||
|
||||
@@ -60,7 +60,7 @@ export const defaultVampireEquipmentSets: Array<VampireEquipmentSet> = [
|
||||
bonuses: {
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention -- numeric keys
|
||||
2: { combatMultiplier: 1.35 },
|
||||
// eslint-disable-next-line @typescript-eslant/naming-convention -- numeric keys
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention -- numeric keys
|
||||
3: { bloodMultiplier: 1.25 },
|
||||
},
|
||||
description: "The arms of a vampire who has broken open prisons and walked through veils. These pieces have seen the inside of places most vampires only hear about in old stories.",
|
||||
|
||||
@@ -29,7 +29,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "bone_chapel",
|
||||
name: "The Bone Chapel",
|
||||
possibleMaterials: [
|
||||
{ materialId: "bone_dust", maxQuantity: 3, minQuantity: 1, weight: 5 },
|
||||
{ materialId: "bone_dust", maxQuantity: 3, minQuantity: 1, weight: 5 },
|
||||
{ materialId: "grave_essence", maxQuantity: 2, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_haunted_catacombs",
|
||||
@@ -52,8 +52,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "dusty_crypts",
|
||||
name: "The Dusty Crypts",
|
||||
possibleMaterials: [
|
||||
{ materialId: "bone_dust", maxQuantity: 4, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "catacomb_ash", maxQuantity: 3, minQuantity: 1, weight: 4 },
|
||||
{ materialId: "bone_dust", maxQuantity: 4, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "catacomb_ash", maxQuantity: 3, minQuantity: 1, weight: 4 },
|
||||
{ materialId: "grave_essence", maxQuantity: 2, minQuantity: 1, weight: 2 },
|
||||
],
|
||||
zoneId: "vampire_haunted_catacombs",
|
||||
@@ -77,8 +77,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Ossuary Hall",
|
||||
possibleMaterials: [
|
||||
{ materialId: "grave_essence", maxQuantity: 4, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "bone_dust", maxQuantity: 5, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "catacomb_ash", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
{ materialId: "bone_dust", maxQuantity: 5, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "catacomb_ash", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_haunted_catacombs",
|
||||
},
|
||||
@@ -100,9 +100,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "deep_vault",
|
||||
name: "The Deep Vault",
|
||||
possibleMaterials: [
|
||||
{ materialId: "catacomb_ash", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "catacomb_ash", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "grave_essence", maxQuantity: 4, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "bone_dust", maxQuantity: 6, minQuantity: 3, weight: 3 },
|
||||
{ materialId: "bone_dust", maxQuantity: 6, minQuantity: 3, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_haunted_catacombs",
|
||||
},
|
||||
@@ -127,7 +127,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Shallow Fens",
|
||||
possibleMaterials: [
|
||||
{ materialId: "mire_sludge", maxQuantity: 3, minQuantity: 1, weight: 5 },
|
||||
{ materialId: "blood_moss", maxQuantity: 2, minQuantity: 1, weight: 3 },
|
||||
{ materialId: "blood_moss", maxQuantity: 2, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_blood_mire",
|
||||
},
|
||||
@@ -150,8 +150,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Reed Channels",
|
||||
possibleMaterials: [
|
||||
{ materialId: "crimson_reed", maxQuantity: 4, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "blood_moss", maxQuantity: 3, minQuantity: 1, weight: 4 },
|
||||
{ materialId: "mire_sludge", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
{ materialId: "blood_moss", maxQuantity: 3, minQuantity: 1, weight: 4 },
|
||||
{ materialId: "mire_sludge", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_blood_mire",
|
||||
},
|
||||
@@ -173,8 +173,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "crimson_bog",
|
||||
name: "The Crimson Bog",
|
||||
possibleMaterials: [
|
||||
{ materialId: "blood_moss", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "mire_sludge", maxQuantity: 5, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "blood_moss", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "mire_sludge", maxQuantity: 5, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "crimson_reed", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_blood_mire",
|
||||
@@ -197,8 +197,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "sanguine_depths",
|
||||
name: "The Sanguine Depths",
|
||||
possibleMaterials: [
|
||||
{ materialId: "mire_sludge", maxQuantity: 6, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "blood_moss", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "mire_sludge", maxQuantity: 6, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "blood_moss", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "crimson_reed", maxQuantity: 5, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_blood_mire",
|
||||
@@ -224,7 +224,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Gatehouse",
|
||||
possibleMaterials: [
|
||||
{ materialId: "obsidian_chip", maxQuantity: 3, minQuantity: 1, weight: 5 },
|
||||
{ materialId: "iron_shaving", maxQuantity: 2, minQuantity: 1, weight: 3 },
|
||||
{ materialId: "iron_shaving", maxQuantity: 2, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_obsidian_keep",
|
||||
},
|
||||
@@ -247,8 +247,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Outer Walls",
|
||||
possibleMaterials: [
|
||||
{ materialId: "obsidian_chip", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "keep_mortar", maxQuantity: 3, minQuantity: 1, weight: 4 },
|
||||
{ materialId: "iron_shaving", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "keep_mortar", maxQuantity: 3, minQuantity: 1, weight: 4 },
|
||||
{ materialId: "iron_shaving", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_obsidian_keep",
|
||||
},
|
||||
@@ -270,9 +270,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "great_hall",
|
||||
name: "The Great Hall",
|
||||
possibleMaterials: [
|
||||
{ materialId: "keep_mortar", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "keep_mortar", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "obsidian_chip", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "iron_shaving", maxQuantity: 5, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "iron_shaving", maxQuantity: 5, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_obsidian_keep",
|
||||
},
|
||||
@@ -295,8 +295,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Black Spire",
|
||||
possibleMaterials: [
|
||||
{ materialId: "obsidian_chip", maxQuantity: 7, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "keep_mortar", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "iron_shaving", maxQuantity: 6, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "keep_mortar", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "iron_shaving", maxQuantity: 6, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_obsidian_keep",
|
||||
},
|
||||
@@ -320,7 +320,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "bronze_gate",
|
||||
name: "The Bronze Gate",
|
||||
possibleMaterials: [
|
||||
{ materialId: "blood_bronze", maxQuantity: 3, minQuantity: 1, weight: 5 },
|
||||
{ materialId: "blood_bronze", maxQuantity: 3, minQuantity: 1, weight: 5 },
|
||||
{ materialId: "citadel_stone", maxQuantity: 2, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_crimson_citadel",
|
||||
@@ -343,8 +343,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "silk_quarters",
|
||||
name: "The Silk Quarters",
|
||||
possibleMaterials: [
|
||||
{ materialId: "crimson_silk", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "blood_bronze", maxQuantity: 4, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "crimson_silk", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "blood_bronze", maxQuantity: 4, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "citadel_stone", maxQuantity: 3, minQuantity: 1, weight: 2 },
|
||||
],
|
||||
zoneId: "vampire_crimson_citadel",
|
||||
@@ -367,9 +367,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "blood_forge",
|
||||
name: "The Blood Forge",
|
||||
possibleMaterials: [
|
||||
{ materialId: "blood_bronze", maxQuantity: 6, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "blood_bronze", maxQuantity: 6, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "citadel_stone", maxQuantity: 5, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "crimson_silk", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "crimson_silk", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_crimson_citadel",
|
||||
},
|
||||
@@ -392,8 +392,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Crimson Throne",
|
||||
possibleMaterials: [
|
||||
{ materialId: "citadel_stone", maxQuantity: 7, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "blood_bronze", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "crimson_silk", maxQuantity: 5, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "blood_bronze", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "crimson_silk", maxQuantity: 5, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_crimson_citadel",
|
||||
},
|
||||
@@ -418,7 +418,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Antechamber",
|
||||
possibleMaterials: [
|
||||
{ materialId: "shadow_thread", maxQuantity: 3, minQuantity: 1, weight: 5 },
|
||||
{ materialId: "court_wax", maxQuantity: 2, minQuantity: 1, weight: 3 },
|
||||
{ materialId: "court_wax", maxQuantity: 2, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_shadow_court",
|
||||
},
|
||||
@@ -440,9 +440,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "ink_library",
|
||||
name: "The Ink Library",
|
||||
possibleMaterials: [
|
||||
{ materialId: "whisper_ink", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "whisper_ink", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "shadow_thread", maxQuantity: 4, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "court_wax", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
{ materialId: "court_wax", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_shadow_court",
|
||||
},
|
||||
@@ -464,8 +464,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "wax_sanctum",
|
||||
name: "The Wax Sanctum",
|
||||
possibleMaterials: [
|
||||
{ materialId: "court_wax", maxQuantity: 6, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "whisper_ink", maxQuantity: 5, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "court_wax", maxQuantity: 6, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "whisper_ink", maxQuantity: 5, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "shadow_thread", maxQuantity: 5, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_shadow_court",
|
||||
@@ -489,8 +489,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Throne of Whispers",
|
||||
possibleMaterials: [
|
||||
{ materialId: "shadow_thread", maxQuantity: 7, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "court_wax", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "whisper_ink", maxQuantity: 6, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "court_wax", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "whisper_ink", maxQuantity: 6, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_shadow_court",
|
||||
},
|
||||
@@ -514,7 +514,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "charnel_entry",
|
||||
name: "The Charnel Entry",
|
||||
possibleMaterials: [
|
||||
{ materialId: "plague_ash", maxQuantity: 3, minQuantity: 1, weight: 5 },
|
||||
{ materialId: "plague_ash", maxQuantity: 3, minQuantity: 1, weight: 5 },
|
||||
{ materialId: "infected_bone", maxQuantity: 2, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_plague_ossuary",
|
||||
@@ -537,7 +537,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "ash_pits",
|
||||
name: "The Ash Pits",
|
||||
possibleMaterials: [
|
||||
{ materialId: "plague_ash", maxQuantity: 6, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "plague_ash", maxQuantity: 6, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "infected_bone", maxQuantity: 4, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "ossuary_resin", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
@@ -563,7 +563,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
possibleMaterials: [
|
||||
{ materialId: "ossuary_resin", maxQuantity: 6, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "infected_bone", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "plague_ash", maxQuantity: 5, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "plague_ash", maxQuantity: 5, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_plague_ossuary",
|
||||
},
|
||||
@@ -587,7 +587,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
possibleMaterials: [
|
||||
{ materialId: "infected_bone", maxQuantity: 7, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "ossuary_resin", maxQuantity: 7, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "plague_ash", maxQuantity: 6, minQuantity: 3, weight: 3 },
|
||||
{ materialId: "plague_ash", maxQuantity: 6, minQuantity: 3, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_plague_ossuary",
|
||||
},
|
||||
@@ -611,7 +611,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "cinder_fields",
|
||||
name: "The Cinder Fields",
|
||||
possibleMaterials: [
|
||||
{ materialId: "volcanic_ash", maxQuantity: 4, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "volcanic_ash", maxQuantity: 4, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "cinder_crystal", maxQuantity: 2, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_ashen_wastes",
|
||||
@@ -634,8 +634,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "cloth_ruins",
|
||||
name: "The Cloth Ruins",
|
||||
possibleMaterials: [
|
||||
{ materialId: "ashen_cloth", maxQuantity: 6, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "volcanic_ash", maxQuantity: 5, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "ashen_cloth", maxQuantity: 6, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "volcanic_ash", maxQuantity: 5, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "cinder_crystal", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_ashen_wastes",
|
||||
@@ -659,8 +659,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Crystal Caverns",
|
||||
possibleMaterials: [
|
||||
{ materialId: "cinder_crystal", maxQuantity: 7, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "volcanic_ash", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "ashen_cloth", maxQuantity: 4, minQuantity: 2, weight: 2 },
|
||||
{ materialId: "volcanic_ash", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "ashen_cloth", maxQuantity: 4, minQuantity: 2, weight: 2 },
|
||||
],
|
||||
zoneId: "vampire_ashen_wastes",
|
||||
},
|
||||
@@ -682,9 +682,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "smouldering_core",
|
||||
name: "The Smouldering Core",
|
||||
possibleMaterials: [
|
||||
{ materialId: "volcanic_ash", maxQuantity: 8, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "volcanic_ash", maxQuantity: 8, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "cinder_crystal", maxQuantity: 7, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "ashen_cloth", maxQuantity: 5, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "ashen_cloth", maxQuantity: 5, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_ashen_wastes",
|
||||
},
|
||||
@@ -766,7 +766,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 540,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 10000, type: "blood_gain" },
|
||||
effect: { amount: 10_000, type: "blood_gain" },
|
||||
id: "execution_ground_stones",
|
||||
text: "Centuries of executions have saturated the gaol-stone to its core. Your thralls crack the paving stones apart and wring blood from them like cloth. The yield is extraordinary.",
|
||||
},
|
||||
@@ -805,8 +805,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "gossamer_entry",
|
||||
name: "The Gossamer Entry",
|
||||
possibleMaterials: [
|
||||
{ materialId: "veil_thread", maxQuantity: 4, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "phantom_dust", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
{ materialId: "veil_thread", maxQuantity: 4, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "phantom_dust", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_veilborn_hollow",
|
||||
},
|
||||
@@ -829,8 +829,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Crystal Grove",
|
||||
possibleMaterials: [
|
||||
{ materialId: "hollow_crystal", maxQuantity: 7, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "veil_thread", maxQuantity: 5, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "phantom_dust", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "veil_thread", maxQuantity: 5, minQuantity: 2, weight: 4 },
|
||||
{ materialId: "phantom_dust", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_veilborn_hollow",
|
||||
},
|
||||
@@ -852,9 +852,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "phantom_fen",
|
||||
name: "The Phantom Fen",
|
||||
possibleMaterials: [
|
||||
{ materialId: "phantom_dust", maxQuantity: 8, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "phantom_dust", maxQuantity: 8, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "hollow_crystal", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "veil_thread", maxQuantity: 6, minQuantity: 3, weight: 3 },
|
||||
{ materialId: "veil_thread", maxQuantity: 6, minQuantity: 3, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_veilborn_hollow",
|
||||
},
|
||||
@@ -863,7 +863,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 600,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 12000, type: "blood_gain" },
|
||||
effect: { amount: 12_000, type: "blood_gain" },
|
||||
id: "veils_heart_confluence",
|
||||
text: "At the heart of the hollow, blood from both sides of the veil pools freely — the dead giving back what the living lost, the living giving what the dead still need. You take all of it.",
|
||||
},
|
||||
@@ -876,9 +876,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "veils_heart",
|
||||
name: "The Veil's Heart",
|
||||
possibleMaterials: [
|
||||
{ materialId: "veil_thread", maxQuantity: 9, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "veil_thread", maxQuantity: 9, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "hollow_crystal", maxQuantity: 8, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "phantom_dust", maxQuantity: 8, minQuantity: 3, weight: 3 },
|
||||
{ materialId: "phantom_dust", maxQuantity: 8, minQuantity: 3, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_veilborn_hollow",
|
||||
},
|
||||
@@ -902,7 +902,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "boggy_fringe",
|
||||
name: "The Boggy Fringe",
|
||||
possibleMaterials: [
|
||||
{ materialId: "moor_peat", maxQuantity: 4, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "moor_peat", maxQuantity: 4, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "fog_essence", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_moonless_moor",
|
||||
@@ -926,7 +926,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Fog Bank",
|
||||
possibleMaterials: [
|
||||
{ materialId: "fog_essence", maxQuantity: 7, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "moor_peat", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "moor_peat", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "night_bloom", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_moonless_moor",
|
||||
@@ -951,7 +951,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
possibleMaterials: [
|
||||
{ materialId: "night_bloom", maxQuantity: 8, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "fog_essence", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "moor_peat", maxQuantity: 6, minQuantity: 3, weight: 3 },
|
||||
{ materialId: "moor_peat", maxQuantity: 6, minQuantity: 3, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_moonless_moor",
|
||||
},
|
||||
@@ -960,7 +960,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 660,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 14000, type: "blood_gain" },
|
||||
effect: { amount: 14_000, type: "blood_gain" },
|
||||
id: "moonless_centre_reservoir",
|
||||
text: "Below the warm peat, your thralls find a buried reservoir — blood pressed into the earth over centuries by the weight above it. The moor has been collecting on your behalf for a very long time.",
|
||||
},
|
||||
@@ -973,7 +973,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "moonless_centre",
|
||||
name: "The Moonless Centre",
|
||||
possibleMaterials: [
|
||||
{ materialId: "moor_peat", maxQuantity: 9, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "moor_peat", maxQuantity: 9, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "night_bloom", maxQuantity: 8, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "fog_essence", maxQuantity: 7, minQuantity: 3, weight: 3 },
|
||||
],
|
||||
@@ -1000,7 +1000,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Flooded Entry",
|
||||
possibleMaterials: [
|
||||
{ materialId: "sunken_stone", maxQuantity: 4, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "deep_amber", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
{ materialId: "deep_amber", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_sunken_crypt",
|
||||
},
|
||||
@@ -1024,7 +1024,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
possibleMaterials: [
|
||||
{ materialId: "drowned_silk", maxQuantity: 7, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "sunken_stone", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "deep_amber", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "deep_amber", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_sunken_crypt",
|
||||
},
|
||||
@@ -1046,7 +1046,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "amber_vaults",
|
||||
name: "The Amber Vaults",
|
||||
possibleMaterials: [
|
||||
{ materialId: "deep_amber", maxQuantity: 8, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "deep_amber", maxQuantity: 8, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "drowned_silk", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "sunken_stone", maxQuantity: 7, minQuantity: 3, weight: 3 },
|
||||
],
|
||||
@@ -1057,7 +1057,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 720,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 18000, type: "blood_gain" },
|
||||
effect: { amount: 18_000, type: "blood_gain" },
|
||||
id: "deepmost_chamber_trove",
|
||||
text: "The chamber holds the crypt's founding blood-price — the original offering that consecrated the site. Untouched for centuries. Unmistakably yours now.",
|
||||
},
|
||||
@@ -1071,8 +1071,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Deepmost Chamber",
|
||||
possibleMaterials: [
|
||||
{ materialId: "sunken_stone", maxQuantity: 10, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "deep_amber", maxQuantity: 9, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "drowned_silk", maxQuantity: 7, minQuantity: 3, weight: 3 },
|
||||
{ materialId: "deep_amber", maxQuantity: 9, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "drowned_silk", maxQuantity: 7, minQuantity: 3, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_sunken_crypt",
|
||||
},
|
||||
@@ -1097,7 +1097,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Broken Nave",
|
||||
possibleMaterials: [
|
||||
{ materialId: "defiled_marble", maxQuantity: 4, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "dark_incense", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
{ materialId: "dark_incense", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_desecrated_sanctum",
|
||||
},
|
||||
@@ -1119,9 +1119,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "glass_chapel",
|
||||
name: "The Glass Chapel",
|
||||
possibleMaterials: [
|
||||
{ materialId: "sanctum_glass", maxQuantity: 7, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "sanctum_glass", maxQuantity: 7, minQuantity: 3, weight: 5 },
|
||||
{ materialId: "defiled_marble", maxQuantity: 6, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "dark_incense", maxQuantity: 5, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "dark_incense", maxQuantity: 5, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_desecrated_sanctum",
|
||||
},
|
||||
@@ -1130,7 +1130,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 585,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 12000, type: "blood_gain" },
|
||||
effect: { amount: 12_000, type: "blood_gain" },
|
||||
id: "incense_crypts_residue",
|
||||
text: "The incense smoke has been condensing on the crypt walls for decades, forming a resinous dark residue that your thralls scrape loose. It is potent in ways the original incense was not.",
|
||||
},
|
||||
@@ -1143,8 +1143,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "incense_crypts",
|
||||
name: "The Incense Crypts",
|
||||
possibleMaterials: [
|
||||
{ materialId: "dark_incense", maxQuantity: 9, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "sanctum_glass", maxQuantity: 7, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "dark_incense", maxQuantity: 9, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "sanctum_glass", maxQuantity: 7, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "defiled_marble", maxQuantity: 7, minQuantity: 3, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_desecrated_sanctum",
|
||||
@@ -1154,7 +1154,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 780,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 24000, type: "blood_gain" },
|
||||
effect: { amount: 24_000, type: "blood_gain" },
|
||||
id: "altar_of_defilement_reserve",
|
||||
text: "The altar has been collecting since the desecration — blood offered by those who came after, compounding over generations. The reservoir beneath it is staggering. You take it all.",
|
||||
},
|
||||
@@ -1168,8 +1168,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Altar of Defilement",
|
||||
possibleMaterials: [
|
||||
{ materialId: "defiled_marble", maxQuantity: 10, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "dark_incense", maxQuantity: 9, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "sanctum_glass", maxQuantity: 8, minQuantity: 4, weight: 3 },
|
||||
{ materialId: "dark_incense", maxQuantity: 9, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "sanctum_glass", maxQuantity: 8, minQuantity: 4, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_desecrated_sanctum",
|
||||
},
|
||||
@@ -1193,8 +1193,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "scavenger_trails",
|
||||
name: "The Scavenger Trails",
|
||||
possibleMaterials: [
|
||||
{ materialId: "carrion_bone", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "peak_crystal", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
{ materialId: "carrion_bone", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "peak_crystal", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_carrion_peaks",
|
||||
},
|
||||
@@ -1216,9 +1216,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "crystal_ridges",
|
||||
name: "The Crystal Ridges",
|
||||
possibleMaterials: [
|
||||
{ materialId: "peak_crystal", maxQuantity: 8, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "carrion_bone", maxQuantity: 7, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "blood_obsidian",maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "peak_crystal", maxQuantity: 8, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "carrion_bone", maxQuantity: 7, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "blood_obsidian", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_carrion_peaks",
|
||||
},
|
||||
@@ -1227,7 +1227,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 630,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 15000, type: "blood_gain" },
|
||||
effect: { amount: 15_000, type: "blood_gain" },
|
||||
id: "bone_slopes_compression",
|
||||
text: "The weight of centuries of bone has compressed the lower layers into something almost liquid — the marrow has been pressed free and pooled between the obsidian veins. A remarkable harvest.",
|
||||
},
|
||||
@@ -1240,9 +1240,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "bone_slopes",
|
||||
name: "The Bone Slopes",
|
||||
possibleMaterials: [
|
||||
{ materialId: "carrion_bone", maxQuantity: 10, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "blood_obsidian",maxQuantity: 7, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "peak_crystal", maxQuantity: 6, minQuantity: 3, weight: 3 },
|
||||
{ materialId: "carrion_bone", maxQuantity: 10, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "blood_obsidian", maxQuantity: 7, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "peak_crystal", maxQuantity: 6, minQuantity: 3, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_carrion_peaks",
|
||||
},
|
||||
@@ -1251,7 +1251,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 840,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 30000, type: "blood_gain" },
|
||||
effect: { amount: 30_000, type: "blood_gain" },
|
||||
id: "obsidian_summit_vein",
|
||||
text: "The obsidian at the summit is not merely stone — it is a convergence point, and blood has been seeping through it from below for centuries. Your thralls tap the convergence with iron tools and collect until their arms give out.",
|
||||
},
|
||||
@@ -1264,9 +1264,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "obsidian_summit",
|
||||
name: "The Obsidian Summit",
|
||||
possibleMaterials: [
|
||||
{ materialId: "blood_obsidian",maxQuantity: 11, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "peak_crystal", maxQuantity: 9, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "carrion_bone", maxQuantity: 8, minQuantity: 4, weight: 3 },
|
||||
{ materialId: "blood_obsidian", maxQuantity: 11, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "peak_crystal", maxQuantity: 9, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "carrion_bone", maxQuantity: 8, minQuantity: 4, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_carrion_peaks",
|
||||
},
|
||||
@@ -1290,7 +1290,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "spire_approach",
|
||||
name: "The Spire Approach",
|
||||
possibleMaterials: [
|
||||
{ materialId: "spire_stone", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "spire_stone", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "blood_crystal", maxQuantity: 3, minQuantity: 1, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_bloodspire",
|
||||
@@ -1313,9 +1313,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "crystal_veins",
|
||||
name: "The Crystal Veins",
|
||||
possibleMaterials: [
|
||||
{ materialId: "blood_crystal", maxQuantity: 9, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "spire_stone", maxQuantity: 7, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "ancient_gore", maxQuantity: 5, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "blood_crystal", maxQuantity: 9, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "spire_stone", maxQuantity: 7, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "ancient_gore", maxQuantity: 5, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_bloodspire",
|
||||
},
|
||||
@@ -1324,7 +1324,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 675,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 20000, type: "blood_gain" },
|
||||
effect: { amount: 20_000, type: "blood_gain" },
|
||||
id: "gore_chambers_extraction",
|
||||
text: "The compression has reduced centuries of accumulated blood to a near-solid mass. Your thralls chip it loose in blocks and melt it down into vessels. The process is efficient and deeply unpleasant.",
|
||||
},
|
||||
@@ -1337,9 +1337,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "gore_chambers",
|
||||
name: "The Gore Chambers",
|
||||
possibleMaterials: [
|
||||
{ materialId: "ancient_gore", maxQuantity: 11, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "blood_crystal", maxQuantity: 8, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "spire_stone", maxQuantity: 8, minQuantity: 4, weight: 3 },
|
||||
{ materialId: "ancient_gore", maxQuantity: 11, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "blood_crystal", maxQuantity: 8, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "spire_stone", maxQuantity: 8, minQuantity: 4, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_bloodspire",
|
||||
},
|
||||
@@ -1348,12 +1348,12 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 900,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 40000, type: "blood_gain" },
|
||||
effect: { amount: 40_000, type: "blood_gain" },
|
||||
id: "spire_apex_convergence",
|
||||
text: "The apex is a convergence of everything the spire has ever drawn in — centuries of accumulated blood-force compressed to a single point. Your thralls tap it with every vessel they carry and still cannot take it all.",
|
||||
},
|
||||
{
|
||||
effect: { amount: 10000, type: "blood_loss" },
|
||||
effect: { amount: 10_000, type: "blood_loss" },
|
||||
id: "spire_apex_toll",
|
||||
text: "The spire demands something in return for the apex. It does not ask — it simply adjusts the balance. Your thralls descend lighter than they climbed, in more than one sense.",
|
||||
},
|
||||
@@ -1361,9 +1361,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "spire_apex",
|
||||
name: "The Spire Apex",
|
||||
possibleMaterials: [
|
||||
{ materialId: "spire_stone", maxQuantity: 12, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "ancient_gore", maxQuantity: 10, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "blood_crystal", maxQuantity: 9, minQuantity: 4, weight: 3 },
|
||||
{ materialId: "spire_stone", maxQuantity: 12, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "ancient_gore", maxQuantity: 10, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "blood_crystal", maxQuantity: 9, minQuantity: 4, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_bloodspire",
|
||||
},
|
||||
@@ -1388,7 +1388,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Shroud's Edge",
|
||||
possibleMaterials: [
|
||||
{ materialId: "eternity_thread", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "shroud_dust", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "shroud_dust", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_shroud_of_eternity",
|
||||
},
|
||||
@@ -1410,9 +1410,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "amber_groves",
|
||||
name: "The Amber Groves",
|
||||
possibleMaterials: [
|
||||
{ materialId: "timeless_amber", maxQuantity: 9, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "eternity_thread",maxQuantity: 7, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "shroud_dust", maxQuantity: 6, minQuantity: 3, weight: 3 },
|
||||
{ materialId: "timeless_amber", maxQuantity: 9, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "eternity_thread", maxQuantity: 7, minQuantity: 3, weight: 4 },
|
||||
{ materialId: "shroud_dust", maxQuantity: 6, minQuantity: 3, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_shroud_of_eternity",
|
||||
},
|
||||
@@ -1421,7 +1421,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 720,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 25000, type: "blood_gain" },
|
||||
effect: { amount: 25_000, type: "blood_gain" },
|
||||
id: "dust_wastes_harvest",
|
||||
text: "The dust settles into blood like a catalyst — thickening it, concentrating it, making it something more than it was. Your thralls bleed small amounts into collection vessels and wait. The yield is extraordinary.",
|
||||
},
|
||||
@@ -1434,9 +1434,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "dust_wastes",
|
||||
name: "The Dust Wastes",
|
||||
possibleMaterials: [
|
||||
{ materialId: "shroud_dust", maxQuantity: 12, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "timeless_amber", maxQuantity: 9, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "eternity_thread",maxQuantity: 8, minQuantity: 4, weight: 3 },
|
||||
{ materialId: "shroud_dust", maxQuantity: 12, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "timeless_amber", maxQuantity: 9, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "eternity_thread", maxQuantity: 8, minQuantity: 4, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_shroud_of_eternity",
|
||||
},
|
||||
@@ -1445,12 +1445,12 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 960,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 50000, type: "blood_gain" },
|
||||
effect: { amount: 50_000, type: "blood_gain" },
|
||||
id: "eternal_weave_confluence",
|
||||
text: "The threads carry everything — memory, time, blood — in an unbroken loop. Your thralls intercept the loop at a nexus point and draw from it until the vessels shatter from the pressure.",
|
||||
},
|
||||
{
|
||||
effect: { amount: 12500, type: "blood_loss" },
|
||||
effect: { amount: 12_500, type: "blood_loss" },
|
||||
id: "eternal_weave_unravelling",
|
||||
text: "The weave does not take kindly to interception. It unravels your thralls in the same way it unravels everything else — slowly, completely, without malice. Simply the nature of eternity.",
|
||||
},
|
||||
@@ -1458,8 +1458,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "eternal_weave",
|
||||
name: "The Eternal Weave",
|
||||
possibleMaterials: [
|
||||
{ materialId: "eternity_thread",maxQuantity: 13, minQuantity: 6, weight: 5 },
|
||||
{ materialId: "shroud_dust", maxQuantity: 11, minQuantity: 5, weight: 4 },
|
||||
{ materialId: "eternity_thread", maxQuantity: 13, minQuantity: 6, weight: 5 },
|
||||
{ materialId: "shroud_dust", maxQuantity: 11, minQuantity: 5, weight: 4 },
|
||||
{ materialId: "timeless_amber", maxQuantity: 10, minQuantity: 4, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_shroud_of_eternity",
|
||||
@@ -1484,7 +1484,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "vault_gates",
|
||||
name: "The Vault Gates",
|
||||
possibleMaterials: [
|
||||
{ materialId: "vault_iron", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "vault_iron", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "abyssal_stone", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_abyssal_vault",
|
||||
@@ -1507,9 +1507,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "abyssal_corridors",
|
||||
name: "The Abyssal Corridors",
|
||||
possibleMaterials: [
|
||||
{ materialId: "void_crystal", maxQuantity: 10, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "abyssal_stone", maxQuantity: 8, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "vault_iron", maxQuantity: 7, minQuantity: 3, weight: 3 },
|
||||
{ materialId: "void_crystal", maxQuantity: 10, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "abyssal_stone", maxQuantity: 8, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "vault_iron", maxQuantity: 7, minQuantity: 3, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_abyssal_vault",
|
||||
},
|
||||
@@ -1518,7 +1518,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 765,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 30000, type: "blood_gain" },
|
||||
effect: { amount: 30_000, type: "blood_gain" },
|
||||
id: "inner_sanctum_reserve",
|
||||
text: "The Vault's purpose was preservation, and it has done its job. Everything sealed inside the inner sanctum is exactly as it was left — including a blood reserve that was vast when new and has only concentrated since.",
|
||||
},
|
||||
@@ -1532,8 +1532,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Inner Sanctum",
|
||||
possibleMaterials: [
|
||||
{ materialId: "abyssal_stone", maxQuantity: 12, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "vault_iron", maxQuantity: 10, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "void_crystal", maxQuantity: 9, minQuantity: 4, weight: 3 },
|
||||
{ materialId: "vault_iron", maxQuantity: 10, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "void_crystal", maxQuantity: 9, minQuantity: 4, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_abyssal_vault",
|
||||
},
|
||||
@@ -1542,12 +1542,12 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 1020,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 60000, type: "blood_gain" },
|
||||
effect: { amount: 60_000, type: "blood_gain" },
|
||||
id: "vault_nadir_convergence",
|
||||
text: "The Vault's nadir is a blood convergence older than the structure above it. It has been drawing from every source within range for an age. Your thralls tap it carefully and fill every vessel they carry twice over.",
|
||||
},
|
||||
{
|
||||
effect: { amount: 15000, type: "blood_loss" },
|
||||
effect: { amount: 15_000, type: "blood_loss" },
|
||||
id: "vault_nadir_presence",
|
||||
text: "Something at the nadir notices being drawn from. It does not retaliate — it simply equalises. Whatever your thralls gained, it takes a proportionate share back before they can leave.",
|
||||
},
|
||||
@@ -1555,8 +1555,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "vault_nadir",
|
||||
name: "The Vault Nadir",
|
||||
possibleMaterials: [
|
||||
{ materialId: "vault_iron", maxQuantity: 13, minQuantity: 6, weight: 5 },
|
||||
{ materialId: "void_crystal", maxQuantity: 12, minQuantity: 5, weight: 4 },
|
||||
{ materialId: "vault_iron", maxQuantity: 13, minQuantity: 6, weight: 5 },
|
||||
{ materialId: "void_crystal", maxQuantity: 12, minQuantity: 5, weight: 4 },
|
||||
{ materialId: "abyssal_stone", maxQuantity: 11, minQuantity: 5, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_abyssal_vault",
|
||||
@@ -1582,7 +1582,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Entrance Hall",
|
||||
possibleMaterials: [
|
||||
{ materialId: "whisper_parchment", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "court_crystal", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
{ materialId: "court_crystal", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_court_of_whispers",
|
||||
},
|
||||
@@ -1604,9 +1604,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "records_chamber",
|
||||
name: "The Records Chamber",
|
||||
possibleMaterials: [
|
||||
{ materialId: "silent_ink", maxQuantity: 10, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "court_crystal", maxQuantity: 9, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "whisper_parchment", maxQuantity: 7, minQuantity: 3, weight: 3 },
|
||||
{ materialId: "silent_ink", maxQuantity: 10, minQuantity: 4, weight: 5 },
|
||||
{ materialId: "court_crystal", maxQuantity: 9, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "whisper_parchment", maxQuantity: 7, minQuantity: 3, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_court_of_whispers",
|
||||
},
|
||||
@@ -1615,7 +1615,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 810,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 40000, type: "blood_gain" },
|
||||
effect: { amount: 40_000, type: "blood_gain" },
|
||||
id: "deliberation_hall_amplification",
|
||||
text: "The court crystals in the hall amplify everything, including the residual blood-force of every deliberation ever conducted. Your thralls attune collection vessels to the crystal frequency and draw directly from the amplified field.",
|
||||
},
|
||||
@@ -1628,9 +1628,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "deliberation_hall",
|
||||
name: "The Deliberation Hall",
|
||||
possibleMaterials: [
|
||||
{ materialId: "court_crystal", maxQuantity: 12, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "silent_ink", maxQuantity: 10, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "whisper_parchment", maxQuantity: 9, minQuantity: 4, weight: 3 },
|
||||
{ materialId: "court_crystal", maxQuantity: 12, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "silent_ink", maxQuantity: 10, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "whisper_parchment", maxQuantity: 9, minQuantity: 4, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_court_of_whispers",
|
||||
},
|
||||
@@ -1639,12 +1639,12 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 1080,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 80000, type: "blood_gain" },
|
||||
effect: { amount: 80_000, type: "blood_gain" },
|
||||
id: "verdict_chamber_archive",
|
||||
text: "Every verdict rendered in this chamber left a blood-mark — a drop pressed to parchment as seal and signature. Centuries of verdicts. Your thralls harvest the archive methodically. The yield is staggering.",
|
||||
},
|
||||
{
|
||||
effect: { amount: 20000, type: "blood_loss" },
|
||||
effect: { amount: 20_000, type: "blood_loss" },
|
||||
id: "verdict_chamber_sentence",
|
||||
text: "The chamber renders its own verdict on your intrusion. The sentence is proportionate to what was taken. Your thralls exit having paid it, whether they agreed to or not.",
|
||||
},
|
||||
@@ -1653,8 +1653,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Verdict Chamber",
|
||||
possibleMaterials: [
|
||||
{ materialId: "whisper_parchment", maxQuantity: 13, minQuantity: 6, weight: 5 },
|
||||
{ materialId: "court_crystal", maxQuantity: 12, minQuantity: 5, weight: 4 },
|
||||
{ materialId: "silent_ink", maxQuantity: 11, minQuantity: 5, weight: 3 },
|
||||
{ materialId: "court_crystal", maxQuantity: 12, minQuantity: 5, weight: 4 },
|
||||
{ materialId: "silent_ink", maxQuantity: 11, minQuantity: 5, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_court_of_whispers",
|
||||
},
|
||||
@@ -1665,7 +1665,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 300,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 10000, type: "blood_gain" },
|
||||
effect: { amount: 10_000, type: "blood_gain" },
|
||||
id: "abyss_threshold_drift",
|
||||
text: "The upward-drifting ash carries everything that has fallen into the Abyss over the ages — including blood, preserved and concentrated by the long fall. Your thralls collect the ash-fall in upward-facing vessels.",
|
||||
},
|
||||
@@ -1678,7 +1678,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "abyss_threshold",
|
||||
name: "The Abyss Threshold",
|
||||
possibleMaterials: [
|
||||
{ materialId: "primordial_ash", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "primordial_ash", maxQuantity: 5, minQuantity: 2, weight: 5 },
|
||||
{ materialId: "eternal_crystal", maxQuantity: 4, minQuantity: 2, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_eternal_abyss",
|
||||
@@ -1702,8 +1702,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
name: "The Upper Abyss",
|
||||
possibleMaterials: [
|
||||
{ materialId: "eternal_crystal", maxQuantity: 11, minQuantity: 5, weight: 5 },
|
||||
{ materialId: "primordial_ash", maxQuantity: 9, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "void_essence", maxQuantity: 7, minQuantity: 3, weight: 3 },
|
||||
{ materialId: "primordial_ash", maxQuantity: 9, minQuantity: 4, weight: 4 },
|
||||
{ materialId: "void_essence", maxQuantity: 7, minQuantity: 3, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_eternal_abyss",
|
||||
},
|
||||
@@ -1712,7 +1712,7 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 900,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 50000, type: "blood_gain" },
|
||||
effect: { amount: 50_000, type: "blood_gain" },
|
||||
id: "deep_abyss_pool",
|
||||
text: "The void essence pools carry concentrated blood from every age — primordial, ancient, recent, all compressed together into something that predates categories. Your thralls fill every vessel with trembling hands.",
|
||||
},
|
||||
@@ -1725,9 +1725,9 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "deep_abyss",
|
||||
name: "The Deep Abyss",
|
||||
possibleMaterials: [
|
||||
{ materialId: "void_essence", maxQuantity: 13, minQuantity: 6, weight: 5 },
|
||||
{ materialId: "void_essence", maxQuantity: 13, minQuantity: 6, weight: 5 },
|
||||
{ materialId: "eternal_crystal", maxQuantity: 11, minQuantity: 5, weight: 4 },
|
||||
{ materialId: "primordial_ash", maxQuantity: 11, minQuantity: 5, weight: 3 },
|
||||
{ materialId: "primordial_ash", maxQuantity: 11, minQuantity: 5, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_eternal_abyss",
|
||||
},
|
||||
@@ -1736,12 +1736,12 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
durationSeconds: 1200,
|
||||
events: [
|
||||
{
|
||||
effect: { amount: 100000, type: "blood_gain" },
|
||||
effect: { amount: 100_000, type: "blood_gain" },
|
||||
id: "abyss_floor_primordial",
|
||||
text: "The Abyss floor holds the first blood — the blood that was here before anything else was, compressed by eternity into something that makes every other harvest feel like a prelude. Your thralls collect it in silence, in awe, in haste.",
|
||||
},
|
||||
{
|
||||
effect: { amount: 25000, type: "blood_loss" },
|
||||
effect: { amount: 25_000, type: "blood_loss" },
|
||||
id: "abyss_floor_price",
|
||||
text: "The primordial blood exacts a price for being taken. Not from malice — it simply has gravity that everything else lacks. What your thralls carry out, it calls back a portion of. You consider this acceptable. You are not entirely sure you had a choice.",
|
||||
},
|
||||
@@ -1749,8 +1749,8 @@ export const defaultVampireExplorationAreas: Array<VampireExplorationArea> = [
|
||||
id: "abyss_floor",
|
||||
name: "The Abyss Floor",
|
||||
possibleMaterials: [
|
||||
{ materialId: "primordial_ash", maxQuantity: 15, minQuantity: 7, weight: 5 },
|
||||
{ materialId: "void_essence", maxQuantity: 14, minQuantity: 6, weight: 4 },
|
||||
{ materialId: "primordial_ash", maxQuantity: 15, minQuantity: 7, weight: 5 },
|
||||
{ materialId: "void_essence", maxQuantity: 14, minQuantity: 6, weight: 4 },
|
||||
{ materialId: "eternal_crystal", maxQuantity: 13, minQuantity: 6, weight: 3 },
|
||||
],
|
||||
zoneId: "vampire_eternal_abyss",
|
||||
|
||||
+669
-669
File diff suppressed because it is too large
Load Diff
@@ -52,7 +52,7 @@ export const defaultVampireSiringUpgrades: Array<SiringUpgrade> = [
|
||||
{
|
||||
category: "blood",
|
||||
description: "The accumulated weight of many sirings floods every vein in your domain. All blood/s ×25.",
|
||||
ichorCost: 1_000,
|
||||
ichorCost: 1000,
|
||||
id: "siring_blood_6",
|
||||
multiplier: 25,
|
||||
name: "Ichor Awakening VI",
|
||||
|
||||
@@ -59,7 +59,7 @@ export const defaultVampireThralls: Array<VampireThrall> = [
|
||||
unlocked: false,
|
||||
},
|
||||
{
|
||||
baseCost: 5_000,
|
||||
baseCost: 5000,
|
||||
bloodPerSecond: 20,
|
||||
class: "fledgling",
|
||||
combatPower: 50,
|
||||
@@ -109,9 +109,9 @@ export const defaultVampireThralls: Array<VampireThrall> = [
|
||||
},
|
||||
{
|
||||
baseCost: 15_000_000,
|
||||
bloodPerSecond: 1_000,
|
||||
bloodPerSecond: 1000,
|
||||
class: "revenant",
|
||||
combatPower: 1_800,
|
||||
combatPower: 1800,
|
||||
count: 0,
|
||||
ichorPerSecond: 1,
|
||||
id: "revenant_4",
|
||||
@@ -121,9 +121,9 @@ export const defaultVampireThralls: Array<VampireThrall> = [
|
||||
},
|
||||
{
|
||||
baseCost: 120_000_000,
|
||||
bloodPerSecond: 2_500,
|
||||
bloodPerSecond: 2500,
|
||||
class: "revenant",
|
||||
combatPower: 4_000,
|
||||
combatPower: 4000,
|
||||
count: 0,
|
||||
ichorPerSecond: 2,
|
||||
id: "revenant_5",
|
||||
@@ -134,9 +134,9 @@ export const defaultVampireThralls: Array<VampireThrall> = [
|
||||
// ── Shade (6 tiers) ───────────────────────────────────────────────────────
|
||||
{
|
||||
baseCost: 800_000_000,
|
||||
bloodPerSecond: 6_000,
|
||||
bloodPerSecond: 6000,
|
||||
class: "shade",
|
||||
combatPower: 9_000,
|
||||
combatPower: 9000,
|
||||
count: 0,
|
||||
ichorPerSecond: 5,
|
||||
id: "shade_1",
|
||||
@@ -235,7 +235,7 @@ export const defaultVampireThralls: Array<VampireThrall> = [
|
||||
class: "bloodbound",
|
||||
combatPower: 5_000_000,
|
||||
count: 0,
|
||||
ichorPerSecond: 1_200,
|
||||
ichorPerSecond: 1200,
|
||||
id: "bloodbound_3",
|
||||
level: 19,
|
||||
name: "Elder Bloodbound",
|
||||
@@ -247,7 +247,7 @@ export const defaultVampireThralls: Array<VampireThrall> = [
|
||||
class: "bloodbound",
|
||||
combatPower: 11_000_000,
|
||||
count: 0,
|
||||
ichorPerSecond: 2_500,
|
||||
ichorPerSecond: 2500,
|
||||
id: "bloodbound_4",
|
||||
level: 20,
|
||||
name: "Oath Bloodbound",
|
||||
@@ -259,7 +259,7 @@ export const defaultVampireThralls: Array<VampireThrall> = [
|
||||
class: "bloodbound",
|
||||
combatPower: 24_000_000,
|
||||
count: 0,
|
||||
ichorPerSecond: 5_000,
|
||||
ichorPerSecond: 5000,
|
||||
id: "bloodbound_5",
|
||||
level: 21,
|
||||
name: "Ancient Bloodbound",
|
||||
|
||||
@@ -35,7 +35,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
unlocked: true,
|
||||
},
|
||||
{
|
||||
costBlood: 1_000,
|
||||
costBlood: 1000,
|
||||
costIchor: 1,
|
||||
costSoulShards: 0,
|
||||
description: "The hunt becomes ritual — every drop flows with purpose. All blood/s ×2.",
|
||||
@@ -47,7 +47,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
unlocked: true,
|
||||
},
|
||||
{
|
||||
costBlood: 5_000,
|
||||
costBlood: 5000,
|
||||
costIchor: 2,
|
||||
costSoulShards: 0,
|
||||
description: "The ritual deepens. Every vein in your domain opens wider. All blood/s ×3.",
|
||||
@@ -144,7 +144,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
},
|
||||
{
|
||||
costBlood: 3_000_000_000,
|
||||
costIchor: 1_000,
|
||||
costIchor: 1000,
|
||||
costSoulShards: 10,
|
||||
description: "The flood becomes eternal — the blood never stops flowing. All blood/s ×25.",
|
||||
id: "crimson_tide_3",
|
||||
@@ -156,7 +156,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
},
|
||||
{
|
||||
costBlood: 20_000_000_000,
|
||||
costIchor: 2_000,
|
||||
costIchor: 2000,
|
||||
costSoulShards: 15,
|
||||
description: "The eternal thirst drives every thrall beyond their limits. All blood/s ×10.",
|
||||
id: "eternal_thirst_1",
|
||||
@@ -168,7 +168,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
},
|
||||
{
|
||||
costBlood: 150_000_000_000,
|
||||
costIchor: 5_000,
|
||||
costIchor: 5000,
|
||||
costSoulShards: 25,
|
||||
description: "The second degree of eternal thirst saturates every hunting ground. All blood/s ×25.",
|
||||
id: "eternal_thirst_2",
|
||||
@@ -241,7 +241,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
unlocked: true,
|
||||
},
|
||||
{
|
||||
costBlood: 2_000,
|
||||
costBlood: 2000,
|
||||
costIchor: 2,
|
||||
costSoulShards: 0,
|
||||
description: "Advanced fledgling conditioning multiplies their contribution. Fledgling blood/s ×4.",
|
||||
@@ -346,7 +346,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
},
|
||||
{
|
||||
costBlood: 1_000_000_000_000,
|
||||
costIchor: 1_500,
|
||||
costIchor: 1500,
|
||||
costSoulShards: 15,
|
||||
description: "Total wraith mastery — they exist between states, harvesting from both. Wraith blood/s ×4.",
|
||||
id: "thrall_wraith_2",
|
||||
@@ -359,7 +359,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
},
|
||||
{
|
||||
costBlood: 5_000_000_000_000,
|
||||
costIchor: 3_000,
|
||||
costIchor: 3000,
|
||||
costSoulShards: 25,
|
||||
description: "The ancient thralls remember techniques from before the oldest living vampires. Ancient blood/s ×2.",
|
||||
id: "thrall_ancient_1",
|
||||
@@ -372,7 +372,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
},
|
||||
{
|
||||
costBlood: 100_000_000_000_000,
|
||||
costIchor: 7_500,
|
||||
costIchor: 7500,
|
||||
costSoulShards: 50,
|
||||
description: "The ancient thralls operate at the peak of millennia of refinement. Ancient blood/s ×4.",
|
||||
id: "thrall_ancient_2",
|
||||
@@ -458,7 +458,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
},
|
||||
{
|
||||
costBlood: 5_000_000_000,
|
||||
costIchor: 1_500,
|
||||
costIchor: 1500,
|
||||
costSoulShards: 15,
|
||||
description: "The covenant deepens into something approaching a law of nature. All blood/s ×10.",
|
||||
id: "dark_covenant_2",
|
||||
@@ -470,7 +470,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
},
|
||||
{
|
||||
costBlood: 50_000_000_000,
|
||||
costIchor: 5_000,
|
||||
costIchor: 5000,
|
||||
costSoulShards: 30,
|
||||
description: "The final covenant makes the domain itself hunger on your behalf. All blood/s ×25.",
|
||||
id: "dark_covenant_3",
|
||||
@@ -567,7 +567,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
},
|
||||
{
|
||||
costBlood: 10_000_000_000,
|
||||
costIchor: 1_500,
|
||||
costIchor: 1500,
|
||||
costSoulShards: 10,
|
||||
description: "The bloodline power doubles its influence over each new generation. Siring production multiplier ×2.",
|
||||
id: "bloodline_power_2",
|
||||
@@ -579,7 +579,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
},
|
||||
{
|
||||
costBlood: 100_000_000_000,
|
||||
costIchor: 5_000,
|
||||
costIchor: 5000,
|
||||
costSoulShards: 20,
|
||||
description: "The bloodline power reaches its third stage — threefold production. Siring production multiplier ×3.",
|
||||
id: "bloodline_power_3",
|
||||
@@ -603,7 +603,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
},
|
||||
// ── Boss Upgrades (10) ────────────────────────────────────────────────────
|
||||
{
|
||||
costBlood: 1_000,
|
||||
costBlood: 1000,
|
||||
costIchor: 1,
|
||||
costSoulShards: 0,
|
||||
description: "The hunter's instinct sharpens with each victory. Thrall combat power ×1.25.",
|
||||
@@ -676,7 +676,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
},
|
||||
{
|
||||
costBlood: 1_000_000_000,
|
||||
costIchor: 1_000,
|
||||
costIchor: 1000,
|
||||
costSoulShards: 10,
|
||||
description: "The apex predator sense collapses all opposition with surgical efficiency. Thrall combat power ×5.",
|
||||
id: "predator_sense_3",
|
||||
@@ -688,7 +688,7 @@ export const defaultVampireUpgrades: Array<VampireUpgrade> = [
|
||||
},
|
||||
{
|
||||
costBlood: 10_000_000_000,
|
||||
costIchor: 3_000,
|
||||
costIchor: 3000,
|
||||
costSoulShards: 20,
|
||||
description: "The first apex predator upgrade transcends ordinary vampire combat. Thrall combat power ×5.",
|
||||
id: "apex_predator_1",
|
||||
|
||||
Reference in New Issue
Block a user