Remove movement speed, fix golemancy, cleanup
All checks were successful
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m56s
All checks were successful
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m56s
- Remove movement speed references (spire_runner, swift_descent enchantments) - Remove slow effect from Mud Golem variant (changed to drown effect) - Delete unused attunements.ts file (legacy code) - Add max golem limit: 1 per Fabricator attunement level - Add max 1 golem of each type restriction - Display mana/hr and damage/hr in golemancy UI - Display active golem limit in header - Show special effects for golem variants - Keep expeditious_retreat enchantment for teleporting down floors 🤖 Generated with [Claude Code](https://claude.ai/code)
This commit is contained in:
@@ -984,6 +984,18 @@ export function CraftingTab({ store }: CraftingTabProps) {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Additional Stats */}
|
||||
<div className="grid grid-cols-2 gap-2 text-xs mb-2 p-2 bg-gray-900/50 rounded">
|
||||
<div className="flex justify-between">
|
||||
<span className="text-gray-400">DMG/hr:</span>
|
||||
<span className="text-red-300 font-semibold">{golemDef.baseDamage * golemDef.attackSpeed}</span>
|
||||
</div>
|
||||
<div className="flex justify-between">
|
||||
<span className="text-gray-400">Mana/hr:</span>
|
||||
<span className="text-blue-300 font-semibold">{golemDef.drainRate} {elementDef?.name || golemDef.element}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Button
|
||||
className="w-full"
|
||||
size="sm"
|
||||
@@ -1014,10 +1026,10 @@ export function CraftingTab({ store }: CraftingTabProps) {
|
||||
<CardTitle className="text-amber-400 text-sm flex items-center justify-between">
|
||||
<span className="flex items-center gap-2">
|
||||
<span className="text-lg">⚡</span>
|
||||
Active Golems ({activeGolems.length})
|
||||
Active Golems ({activeGolems.length}/{Math.max(1, store.attunements?.fabricator?.level || 0)})
|
||||
</span>
|
||||
{golemancySkill >= 1 && (
|
||||
<span className="text-xs text-gray-400">Duration: {golemDuration} floors</span>
|
||||
<span className="text-xs text-gray-400">Duration: {golemDuration} floors | Max 1 per Fabricator level</span>
|
||||
)}
|
||||
</CardTitle>
|
||||
</CardHeader>
|
||||
@@ -1089,7 +1101,32 @@ export function CraftingTab({ store }: CraftingTabProps) {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="text-xs text-gray-400">
|
||||
{/* Stats */}
|
||||
<div className="grid grid-cols-2 gap-2 text-xs mt-2 pt-2 border-t border-gray-700">
|
||||
<div>
|
||||
<span className="text-gray-400">Mana/hr:</span>{' '}
|
||||
<span className="text-blue-300">{golemDef?.drainRate || 0} {ELEMENTS[golemDef?.requiredManaType || 'earth']?.name || 'mana'}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span className="text-gray-400">DMG/hr:</span>{' '}
|
||||
<span className="text-red-300">
|
||||
{(() => {
|
||||
const dmg = (variantDef?.damageMultiplier || 1) * (golemDef?.baseDamage || 0);
|
||||
const speed = golemDef?.attackSpeed || 1;
|
||||
return fmt(dmg * speed);
|
||||
})()}
|
||||
<span className="text-gray-500 text-xs">({golemDef?.attackSpeed || 1}×{golemDef?.baseDamage || 0})</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{variantDef && (
|
||||
<div className="text-xs mt-2 p-1.5 bg-gray-900/50 rounded">
|
||||
<span className="text-purple-400">Effect:</span> <span className="text-gray-300 capitalize">{variantDef.effect}</span>
|
||||
</div>
|
||||
)}
|
||||
|
||||
<div className="text-xs text-gray-400 mt-2">
|
||||
<span className="text-green-400">Total Damage:</span> {fmt(golem.damageDealt)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user