Add golemancy system, combination skills, and UI redesigns
All checks were successful
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 3m17s
All checks were successful
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 3m17s
- Remove scroll crafting skill (no consumables in idle game) - Add golem types (Earth, Metal, Crystal) with variants (Lava, Mud, Forge, Storm) - Implement golemancy state in store with summoning/drain mechanics - Add combination skills requiring level 5+ in two attunements: - Enchanter+Fabricator: Enchanted Golems, Capacity Overflow - Invoker+Fabricator: Pact-Bonded Golems, Guardian Infusion - Invoker+Enchanter: Pact Enchantments, Elemental Resonance - Redesign CraftingTab with sub-tabs for Enchanter/Fabricator - Redesign SpireTab to show summoned golems and DPS contribution - Redesign StatsTab with attunement-specific stats sections - Update documentation (README.md, AGENTS.md)
This commit is contained in:
166
worklog.md
166
worklog.md
@@ -407,3 +407,169 @@ Stage Summary:
|
||||
- Debug tab enables testing and development
|
||||
- Skills tab is more manageable with collapsible categories
|
||||
- Removed unused features (ComboMeter, scrollCrafting)
|
||||
|
||||
---
|
||||
Task ID: 16
|
||||
Agent: Main
|
||||
Task: Redesign SpireTab to show summoned golems and their damage contribution
|
||||
|
||||
Work Log:
|
||||
- **Added new imports to SpireTab**:
|
||||
- Imported `GOLEM_DEFS` and `GOLEM_VARIANTS` from `@/lib/game/constants`
|
||||
- Using `ELEMENTS` for element colors and symbols
|
||||
|
||||
- **Created new "Active Golems" card**:
|
||||
- Shows list of currently active golems from `store.activeGolems`
|
||||
- Each golem displays:
|
||||
- Name and variant (e.g., "Earth Golem" or "Lava Golem")
|
||||
- HP bar (currentHP / maxHP) with element-colored gradient
|
||||
- Remaining floors countdown
|
||||
- DPS contribution (calculated with all bonuses applied)
|
||||
- Element icon from ELEMENTS constant
|
||||
- Empty state message: "No golems summoned. Visit the Crafting tab to summon golems."
|
||||
- Total golem DPS summary at bottom
|
||||
- Card has earth-colored accent (#F4A261) when golems are active
|
||||
|
||||
- **Updated DPS display in Current Floor card**:
|
||||
- Total DPS now includes both spell DPS and golem DPS
|
||||
- Shows breakdown: "Spell DPS: X | Golem DPS: Y"
|
||||
- Only shows breakdown when golems are active
|
||||
|
||||
- **Calculated individual golem DPS**:
|
||||
- Applies variant damage multiplier
|
||||
- Applies golemancyMaster bonus (+50%)
|
||||
- Applies pactBondedGolems bonus (+10% per pact)
|
||||
- Applies guardianInfusion bonus (+25% on guardian floors)
|
||||
- Multiplies by attack speed
|
||||
|
||||
- **Visual styling**:
|
||||
- Used Card component for the golems section
|
||||
- Used Progress component for HP bars
|
||||
- Matches existing dark theme (bg-gray-900/80, border-gray-700)
|
||||
- Golem cards have element-colored border accent
|
||||
- Used ScrollArea for long golem lists (max-h-48)
|
||||
|
||||
Stage Summary:
|
||||
- New Active Golems card shows all summoned golems with detailed stats
|
||||
- DPS display properly accounts for golem damage contribution
|
||||
- Visual design consistent with existing game theme
|
||||
- All lint checks pass
|
||||
|
||||
---
|
||||
## Task ID: 17 - CraftingTab Redesign
|
||||
### Work Task
|
||||
Redesign the CraftingTab component to have a two-level tab structure based on active attunements, with a new Golemancy sub-tab for summoning golems.
|
||||
|
||||
### Work Summary
|
||||
- **Implemented two-level tab structure**:
|
||||
- Top-level tabs show active attunements (Enchanter ✨, Fabricator ⚒️)
|
||||
- If only one attunement is active, skip top-level tabs and show content directly
|
||||
- If no attunements are active, show locked message
|
||||
|
||||
- **Enchanter attunement** (when active):
|
||||
- Sub-tabs: Design, Prepare, Apply (existing enchantment functionality)
|
||||
- All existing render functions preserved (renderDesignStage, renderPrepareStage, renderApplyStage)
|
||||
|
||||
- **Fabricator attunement** (when active):
|
||||
- Sub-tabs: Craft, Golemancy
|
||||
- Craft sub-tab: existing equipment crafting functionality (renderCraftStage)
|
||||
- Golemancy sub-tab: NEW - summoning and managing golems
|
||||
|
||||
- **New Golemancy features**:
|
||||
- Shows available golem types from `GOLEM_DEFS` with:
|
||||
- Golem name, description, element color
|
||||
- Base damage, HP, and attack speed stats
|
||||
- Summon button with mana cost (e.g., "Summon - 50 Earth Mana")
|
||||
- Shows locked golem types (greyed out) with unlock conditions
|
||||
- Shows active golems with:
|
||||
- HP progress bar
|
||||
- Remaining floor duration
|
||||
- Total damage dealt
|
||||
- Dismiss button
|
||||
- Shows golem variants info (requires Crystal Embedding skill)
|
||||
- Uses store methods: `canSummonGolem()`, `summonGolem()`, `dismissGolem()`, `getGolemDuration()`
|
||||
- Checks attunement status via `store.attunements.enchanter?.active` and `store.attunements.fabricator?.active`
|
||||
|
||||
- **New imports added**:
|
||||
- `GOLEM_DEFS`, `GOLEM_VARIANTS`, `ELEMENTS` from `@/lib/game/constants`
|
||||
- `ActiveGolem` type from `@/lib/game/types`
|
||||
- Additional Lucide icons: `Heart`, `Sword`, `Skull`
|
||||
|
||||
- **Visual styling**:
|
||||
- Maintains existing dark theme (bg-gray-900/80, border-gray-700)
|
||||
- Element-colored accents for golem types
|
||||
- Uses shadcn/ui components: Card, Button, Progress, Badge, ScrollArea, Tabs
|
||||
- Consistent with existing CraftingTab styling
|
||||
|
||||
---
|
||||
## Task ID: 18 - StatsTab Redesign for Attunement-Specific Stats
|
||||
### Work Task
|
||||
Redesign the StatsTab component to better display attunement-specific stats with Active Attunements card, Combination Skills card, and reorganized attunement-specific stat sections.
|
||||
|
||||
### Work Summary
|
||||
- **Added "Active Attunements" card at the top**:
|
||||
- Each active attunement displayed as an expandable card/badge with:
|
||||
- Icon and name (Enchanter ✨, Invoker 💜, Fabricator ⚒️)
|
||||
- Current level and XP progress bar
|
||||
- Primary mana type generated as a badge
|
||||
- Key capability unlocked as a badge
|
||||
- Click to expand reveals:
|
||||
- All available skills for that attunement
|
||||
- Skills currently being studied (highlighted)
|
||||
- Skill levels displayed with badges
|
||||
|
||||
- **Added "Combination Skills" card**:
|
||||
- Shows combination skills that the player has unlocked (level 5+ in both required attunements)
|
||||
- Skills they can unlock shown with requirement badges
|
||||
- Green color scheme for available skills
|
||||
- Greyed out style for locked skills with red/green requirement indicators
|
||||
- Displays attunement level requirements for each skill
|
||||
|
||||
- **Reorganized existing stats into attunement-specific sections**:
|
||||
- **Enchanter Stats** (teal accent border):
|
||||
- Enchantment capacity with Ancient Echo bonus
|
||||
- Efficiency bonus from efficientEnchant skill
|
||||
- Designs created count
|
||||
- Effects unlocked count
|
||||
- Disenchant recovery rate
|
||||
- Enchant speed bonus
|
||||
- **Invoker Stats** (purple accent border):
|
||||
- Pacts signed count (X/10)
|
||||
- Pact multiplier calculation
|
||||
- Pact Mastery bonus
|
||||
- Guardian Affinity time reduction
|
||||
- Elemental Bond capacity per pact
|
||||
- Pact Synergy bonus
|
||||
- Signed pacts list with guardian colors
|
||||
- **Fabricator Stats** (earth/amber accent border):
|
||||
- Golems active count
|
||||
- Golem DPS (using store.getActiveGolemDPS())
|
||||
- Golem duration (using store.getGolemDuration())
|
||||
- Golem Vitality HP bonus
|
||||
- Crafting speed bonus
|
||||
- Earth conversion bonus
|
||||
- Active golems list with HP bars and damage dealt
|
||||
|
||||
- **Import requirements fulfilled**:
|
||||
- Imported `ATTUNEMENTS_DEF` from `@/lib/game/data/attunements`
|
||||
- Imported `SKILL_CATEGORIES` from `@/lib/game/constants`
|
||||
- Uses `store.attunements` to check active attunements
|
||||
- Uses `store.getGolemDuration()` and `store.getActiveGolemDPS()` for Fabricator stats
|
||||
|
||||
- **Visual styling**:
|
||||
- Uses Card, Badge, Progress, Collapsible components from shadcn/ui
|
||||
- Matches existing dark theme (bg-gray-900/80, border-gray-700)
|
||||
- Uses attunement colors from ATTUNEMENTS_DEF:
|
||||
- Enchanter: teal #1ABC9C
|
||||
- Invoker: purple #9B59B6
|
||||
- Fabricator: earth #F4A261
|
||||
- Top border accent for each attunement-specific section
|
||||
- Conditional rendering - only shows attunement sections if that attunement is active
|
||||
|
||||
- **Preserved existing functionality**:
|
||||
- Mana Stats section retained
|
||||
- Combat Stats section retained
|
||||
- Study Stats section retained
|
||||
- Element Stats section retained
|
||||
- Active Skill Upgrades section retained
|
||||
- Loop Stats section retained
|
||||
|
||||
Reference in New Issue
Block a user