generated from nhcarrigan/template
Compare commits
1 Commits
2827ddef72
..
v0.4.0
| Author | SHA1 | Date | |
|---|---|---|---|
| 666a5b2d6d |
@@ -223,8 +223,8 @@ export const defaultAchievements: Array<Achievement> = [
|
|||||||
unlockedAt: null,
|
unlockedAt: null,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
condition: { amount: 65, type: "equipmentOwned" },
|
condition: { amount: 78, type: "equipmentOwned" },
|
||||||
description: "Own all 65 pieces of equipment.",
|
description: "Own all 78 pieces of equipment.",
|
||||||
icon: "🛡️",
|
icon: "🛡️",
|
||||||
id: "fully_equipped",
|
id: "fully_equipped",
|
||||||
name: "Fully Equipped",
|
name: "Fully Equipped",
|
||||||
@@ -316,8 +316,26 @@ export const defaultAchievements: Array<Achievement> = [
|
|||||||
unlockedAt: null,
|
unlockedAt: null,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
condition: { amount: 122, type: "questsCompleted" },
|
condition: { amount: 75, type: "questsCompleted" },
|
||||||
description: "Complete all 122 quests across the known multiverse.",
|
description: "Complete 75 quests.",
|
||||||
|
icon: "🌠",
|
||||||
|
id: "quest_hero",
|
||||||
|
name: "Quest Hero",
|
||||||
|
reward: { crystals: 10_000 },
|
||||||
|
unlockedAt: null,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
condition: { amount: 100, type: "questsCompleted" },
|
||||||
|
description: "Complete 100 quests.",
|
||||||
|
icon: "💫",
|
||||||
|
id: "quest_legend",
|
||||||
|
name: "Quest Legend",
|
||||||
|
reward: { crystals: 15_000 },
|
||||||
|
unlockedAt: null,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
condition: { amount: 112, type: "questsCompleted" },
|
||||||
|
description: "Complete all 112 quests across the known multiverse.",
|
||||||
icon: "🌌",
|
icon: "🌌",
|
||||||
id: "quest_eternal",
|
id: "quest_eternal",
|
||||||
name: "Quest Eternal",
|
name: "Quest Eternal",
|
||||||
@@ -343,6 +361,15 @@ export const defaultAchievements: Array<Achievement> = [
|
|||||||
reward: { crystals: 5000 },
|
reward: { crystals: 5000 },
|
||||||
unlockedAt: null,
|
unlockedAt: null,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
condition: { amount: 50, type: "bossesDefeated" },
|
||||||
|
description: "Defeat 50 bosses.",
|
||||||
|
icon: "⚡",
|
||||||
|
id: "boss_legend",
|
||||||
|
name: "Legendary Vanquisher",
|
||||||
|
reward: { crystals: 15_000 },
|
||||||
|
unlockedAt: null,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
condition: { amount: 72, type: "bossesDefeated" },
|
condition: { amount: 72, type: "bossesDefeated" },
|
||||||
description: "Defeat all 72 bosses across every plane of existence.",
|
description: "Defeat all 72 bosses across every plane of existence.",
|
||||||
@@ -396,7 +423,7 @@ export const defaultAchievements: Array<Achievement> = [
|
|||||||
icon: "✨",
|
icon: "✨",
|
||||||
id: "prestige_transcendent",
|
id: "prestige_transcendent",
|
||||||
name: "Transcendent",
|
name: "Transcendent",
|
||||||
reward: { crystals: 10_000 },
|
reward: { runestones: 100 },
|
||||||
unlockedAt: null,
|
unlockedAt: null,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -405,7 +432,7 @@ export const defaultAchievements: Array<Achievement> = [
|
|||||||
icon: "💎",
|
icon: "💎",
|
||||||
id: "prestige_eternal",
|
id: "prestige_eternal",
|
||||||
name: "Eternal Looper",
|
name: "Eternal Looper",
|
||||||
reward: { crystals: 25_000 },
|
reward: { runestones: 500 },
|
||||||
unlockedAt: null,
|
unlockedAt: null,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -414,7 +441,7 @@ export const defaultAchievements: Array<Achievement> = [
|
|||||||
icon: "🌟",
|
icon: "🌟",
|
||||||
id: "prestige_immortal",
|
id: "prestige_immortal",
|
||||||
name: "Immortal Cycler",
|
name: "Immortal Cycler",
|
||||||
reward: { crystals: 50_000 },
|
reward: { runestones: 2000 },
|
||||||
unlockedAt: null,
|
unlockedAt: null,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -423,7 +450,7 @@ export const defaultAchievements: Array<Achievement> = [
|
|||||||
icon: "👑",
|
icon: "👑",
|
||||||
id: "prestige_absolute",
|
id: "prestige_absolute",
|
||||||
name: "Absolute Champion",
|
name: "Absolute Champion",
|
||||||
reward: { crystals: 100_000 },
|
reward: { runestones: 10_000 },
|
||||||
unlockedAt: null,
|
unlockedAt: null,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
+53
-53
@@ -360,7 +360,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 40,
|
bountyRunestones: 40,
|
||||||
crystalReward: 40_000,
|
crystalReward: 0,
|
||||||
currentHp: 2_000_000_000,
|
currentHp: 2_000_000_000,
|
||||||
damagePerSecond: 120_000,
|
damagePerSecond: 120_000,
|
||||||
description:
|
description:
|
||||||
@@ -378,7 +378,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 50,
|
bountyRunestones: 50,
|
||||||
crystalReward: 100_000,
|
crystalReward: 0,
|
||||||
currentHp: 8_000_000_000,
|
currentHp: 8_000_000_000,
|
||||||
damagePerSecond: 350_000,
|
damagePerSecond: 350_000,
|
||||||
description:
|
description:
|
||||||
@@ -396,7 +396,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 60,
|
bountyRunestones: 60,
|
||||||
crystalReward: 300_000,
|
crystalReward: 0,
|
||||||
currentHp: 30_000_000_000,
|
currentHp: 30_000_000_000,
|
||||||
damagePerSecond: 1_000_000,
|
damagePerSecond: 1_000_000,
|
||||||
description:
|
description:
|
||||||
@@ -414,7 +414,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 75,
|
bountyRunestones: 75,
|
||||||
crystalReward: 800_000,
|
crystalReward: 0,
|
||||||
currentHp: 100_000_000_000,
|
currentHp: 100_000_000_000,
|
||||||
damagePerSecond: 3_000_000,
|
damagePerSecond: 3_000_000,
|
||||||
description:
|
description:
|
||||||
@@ -433,7 +433,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
// ── Abyssal Trench ────────────────────────────────────────────────────────
|
// ── Abyssal Trench ────────────────────────────────────────────────────────
|
||||||
{
|
{
|
||||||
bountyRunestones: 40,
|
bountyRunestones: 40,
|
||||||
crystalReward: 1_500_000,
|
crystalReward: 0,
|
||||||
currentHp: 250_000_000_000,
|
currentHp: 250_000_000_000,
|
||||||
damagePerSecond: 5_000_000,
|
damagePerSecond: 5_000_000,
|
||||||
description:
|
description:
|
||||||
@@ -451,7 +451,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 55,
|
bountyRunestones: 55,
|
||||||
crystalReward: 4_000_000,
|
crystalReward: 0,
|
||||||
currentHp: 1_000_000_000_000,
|
currentHp: 1_000_000_000_000,
|
||||||
damagePerSecond: 15_000_000,
|
damagePerSecond: 15_000_000,
|
||||||
description:
|
description:
|
||||||
@@ -469,7 +469,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 70,
|
bountyRunestones: 70,
|
||||||
crystalReward: 12_000_000,
|
crystalReward: 0,
|
||||||
currentHp: 4_000_000_000_000,
|
currentHp: 4_000_000_000_000,
|
||||||
damagePerSecond: 50_000_000,
|
damagePerSecond: 50_000_000,
|
||||||
description:
|
description:
|
||||||
@@ -487,7 +487,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 85,
|
bountyRunestones: 85,
|
||||||
crystalReward: 40_000_000,
|
crystalReward: 0,
|
||||||
currentHp: 15_000_000_000_000,
|
currentHp: 15_000_000_000_000,
|
||||||
damagePerSecond: 150_000_000,
|
damagePerSecond: 150_000_000,
|
||||||
description:
|
description:
|
||||||
@@ -505,7 +505,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 100,
|
bountyRunestones: 100,
|
||||||
crystalReward: 150_000_000,
|
crystalReward: 0,
|
||||||
currentHp: 50_000_000_000_000,
|
currentHp: 50_000_000_000_000,
|
||||||
damagePerSecond: 500_000_000,
|
damagePerSecond: 500_000_000,
|
||||||
description:
|
description:
|
||||||
@@ -524,7 +524,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
// ── Infernal Court ────────────────────────────────────────────────────────
|
// ── Infernal Court ────────────────────────────────────────────────────────
|
||||||
{
|
{
|
||||||
bountyRunestones: 55,
|
bountyRunestones: 55,
|
||||||
crystalReward: 350_000_000,
|
crystalReward: 0,
|
||||||
currentHp: 120_000_000_000_000,
|
currentHp: 120_000_000_000_000,
|
||||||
damagePerSecond: 800_000_000,
|
damagePerSecond: 800_000_000,
|
||||||
description:
|
description:
|
||||||
@@ -542,7 +542,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 70,
|
bountyRunestones: 70,
|
||||||
crystalReward: 1_000_000_000,
|
crystalReward: 0,
|
||||||
currentHp: 500_000_000_000_000,
|
currentHp: 500_000_000_000_000,
|
||||||
damagePerSecond: 2_500_000_000,
|
damagePerSecond: 2_500_000_000,
|
||||||
description:
|
description:
|
||||||
@@ -560,7 +560,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 90,
|
bountyRunestones: 90,
|
||||||
crystalReward: 3_000_000_000,
|
crystalReward: 0,
|
||||||
currentHp: 2_000_000_000_000_000,
|
currentHp: 2_000_000_000_000_000,
|
||||||
damagePerSecond: 8_000_000_000,
|
damagePerSecond: 8_000_000_000,
|
||||||
description:
|
description:
|
||||||
@@ -578,7 +578,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 110,
|
bountyRunestones: 110,
|
||||||
crystalReward: 10_000_000_000,
|
crystalReward: 0,
|
||||||
currentHp: 6_000_000_000_000_000,
|
currentHp: 6_000_000_000_000_000,
|
||||||
damagePerSecond: 25_000_000_000,
|
damagePerSecond: 25_000_000_000,
|
||||||
description:
|
description:
|
||||||
@@ -596,7 +596,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 135,
|
bountyRunestones: 135,
|
||||||
crystalReward: 30_000_000_000,
|
crystalReward: 0,
|
||||||
currentHp: 8_000_000_000_000_000,
|
currentHp: 8_000_000_000_000_000,
|
||||||
damagePerSecond: 80_000_000_000,
|
damagePerSecond: 80_000_000_000,
|
||||||
description:
|
description:
|
||||||
@@ -615,7 +615,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
// ── Crystalline Spire ─────────────────────────────────────────────────────
|
// ── Crystalline Spire ─────────────────────────────────────────────────────
|
||||||
{
|
{
|
||||||
bountyRunestones: 70,
|
bountyRunestones: 70,
|
||||||
crystalReward: 8e10,
|
crystalReward: 0,
|
||||||
currentHp: 2e16,
|
currentHp: 2e16,
|
||||||
damagePerSecond: 120_000_000_000,
|
damagePerSecond: 120_000_000_000,
|
||||||
description:
|
description:
|
||||||
@@ -633,7 +633,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 90,
|
bountyRunestones: 90,
|
||||||
crystalReward: 3e11,
|
crystalReward: 0,
|
||||||
currentHp: 8e16,
|
currentHp: 8e16,
|
||||||
damagePerSecond: 4e11,
|
damagePerSecond: 4e11,
|
||||||
description:
|
description:
|
||||||
@@ -651,7 +651,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 115,
|
bountyRunestones: 115,
|
||||||
crystalReward: 1e12,
|
crystalReward: 0,
|
||||||
currentHp: 3e17,
|
currentHp: 3e17,
|
||||||
damagePerSecond: 1.2e12,
|
damagePerSecond: 1.2e12,
|
||||||
description:
|
description:
|
||||||
@@ -669,7 +669,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 140,
|
bountyRunestones: 140,
|
||||||
crystalReward: 4e12,
|
crystalReward: 0,
|
||||||
currentHp: 1e18,
|
currentHp: 1e18,
|
||||||
damagePerSecond: 4e12,
|
damagePerSecond: 4e12,
|
||||||
description:
|
description:
|
||||||
@@ -687,7 +687,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 175,
|
bountyRunestones: 175,
|
||||||
crystalReward: 1.5e13,
|
crystalReward: 0,
|
||||||
currentHp: 4e18,
|
currentHp: 4e18,
|
||||||
damagePerSecond: 1.5e13,
|
damagePerSecond: 1.5e13,
|
||||||
description:
|
description:
|
||||||
@@ -706,7 +706,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
// ── Void Sanctum ──────────────────────────────────────────────────────────
|
// ── Void Sanctum ──────────────────────────────────────────────────────────
|
||||||
{
|
{
|
||||||
bountyRunestones: 90,
|
bountyRunestones: 90,
|
||||||
crystalReward: 4e13,
|
crystalReward: 0,
|
||||||
currentHp: 1e19,
|
currentHp: 1e19,
|
||||||
damagePerSecond: 4e13,
|
damagePerSecond: 4e13,
|
||||||
description:
|
description:
|
||||||
@@ -724,7 +724,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 115,
|
bountyRunestones: 115,
|
||||||
crystalReward: 1.5e14,
|
crystalReward: 0,
|
||||||
currentHp: 5e19,
|
currentHp: 5e19,
|
||||||
damagePerSecond: 1.5e14,
|
damagePerSecond: 1.5e14,
|
||||||
description:
|
description:
|
||||||
@@ -742,7 +742,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 145,
|
bountyRunestones: 145,
|
||||||
crystalReward: 5e14,
|
crystalReward: 0,
|
||||||
currentHp: 2e20,
|
currentHp: 2e20,
|
||||||
damagePerSecond: 5e14,
|
damagePerSecond: 5e14,
|
||||||
description:
|
description:
|
||||||
@@ -760,7 +760,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 180,
|
bountyRunestones: 180,
|
||||||
crystalReward: 2e15,
|
crystalReward: 0,
|
||||||
currentHp: 8e20,
|
currentHp: 8e20,
|
||||||
damagePerSecond: 2e15,
|
damagePerSecond: 2e15,
|
||||||
description:
|
description:
|
||||||
@@ -778,7 +778,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 225,
|
bountyRunestones: 225,
|
||||||
crystalReward: 8e15,
|
crystalReward: 0,
|
||||||
currentHp: 3e21,
|
currentHp: 3e21,
|
||||||
damagePerSecond: 8e15,
|
damagePerSecond: 8e15,
|
||||||
description:
|
description:
|
||||||
@@ -797,7 +797,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
// ── Eternal Throne ────────────────────────────────────────────────────────
|
// ── Eternal Throne ────────────────────────────────────────────────────────
|
||||||
{
|
{
|
||||||
bountyRunestones: 115,
|
bountyRunestones: 115,
|
||||||
crystalReward: 2e16,
|
crystalReward: 0,
|
||||||
currentHp: 1e22,
|
currentHp: 1e22,
|
||||||
damagePerSecond: 2e16,
|
damagePerSecond: 2e16,
|
||||||
description:
|
description:
|
||||||
@@ -815,7 +815,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 150,
|
bountyRunestones: 150,
|
||||||
crystalReward: 8e16,
|
crystalReward: 0,
|
||||||
currentHp: 5e22,
|
currentHp: 5e22,
|
||||||
damagePerSecond: 8e16,
|
damagePerSecond: 8e16,
|
||||||
description:
|
description:
|
||||||
@@ -833,7 +833,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 190,
|
bountyRunestones: 190,
|
||||||
crystalReward: 3e17,
|
crystalReward: 0,
|
||||||
currentHp: 2e23,
|
currentHp: 2e23,
|
||||||
damagePerSecond: 3e17,
|
damagePerSecond: 3e17,
|
||||||
description:
|
description:
|
||||||
@@ -851,7 +851,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 235,
|
bountyRunestones: 235,
|
||||||
crystalReward: 1.2e18,
|
crystalReward: 0,
|
||||||
currentHp: 8e23,
|
currentHp: 8e23,
|
||||||
damagePerSecond: 1.2e18,
|
damagePerSecond: 1.2e18,
|
||||||
description:
|
description:
|
||||||
@@ -869,7 +869,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 295,
|
bountyRunestones: 295,
|
||||||
crystalReward: 5e18,
|
crystalReward: 0,
|
||||||
currentHp: 3e24,
|
currentHp: 3e24,
|
||||||
damagePerSecond: 5e18,
|
damagePerSecond: 5e18,
|
||||||
description:
|
description:
|
||||||
@@ -888,7 +888,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
// ── Primordial Chaos ──────────────────────────────────────────────────────
|
// ── Primordial Chaos ──────────────────────────────────────────────────────
|
||||||
{
|
{
|
||||||
bountyRunestones: 150,
|
bountyRunestones: 150,
|
||||||
crystalReward: 2e20,
|
crystalReward: 0,
|
||||||
currentHp: 1e26,
|
currentHp: 1e26,
|
||||||
damagePerSecond: 2e20,
|
damagePerSecond: 2e20,
|
||||||
description:
|
description:
|
||||||
@@ -906,7 +906,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 200,
|
bountyRunestones: 200,
|
||||||
crystalReward: 8e21,
|
crystalReward: 0,
|
||||||
currentHp: 5e27,
|
currentHp: 5e27,
|
||||||
damagePerSecond: 8e21,
|
damagePerSecond: 8e21,
|
||||||
description:
|
description:
|
||||||
@@ -924,7 +924,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 265,
|
bountyRunestones: 265,
|
||||||
crystalReward: 4e23,
|
crystalReward: 0,
|
||||||
currentHp: 2e29,
|
currentHp: 2e29,
|
||||||
damagePerSecond: 4e23,
|
damagePerSecond: 4e23,
|
||||||
description:
|
description:
|
||||||
@@ -942,7 +942,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 350,
|
bountyRunestones: 350,
|
||||||
crystalReward: 2e25,
|
crystalReward: 0,
|
||||||
currentHp: 8e30,
|
currentHp: 8e30,
|
||||||
damagePerSecond: 2e25,
|
damagePerSecond: 2e25,
|
||||||
description:
|
description:
|
||||||
@@ -961,7 +961,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
// ── Infinite Expanse ──────────────────────────────────────────────────────
|
// ── Infinite Expanse ──────────────────────────────────────────────────────
|
||||||
{
|
{
|
||||||
bountyRunestones: 200,
|
bountyRunestones: 200,
|
||||||
crystalReward: 8e27,
|
crystalReward: 0,
|
||||||
currentHp: 3e33,
|
currentHp: 3e33,
|
||||||
damagePerSecond: 8e27,
|
damagePerSecond: 8e27,
|
||||||
description:
|
description:
|
||||||
@@ -979,7 +979,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 265,
|
bountyRunestones: 265,
|
||||||
crystalReward: 3e31,
|
crystalReward: 0,
|
||||||
currentHp: 2e35,
|
currentHp: 2e35,
|
||||||
damagePerSecond: 3e31,
|
damagePerSecond: 3e31,
|
||||||
description:
|
description:
|
||||||
@@ -997,7 +997,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 350,
|
bountyRunestones: 350,
|
||||||
crystalReward: 1e35,
|
crystalReward: 0,
|
||||||
currentHp: 5e37,
|
currentHp: 5e37,
|
||||||
damagePerSecond: 1e35,
|
damagePerSecond: 1e35,
|
||||||
description:
|
description:
|
||||||
@@ -1015,7 +1015,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 465,
|
bountyRunestones: 465,
|
||||||
crystalReward: 5e38,
|
crystalReward: 0,
|
||||||
currentHp: 3e39,
|
currentHp: 3e39,
|
||||||
damagePerSecond: 5e38,
|
damagePerSecond: 5e38,
|
||||||
description:
|
description:
|
||||||
@@ -1034,7 +1034,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
// ── Reality Forge ─────────────────────────────────────────────────────────
|
// ── Reality Forge ─────────────────────────────────────────────────────────
|
||||||
{
|
{
|
||||||
bountyRunestones: 265,
|
bountyRunestones: 265,
|
||||||
crystalReward: 2e42,
|
crystalReward: 0,
|
||||||
currentHp: 8e47,
|
currentHp: 8e47,
|
||||||
damagePerSecond: 2e42,
|
damagePerSecond: 2e42,
|
||||||
description:
|
description:
|
||||||
@@ -1052,7 +1052,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 350,
|
bountyRunestones: 350,
|
||||||
crystalReward: 1e47,
|
crystalReward: 0,
|
||||||
currentHp: 4e52,
|
currentHp: 4e52,
|
||||||
damagePerSecond: 1e47,
|
damagePerSecond: 1e47,
|
||||||
description:
|
description:
|
||||||
@@ -1070,7 +1070,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 465,
|
bountyRunestones: 465,
|
||||||
crystalReward: 6e51,
|
crystalReward: 0,
|
||||||
currentHp: 2e57,
|
currentHp: 2e57,
|
||||||
damagePerSecond: 6e51,
|
damagePerSecond: 6e51,
|
||||||
description:
|
description:
|
||||||
@@ -1088,7 +1088,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 615,
|
bountyRunestones: 615,
|
||||||
crystalReward: 2e56,
|
crystalReward: 0,
|
||||||
currentHp: 8e61,
|
currentHp: 8e61,
|
||||||
damagePerSecond: 2e56,
|
damagePerSecond: 2e56,
|
||||||
description:
|
description:
|
||||||
@@ -1107,7 +1107,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
// ── Cosmic Maelstrom ──────────────────────────────────────────────────────
|
// ── Cosmic Maelstrom ──────────────────────────────────────────────────────
|
||||||
{
|
{
|
||||||
bountyRunestones: 350,
|
bountyRunestones: 350,
|
||||||
crystalReward: 1e60,
|
crystalReward: 0,
|
||||||
currentHp: 4e65,
|
currentHp: 4e65,
|
||||||
damagePerSecond: 1e60,
|
damagePerSecond: 1e60,
|
||||||
description:
|
description:
|
||||||
@@ -1125,7 +1125,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 465,
|
bountyRunestones: 465,
|
||||||
crystalReward: 6e65,
|
crystalReward: 0,
|
||||||
currentHp: 2e71,
|
currentHp: 2e71,
|
||||||
damagePerSecond: 6e65,
|
damagePerSecond: 6e65,
|
||||||
description:
|
description:
|
||||||
@@ -1143,7 +1143,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 615,
|
bountyRunestones: 615,
|
||||||
crystalReward: 3e71,
|
crystalReward: 0,
|
||||||
currentHp: 1e77,
|
currentHp: 1e77,
|
||||||
damagePerSecond: 3e71,
|
damagePerSecond: 3e71,
|
||||||
description:
|
description:
|
||||||
@@ -1161,7 +1161,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 815,
|
bountyRunestones: 815,
|
||||||
crystalReward: 1e77,
|
crystalReward: 0,
|
||||||
currentHp: 5e82,
|
currentHp: 5e82,
|
||||||
damagePerSecond: 1e77,
|
damagePerSecond: 1e77,
|
||||||
description:
|
description:
|
||||||
@@ -1180,7 +1180,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
// ── Primeval Sanctum ──────────────────────────────────────────────────────
|
// ── Primeval Sanctum ──────────────────────────────────────────────────────
|
||||||
{
|
{
|
||||||
bountyRunestones: 465,
|
bountyRunestones: 465,
|
||||||
crystalReward: 5e82,
|
crystalReward: 0,
|
||||||
currentHp: 2e88,
|
currentHp: 2e88,
|
||||||
damagePerSecond: 5e82,
|
damagePerSecond: 5e82,
|
||||||
description:
|
description:
|
||||||
@@ -1198,7 +1198,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 615,
|
bountyRunestones: 615,
|
||||||
crystalReward: 3e89,
|
crystalReward: 0,
|
||||||
currentHp: 1e95,
|
currentHp: 1e95,
|
||||||
damagePerSecond: 3e89,
|
damagePerSecond: 3e89,
|
||||||
description:
|
description:
|
||||||
@@ -1216,7 +1216,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 815,
|
bountyRunestones: 815,
|
||||||
crystalReward: 2e96,
|
crystalReward: 0,
|
||||||
currentHp: 8e101,
|
currentHp: 8e101,
|
||||||
damagePerSecond: 2e96,
|
damagePerSecond: 2e96,
|
||||||
description:
|
description:
|
||||||
@@ -1234,7 +1234,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 1080,
|
bountyRunestones: 1080,
|
||||||
crystalReward: 1e103,
|
crystalReward: 0,
|
||||||
currentHp: 5e108,
|
currentHp: 5e108,
|
||||||
damagePerSecond: 1e103,
|
damagePerSecond: 1e103,
|
||||||
description:
|
description:
|
||||||
@@ -1253,7 +1253,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
// ── The Absolute ──────────────────────────────────────────────────────────
|
// ── The Absolute ──────────────────────────────────────────────────────────
|
||||||
{
|
{
|
||||||
bountyRunestones: 615,
|
bountyRunestones: 615,
|
||||||
crystalReward: 5e110,
|
crystalReward: 0,
|
||||||
currentHp: 2e116,
|
currentHp: 2e116,
|
||||||
damagePerSecond: 5e110,
|
damagePerSecond: 5e110,
|
||||||
description:
|
description:
|
||||||
@@ -1271,7 +1271,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 815,
|
bountyRunestones: 815,
|
||||||
crystalReward: 3e119,
|
crystalReward: 0,
|
||||||
currentHp: 1e125,
|
currentHp: 1e125,
|
||||||
damagePerSecond: 3e119,
|
damagePerSecond: 3e119,
|
||||||
description:
|
description:
|
||||||
@@ -1289,7 +1289,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 1080,
|
bountyRunestones: 1080,
|
||||||
crystalReward: 1e129,
|
crystalReward: 0,
|
||||||
currentHp: 5e134,
|
currentHp: 5e134,
|
||||||
damagePerSecond: 1e129,
|
damagePerSecond: 1e129,
|
||||||
description:
|
description:
|
||||||
@@ -1307,7 +1307,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
bountyRunestones: 1430,
|
bountyRunestones: 1430,
|
||||||
crystalReward: 5e139,
|
crystalReward: 0,
|
||||||
currentHp: 2e145,
|
currentHp: 2e145,
|
||||||
damagePerSecond: 5e139,
|
damagePerSecond: 5e139,
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -695,6 +695,168 @@ export const defaultEquipment: Array<Equipment> = [
|
|||||||
setId: "eternal_throne",
|
setId: "eternal_throne",
|
||||||
type: "trinket",
|
type: "trinket",
|
||||||
},
|
},
|
||||||
|
// ── Primordial Chaos ──────────────────────────────────────────────────────
|
||||||
|
{
|
||||||
|
bonus: { goldMultiplier: 9 },
|
||||||
|
description:
|
||||||
|
"The Primordial Titan's carapace — formed before the concept of armour existed. It simply is what armour aspires to be.",
|
||||||
|
equipped: false,
|
||||||
|
id: "chaos_mantle",
|
||||||
|
name: "The Chaos Mantle",
|
||||||
|
owned: false,
|
||||||
|
rarity: "legendary",
|
||||||
|
setId: "primordial_chaos",
|
||||||
|
type: "armour",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
bonus: { clickMultiplier: 5, combatMultiplier: 2, goldMultiplier: 2.5 },
|
||||||
|
description:
|
||||||
|
"The crystallised core of the Titan itself — the first stable thing to emerge from chaos. It radiates in every direction simultaneously.",
|
||||||
|
equipped: false,
|
||||||
|
id: "titan_core",
|
||||||
|
name: "The Titan Core",
|
||||||
|
owned: false,
|
||||||
|
rarity: "legendary",
|
||||||
|
setId: "primordial_chaos",
|
||||||
|
type: "trinket",
|
||||||
|
},
|
||||||
|
// ── Infinite Expanse ──────────────────────────────────────────────────────
|
||||||
|
{
|
||||||
|
bonus: { combatMultiplier: 14 },
|
||||||
|
description:
|
||||||
|
"Forged from the Expanse Sovereign's own reach — a blade that has no beginning and no end, only edge.",
|
||||||
|
equipped: false,
|
||||||
|
id: "expanse_blade",
|
||||||
|
name: "The Expanse Blade",
|
||||||
|
owned: false,
|
||||||
|
rarity: "legendary",
|
||||||
|
setId: "infinite_expanse",
|
||||||
|
type: "weapon",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
bonus: { goldMultiplier: 10 },
|
||||||
|
description:
|
||||||
|
"A second iteration of the void's armour — the first was not enough. This one has never been tested to its limit.",
|
||||||
|
equipped: false,
|
||||||
|
id: "void_armour_mk2",
|
||||||
|
name: "Void Armour Mk. II",
|
||||||
|
owned: false,
|
||||||
|
rarity: "legendary",
|
||||||
|
setId: "infinite_expanse",
|
||||||
|
type: "armour",
|
||||||
|
},
|
||||||
|
// ── Reality Forge ─────────────────────────────────────────────────────────
|
||||||
|
{
|
||||||
|
bonus: { combatMultiplier: 16 },
|
||||||
|
description:
|
||||||
|
"The Reality Architect's primary instrument — a sword that does not cut through things but rewrites what they are.",
|
||||||
|
equipped: false,
|
||||||
|
id: "cosmos_blade",
|
||||||
|
name: "The Cosmos Blade",
|
||||||
|
owned: false,
|
||||||
|
rarity: "legendary",
|
||||||
|
setId: "reality_forge",
|
||||||
|
type: "weapon",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
bonus: { goldMultiplier: 12 },
|
||||||
|
description:
|
||||||
|
"Plated from the substance of reality itself — wearing it makes you feel slightly more real than everything around you.",
|
||||||
|
equipped: false,
|
||||||
|
id: "reality_plate",
|
||||||
|
name: "The Reality Plate",
|
||||||
|
owned: false,
|
||||||
|
rarity: "legendary",
|
||||||
|
setId: "reality_forge",
|
||||||
|
type: "armour",
|
||||||
|
},
|
||||||
|
// ── Cosmic Maelstrom ──────────────────────────────────────────────────────
|
||||||
|
{
|
||||||
|
bonus: { combatMultiplier: 18 },
|
||||||
|
description:
|
||||||
|
"Torn from the eye of the Cosmic Annihilator — a weapon that carries the force of an ending universe in every swing.",
|
||||||
|
equipped: false,
|
||||||
|
id: "maelstrom_edge",
|
||||||
|
name: "The Maelstrom Edge",
|
||||||
|
owned: false,
|
||||||
|
rarity: "legendary",
|
||||||
|
setId: "cosmic_maelstrom",
|
||||||
|
type: "weapon",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
bonus: { goldMultiplier: 14 },
|
||||||
|
description:
|
||||||
|
"Armour that has weathered the destruction of countless realities. It has learned not to flinch.",
|
||||||
|
equipped: false,
|
||||||
|
id: "cosmic_plate",
|
||||||
|
name: "The Cosmic Plate",
|
||||||
|
owned: false,
|
||||||
|
rarity: "legendary",
|
||||||
|
setId: "cosmic_maelstrom",
|
||||||
|
type: "armour",
|
||||||
|
},
|
||||||
|
// ── Primeval Sanctum ──────────────────────────────────────────────────────
|
||||||
|
{
|
||||||
|
bonus: { combatMultiplier: 22 },
|
||||||
|
description:
|
||||||
|
"The first weapon — older than the concept of war, older than the concept of a weapon. It remembers what it was made for.",
|
||||||
|
equipped: false,
|
||||||
|
id: "primeval_blade",
|
||||||
|
name: "The Primeval Blade",
|
||||||
|
owned: false,
|
||||||
|
rarity: "legendary",
|
||||||
|
setId: "primeval_sanctum",
|
||||||
|
type: "weapon",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
bonus: { goldMultiplier: 17 },
|
||||||
|
description:
|
||||||
|
"The shield-form of the Primeval God — absolute protection from before the concept of harm existed.",
|
||||||
|
equipped: false,
|
||||||
|
id: "ancient_aegis",
|
||||||
|
name: "The Ancient Aegis",
|
||||||
|
owned: false,
|
||||||
|
rarity: "legendary",
|
||||||
|
setId: "primeval_sanctum",
|
||||||
|
type: "armour",
|
||||||
|
},
|
||||||
|
// ── The Absolute ──────────────────────────────────────────────────────────
|
||||||
|
{
|
||||||
|
bonus: { combatMultiplier: 28 },
|
||||||
|
description:
|
||||||
|
"There is no name for what this was before it became a sword. There is no name for what it is now. It ends things.",
|
||||||
|
equipped: false,
|
||||||
|
id: "absolute_blade",
|
||||||
|
name: "The Absolute Blade",
|
||||||
|
owned: false,
|
||||||
|
rarity: "legendary",
|
||||||
|
setId: "the_absolute",
|
||||||
|
type: "weapon",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
bonus: { goldMultiplier: 20 },
|
||||||
|
description:
|
||||||
|
"Eternity given the shape of armour — it has always existed, it will always exist, and it has always protected its wearer.",
|
||||||
|
equipped: false,
|
||||||
|
id: "eternity_plate",
|
||||||
|
name: "The Eternity Plate",
|
||||||
|
owned: false,
|
||||||
|
rarity: "legendary",
|
||||||
|
setId: "the_absolute",
|
||||||
|
type: "armour",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
bonus: { clickMultiplier: 6, combatMultiplier: 3, goldMultiplier: 3 },
|
||||||
|
description:
|
||||||
|
"The heart of everything — a thing so fundamental that its removal from the Absolute One ended all things, briefly. Briefly.",
|
||||||
|
equipped: false,
|
||||||
|
id: "omniversal_core",
|
||||||
|
name: "The Omniversal Core",
|
||||||
|
owned: false,
|
||||||
|
rarity: "legendary",
|
||||||
|
setId: "the_absolute",
|
||||||
|
type: "trinket",
|
||||||
|
},
|
||||||
// ── Purchasable endgame sinks ─────────────────────────────────────────────
|
// ── Purchasable endgame sinks ─────────────────────────────────────────────
|
||||||
{
|
{
|
||||||
bonus: { clickMultiplier: 4.25 },
|
bonus: { clickMultiplier: 4.25 },
|
||||||
@@ -757,7 +919,7 @@ export const defaultEquipment: Array<Equipment> = [
|
|||||||
type: "armour",
|
type: "armour",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
bonus: { clickMultiplier: 5, combatMultiplier: 1.75, goldMultiplier: 2 },
|
bonus: { clickMultiplier: 5, combatMultiplier: 3, goldMultiplier: 2.5 },
|
||||||
cost: { crystals: 100_000_000, essence: 0, gold: 0 },
|
cost: { crystals: 100_000_000, essence: 0, gold: 0 },
|
||||||
description:
|
description:
|
||||||
"An artifact from beyond all known planes — it refracts power through all dimensions simultaneously.",
|
"An artifact from beyond all known planes — it refracts power through all dimensions simultaneously.",
|
||||||
|
|||||||
+68
-68
@@ -265,9 +265,9 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
name: "The Sunken Temple",
|
name: "The Sunken Temple",
|
||||||
prerequisiteIds: [ "witch_coven" ],
|
prerequisiteIds: [ "witch_coven" ],
|
||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2_000_000, type: "gold" },
|
{ amount: 60_000_000, type: "gold" },
|
||||||
{ amount: 1500, type: "essence" },
|
{ amount: 25_000, type: "essence" },
|
||||||
{ amount: 75, type: "crystals" },
|
{ amount: 400, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "shadow_marshes",
|
zoneId: "shadow_marshes",
|
||||||
@@ -643,7 +643,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2_000_000_000_000_000, type: "gold" },
|
{ amount: 2_000_000_000_000_000, type: "gold" },
|
||||||
{ amount: 600_000_000_000, type: "essence" },
|
{ amount: 600_000_000_000, type: "essence" },
|
||||||
{ amount: 1_000_000_000, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "infernal_court",
|
zoneId: "infernal_court",
|
||||||
@@ -659,7 +659,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 6_000_000_000_000_000, type: "gold" },
|
{ amount: 6_000_000_000_000_000, type: "gold" },
|
||||||
{ amount: 2_000_000_000_000, type: "essence" },
|
{ amount: 2_000_000_000_000, type: "essence" },
|
||||||
{ amount: 3_000_000_000, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "infernal_court",
|
zoneId: "infernal_court",
|
||||||
@@ -675,7 +675,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2e16, type: "gold" },
|
{ amount: 2e16, type: "gold" },
|
||||||
{ amount: 6_000_000_000_000, type: "essence" },
|
{ amount: 6_000_000_000_000, type: "essence" },
|
||||||
{ amount: 8_000_000_000, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "infernal_court",
|
zoneId: "infernal_court",
|
||||||
@@ -691,7 +691,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 6e16, type: "gold" },
|
{ amount: 6e16, type: "gold" },
|
||||||
{ amount: 2e13, type: "essence" },
|
{ amount: 2e13, type: "essence" },
|
||||||
{ amount: 2.5e10, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "infernal_warden_1", type: "upgrade" },
|
{ targetId: "infernal_warden_1", type: "upgrade" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -708,7 +708,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2e17, type: "gold" },
|
{ amount: 2e17, type: "gold" },
|
||||||
{ amount: 6e13, type: "essence" },
|
{ amount: 6e13, type: "essence" },
|
||||||
{ amount: 8e10, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "infernal_court",
|
zoneId: "infernal_court",
|
||||||
@@ -741,7 +741,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2e18, type: "gold" },
|
{ amount: 2e18, type: "gold" },
|
||||||
{ amount: 8e14, type: "essence" },
|
{ amount: 8e14, type: "essence" },
|
||||||
{ amount: 3e12, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "crystalline_spire",
|
zoneId: "crystalline_spire",
|
||||||
@@ -757,7 +757,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 8e18, type: "gold" },
|
{ amount: 8e18, type: "gold" },
|
||||||
{ amount: 3e15, type: "essence" },
|
{ amount: 3e15, type: "essence" },
|
||||||
{ amount: 1e13, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "crystalline_spire",
|
zoneId: "crystalline_spire",
|
||||||
@@ -773,7 +773,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 3e19, type: "gold" },
|
{ amount: 3e19, type: "gold" },
|
||||||
{ amount: 1e16, type: "essence" },
|
{ amount: 1e16, type: "essence" },
|
||||||
{ amount: 4e13, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "crystalline_spire",
|
zoneId: "crystalline_spire",
|
||||||
@@ -789,7 +789,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1e20, type: "gold" },
|
{ amount: 1e20, type: "gold" },
|
||||||
{ amount: 4e16, type: "essence" },
|
{ amount: 4e16, type: "essence" },
|
||||||
{ amount: 1.5e14, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "crystal_sage_1", type: "upgrade" },
|
{ targetId: "crystal_sage_1", type: "upgrade" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -806,7 +806,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 4e20, type: "gold" },
|
{ amount: 4e20, type: "gold" },
|
||||||
{ amount: 1.5e17, type: "essence" },
|
{ amount: 1.5e17, type: "essence" },
|
||||||
{ amount: 5e14, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "crystalline_spire",
|
zoneId: "crystalline_spire",
|
||||||
@@ -839,7 +839,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 5e21, type: "gold" },
|
{ amount: 5e21, type: "gold" },
|
||||||
{ amount: 2e18, type: "essence" },
|
{ amount: 2e18, type: "essence" },
|
||||||
{ amount: 2e15, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "void_sanctum",
|
zoneId: "void_sanctum",
|
||||||
@@ -855,7 +855,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2e22, type: "gold" },
|
{ amount: 2e22, type: "gold" },
|
||||||
{ amount: 8e18, type: "essence" },
|
{ amount: 8e18, type: "essence" },
|
||||||
{ amount: 8e15, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "void_sanctum",
|
zoneId: "void_sanctum",
|
||||||
@@ -871,7 +871,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 8e22, type: "gold" },
|
{ amount: 8e22, type: "gold" },
|
||||||
{ amount: 3e19, type: "essence" },
|
{ amount: 3e19, type: "essence" },
|
||||||
{ amount: 3e16, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "void_sanctum",
|
zoneId: "void_sanctum",
|
||||||
@@ -887,7 +887,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 3e23, type: "gold" },
|
{ amount: 3e23, type: "gold" },
|
||||||
{ amount: 1e20, type: "essence" },
|
{ amount: 1e20, type: "essence" },
|
||||||
{ amount: 1e17, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "void_sentinel_1", type: "upgrade" },
|
{ targetId: "void_sentinel_1", type: "upgrade" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -904,7 +904,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1e24, type: "gold" },
|
{ amount: 1e24, type: "gold" },
|
||||||
{ amount: 4e20, type: "essence" },
|
{ amount: 4e20, type: "essence" },
|
||||||
{ amount: 4e17, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "void_sanctum",
|
zoneId: "void_sanctum",
|
||||||
@@ -937,7 +937,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1e25, type: "gold" },
|
{ amount: 1e25, type: "gold" },
|
||||||
{ amount: 4e21, type: "essence" },
|
{ amount: 4e21, type: "essence" },
|
||||||
{ amount: 1.5e18, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "eternal_throne",
|
zoneId: "eternal_throne",
|
||||||
@@ -953,7 +953,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 4e25, type: "gold" },
|
{ amount: 4e25, type: "gold" },
|
||||||
{ amount: 1.5e22, type: "essence" },
|
{ amount: 1.5e22, type: "essence" },
|
||||||
{ amount: 5e18, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "eternal_throne",
|
zoneId: "eternal_throne",
|
||||||
@@ -969,7 +969,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1.5e26, type: "gold" },
|
{ amount: 1.5e26, type: "gold" },
|
||||||
{ amount: 6e22, type: "essence" },
|
{ amount: 6e22, type: "essence" },
|
||||||
{ amount: 2e19, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "eternal_champion_1", type: "upgrade" },
|
{ targetId: "eternal_champion_1", type: "upgrade" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -986,7 +986,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 6e26, type: "gold" },
|
{ amount: 6e26, type: "gold" },
|
||||||
{ amount: 2.5e23, type: "essence" },
|
{ amount: 2.5e23, type: "essence" },
|
||||||
{ amount: 8e19, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "eternal_throne",
|
zoneId: "eternal_throne",
|
||||||
@@ -1002,7 +1002,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 3e27, type: "gold" },
|
{ amount: 3e27, type: "gold" },
|
||||||
{ amount: 1e24, type: "essence" },
|
{ amount: 1e24, type: "essence" },
|
||||||
{ amount: 4e20, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "eternal_throne",
|
zoneId: "eternal_throne",
|
||||||
@@ -1035,7 +1035,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 4e28, type: "gold" },
|
{ amount: 4e28, type: "gold" },
|
||||||
{ amount: 1.5e25, type: "essence" },
|
{ amount: 1.5e25, type: "essence" },
|
||||||
{ amount: 5e21, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "primordial_chaos",
|
zoneId: "primordial_chaos",
|
||||||
@@ -1051,7 +1051,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2e29, type: "gold" },
|
{ amount: 2e29, type: "gold" },
|
||||||
{ amount: 8e25, type: "essence" },
|
{ amount: 8e25, type: "essence" },
|
||||||
{ amount: 2e22, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "titan_warrior", type: "adventurer" },
|
{ targetId: "titan_warrior", type: "adventurer" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -1068,7 +1068,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1e30, type: "gold" },
|
{ amount: 1e30, type: "gold" },
|
||||||
{ amount: 4e26, type: "essence" },
|
{ amount: 4e26, type: "essence" },
|
||||||
{ amount: 8e22, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "primordial_chaos",
|
zoneId: "primordial_chaos",
|
||||||
@@ -1084,7 +1084,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 6e30, type: "gold" },
|
{ amount: 6e30, type: "gold" },
|
||||||
{ amount: 2e27, type: "essence" },
|
{ amount: 2e27, type: "essence" },
|
||||||
{ amount: 4e23, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "titan_warrior_1", type: "upgrade" },
|
{ targetId: "titan_warrior_1", type: "upgrade" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -1101,7 +1101,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 3e31, type: "gold" },
|
{ amount: 3e31, type: "gold" },
|
||||||
{ amount: 1e28, type: "essence" },
|
{ amount: 1e28, type: "essence" },
|
||||||
{ amount: 2e24, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "primordial_chaos",
|
zoneId: "primordial_chaos",
|
||||||
@@ -1134,7 +1134,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 6e34, type: "gold" },
|
{ amount: 6e34, type: "gold" },
|
||||||
{ amount: 2e31, type: "essence" },
|
{ amount: 2e31, type: "essence" },
|
||||||
{ amount: 5e27, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "infinite_expanse",
|
zoneId: "infinite_expanse",
|
||||||
@@ -1150,7 +1150,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 3e36, type: "gold" },
|
{ amount: 3e36, type: "gold" },
|
||||||
{ amount: 1e33, type: "essence" },
|
{ amount: 1e33, type: "essence" },
|
||||||
{ amount: 2.5e29, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "cosmos_knight", type: "adventurer" },
|
{ targetId: "cosmos_knight", type: "adventurer" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -1167,7 +1167,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1.5e38, type: "gold" },
|
{ amount: 1.5e38, type: "gold" },
|
||||||
{ amount: 5e34, type: "essence" },
|
{ amount: 5e34, type: "essence" },
|
||||||
{ amount: 1e31, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "nexus_sage_1", type: "upgrade" },
|
{ targetId: "nexus_sage_1", type: "upgrade" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -1184,7 +1184,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 8e39, type: "gold" },
|
{ amount: 8e39, type: "gold" },
|
||||||
{ amount: 2.5e36, type: "essence" },
|
{ amount: 2.5e36, type: "essence" },
|
||||||
{ amount: 5e32, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "cosmos_knight_1", type: "upgrade" },
|
{ targetId: "cosmos_knight_1", type: "upgrade" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -1201,7 +1201,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 4e41, type: "gold" },
|
{ amount: 4e41, type: "gold" },
|
||||||
{ amount: 1.2e38, type: "essence" },
|
{ amount: 1.2e38, type: "essence" },
|
||||||
{ amount: 2.5e34, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "infinite_expanse",
|
zoneId: "infinite_expanse",
|
||||||
@@ -1234,7 +1234,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1e46, type: "gold" },
|
{ amount: 1e46, type: "gold" },
|
||||||
{ amount: 3e42, type: "essence" },
|
{ amount: 3e42, type: "essence" },
|
||||||
{ amount: 2e38, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "reality_forge",
|
zoneId: "reality_forge",
|
||||||
@@ -1250,7 +1250,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 5e47, type: "gold" },
|
{ amount: 5e47, type: "gold" },
|
||||||
{ amount: 1.5e44, type: "essence" },
|
{ amount: 1.5e44, type: "essence" },
|
||||||
{ amount: 1e40, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "primordial_mage", type: "adventurer" },
|
{ targetId: "primordial_mage", type: "adventurer" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -1267,7 +1267,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2.5e49, type: "gold" },
|
{ amount: 2.5e49, type: "gold" },
|
||||||
{ amount: 8e45, type: "essence" },
|
{ amount: 8e45, type: "essence" },
|
||||||
{ amount: 5e41, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "primordial_mage_1", type: "upgrade" },
|
{ targetId: "primordial_mage_1", type: "upgrade" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -1284,7 +1284,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1.2e51, type: "gold" },
|
{ amount: 1.2e51, type: "gold" },
|
||||||
{ amount: 4e47, type: "essence" },
|
{ amount: 4e47, type: "essence" },
|
||||||
{ amount: 2.5e43, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "reality_forge",
|
zoneId: "reality_forge",
|
||||||
@@ -1300,7 +1300,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 6e52, type: "gold" },
|
{ amount: 6e52, type: "gold" },
|
||||||
{ amount: 2e49, type: "essence" },
|
{ amount: 2e49, type: "essence" },
|
||||||
{ amount: 1.2e45, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "astral_sovereign_1", type: "upgrade" },
|
{ targetId: "astral_sovereign_1", type: "upgrade" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -1317,7 +1317,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 5e62, type: "gold" },
|
{ amount: 5e62, type: "gold" },
|
||||||
{ amount: 1.5e59, type: "essence" },
|
{ amount: 1.5e59, type: "essence" },
|
||||||
{ amount: 8e54, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "reality_forge",
|
zoneId: "reality_forge",
|
||||||
@@ -1333,7 +1333,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2e67, type: "gold" },
|
{ amount: 2e67, type: "gold" },
|
||||||
{ amount: 6e63, type: "essence" },
|
{ amount: 6e63, type: "essence" },
|
||||||
{ amount: 3e59, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "reality_forge",
|
zoneId: "reality_forge",
|
||||||
@@ -1349,7 +1349,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1e72, type: "gold" },
|
{ amount: 1e72, type: "gold" },
|
||||||
{ amount: 3e68, type: "essence" },
|
{ amount: 3e68, type: "essence" },
|
||||||
{ amount: 1.5e64, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "reality_forge",
|
zoneId: "reality_forge",
|
||||||
@@ -1382,7 +1382,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1.5e58, type: "gold" },
|
{ amount: 1.5e58, type: "gold" },
|
||||||
{ amount: 5e54, type: "essence" },
|
{ amount: 5e54, type: "essence" },
|
||||||
{ amount: 3e50, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "cosmic_maelstrom",
|
zoneId: "cosmic_maelstrom",
|
||||||
@@ -1398,7 +1398,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 8e60, type: "gold" },
|
{ amount: 8e60, type: "gold" },
|
||||||
{ amount: 2.5e57, type: "essence" },
|
{ amount: 2.5e57, type: "essence" },
|
||||||
{ amount: 1.5e53, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "infinity_ranger", type: "adventurer" },
|
{ targetId: "infinity_ranger", type: "adventurer" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -1415,7 +1415,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 4e63, type: "gold" },
|
{ amount: 4e63, type: "gold" },
|
||||||
{ amount: 1.2e60, type: "essence" },
|
{ amount: 1.2e60, type: "essence" },
|
||||||
{ amount: 7e55, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "cosmic_maelstrom",
|
zoneId: "cosmic_maelstrom",
|
||||||
@@ -1431,7 +1431,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2e66, type: "gold" },
|
{ amount: 2e66, type: "gold" },
|
||||||
{ amount: 6e62, type: "essence" },
|
{ amount: 6e62, type: "essence" },
|
||||||
{ amount: 3.5e58, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "reality_warden_1", type: "upgrade" },
|
{ targetId: "reality_warden_1", type: "upgrade" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -1448,7 +1448,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1e69, type: "gold" },
|
{ amount: 1e69, type: "gold" },
|
||||||
{ amount: 3e65, type: "essence" },
|
{ amount: 3e65, type: "essence" },
|
||||||
{ amount: 1.8e61, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "infinity_ranger_1", type: "upgrade" },
|
{ targetId: "infinity_ranger_1", type: "upgrade" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -1465,7 +1465,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 5e76, type: "gold" },
|
{ amount: 5e76, type: "gold" },
|
||||||
{ amount: 1.5e73, type: "essence" },
|
{ amount: 1.5e73, type: "essence" },
|
||||||
{ amount: 8e68, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "cosmic_maelstrom",
|
zoneId: "cosmic_maelstrom",
|
||||||
@@ -1481,7 +1481,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2e83, type: "gold" },
|
{ amount: 2e83, type: "gold" },
|
||||||
{ amount: 6e79, type: "essence" },
|
{ amount: 6e79, type: "essence" },
|
||||||
{ amount: 3e75, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "cosmic_maelstrom",
|
zoneId: "cosmic_maelstrom",
|
||||||
@@ -1497,7 +1497,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1e90, type: "gold" },
|
{ amount: 1e90, type: "gold" },
|
||||||
{ amount: 3e86, type: "essence" },
|
{ amount: 3e86, type: "essence" },
|
||||||
{ amount: 1.5e82, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "cosmic_maelstrom",
|
zoneId: "cosmic_maelstrom",
|
||||||
@@ -1530,7 +1530,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2.5e76, type: "gold" },
|
{ amount: 2.5e76, type: "gold" },
|
||||||
{ amount: 7e72, type: "essence" },
|
{ amount: 7e72, type: "essence" },
|
||||||
{ amount: 4e68, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "primeval_sanctum",
|
zoneId: "primeval_sanctum",
|
||||||
@@ -1546,7 +1546,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1.2e80, type: "gold" },
|
{ amount: 1.2e80, type: "gold" },
|
||||||
{ amount: 3.5e76, type: "essence" },
|
{ amount: 3.5e76, type: "essence" },
|
||||||
{ amount: 2e72, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
{ targetId: "transcendent_rogue", type: "adventurer" },
|
{ targetId: "transcendent_rogue", type: "adventurer" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
@@ -1563,7 +1563,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 6e83, type: "gold" },
|
{ amount: 6e83, type: "gold" },
|
||||||
{ amount: 1.8e80, type: "essence" },
|
{ amount: 1.8e80, type: "essence" },
|
||||||
{ amount: 1e76, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "primeval_sanctum",
|
zoneId: "primeval_sanctum",
|
||||||
@@ -1579,7 +1579,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 3e87, type: "gold" },
|
{ amount: 3e87, type: "gold" },
|
||||||
{ amount: 9e83, type: "essence" },
|
{ amount: 9e83, type: "essence" },
|
||||||
{ amount: 5e79, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "primeval_sanctum",
|
zoneId: "primeval_sanctum",
|
||||||
@@ -1595,7 +1595,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1.5e91, type: "gold" },
|
{ amount: 1.5e91, type: "gold" },
|
||||||
{ amount: 4.5e87, type: "essence" },
|
{ amount: 4.5e87, type: "essence" },
|
||||||
{ amount: 2.5e83, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "primeval_sanctum",
|
zoneId: "primeval_sanctum",
|
||||||
@@ -1611,7 +1611,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 8e95, type: "gold" },
|
{ amount: 8e95, type: "gold" },
|
||||||
{ amount: 2.5e92, type: "essence" },
|
{ amount: 2.5e92, type: "essence" },
|
||||||
{ amount: 1e88, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "primeval_sanctum",
|
zoneId: "primeval_sanctum",
|
||||||
@@ -1627,7 +1627,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 4e102, type: "gold" },
|
{ amount: 4e102, type: "gold" },
|
||||||
{ amount: 1.2e99, type: "essence" },
|
{ amount: 1.2e99, type: "essence" },
|
||||||
{ amount: 5e94, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "primeval_sanctum",
|
zoneId: "primeval_sanctum",
|
||||||
@@ -1643,7 +1643,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2e109, type: "gold" },
|
{ amount: 2e109, type: "gold" },
|
||||||
{ amount: 6e105, type: "essence" },
|
{ amount: 6e105, type: "essence" },
|
||||||
{ amount: 2.5e101, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "primeval_sanctum",
|
zoneId: "primeval_sanctum",
|
||||||
@@ -1676,7 +1676,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 4e101, type: "gold" },
|
{ amount: 4e101, type: "gold" },
|
||||||
{ amount: 1.2e98, type: "essence" },
|
{ amount: 1.2e98, type: "essence" },
|
||||||
{ amount: 6e93, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "the_absolute",
|
zoneId: "the_absolute",
|
||||||
@@ -1692,7 +1692,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2e108, type: "gold" },
|
{ amount: 2e108, type: "gold" },
|
||||||
{ amount: 6e104, type: "essence" },
|
{ amount: 6e104, type: "essence" },
|
||||||
{ amount: 3e100, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "the_absolute",
|
zoneId: "the_absolute",
|
||||||
@@ -1708,7 +1708,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1e115, type: "gold" },
|
{ amount: 1e115, type: "gold" },
|
||||||
{ amount: 3e111, type: "essence" },
|
{ amount: 3e111, type: "essence" },
|
||||||
{ amount: 1.5e107, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "the_absolute",
|
zoneId: "the_absolute",
|
||||||
@@ -1724,7 +1724,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 5e121, type: "gold" },
|
{ amount: 5e121, type: "gold" },
|
||||||
{ amount: 1.5e118, type: "essence" },
|
{ amount: 1.5e118, type: "essence" },
|
||||||
{ amount: 7e113, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "the_absolute",
|
zoneId: "the_absolute",
|
||||||
@@ -1740,7 +1740,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 3e130, type: "gold" },
|
{ amount: 3e130, type: "gold" },
|
||||||
{ amount: 9e126, type: "essence" },
|
{ amount: 9e126, type: "essence" },
|
||||||
{ amount: 4e122, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "the_absolute",
|
zoneId: "the_absolute",
|
||||||
@@ -1756,7 +1756,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1e118, type: "gold" },
|
{ amount: 1e118, type: "gold" },
|
||||||
{ amount: 3e114, type: "essence" },
|
{ amount: 3e114, type: "essence" },
|
||||||
{ amount: 1.5e110, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "the_absolute",
|
zoneId: "the_absolute",
|
||||||
@@ -1772,7 +1772,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 5e124, type: "gold" },
|
{ amount: 5e124, type: "gold" },
|
||||||
{ amount: 1.5e121, type: "essence" },
|
{ amount: 1.5e121, type: "essence" },
|
||||||
{ amount: 7e116, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "the_absolute",
|
zoneId: "the_absolute",
|
||||||
@@ -1788,7 +1788,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2e131, type: "gold" },
|
{ amount: 2e131, type: "gold" },
|
||||||
{ amount: 6e127, type: "essence" },
|
{ amount: 6e127, type: "essence" },
|
||||||
{ amount: 3e123, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "the_absolute",
|
zoneId: "the_absolute",
|
||||||
@@ -1804,7 +1804,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 1e137, type: "gold" },
|
{ amount: 1e137, type: "gold" },
|
||||||
{ amount: 3e133, type: "essence" },
|
{ amount: 3e133, type: "essence" },
|
||||||
{ amount: 1.5e129, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "the_absolute",
|
zoneId: "the_absolute",
|
||||||
@@ -1820,7 +1820,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 5e143, type: "gold" },
|
{ amount: 5e143, type: "gold" },
|
||||||
{ amount: 1.5e140, type: "essence" },
|
{ amount: 1.5e140, type: "essence" },
|
||||||
{ amount: 7e135, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "the_absolute",
|
zoneId: "the_absolute",
|
||||||
@@ -1836,7 +1836,7 @@ export const defaultQuests: Array<Quest> = [
|
|||||||
rewards: [
|
rewards: [
|
||||||
{ amount: 2e150, type: "gold" },
|
{ amount: 2e150, type: "gold" },
|
||||||
{ amount: 6e146, type: "essence" },
|
{ amount: 6e146, type: "essence" },
|
||||||
{ amount: 3e142, type: "crystals" },
|
{ amount: 0, type: "crystals" },
|
||||||
],
|
],
|
||||||
status: "locked",
|
status: "locked",
|
||||||
zoneId: "the_absolute",
|
zoneId: "the_absolute",
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ export const defaultUpgrades: Array<Upgrade> = [
|
|||||||
description:
|
description:
|
||||||
"Forge partnerships with mage guilds across the realm. All income +50%.",
|
"Forge partnerships with mage guilds across the realm. All income +50%.",
|
||||||
id: "essence_guild",
|
id: "essence_guild",
|
||||||
multiplier: 1.5,
|
multiplier: 2,
|
||||||
name: "Essence Guild",
|
name: "Essence Guild",
|
||||||
purchased: false,
|
purchased: false,
|
||||||
target: "global",
|
target: "global",
|
||||||
@@ -459,7 +459,7 @@ export const defaultUpgrades: Array<Upgrade> = [
|
|||||||
unlocked: false,
|
unlocked: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
costCrystals: 10_000_000,
|
costCrystals: 50_000_000,
|
||||||
costEssence: 0,
|
costEssence: 0,
|
||||||
costGold: 0,
|
costGold: 0,
|
||||||
description: "Transcend mortal limits through void energy. All income x3.",
|
description: "Transcend mortal limits through void energy. All income x3.",
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
/* eslint-disable max-lines -- Engine file necessarily exceeds line limit */
|
/* eslint-disable max-lines -- Engine file necessarily exceeds line limit */
|
||||||
/* eslint-disable import/group-exports -- Exports appear alongside their definitions for readability */
|
/* eslint-disable import/group-exports -- Exports appear alongside their definitions for readability */
|
||||||
/* eslint-disable import/exports-last -- Exports appear alongside their definitions for readability */
|
/* eslint-disable import/exports-last -- Exports appear alongside their definitions for readability */
|
||||||
/* eslint-disable unicorn/no-array-reduce -- reduce is the most readable approach for multiplier chains */
|
|
||||||
/* eslint-disable max-nested-callbacks -- Tick engine requires nested array operations for game logic */
|
/* eslint-disable max-nested-callbacks -- Tick engine requires nested array operations for game logic */
|
||||||
import {
|
import {
|
||||||
type Achievement,
|
type Achievement,
|
||||||
@@ -818,23 +817,29 @@ export const applyTick = (
|
|||||||
zones: updatedZones,
|
zones: updatedZones,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Check achievements and apply crystal rewards for newly unlocked ones
|
// Check achievements and apply crystal and runestone rewards for newly unlocked ones
|
||||||
const updatedAchievements = checkAchievements(partialState);
|
const updatedAchievements = checkAchievements(partialState);
|
||||||
const crystalsFromAchievements = updatedAchievements.reduce(
|
let crystalsFromAchievements = 0;
|
||||||
(sum, achievement, index) => {
|
let runestonesFromAchievements = 0;
|
||||||
|
for (const [ index, achievement ] of updatedAchievements.entries()) {
|
||||||
const wasLocked = state.achievements[index]?.unlockedAt === null;
|
const wasLocked = state.achievements[index]?.unlockedAt === null;
|
||||||
const isNowUnlocked = achievement.unlockedAt !== null;
|
const isNowUnlocked = achievement.unlockedAt !== null;
|
||||||
if (wasLocked && isNowUnlocked) {
|
if (wasLocked && isNowUnlocked) {
|
||||||
return sum + (achievement.reward?.crystals ?? 0);
|
crystalsFromAchievements
|
||||||
|
= crystalsFromAchievements + (achievement.reward?.crystals ?? 0);
|
||||||
|
runestonesFromAchievements
|
||||||
|
= runestonesFromAchievements + (achievement.reward?.runestones ?? 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return sum;
|
|
||||||
},
|
|
||||||
0,
|
|
||||||
);
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...partialState,
|
...partialState,
|
||||||
achievements: updatedAchievements,
|
achievements: updatedAchievements,
|
||||||
|
prestige: {
|
||||||
|
...partialState.prestige,
|
||||||
|
runestones:
|
||||||
|
partialState.prestige.runestones + runestonesFromAchievements,
|
||||||
|
},
|
||||||
resources: {
|
resources: {
|
||||||
...partialState.resources,
|
...partialState.resources,
|
||||||
crystals: capResource(
|
crystals: capResource(
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ interface AchievementCondition {
|
|||||||
|
|
||||||
interface AchievementReward {
|
interface AchievementReward {
|
||||||
crystals?: number;
|
crystals?: number;
|
||||||
|
runestones?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Achievement {
|
interface Achievement {
|
||||||
|
|||||||
Reference in New Issue
Block a user