feat: v1 prototype — core game systems #30

Merged
naomi merged 84 commits from feat/prototype into main 2026-03-08 15:53:39 -07:00
8 changed files with 1992 additions and 2 deletions
Showing only changes of commit fa1c46f17f - Show all commits
+150
View File
@@ -206,4 +206,154 @@ export const DEFAULT_ACHIEVEMENTS: Achievement[] = [
reward: { crystals: 200 },
unlockedAt: null,
},
{
id: "well_armed",
name: "Well Armed",
description: "Own 25 pieces of equipment.",
icon: "⚔️",
condition: { type: "equipmentOwned", amount: 25 },
reward: { crystals: 1_000 },
unlockedAt: null,
},
{
id: "fully_equipped",
name: "Fully Equipped",
description: "Own 40 pieces of equipment.",
icon: "🛡️",
condition: { type: "equipmentOwned", amount: 40 },
reward: { crystals: 10_000 },
unlockedAt: null,
},
// Higher click milestones
{
id: "click_obsessed",
name: "Click Obsessed",
description: "Click the Guild Hall 100,000 times.",
icon: "💥",
condition: { type: "totalClicks", amount: 100_000 },
reward: { crystals: 1_000 },
unlockedAt: null,
},
{
id: "click_deity",
name: "Click Deity",
description: "Click the Guild Hall 1,000,000 times.",
icon: "☄️",
condition: { type: "totalClicks", amount: 1_000_000 },
reward: { crystals: 5_000 },
unlockedAt: null,
},
// Endgame gold milestones
{
id: "quadrillionaire",
name: "Quadrillionaire",
description: "Earn 1 quadrillion gold in total.",
icon: "✨",
condition: { type: "totalGoldEarned", amount: 1e15 },
reward: { crystals: 10_000 },
unlockedAt: null,
},
{
id: "void_hoarder",
name: "Void Hoarder",
description: "Earn 1 quintillion gold in total.",
icon: "🌀",
condition: { type: "totalGoldEarned", amount: 1e18 },
reward: { crystals: 50_000 },
unlockedAt: null,
},
// Higher quest milestones
{
id: "quest_champion",
name: "Quest Champion",
description: "Complete 30 quests.",
icon: "🏅",
condition: { type: "questsCompleted", amount: 30 },
reward: { crystals: 1_000 },
unlockedAt: null,
},
{
id: "quest_grandmaster",
name: "Quest Grandmaster",
description: "Complete 50 quests.",
icon: "🎖️",
condition: { type: "questsCompleted", amount: 50 },
reward: { crystals: 5_000 },
unlockedAt: null,
},
{
id: "quest_eternal",
name: "Quest Eternal",
description: "Complete all 72 quests across the known multiverse.",
icon: "🌌",
condition: { type: "questsCompleted", amount: 72 },
reward: { crystals: 25_000 },
unlockedAt: null,
},
// Higher boss milestones
{
id: "boss_champion",
name: "Champion of the Realm",
description: "Defeat 20 bosses.",
icon: "🦁",
condition: { type: "bossesDefeated", amount: 20 },
reward: { crystals: 1_000 },
unlockedAt: null,
},
{
id: "boss_grandmaster",
name: "Grandmaster Hunter",
description: "Defeat 30 bosses.",
icon: "🔱",
condition: { type: "bossesDefeated", amount: 30 },
reward: { crystals: 5_000 },
unlockedAt: null,
},
{
id: "boss_eternal",
name: "Eternal Vanquisher",
description: "Defeat all 60 bosses across every plane of existence.",
icon: "💀",
condition: { type: "bossesDefeated", amount: 60 },
reward: { crystals: 50_000 },
unlockedAt: null,
},
// Higher adventurer milestones
{
id: "army_titan",
name: "Titan Commander",
description: "Recruit a total of 50,000 adventurers.",
icon: "⚡",
condition: { type: "adventurerTotal", amount: 50_000 },
reward: { crystals: 5_000 },
unlockedAt: null,
},
// Higher prestige milestones
{
id: "prestige_veteran",
name: "Veteran of Ages",
description: "Prestige 5 times.",
icon: "🌟",
condition: { type: "prestigeCount", amount: 5 },
reward: { crystals: 1_000 },
unlockedAt: null,
},
{
id: "prestige_master",
name: "Master of Cycles",
description: "Prestige 10 times.",
icon: "💫",
condition: { type: "prestigeCount", amount: 10 },
reward: { crystals: 5_000 },
unlockedAt: null,
},
{
id: "prestige_legend",
name: "Legend of Eternity",
description: "Prestige 25 times.",
icon: "🌠",
condition: { type: "prestigeCount", amount: 25 },
reward: { crystals: 25_000 },
unlockedAt: null,
},
];
+66
View File
@@ -166,4 +166,70 @@ export const DEFAULT_ADVENTURERS: Adventurer[] = [
count: 0,
unlocked: false,
},
{
id: "seraph_knight",
name: "Seraph Knight",
class: "paladin",
level: 16,
goldPerSecond: 1_200_000,
essencePerSecond: 800,
combatPower: 4_000_000,
count: 0,
unlocked: false,
},
{
id: "abyss_diver",
name: "Abyss Diver",
class: "rogue",
level: 17,
goldPerSecond: 3_500_000,
essencePerSecond: 2_000,
combatPower: 12_000_000,
count: 0,
unlocked: false,
},
{
id: "infernal_warden",
name: "Infernal Warden",
class: "warrior",
level: 18,
goldPerSecond: 10_000_000,
essencePerSecond: 5_000,
combatPower: 35_000_000,
count: 0,
unlocked: false,
},
{
id: "crystal_sage",
name: "Crystal Sage",
class: "mage",
level: 19,
goldPerSecond: 30_000_000,
essencePerSecond: 12_000,
combatPower: 100_000_000,
count: 0,
unlocked: false,
},
{
id: "void_sentinel",
name: "Void Sentinel",
class: "rogue",
level: 20,
goldPerSecond: 90_000_000,
essencePerSecond: 30_000,
combatPower: 300_000_000,
count: 0,
unlocked: false,
},
{
id: "eternal_champion",
name: "Eternal Champion",
class: "warrior",
level: 21,
goldPerSecond: 270_000_000,
essencePerSecond: 80_000,
combatPower: 900_000_000,
count: 0,
unlocked: false,
},
];
+517 -1
View File
@@ -261,7 +261,7 @@ export const DEFAULT_BOSSES: Boss[] = [
prestigeRequirement: 4,
zoneId: "volcanic_depths",
},
// ── Astral Void ───────────────────────────────────────────────────────────
// ── Astral Void (original) ────────────────────────────────────────────────
{
id: "astral_wraith",
name: "The Astral Wraith",
@@ -313,4 +313,520 @@ export const DEFAULT_BOSSES: Boss[] = [
prestigeRequirement: 6,
zoneId: "astral_void",
},
// ── Celestial Reaches ─────────────────────────────────────────────────────
{
id: "seraph_guardian",
name: "The Seraph Guardian",
description:
"The first gatekeeper of the celestial realm — a being of pure divine light tasked with turning back anything that was not invited. It has never failed. Until now.",
status: "locked",
maxHp: 500_000_000,
currentHp: 500_000_000,
damagePerSecond: 50_000,
goldReward: 5_000_000_000,
essenceReward: 1_000_000,
crystalReward: 15_000,
upgradeRewards: ["click_4"],
equipmentRewards: ["seraph_wing"],
prestigeRequirement: 6,
zoneId: "celestial_reaches",
},
{
id: "fallen_archangel",
name: "The Fallen Archangel",
description:
"Once the greatest of the celestial host, cast down for questioning the divine order. Now it exists in the space between light and dark, serving neither, consumed by ancient grief.",
status: "locked",
maxHp: 2_000_000_000,
currentHp: 2_000_000_000,
damagePerSecond: 120_000,
goldReward: 20_000_000_000,
essenceReward: 3_000_000,
crystalReward: 40_000,
upgradeRewards: [],
equipmentRewards: ["angels_halo"],
prestigeRequirement: 7,
zoneId: "celestial_reaches",
},
{
id: "divine_judge",
name: "The Divine Judge",
description:
"The arbiter of celestial law, who has passed sentence on entire civilisations. It does not fight. It judges. The difference, in practice, is difficult to detect.",
status: "locked",
maxHp: 8_000_000_000,
currentHp: 8_000_000_000,
damagePerSecond: 350_000,
goldReward: 80_000_000_000,
essenceReward: 8_000_000,
crystalReward: 100_000,
upgradeRewards: ["divine_covenant"],
equipmentRewards: [],
prestigeRequirement: 8,
zoneId: "celestial_reaches",
},
{
id: "celestial_titan",
name: "The Celestial Titan",
description:
"A colossus of divine architecture, built not born, maintained by the celestial host as the ultimate defence of their realm. It is the size of a small moon and has never been stopped.",
status: "locked",
maxHp: 30_000_000_000,
currentHp: 30_000_000_000,
damagePerSecond: 1_000_000,
goldReward: 300_000_000_000,
essenceReward: 25_000_000,
crystalReward: 300_000,
upgradeRewards: [],
equipmentRewards: ["celestial_armour"],
prestigeRequirement: 9,
zoneId: "celestial_reaches",
},
{
id: "the_first_light",
name: "The First Light",
description:
"The oldest being in the celestial realm — the first light that ever shone in the universe, given form and consciousness by aeons of existence. It is not evil. It simply cannot allow anything to pass beyond.",
status: "locked",
maxHp: 100_000_000_000,
currentHp: 100_000_000_000,
damagePerSecond: 3_000_000,
goldReward: 1_000_000_000_000,
essenceReward: 80_000_000,
crystalReward: 800_000,
upgradeRewards: [],
equipmentRewards: ["divine_edge", "heaven_mantle"],
prestigeRequirement: 10,
zoneId: "celestial_reaches",
},
// ── Abyssal Trench ────────────────────────────────────────────────────────
{
id: "depth_leviathan",
name: "The Depth Leviathan",
description:
"A serpent of impossible size that has wound itself through the trench since before the ocean above it existed. It feeds on light itself — there is none here to sustain it, so it feeds on whatever dares to enter.",
status: "locked",
maxHp: 250_000_000_000,
currentHp: 250_000_000_000,
damagePerSecond: 5_000_000,
goldReward: 2_500_000_000_000,
essenceReward: 200_000_000,
crystalReward: 1_500_000,
upgradeRewards: [],
equipmentRewards: ["depth_blade"],
prestigeRequirement: 9,
zoneId: "abyssal_trench",
},
{
id: "kraken_elder",
name: "The Elder Kraken",
description:
"The original kraken — the progenitor of every tentacled horror your guild has ever faced. Its children rule the surface seas. It rules the place where even the sea forgets itself.",
status: "locked",
maxHp: 1_000_000_000_000,
currentHp: 1_000_000_000_000,
damagePerSecond: 15_000_000,
goldReward: 10_000_000_000_000,
essenceReward: 600_000_000,
crystalReward: 4_000_000,
upgradeRewards: ["abyssal_pact"],
equipmentRewards: ["leviathan_eye"],
prestigeRequirement: 10,
zoneId: "abyssal_trench",
},
{
id: "abyssal_colossus",
name: "The Abyssal Colossus",
description:
"A thing of pressure and darkness so massive it has its own gravitational pull. It was not created — it simply condensed over an eternity from the weight of everything above it.",
status: "locked",
maxHp: 4_000_000_000_000,
currentHp: 4_000_000_000_000,
damagePerSecond: 50_000_000,
goldReward: 40_000_000_000_000,
essenceReward: 2_000_000_000,
crystalReward: 12_000_000,
upgradeRewards: [],
equipmentRewards: ["pressure_plate"],
prestigeRequirement: 11,
zoneId: "abyssal_trench",
},
{
id: "the_deep_one",
name: "The Deep One",
description:
"Not a creature of the trench but a god of it — worshipped by things that have never seen surface light, answered prayers for aeons. It has finally decided to meet its supplicants face to face.",
status: "locked",
maxHp: 15_000_000_000_000,
currentHp: 15_000_000_000_000,
damagePerSecond: 150_000_000,
goldReward: 150_000_000_000_000,
essenceReward: 7_000_000_000,
crystalReward: 40_000_000,
upgradeRewards: ["global_4"],
equipmentRewards: [],
prestigeRequirement: 12,
zoneId: "abyssal_trench",
},
{
id: "elder_abomination",
name: "The Elder Abomination",
description:
"The thing that lives at the very bottom — so ancient it predates the concept of life itself. It is not alive in any way your guild understands the word. It is simply there, as it has always been, as it will always be.",
status: "locked",
maxHp: 50_000_000_000_000,
currentHp: 50_000_000_000_000,
damagePerSecond: 500_000_000,
goldReward: 500_000_000_000_000,
essenceReward: 25_000_000_000,
crystalReward: 150_000_000,
upgradeRewards: [],
equipmentRewards: ["abyssal_edge", "abyss_shroud"],
prestigeRequirement: 13,
zoneId: "abyssal_trench",
},
// ── Infernal Court ────────────────────────────────────────────────────────
{
id: "demon_prince",
name: "The Demon Prince",
description:
"Heir to the infernal throne, who has toppled kingdoms for sport across a thousand years. He considers your guild an amusing curiosity — right up until the point he doesn't.",
status: "locked",
maxHp: 120_000_000_000_000,
currentHp: 120_000_000_000_000,
damagePerSecond: 800_000_000,
goldReward: 1_200_000_000_000_000,
essenceReward: 60_000_000_000,
crystalReward: 350_000_000,
upgradeRewards: [],
equipmentRewards: ["demon_hide"],
prestigeRequirement: 12,
zoneId: "infernal_court",
},
{
id: "hellfire_titan",
name: "The Hellfire Titan",
description:
"A construct of pure infernal energy shaped into something vast and terrible by the demon lords as a weapon of absolute last resort. It has never been deployed before. You are a first.",
status: "locked",
maxHp: 500_000_000_000_000,
currentHp: 500_000_000_000_000,
damagePerSecond: 2_500_000_000,
goldReward: 5_000_000_000_000_000,
essenceReward: 200_000_000_000,
crystalReward: 1_000_000_000,
upgradeRewards: ["celestial_mandate"],
equipmentRewards: ["hellfire_edge"],
prestigeRequirement: 13,
zoneId: "infernal_court",
},
{
id: "lord_of_sin",
name: "The Lord of Sin",
description:
"Not a demon but the embodiment of all sin that has ever existed — the accumulated weight of every wrong act across all of history, given form and voice. Its voice alone is enough to break the unwary.",
status: "locked",
maxHp: 2_000_000_000_000_000,
currentHp: 2_000_000_000_000_000,
damagePerSecond: 8_000_000_000,
goldReward: 2e16,
essenceReward: 700_000_000_000,
crystalReward: 3_000_000_000,
upgradeRewards: [],
equipmentRewards: ["soul_gem"],
prestigeRequirement: 14,
zoneId: "infernal_court",
},
{
id: "infernal_sovereign",
name: "The Infernal Sovereign",
description:
"The ruler of all demonic kind — not merely a king but the principle of infernal power itself. Its existence is older than the universe that contains it. Defeating it will not end the hells. It will simply change who rules them.",
status: "locked",
maxHp: 6_000_000_000_000_000,
currentHp: 6_000_000_000_000_000,
damagePerSecond: 25_000_000_000,
goldReward: 6e16,
essenceReward: 2_500_000_000_000,
crystalReward: 10_000_000_000,
upgradeRewards: ["click_5"],
equipmentRewards: [],
prestigeRequirement: 15,
zoneId: "infernal_court",
},
{
id: "the_fallen",
name: "The Fallen",
description:
"A being that was once something unimaginably good, corrupted so completely over so many aeons that what it has become is unrecognisable from what it was. It remembers what it lost. That is its true weapon.",
status: "locked",
maxHp: 8_000_000_000_000_000,
currentHp: 8_000_000_000_000_000,
damagePerSecond: 80_000_000_000,
goldReward: 8e16,
essenceReward: 8_000_000_000_000,
crystalReward: 30_000_000_000,
upgradeRewards: [],
equipmentRewards: ["infernal_edge", "sinslayer_aegis"],
prestigeRequirement: 16,
zoneId: "infernal_court",
},
// ── Crystalline Spire ─────────────────────────────────────────────────────
{
id: "prism_golem",
name: "The Prism Golem",
description:
"A guardian of crystallised possibility — every face of it reflects a timeline in which your guild failed. There are many of those faces, and all of them are watching.",
status: "locked",
maxHp: 2e16,
currentHp: 2e16,
damagePerSecond: 120_000_000_000,
goldReward: 2e17,
essenceReward: 2e13,
crystalReward: 8e10,
upgradeRewards: [],
equipmentRewards: ["prism_blade"],
prestigeRequirement: 15,
zoneId: "crystalline_spire",
},
{
id: "crystal_drake",
name: "The Crystal Drake",
description:
"A dragon made entirely of living crystal, its scales each a perfect lens that focuses whatever energy strikes it into something far more lethal. It breathes light that cuts rather than burns.",
status: "locked",
maxHp: 8e16,
currentHp: 8e16,
damagePerSecond: 4e11,
goldReward: 8e17,
essenceReward: 8e13,
crystalReward: 3e11,
upgradeRewards: ["void_ascendancy"],
equipmentRewards: [],
prestigeRequirement: 16,
zoneId: "crystalline_spire",
},
{
id: "the_faceted",
name: "The Faceted",
description:
"Not a creature but a geometry — a living mathematical construct whose angles intersect realities your guild cannot perceive. Attacking it requires solving equations that have no solutions.",
status: "locked",
maxHp: 3e17,
currentHp: 3e17,
damagePerSecond: 1.2e12,
goldReward: 3e18,
essenceReward: 3e14,
crystalReward: 1e12,
upgradeRewards: [],
equipmentRewards: ["faceted_armour"],
prestigeRequirement: 17,
zoneId: "crystalline_spire",
},
{
id: "diamond_colossus",
name: "The Diamond Colossus",
description:
"The spire's ultimate protector — a being of compressed carbon so dense it bends space around itself. Every hit your guild lands strikes something that is simultaneously everywhere in the spire at once.",
status: "locked",
maxHp: 1e18,
currentHp: 1e18,
damagePerSecond: 4e12,
goldReward: 1e19,
essenceReward: 1e15,
crystalReward: 4e12,
upgradeRewards: [],
equipmentRewards: ["prism_eye"],
prestigeRequirement: 18,
zoneId: "crystalline_spire",
},
{
id: "crystal_sovereign",
name: "The Crystal Sovereign",
description:
"The mind at the centre of the spire — a consciousness that has been calculating the optimal outcome for all possible futures simultaneously since before your species climbed down from the trees. It has seen every way this ends. It does not intend to let you choose your own.",
status: "locked",
maxHp: 4e18,
currentHp: 4e18,
damagePerSecond: 1.5e13,
goldReward: 4e19,
essenceReward: 4e15,
crystalReward: 1.5e13,
upgradeRewards: [],
equipmentRewards: ["crystal_sovereign_blade", "diamond_plate"],
prestigeRequirement: 19,
zoneId: "crystalline_spire",
},
// ── Void Sanctum ──────────────────────────────────────────────────────────
{
id: "void_herald",
name: "The Void Herald",
description:
"A messenger from somewhere that has no location — sent ahead of something worse to announce the end of your guild's journey through the sanctum. It is the warning. You will not heed it.",
status: "locked",
maxHp: 1e19,
currentHp: 1e19,
damagePerSecond: 4e13,
goldReward: 1e20,
essenceReward: 1e16,
crystalReward: 4e13,
upgradeRewards: [],
equipmentRewards: ["void_annihilator"],
prestigeRequirement: 18,
zoneId: "void_sanctum",
},
{
id: "eternal_shade",
name: "The Eternal Shade",
description:
"A shadow that has outlived every light that ever cast it. It moves between moments rather than through space, and every time your guild thinks they have found it, what they have found is where it was.",
status: "locked",
maxHp: 5e19,
currentHp: 5e19,
damagePerSecond: 1.5e14,
goldReward: 5e20,
essenceReward: 5e16,
crystalReward: 1.5e14,
upgradeRewards: ["divine_harmony"],
equipmentRewards: ["eternal_shroud"],
prestigeRequirement: 19,
zoneId: "void_sanctum",
},
{
id: "the_unmaker",
name: "The Unmaker",
description:
"The force of entropy given singular purpose and form — the thing that will, eventually, unmake everything. It is not here early. It is simply here now, because your guild reached it.",
status: "locked",
maxHp: 2e20,
currentHp: 2e20,
damagePerSecond: 5e14,
goldReward: 2e21,
essenceReward: 2e17,
crystalReward: 5e14,
upgradeRewards: [],
equipmentRewards: [],
prestigeRequirement: 20,
zoneId: "void_sanctum",
},
{
id: "void_progenitor",
name: "The Void Progenitor",
description:
"The being from which all void entities descend — the first thing to ever exist in the absence of existence. It cannot be understood, only survived.",
status: "locked",
maxHp: 8e20,
currentHp: 8e20,
damagePerSecond: 2e15,
goldReward: 8e21,
essenceReward: 8e17,
crystalReward: 2e15,
upgradeRewards: [],
equipmentRewards: ["void_heart_gem"],
prestigeRequirement: 21,
zoneId: "void_sanctum",
},
{
id: "void_emperor",
name: "The Void Emperor",
description:
"The sovereign of nothing — ruler of all void, all absence, all the space between things. It does not want your guild dead. It simply wants everything to return to the state it was in before existence began.",
status: "locked",
maxHp: 3e21,
currentHp: 3e21,
damagePerSecond: 8e15,
goldReward: 3e22,
essenceReward: 3e18,
crystalReward: 8e15,
upgradeRewards: [],
equipmentRewards: ["sanctum_breaker", "void_emperor_plate"],
prestigeRequirement: 22,
zoneId: "void_sanctum",
},
// ── Eternal Throne ────────────────────────────────────────────────────────
{
id: "throne_warden",
name: "The Throne Warden",
description:
"The guardian of the approach to the eternal throne — a being of absolute authority who has turned back every challenger to the seat of power since the first moment the throne existed.",
status: "locked",
maxHp: 1e22,
currentHp: 1e22,
damagePerSecond: 2e16,
goldReward: 1e23,
essenceReward: 1e19,
crystalReward: 2e16,
upgradeRewards: [],
equipmentRewards: ["eternal_armour"],
prestigeRequirement: 21,
zoneId: "eternal_throne",
},
{
id: "eternal_knight",
name: "The Eternal Knight",
description:
"A champion who has served the throne since before the concept of service existed. It has never been defeated. It has faced challengers from a hundred dead universes and sent every one of them back to nothing.",
status: "locked",
maxHp: 5e22,
currentHp: 5e22,
damagePerSecond: 8e16,
goldReward: 5e23,
essenceReward: 5e19,
crystalReward: 8e16,
upgradeRewards: ["infernal_fury"],
equipmentRewards: ["throne_blade"],
prestigeRequirement: 22,
zoneId: "eternal_throne",
},
{
id: "the_undying",
name: "The Undying",
description:
"A being for whom death is not a possibility but a suggestion it has declined across every moment of existence. Your guild will need to convince it to consider the option for the very first time.",
status: "locked",
maxHp: 2e23,
currentHp: 2e23,
damagePerSecond: 3e17,
goldReward: 2e24,
essenceReward: 2e20,
crystalReward: 3e17,
upgradeRewards: [],
equipmentRewards: [],
prestigeRequirement: 23,
zoneId: "eternal_throne",
},
{
id: "apex_sovereign",
name: "The Apex Sovereign",
description:
"The penultimate guardian of the throne — a being so close to the absolute seat of power that it has absorbed some of its nature. Reality warps around it. Your guild must hold together through forces that want to unmake them at the atomic level.",
status: "locked",
maxHp: 8e23,
currentHp: 8e23,
damagePerSecond: 1.2e18,
goldReward: 8e24,
essenceReward: 8e20,
crystalReward: 1.2e18,
upgradeRewards: [],
equipmentRewards: [],
prestigeRequirement: 24,
zoneId: "eternal_throne",
},
{
id: "the_apex",
name: "The Apex",
description:
"The one who sits upon the Eternal Throne. They have no name because names are given by others, and there has never been another to give one. They are the beginning and the end of all authority. And now your guild has come to take everything they are.",
status: "locked",
maxHp: 3e24,
currentHp: 3e24,
damagePerSecond: 5e18,
goldReward: 3e25,
essenceReward: 3e21,
crystalReward: 5e18,
upgradeRewards: [],
equipmentRewards: ["apex_sword", "apex_plate", "eternity_stone"],
prestigeRequirement: 25,
zoneId: "eternal_throne",
},
];
+373
View File
@@ -300,4 +300,377 @@ export const DEFAULT_EQUIPMENT: Equipment[] = [
owned: false,
equipped: false,
},
// ── Celestial Reaches ─────────────────────────────────────────────────────
{
id: "seraph_wing",
name: "Seraph's Wing",
description: "A weapon forged from a fallen seraph's primary feather — impossibly sharp, burning with divine light.",
type: "weapon",
rarity: "legendary",
bonus: { combatMultiplier: 3.5 },
owned: false,
equipped: false,
},
{
id: "angels_halo",
name: "Angel's Halo",
description: "Torn from the Fallen Archangel. It radiates with grief and power in equal measure.",
type: "trinket",
rarity: "legendary",
bonus: { clickMultiplier: 2.75, goldMultiplier: 1.3 },
owned: false,
equipped: false,
},
{
id: "celestial_armour",
name: "Celestial Armour",
description: "Forged in heavenly smithies from light compressed so hard it became solid. Your gold flows like sunbeams.",
type: "armour",
rarity: "legendary",
bonus: { goldMultiplier: 2.75 },
owned: false,
equipped: false,
},
{
id: "divine_edge",
name: "The Divine Edge",
description: "The First Light's own blade — a weapon of pure divine will given form. It does not cut. It declares.",
type: "weapon",
rarity: "legendary",
bonus: { combatMultiplier: 4.0 },
owned: false,
equipped: false,
},
{
id: "heaven_mantle",
name: "Heaven's Mantle",
description: "The outermost garment of the celestial realm, woven from captured starlight and divine intention.",
type: "armour",
rarity: "legendary",
bonus: { goldMultiplier: 3.0 },
owned: false,
equipped: false,
},
// ── Abyssal Trench ────────────────────────────────────────────────────────
{
id: "depth_blade",
name: "The Depth Blade",
description: "Crystallised from the Depth Leviathan's venom — a weapon that strikes through armour as if it were water.",
type: "weapon",
rarity: "legendary",
bonus: { combatMultiplier: 4.5 },
owned: false,
equipped: false,
},
{
id: "leviathan_eye",
name: "The Leviathan's Eye",
description: "The Elder Kraken's eye, preserved in brine from the deepest trench. It sees through all deception.",
type: "trinket",
rarity: "legendary",
bonus: { clickMultiplier: 3.0, goldMultiplier: 1.35 },
owned: false,
equipped: false,
},
{
id: "pressure_plate",
name: "Pressure Plate",
description: "Armour forged under conditions that would crush a city. Nothing that wears it can be broken by ordinary force.",
type: "armour",
rarity: "legendary",
bonus: { goldMultiplier: 3.25 },
owned: false,
equipped: false,
},
{
id: "abyssal_edge",
name: "The Abyssal Edge",
description: "The Elder Abomination's own appendage, reshaped by your artificers into something that passes for a weapon.",
type: "weapon",
rarity: "legendary",
bonus: { combatMultiplier: 5.0 },
owned: false,
equipped: false,
},
{
id: "abyss_shroud",
name: "The Abyss Shroud",
description: "Woven from the darkness at the very bottom of everything. Gold flows to those who wear the dark.",
type: "armour",
rarity: "legendary",
bonus: { goldMultiplier: 3.5 },
owned: false,
equipped: false,
},
// ── Infernal Court ────────────────────────────────────────────────────────
{
id: "demon_hide",
name: "Demon Hide Armour",
description: "The Demon Prince's own hide, worked into armour that whispers the strategies of ten thousand campaigns.",
type: "armour",
rarity: "legendary",
bonus: { goldMultiplier: 3.75 },
owned: false,
equipped: false,
},
{
id: "hellfire_edge",
name: "The Hellfire Edge",
description: "A fragment of the Hellfire Titan's core — constantly burning with a heat that ignores armour.",
type: "weapon",
rarity: "legendary",
bonus: { combatMultiplier: 5.5 },
owned: false,
equipped: false,
},
{
id: "soul_gem",
name: "The Soul Gem",
description: "Crystallised from the Lord of Sin's tears — which had never been shed before. The rarest thing in the infernal court.",
type: "trinket",
rarity: "legendary",
bonus: { clickMultiplier: 3.25, goldMultiplier: 1.4 },
owned: false,
equipped: false,
},
{
id: "infernal_edge",
name: "The Infernal Edge",
description: "Forged from what The Fallen once was — something good, hardened into a weapon of absolute purpose.",
type: "weapon",
rarity: "legendary",
bonus: { combatMultiplier: 6.0 },
owned: false,
equipped: false,
},
{
id: "sinslayer_aegis",
name: "The Sinslayer Aegis",
description: "Armour assembled from The Fallen's regrets. Every piece of it remembers what righteousness felt like.",
type: "armour",
rarity: "legendary",
bonus: { goldMultiplier: 4.0 },
owned: false,
equipped: false,
},
// ── Crystalline Spire ─────────────────────────────────────────────────────
{
id: "prism_blade",
name: "The Prism Blade",
description: "A sword that refracts into thousands of simultaneous strikes. Defenders cannot guard against every angle.",
type: "weapon",
rarity: "legendary",
bonus: { combatMultiplier: 6.5 },
owned: false,
equipped: false,
},
{
id: "faceted_armour",
name: "The Faceted Armour",
description: "Armour that intersects with adjacent realities — attacks pass through versions of you that chose differently.",
type: "armour",
rarity: "legendary",
bonus: { goldMultiplier: 4.5 },
owned: false,
equipped: false,
},
{
id: "prism_eye",
name: "The Prism Eye",
description: "A lens from the Diamond Colossus's own perception — through it, your guild sees every moment simultaneously.",
type: "trinket",
rarity: "legendary",
bonus: { clickMultiplier: 3.5, goldMultiplier: 1.5 },
owned: false,
equipped: false,
},
{
id: "crystal_sovereign_blade",
name: "The Sovereign's Blade",
description: "The Crystal Sovereign's own instrument of computation — repurposed for something it calculated was inevitable.",
type: "weapon",
rarity: "legendary",
bonus: { combatMultiplier: 7.0 },
owned: false,
equipped: false,
},
{
id: "diamond_plate",
name: "Diamond Plate",
description: "Armour compressed from crystallised possibilities — the optimal defensive configuration across all timelines.",
type: "armour",
rarity: "legendary",
bonus: { goldMultiplier: 5.0 },
owned: false,
equipped: false,
},
// ── Void Sanctum ──────────────────────────────────────────────────────────
{
id: "void_annihilator",
name: "The Void Annihilator",
description: "A weapon of pure absence — it does not strike, it simply removes the thing it is aimed at from existence.",
type: "weapon",
rarity: "legendary",
bonus: { combatMultiplier: 8.0 },
owned: false,
equipped: false,
},
{
id: "eternal_shroud",
name: "The Eternal Shroud",
description: "Woven from the Eternal Shade itself — armour that exists in every moment simultaneously, impossible to find.",
type: "armour",
rarity: "legendary",
bonus: { goldMultiplier: 5.5 },
owned: false,
equipped: false,
},
{
id: "void_heart_gem",
name: "The Void Heart Gem",
description: "Crystallised from the Void Progenitor's core — the original absence, given form. It makes the impossible routine.",
type: "trinket",
rarity: "legendary",
bonus: { clickMultiplier: 4.0, goldMultiplier: 1.6 },
owned: false,
equipped: false,
},
{
id: "sanctum_breaker",
name: "The Sanctum Breaker",
description: "The Void Emperor's own sceptre of authority, seized in the moment of its defeat. It commands even nothingness.",
type: "weapon",
rarity: "legendary",
bonus: { combatMultiplier: 9.0 },
owned: false,
equipped: false,
},
{
id: "void_emperor_plate",
name: "Void Emperor's Plate",
description: "The armour the Void Emperor wore for all of existence — now worn by something that dared to challenge all of existence.",
type: "armour",
rarity: "legendary",
bonus: { goldMultiplier: 6.0 },
owned: false,
equipped: false,
},
// ── Eternal Throne ────────────────────────────────────────────────────────
{
id: "eternal_armour",
name: "Eternal Armour",
description: "The Throne Warden's own defensive shell — protection that has never been breached across all of time.",
type: "armour",
rarity: "legendary",
bonus: { goldMultiplier: 7.0 },
owned: false,
equipped: false,
},
{
id: "throne_blade",
name: "The Throne Blade",
description: "The Eternal Knight's sword — a weapon that has served the throne since the concept of service was invented.",
type: "weapon",
rarity: "legendary",
bonus: { combatMultiplier: 10.0 },
owned: false,
equipped: false,
},
{
id: "apex_sword",
name: "The Apex Sword",
description: "The Apex's own instrument — not a weapon in any sense your guild understands, but it functions as one now.",
type: "weapon",
rarity: "legendary",
bonus: { combatMultiplier: 12.0 },
owned: false,
equipped: false,
},
{
id: "apex_plate",
name: "The Apex Plate",
description: "Armour assembled from the Eternal Throne itself — the absolute seat of power, now serving those who claimed it.",
type: "armour",
rarity: "legendary",
bonus: { goldMultiplier: 8.0 },
owned: false,
equipped: false,
},
{
id: "eternity_stone",
name: "The Eternity Stone",
description: "The source of the Apex's power — the thing that makes the Eternal Throne eternal. It is yours now. All of it.",
type: "trinket",
rarity: "legendary",
bonus: { clickMultiplier: 5.0, goldMultiplier: 2.0, combatMultiplier: 1.5 },
owned: false,
equipped: false,
},
// ── Purchasable endgame sinks ─────────────────────────────────────────────
{
id: "celestial_focus",
name: "Celestial Focus",
description: "A lens of compressed celestial light that sharpens every strike with divine precision.",
type: "trinket",
rarity: "legendary",
bonus: { clickMultiplier: 2.5 },
owned: false,
equipped: false,
cost: { gold: 0, essence: 20_000_000, crystals: 0 },
},
{
id: "abyssal_tome",
name: "Abyssal Tome",
description: "A book written in the language of the deep — reading it aligns your guild's operations with abyssal efficiency.",
type: "armour",
rarity: "legendary",
bonus: { goldMultiplier: 3.0 },
owned: false,
equipped: false,
cost: { gold: 0, essence: 50_000_000, crystals: 0 },
},
{
id: "void_conduit",
name: "Void Conduit",
description: "A weapon that channels void energy — the absence of resistance makes every strike devastating.",
type: "weapon",
rarity: "legendary",
bonus: { combatMultiplier: 4.0 },
owned: false,
equipped: false,
cost: { gold: 0, essence: 100_000_000, crystals: 0 },
},
{
id: "infernal_gem",
name: "Infernal Gem",
description: "A gem forged in the heart of the Infernal Court — it burns with productivity and righteous fury in equal measure.",
type: "trinket",
rarity: "legendary",
bonus: { clickMultiplier: 3.5, goldMultiplier: 1.5 },
owned: false,
equipped: false,
cost: { gold: 0, essence: 0, crystals: 5_000_000 },
},
{
id: "crystal_matrix",
name: "Crystal Matrix",
description: "Armour structured around a crystalline lattice of optimal income calculations. Every gold piece finds you faster.",
type: "armour",
rarity: "legendary",
bonus: { goldMultiplier: 4.0 },
owned: false,
equipped: false,
cost: { gold: 0, essence: 0, crystals: 20_000_000 },
},
{
id: "eternal_prism",
name: "The Eternal Prism",
description: "An artifact from beyond all known planes — it refracts power through all dimensions simultaneously.",
type: "trinket",
rarity: "legendary",
bonus: { clickMultiplier: 5.0, goldMultiplier: 2.0, combatMultiplier: 1.5 },
owned: false,
equipped: false,
cost: { gold: 0, essence: 0, crystals: 100_000_000 },
},
];
+551
View File
@@ -347,4 +347,555 @@ export const DEFAULT_QUESTS: Quest[] = [
prerequisiteIds: ["between_worlds"],
zoneId: "astral_void",
},
// ── Celestial Reaches ─────────────────────────────────────────────────────
{
id: "heavens_gate",
name: "The Heaven's Gate",
description:
"The threshold between the astral and the divine. Just passing through it changes those who do so in ways they will only understand later.",
status: "locked",
durationSeconds: Math.round(1.5 * 60 * 60),
rewards: [
{ type: "gold", amount: 500_000_000 },
{ type: "essence", amount: 3_000_000 },
{ type: "adventurer", targetId: "seraph_knight" },
],
prerequisiteIds: [],
zoneId: "celestial_reaches",
},
{
id: "angelic_choir",
name: "The Angelic Choir",
description:
"A gathering of celestial voices whose harmony shapes reality. To witness it is to understand, briefly, what the universe was meant to be.",
status: "locked",
durationSeconds: 3 * 60 * 60,
rewards: [
{ type: "gold", amount: 2_000_000_000 },
{ type: "essence", amount: 8_000_000 },
],
prerequisiteIds: ["heavens_gate"],
zoneId: "celestial_reaches",
},
{
id: "divine_library",
name: "The Divine Library",
description:
"Every event that has ever occurred is recorded here. Your guild's entire history is contained in a single volume, filed under 'Unlikely'.",
status: "locked",
durationSeconds: 5 * 60 * 60,
rewards: [
{ type: "gold", amount: 8_000_000_000 },
{ type: "essence", amount: 20_000_000 },
{ type: "crystals", amount: 500_000 },
],
prerequisiteIds: ["angelic_choir"],
zoneId: "celestial_reaches",
},
{
id: "cloud_citadel",
name: "The Cloud Citadel",
description:
"A fortress built in the space between thoughts — larger inside than any physical structure could be. The celestial host uses it as a staging ground for interventions in mortal affairs.",
status: "locked",
durationSeconds: 8 * 60 * 60,
rewards: [
{ type: "gold", amount: 25_000_000_000 },
{ type: "essence", amount: 60_000_000 },
{ type: "crystals", amount: 1_500_000 },
],
prerequisiteIds: ["divine_library"],
zoneId: "celestial_reaches",
},
{
id: "trial_of_virtue",
name: "The Trial of Virtue",
description:
"The celestial host subjects your guild to trials that test not strength but character. Fortunately, your guild has both. Less fortunately, the trials are also designed to be impossible.",
status: "locked",
durationSeconds: 12 * 60 * 60,
rewards: [
{ type: "gold", amount: 80_000_000_000 },
{ type: "essence", amount: 200_000_000 },
{ type: "crystals", amount: 3_000_000 },
{ type: "upgrade", targetId: "seraph_knight_1" },
],
prerequisiteIds: ["cloud_citadel"],
zoneId: "celestial_reaches",
},
{
id: "celestial_archive",
name: "The Celestial Archive",
description:
"The deepest record in the divine realm — not just of what has happened, but of what is possible. Your guild leaves a mark here that will not be erased when the universe ends.",
status: "locked",
durationSeconds: 20 * 60 * 60,
rewards: [
{ type: "gold", amount: 300_000_000_000 },
{ type: "essence", amount: 500_000_000 },
{ type: "crystals", amount: 8_000_000 },
],
prerequisiteIds: ["trial_of_virtue"],
zoneId: "celestial_reaches",
},
// ── Abyssal Trench ────────────────────────────────────────────────────────
{
id: "the_dark_waters",
name: "The Dark Waters",
description:
"The entry point to the trench — where light surrenders completely and the pressure begins its long, patient work of reminding you of your smallness.",
status: "locked",
durationSeconds: 2 * 60 * 60,
rewards: [
{ type: "gold", amount: 1_000_000_000_000 },
{ type: "essence", amount: 600_000_000 },
{ type: "adventurer", targetId: "abyss_diver" },
],
prerequisiteIds: [],
zoneId: "abyssal_trench",
},
{
id: "bioluminescent_ruins",
name: "The Bioluminescent Ruins",
description:
"The remains of a civilisation that lived at the bottom of the world for millennia, lighting their world with their own bodies. They are gone. Their light remains, eerie and cold.",
status: "locked",
durationSeconds: 4 * 60 * 60,
rewards: [
{ type: "gold", amount: 3_000_000_000_000 },
{ type: "essence", amount: 1_500_000_000 },
{ type: "crystals", amount: 12_000_000 },
],
prerequisiteIds: ["the_dark_waters"],
zoneId: "abyssal_trench",
},
{
id: "pressure_caves",
name: "The Pressure Caves",
description:
"Caverns carved by forces that would shatter your strongest armour as casually as paper. Your guild navigates them through a combination of skill, preparation, and — honestly — luck.",
status: "locked",
durationSeconds: 7 * 60 * 60,
rewards: [
{ type: "gold", amount: 10_000_000_000_000 },
{ type: "essence", amount: 5_000_000_000 },
{ type: "crystals", amount: 30_000_000 },
],
prerequisiteIds: ["bioluminescent_ruins"],
zoneId: "abyssal_trench",
},
{
id: "leviathan_graveyard",
name: "The Leviathan Graveyard",
description:
"Where the great serpents of the deep come to die — bones larger than cities, slowly being consumed by things that feed on the dead of things that were never truly alive.",
status: "locked",
durationSeconds: 12 * 60 * 60,
rewards: [
{ type: "gold", amount: 30_000_000_000_000 },
{ type: "essence", amount: 15_000_000_000 },
{ type: "crystals", amount: 60_000_000 },
],
prerequisiteIds: ["pressure_caves"],
zoneId: "abyssal_trench",
},
{
id: "black_throne",
name: "The Black Throne",
description:
"A throne carved from something that predates stone, found at a depth where the trench opens into something that should not exist below it. Something sat here once. Something may sit here again.",
status: "locked",
durationSeconds: 18 * 60 * 60,
rewards: [
{ type: "gold", amount: 100_000_000_000_000 },
{ type: "essence", amount: 50_000_000_000 },
{ type: "crystals", amount: 120_000_000 },
{ type: "upgrade", targetId: "abyss_diver_1" },
],
prerequisiteIds: ["leviathan_graveyard"],
zoneId: "abyssal_trench",
},
{
id: "abyssal_chronicle",
name: "The Abyssal Chronicle",
description:
"The record carved into the walls of the deepest part of the trench by whatever has lived there since time began. Your guild adds its chapter. It is the first written in a language anyone above has ever understood.",
status: "locked",
durationSeconds: 30 * 60 * 60,
rewards: [
{ type: "gold", amount: 400_000_000_000_000 },
{ type: "essence", amount: 200_000_000_000 },
{ type: "crystals", amount: 400_000_000 },
],
prerequisiteIds: ["black_throne"],
zoneId: "abyssal_trench",
},
// ── Infernal Court ────────────────────────────────────────────────────────
{
id: "brimstone_wastes",
name: "The Brimstone Wastes",
description:
"The outer reaches of the infernal court — a landscape of sulphur and old fire where lesser demons make their homes and forget what they are waiting for.",
status: "locked",
durationSeconds: 3 * 60 * 60,
rewards: [
{ type: "gold", amount: 600_000_000_000_000 },
{ type: "essence", amount: 200_000_000_000 },
{ type: "adventurer", targetId: "infernal_warden" },
],
prerequisiteIds: [],
zoneId: "infernal_court",
},
{
id: "pit_of_souls",
name: "The Pit of Souls",
description:
"The repository of every soul the infernal court has ever collected, stretching downward without apparent limit. The voices here are beyond counting. Some of them are recognisable.",
status: "locked",
durationSeconds: 6 * 60 * 60,
rewards: [
{ type: "gold", amount: 2_000_000_000_000_000 },
{ type: "essence", amount: 600_000_000_000 },
{ type: "crystals", amount: 1_000_000_000 },
],
prerequisiteIds: ["brimstone_wastes"],
zoneId: "infernal_court",
},
{
id: "court_of_blood",
name: "The Court of Blood",
description:
"The actual seat of demon governance — where the lords convene to settle their endless disputes. Your guild attends the session uninvited. The lords are not pleased. They are, however, briefly unified.",
status: "locked",
durationSeconds: 10 * 60 * 60,
rewards: [
{ type: "gold", amount: 6_000_000_000_000_000 },
{ type: "essence", amount: 2_000_000_000_000 },
{ type: "crystals", amount: 3_000_000_000 },
],
prerequisiteIds: ["pit_of_souls"],
zoneId: "infernal_court",
},
{
id: "nine_hells",
name: "The Nine Hells",
description:
"Each circle of the infernal court is its own ecosystem of suffering, and your guild passes through all nine. By the seventh, it has stopped being surprising. By the ninth, it has become almost comfortable.",
status: "locked",
durationSeconds: 16 * 60 * 60,
rewards: [
{ type: "gold", amount: 2e16 },
{ type: "essence", amount: 6_000_000_000_000 },
{ type: "crystals", amount: 8_000_000_000 },
],
prerequisiteIds: ["court_of_blood"],
zoneId: "infernal_court",
},
{
id: "demon_forge",
name: "The Demon Forge",
description:
"The forge where the demon lords create their weapons — each one an atrocity given material form. Your guild has come to learn its secrets, or failing that, to destroy it.",
status: "locked",
durationSeconds: 24 * 60 * 60,
rewards: [
{ type: "gold", amount: 6e16 },
{ type: "essence", amount: 2e13 },
{ type: "crystals", amount: 2.5e10 },
{ type: "upgrade", targetId: "infernal_warden_1" },
],
prerequisiteIds: ["nine_hells"],
zoneId: "infernal_court",
},
{
id: "infernal_codex",
name: "The Infernal Codex",
description:
"The complete record of every deal, pact, and contract the infernal court has ever made. Your guild finds its own name in there, in a clause you definitely did not agree to. You cross it out.",
status: "locked",
durationSeconds: 40 * 60 * 60,
rewards: [
{ type: "gold", amount: 2e17 },
{ type: "essence", amount: 6e13 },
{ type: "crystals", amount: 8e10 },
],
prerequisiteIds: ["demon_forge"],
zoneId: "infernal_court",
},
// ── Crystalline Spire ─────────────────────────────────────────────────────
{
id: "prism_gate",
name: "The Prism Gate",
description:
"The entrance to the spire — a door made of possibilities that splits your guild into every version of itself simultaneously. Only the best version makes it through. You are that version.",
status: "locked",
durationSeconds: 4 * 60 * 60,
rewards: [
{ type: "gold", amount: 5e17 },
{ type: "essence", amount: 2e14 },
{ type: "adventurer", targetId: "crystal_sage" },
],
prerequisiteIds: [],
zoneId: "crystalline_spire",
},
{
id: "crystal_labyrinth",
name: "The Crystal Labyrinth",
description:
"A maze of mirrors that reflects not your appearance but your choices — every path shows what would have happened if you had chosen differently. Several of those paths look significantly better.",
status: "locked",
durationSeconds: 8 * 60 * 60,
rewards: [
{ type: "gold", amount: 2e18 },
{ type: "essence", amount: 8e14 },
{ type: "crystals", amount: 3e12 },
],
prerequisiteIds: ["prism_gate"],
zoneId: "crystalline_spire",
},
{
id: "faceted_realm",
name: "The Faceted Realm",
description:
"A space where geometry has opinions — where right angles are suggestions and parallel lines eventually converge into something that has no name in any language your guild speaks.",
status: "locked",
durationSeconds: 14 * 60 * 60,
rewards: [
{ type: "gold", amount: 8e18 },
{ type: "essence", amount: 3e15 },
{ type: "crystals", amount: 1e13 },
],
prerequisiteIds: ["crystal_labyrinth"],
zoneId: "crystalline_spire",
},
{
id: "diamond_vault",
name: "The Diamond Vault",
description:
"The repository of crystallised knowledge — everything the spire has calculated, preserved in structures of compressed carbon that contain more information than your guild's entire written history.",
status: "locked",
durationSeconds: 20 * 60 * 60,
rewards: [
{ type: "gold", amount: 3e19 },
{ type: "essence", amount: 1e16 },
{ type: "crystals", amount: 4e13 },
],
prerequisiteIds: ["faceted_realm"],
zoneId: "crystalline_spire",
},
{
id: "sovereign_spire",
name: "The Sovereign's Spire",
description:
"The approach to the Sovereign's chamber — a corridor of living crystal that evaluates your guild as you walk through it and reconfigures itself in real time to create the optimal challenge for exactly what your guild is.",
status: "locked",
durationSeconds: 32 * 60 * 60,
rewards: [
{ type: "gold", amount: 1e20 },
{ type: "essence", amount: 4e16 },
{ type: "crystals", amount: 1.5e14 },
{ type: "upgrade", targetId: "crystal_sage_1" },
],
prerequisiteIds: ["diamond_vault"],
zoneId: "crystalline_spire",
},
{
id: "the_prism_vault",
name: "The Prism Vault",
description:
"The innermost sanctum of the spire — where the Sovereign keeps its most precious calculations, its predictions for the last moments of this universe, sealed in crystal that has never been touched by anything other than thought.",
status: "locked",
durationSeconds: 50 * 60 * 60,
rewards: [
{ type: "gold", amount: 4e20 },
{ type: "essence", amount: 1.5e17 },
{ type: "crystals", amount: 5e14 },
],
prerequisiteIds: ["sovereign_spire"],
zoneId: "crystalline_spire",
},
// ── Void Sanctum ──────────────────────────────────────────────────────────
{
id: "void_threshold",
name: "The Void Threshold",
description:
"The boundary between existing and not — a membrane so thin that your guild can feel their own existence becoming uncertain as they cross it. On the other side: the sanctum.",
status: "locked",
durationSeconds: 6 * 60 * 60,
rewards: [
{ type: "gold", amount: 1e21 },
{ type: "essence", amount: 4e17 },
{ type: "adventurer", targetId: "void_sentinel" },
],
prerequisiteIds: [],
zoneId: "void_sanctum",
},
{
id: "eternal_dark",
name: "The Eternal Dark",
description:
"Darkness here is not the absence of light but a substance in its own right — thick, pressured, aware. It has been dark here since before the concept of light existed elsewhere.",
status: "locked",
durationSeconds: 12 * 60 * 60,
rewards: [
{ type: "gold", amount: 5e21 },
{ type: "essence", amount: 2e18 },
{ type: "crystals", amount: 2e15 },
],
prerequisiteIds: ["void_threshold"],
zoneId: "void_sanctum",
},
{
id: "sanctum_depths",
name: "The Sanctum Depths",
description:
"The lower reaches of the void sanctum, where the Emperor's power saturates every particle. Your guild walks through a space that doesn't want them to exist — and continues existing anyway.",
status: "locked",
durationSeconds: 20 * 60 * 60,
rewards: [
{ type: "gold", amount: 2e22 },
{ type: "essence", amount: 8e18 },
{ type: "crystals", amount: 8e15 },
],
prerequisiteIds: ["eternal_dark"],
zoneId: "void_sanctum",
},
{
id: "unmaking_grounds",
name: "The Unmaking Grounds",
description:
"Where the void Emperor tests its power — a space where things are regularly unmade as a display of authority. Your guild's refusal to be unmade is, to the Emperor, nothing short of astonishing.",
status: "locked",
durationSeconds: 30 * 60 * 60,
rewards: [
{ type: "gold", amount: 8e22 },
{ type: "essence", amount: 3e19 },
{ type: "crystals", amount: 3e16 },
],
prerequisiteIds: ["sanctum_depths"],
zoneId: "void_sanctum",
},
{
id: "emperor_approach",
name: "The Emperor's Approach",
description:
"The final corridor before the void Emperor — a space that exists only because the Emperor allows it to. Every step forward is an argument your guild makes for their right to exist. So far, it's working.",
status: "locked",
durationSeconds: 48 * 60 * 60,
rewards: [
{ type: "gold", amount: 3e23 },
{ type: "essence", amount: 1e20 },
{ type: "crystals", amount: 1e17 },
{ type: "upgrade", targetId: "void_sentinel_1" },
],
prerequisiteIds: ["unmaking_grounds"],
zoneId: "void_sanctum",
},
{
id: "heart_of_void",
name: "The Heart of the Void",
description:
"The absolute centre of the void sanctum — the point from which all absence radiates. Your guild stands here and, remarkably, continues to be. That alone is a victory no one before them has achieved.",
status: "locked",
durationSeconds: 72 * 60 * 60,
rewards: [
{ type: "gold", amount: 1e24 },
{ type: "essence", amount: 4e20 },
{ type: "crystals", amount: 4e17 },
],
prerequisiteIds: ["emperor_approach"],
zoneId: "void_sanctum",
},
// ── Eternal Throne ────────────────────────────────────────────────────────
{
id: "throne_antechamber",
name: "The Throne Antechamber",
description:
"The waiting room for the absolute seat of power. No one has ever been made to wait here, because no one has ever arrived before. Your guild has arrived. The door is very large.",
status: "locked",
durationSeconds: 8 * 60 * 60,
rewards: [
{ type: "gold", amount: 3e24 },
{ type: "essence", amount: 1e21 },
{ type: "adventurer", targetId: "eternal_champion" },
],
prerequisiteIds: [],
zoneId: "eternal_throne",
},
{
id: "eternal_gauntlet",
name: "The Eternal Gauntlet",
description:
"A series of trials designed not to test your guild but to exhaust them — to ensure that only something with genuine, inexhaustible will can reach the throne. Your guild has passed. The throne takes note.",
status: "locked",
durationSeconds: 16 * 60 * 60,
rewards: [
{ type: "gold", amount: 1e25 },
{ type: "essence", amount: 4e21 },
{ type: "crystals", amount: 1.5e18 },
],
prerequisiteIds: ["throne_antechamber"],
zoneId: "eternal_throne",
},
{
id: "apex_trials",
name: "The Apex Trials",
description:
"The final proving ground — a set of challenges that have been accumulating since the throne was first occupied, waiting for a challenger worthy enough to face them. Your guild is facing them. Barely.",
status: "locked",
durationSeconds: 28 * 60 * 60,
rewards: [
{ type: "gold", amount: 4e25 },
{ type: "essence", amount: 1.5e22 },
{ type: "crystals", amount: 5e18 },
],
prerequisiteIds: ["eternal_gauntlet"],
zoneId: "eternal_throne",
},
{
id: "sovereign_hall",
name: "The Sovereign's Hall",
description:
"The great hall through which every power in every universe has passed in supplication. No one has walked it as an equal before. Your guild walks it as a challenger. The difference is felt by everything that has ever knelt here.",
status: "locked",
durationSeconds: 40 * 60 * 60,
rewards: [
{ type: "gold", amount: 1.5e26 },
{ type: "essence", amount: 6e22 },
{ type: "crystals", amount: 2e19 },
{ type: "upgrade", targetId: "eternal_champion_1" },
],
prerequisiteIds: ["apex_trials"],
zoneId: "eternal_throne",
},
{
id: "the_final_ascent",
name: "The Final Ascent",
description:
"The last staircase. Every step a moment of history being made. At the top: the throne, and the one who sits upon it, who has watched your guild climb and finds themselves, for the first time in all of existence, uncertain.",
status: "locked",
durationSeconds: 60 * 60 * 60,
rewards: [
{ type: "gold", amount: 6e26 },
{ type: "essence", amount: 2.5e23 },
{ type: "crystals", amount: 8e19 },
],
prerequisiteIds: ["sovereign_hall"],
zoneId: "eternal_throne",
},
{
id: "eternal_dominion",
name: "Eternal Dominion",
description:
"The throne is yours. Not just this one — all the power that flows from it, into every plane and reality it has shaped across all of time. Your guild has not merely won. It has become the thing that wins, permanently, for the rest of forever.",
status: "locked",
durationSeconds: 96 * 60 * 60,
rewards: [
{ type: "gold", amount: 3e27 },
{ type: "essence", amount: 1e24 },
{ type: "crystals", amount: 4e20 },
],
prerequisiteIds: ["the_final_ascent"],
zoneId: "eternal_throne",
},
];
+262
View File
@@ -318,4 +318,266 @@ export const DEFAULT_UPGRADES: Upgrade[] = [
purchased: false,
unlocked: false,
},
// ── Click upgrades (new zones) ────────────────────────────────────────────
{
id: "click_4",
name: "Celestial Strike",
description: "Blessed by the celestials themselves. Click power quadrupled.",
target: "click",
multiplier: 4,
costGold: 100_000_000,
costEssence: 5_000_000,
costCrystals: 0,
purchased: false,
unlocked: false,
},
{
id: "click_5",
name: "Infernal Slash",
description: "A strike that burns with infernal fire. Click power quintupled.",
target: "click",
multiplier: 5,
costGold: 0,
costEssence: 0,
costCrystals: 10_000_000,
purchased: false,
unlocked: false,
},
// ── Global upgrades (new zones) ───────────────────────────────────────────
{
id: "divine_covenant",
name: "Divine Covenant",
description: "A covenant with celestial forces multiplies your guild's potential. All income doubled.",
target: "global",
multiplier: 2,
costGold: 500_000_000,
costEssence: 10_000_000,
costCrystals: 0,
purchased: false,
unlocked: false,
},
{
id: "global_4",
name: "Imperial Decree",
description: "The empire formally sponsors your guild at the highest level. All income x2.5.",
target: "global",
multiplier: 2.5,
costGold: 100_000_000_000,
costEssence: 50_000_000,
costCrystals: 0,
purchased: false,
unlocked: false,
},
{
id: "abyssal_pact",
name: "Abyssal Pact",
description: "A pact with the denizens of the deepest trench. All income doubled.",
target: "global",
multiplier: 2,
costGold: 0,
costEssence: 0,
costCrystals: 2_000_000,
purchased: false,
unlocked: false,
},
{
id: "celestial_mandate",
name: "Celestial Mandate",
description: "The celestials themselves decree your guild's dominion over all realms. All income x3.",
target: "global",
multiplier: 3,
costGold: 50_000_000_000_000,
costEssence: 100_000_000_000,
costCrystals: 0,
purchased: false,
unlocked: false,
},
{
id: "void_ascendancy",
name: "Void Ascendancy",
description: "Transcend mortal limits through void energy. All income x3.",
target: "global",
multiplier: 3,
costGold: 0,
costEssence: 0,
costCrystals: 10_000_000,
purchased: false,
unlocked: false,
},
{
id: "divine_harmony",
name: "Divine Harmony",
description: "Perfect harmony with celestial forces amplifies all output. All income x2.5.",
target: "global",
multiplier: 2.5,
costGold: 1_000_000_000_000_000,
costEssence: 500_000_000_000,
costCrystals: 0,
purchased: false,
unlocked: false,
},
{
id: "infernal_fury",
name: "Infernal Fury",
description: "Channel infernal rage into production. All income doubled.",
target: "global",
multiplier: 2,
costGold: 0,
costEssence: 0,
costCrystals: 50_000_000,
purchased: false,
unlocked: false,
},
// ── Purchasable essence/crystal sink upgrades ─────────────────────────────
{
id: "essence_nexus",
name: "Essence Nexus",
description: "Tap into a vast network of essence flows. All income +50%.",
target: "global",
multiplier: 1.5,
costGold: 0,
costEssence: 5_000_000,
costCrystals: 0,
purchased: false,
unlocked: true,
},
{
id: "essence_overdrive",
name: "Essence Overdrive",
description: "Flood your guild's operations with raw essence power. All income doubled.",
target: "global",
multiplier: 2,
costGold: 0,
costEssence: 50_000_000,
costCrystals: 0,
purchased: false,
unlocked: true,
},
{
id: "primal_essence",
name: "Primal Essence",
description: "Harness the oldest essence in existence. All income x3.",
target: "global",
multiplier: 3,
costGold: 0,
costEssence: 500_000_000,
costCrystals: 0,
purchased: false,
unlocked: true,
},
{
id: "crystal_overdrive",
name: "Crystal Overdrive",
description: "Push crystal resonance beyond its limits. All income doubled.",
target: "global",
multiplier: 2,
costGold: 0,
costEssence: 0,
costCrystals: 50_000_000,
purchased: false,
unlocked: true,
},
{
id: "eternal_bond",
name: "Eternal Bond",
description: "Forge an eternal pact that triples all income permanently.",
target: "global",
multiplier: 3,
costGold: 0,
costEssence: 0,
costCrystals: 200_000_000,
purchased: false,
unlocked: true,
},
{
id: "apex_mandate",
name: "Apex Mandate",
description: "The supreme decree from the Eternal Throne itself. All income x5.",
target: "global",
multiplier: 5,
costGold: 0,
costEssence: 0,
costCrystals: 1_000_000_000,
purchased: false,
unlocked: true,
},
// ── New adventurer upgrades ───────────────────────────────────────────────
{
id: "seraph_knight_1",
name: "Seraphic Wings",
description: "Seraph knights gain divine flight, doubling their effectiveness.",
target: "adventurer",
adventurerId: "seraph_knight",
multiplier: 2,
costGold: 0,
costEssence: 10_000_000,
costCrystals: 0,
purchased: false,
unlocked: false,
},
{
id: "abyss_diver_1",
name: "Pressure Adaptation",
description: "Full adaptation to abyssal pressure doubles diver effectiveness.",
target: "adventurer",
adventurerId: "abyss_diver",
multiplier: 2,
costGold: 0,
costEssence: 25_000_000,
costCrystals: 0,
purchased: false,
unlocked: false,
},
{
id: "infernal_warden_1",
name: "Infernal Tempering",
description: "Tempered in hellfire itself, warden effectiveness is doubled.",
target: "adventurer",
adventurerId: "infernal_warden",
multiplier: 2,
costGold: 0,
costEssence: 0,
costCrystals: 2_000_000,
purchased: false,
unlocked: false,
},
{
id: "crystal_sage_1",
name: "Prismatic Mastery",
description: "Complete mastery of prismatic crystallomancy doubles sage output.",
target: "adventurer",
adventurerId: "crystal_sage",
multiplier: 2,
costGold: 0,
costEssence: 0,
costCrystals: 5_000_000,
purchased: false,
unlocked: false,
},
{
id: "void_sentinel_1",
name: "Void Resonance",
description: "Perfect resonance with the void doubles sentinel effectiveness.",
target: "adventurer",
adventurerId: "void_sentinel",
multiplier: 2,
costGold: 0,
costEssence: 0,
costCrystals: 15_000_000,
purchased: false,
unlocked: false,
},
{
id: "eternal_champion_1",
name: "Eternal Oath",
description: "An oath that transcends time itself doubles champion output.",
target: "adventurer",
adventurerId: "eternal_champion",
multiplier: 2,
costGold: 0,
costEssence: 0,
costCrystals: 50_000_000,
purchased: false,
unlocked: false,
},
];
+60
View File
@@ -61,4 +61,64 @@ export const DEFAULT_ZONES: Zone[] = [
unlockBossId: "phoenix_lord",
unlockQuestId: "the_forge",
},
{
id: "celestial_reaches",
name: "The Celestial Reaches",
description:
"Beyond the astral void, where reality gives way to pure divinity. The celestial host holds court here in towers of light older than stars, but their idea of order is as alien and terrifying as the chaos below.",
emoji: "✨",
status: "locked",
unlockBossId: "the_devourer",
unlockQuestId: "the_end",
},
{
id: "abyssal_trench",
name: "The Abyssal Trench",
description:
"At the bottom of all things, where no light reaches and pressure could crush continents, something old and patient waits. It has been waiting since before your world was made — and it has never been interrupted.",
emoji: "🌊",
status: "locked",
unlockBossId: "the_first_light",
unlockQuestId: "celestial_archive",
},
{
id: "infernal_court",
name: "The Infernal Court",
description:
"The courts of the underworld, where demon lords scheme across aeons. Power here is measured in souls and suffering — your guild deals in neither, but you will have to speak their language before this is over.",
emoji: "👿",
status: "locked",
unlockBossId: "elder_abomination",
unlockQuestId: "abyssal_chronicle",
},
{
id: "crystalline_spire",
name: "The Crystalline Spire",
description:
"A tower of living crystal that pierces every boundary between planes. Its facets reflect possibilities that have never existed and futures that cannot be. The intelligence at its core has been calculating since before this universe existed.",
emoji: "💎",
status: "locked",
unlockBossId: "the_fallen",
unlockQuestId: "infernal_codex",
},
{
id: "void_sanctum",
name: "The Void Sanctum",
description:
"Not a place but a state of being — the space between the spaces between things. Existence grows thin here. Your guild is the first to find it, drawn by a power that should not be able to call to anything that lives.",
emoji: "🌀",
status: "locked",
unlockBossId: "crystal_sovereign",
unlockQuestId: "the_prism_vault",
},
{
id: "eternal_throne",
name: "The Eternal Throne",
description:
"The seat of ultimate power at the centre of all creation. Whoever sits here has sat here since the beginning. They have watched countless guilds rise and fall across uncounted ages. Your guild has come to take the throne. It does not yield.",
emoji: "👑",
status: "locked",
unlockBossId: "void_emperor",
unlockQuestId: "heart_of_void",
},
];
+13 -1
View File
@@ -1,9 +1,21 @@
/**
* Formats a number with K/M/B/T suffixes for display.
* Formats a number with K/M/B/T/Q/Qt/S/Sp suffixes for display.
* Numbers below 1000 show one decimal place.
*/
export const formatNumber = (value: number): string => {
if (!isFinite(value) || isNaN(value)) return "0";
if (value >= 1e24) {
return `${(value / 1e24).toFixed(2)}Sp`;
}
if (value >= 1e21) {
return `${(value / 1e21).toFixed(2)}S`;
}
if (value >= 1e18) {
return `${(value / 1e18).toFixed(2)}Qt`;
}
if (value >= 1e15) {
return `${(value / 1e15).toFixed(2)}Q`;
}
if (value >= 1_000_000_000_000) {
return `${(value / 1_000_000_000_000).toFixed(2)}T`;
}