diff --git a/apps/web/src/components/game/bossPanel.tsx b/apps/web/src/components/game/bossPanel.tsx index 4b04ff1..e676142 100644 --- a/apps/web/src/components/game/bossPanel.tsx +++ b/apps/web/src/components/game/bossPanel.tsx @@ -267,6 +267,23 @@ const BossPanel = (): JSX.Element => { } const { zones, bosses, quests, autoBoss, prestige: playerPrestige } = 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; + }); const zoneBosses = bosses.filter((boss) => { return boss.zoneId === activeZoneId; }); @@ -393,6 +410,27 @@ const BossPanel = (): JSX.Element => { zones={zones} /> + {zoneIsLocked && (unlockBoss !== undefined || unlockQuest !== undefined) + ?
{"🔒 This zone is locked. Unlock bosses by:"}
+ {unlockBoss === undefined + ? null + :+ {"⚔️ Defeat: "} + {unlockBoss.name} +
+ } + {unlockQuest === undefined + ? null + :+ {"📜 Complete: "} + {unlockQuest.name} +
+ } +{"🔒 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."}