diff --git a/apps/web/src/components/game/adventurerPanel.tsx b/apps/web/src/components/game/adventurerPanel.tsx index c996374..e6efe97 100644 --- a/apps/web/src/components/game/adventurerPanel.tsx +++ b/apps/web/src/components/game/adventurerPanel.tsx @@ -143,6 +143,10 @@ const AdventurerCard = ({ {" essence/s each"}
} ++ {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."} +
+