From 1e845b14ce363130537b09dbecc0142b42236894 Mon Sep 17 00:00:00 2001
From: Hikari
+ {formatNumber(adventurer.combatPower)} + {" combat power each"} +
{"🔒 This zone is locked. Unlock bosses by:"}
+ {unlockBoss === undefined + ? null + :+ {"⚔️ Defeat: "} + {unlockBoss.name} +
+ } + {unlockQuest === undefined + ? null + :+ {"📜 Complete: "} + {unlockQuest.name} +
+ } +{"🎲 "} {String(Math.round((zoneFailureChance[quest.zoneId] ?? 0) * 100))} - {"% failure chance — if failed, the quest resets"} - {" and must be retried."} + {"% failure chance"}
} {quest.status === "available" && quest.lastFailedAt !== undefined @@ -208,7 +208,24 @@ const QuestPanel = (): JSX.Element => { ); } - const { adventurers, autoQuest, quests, zones } = state; + const { adventurers, autoQuest, bosses, quests, zones } = state; + + const activeZone = zones.find((zone) => { + return zone.id === activeZoneId; + }); + const zoneIsLocked = activeZone?.status === "locked"; + const unlockBoss = activeZone?.unlockBossId === null + || activeZone?.unlockBossId === undefined + ? undefined + : bosses.find((boss) => { + return boss.id === activeZone.unlockBossId; + }); + const unlockQuest = activeZone?.unlockQuestId === null + || activeZone?.unlockQuestId === undefined + ? undefined + : quests.find((quest) => { + return quest.id === activeZone.unlockQuestId; + }); let partyCombatPower = 0; for (const adventurer of adventurers) { const contribution = adventurer.combatPower * adventurer.count; @@ -307,6 +324,31 @@ const QuestPanel = (): JSX.Element => { zones={zones} /> + {zoneIsLocked && (unlockBoss !== undefined || unlockQuest !== undefined) + ?{"🔒 This zone is locked. Unlock quests by:"}
+ {unlockBoss === undefined + ? null + :+ {"⚔️ Defeat: "} + {unlockBoss.name} +
+ } + {unlockQuest === undefined + ? null + :+ {"📜 Complete: "} + {unlockQuest.name} +
+ } ++ {"⚠️ If a quest fails, it resets with no rewards — you must retry."} +
+