feat: goddess expansion chunks 6–9 — UI panels, tick engine, CSS theme, about page

- Add 11 goddess panels (zones, bosses, quests, disciples, equipment,
  upgrades, consecration, enlightenment, crafting, exploration, achievements)
- Wire all panels into gameLayout via mode/tab routing
- Add goddess passive income, disciple tick, quest timers, zone/quest
  unlock logic, and achievement checking to the tick engine
- Add goddess CSS variables, .goddess-mode overrides, 300ms fade
  transition, and full panel stylesheet coverage
- Add 13 Goddess expansion entries to the How to Play guide
- Add web-side data files for crafting recipes, exploration areas, materials
This commit is contained in:
2026-04-13 18:38:27 -07:00
committed by Naomi Carrigan
parent 96d6759661
commit 91c9f52daf
21 changed files with 7093 additions and 108 deletions
+37 -4
View File
@@ -22,12 +22,23 @@ import { ClickArea } from "./clickArea.js";
import { CodexPanel } from "./codexPanel.js";
import { CodexToast } from "./codexToast.js";
import { CompanionPanel } from "./companionPanel.js";
import { ConsecrationPanel } from "./consecrationPanel.js";
import { CraftingPanel } from "./craftingPanel.js";
import { DailyChallengePanel } from "./dailyChallengePanel.js";
import { DebugPanel } from "./debugPanel.js";
import { DisciplesPanel } from "./disciplesPanel.js";
import { EditProfileModal } from "./editProfileModal.js";
import { EnlightenmentPanel } from "./enlightenmentPanel.js";
import { EquipmentPanel } from "./equipmentPanel.js";
import { ExplorationPanel } from "./explorationPanel.js";
import { GoddessAchievementsPanel } from "./goddessAchievementsPanel.js";
import { GoddessBossPanel } from "./goddessBossPanel.js";
import { GoddessCraftingPanel } from "./goddessCraftingPanel.js";
import { GoddessEquipmentPanel } from "./goddessEquipmentPanel.js";
import { GoddessExplorationPanel } from "./goddessExplorationPanel.js";
import { GoddessQuestsPanel } from "./goddessQuestsPanel.js";
import { GoddessUpgradesPanel } from "./goddessUpgradesPanel.js";
import { GoddessZonesPanel } from "./goddessZonesPanel.js";
import { JoinCommunityModal } from "./joinCommunityModal.js";
import { LoginBonusModal } from "./loginBonusModal.js";
import { MilestoneToast } from "./milestoneToast.js";
@@ -381,11 +392,33 @@ const GameLayout = (): JSX.Element => {
&& <AboutPanel />}
{activeMode === "mortal" && activeTab === "debug"
&& <DebugPanel />}
{activeMode === "goddess" && activeGoddessTab === "goddess-zones"
&& <GoddessZonesPanel />}
{activeMode === "goddess" && activeGoddessTab === "goddess-bosses"
&& <GoddessBossPanel />}
{activeMode === "goddess" && activeGoddessTab === "goddess-quests"
&& <GoddessQuestsPanel />}
{activeMode === "goddess" && activeGoddessTab === "disciples"
&& <DisciplesPanel />}
{activeMode === "goddess"
&& <div className="goddess-placeholder">
<p>{"✨ Goddess panels coming soon..."}</p>
</div>
}
&& activeGoddessTab === "goddess-equipment"
&& <GoddessEquipmentPanel />}
{activeMode === "goddess"
&& activeGoddessTab === "goddess-upgrades"
&& <GoddessUpgradesPanel />}
{activeMode === "goddess" && activeGoddessTab === "consecration"
&& <ConsecrationPanel />}
{activeMode === "goddess" && activeGoddessTab === "enlightenment"
&& <EnlightenmentPanel />}
{activeMode === "goddess"
&& activeGoddessTab === "goddess-crafting"
&& <GoddessCraftingPanel />}
{activeMode === "goddess"
&& activeGoddessTab === "goddess-exploration"
&& <GoddessExplorationPanel />}
{activeMode === "goddess"
&& activeGoddessTab === "goddess-achievements"
&& <GoddessAchievementsPanel />}
{activeMode === "vampire"
&& <div className="goddess-placeholder">
<p>{"🧛 Vampire panels coming soon..."}</p>