feat: expand golem stat abbreviations and add special abilities display
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m31s

This commit is contained in:
2026-05-27 12:20:44 +02:00
parent a47d6568f7
commit badd233c63
6 changed files with 39 additions and 5 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
# Circular Dependencies
Generated: 2026-05-27T10:04:16.884Z
Generated: 2026-05-27T10:13:57.025Z
No circular dependencies found. ✅
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_meta": {
"generated": "2026-05-27T10:04:15.084Z",
"generated": "2026-05-27T10:13:55.056Z",
"description": "Import dependency graph for src/lib/game. Keys are files, values are arrays of files they import.",
"usage": "To find what a file affects, search for its path in the VALUES. To find what a file depends on, look at its KEY entry."
},
+15 -3
View File
@@ -119,16 +119,16 @@ const GolemCard: React.FC<GolemCardProps> = React.memo(({
{/* Stats grid */}
<div className="grid grid-cols-2 gap-x-4 gap-y-1 text-xs">
<div className="text-gray-400">
<span className="text-gray-500">DMG:</span> {golem.damage}
<span className="text-gray-500">Damage:</span> {golem.damage}
</div>
<div className="text-gray-400">
<span className="text-gray-500">SPD:</span> {golem.attackSpeed}/h
<span className="text-gray-500">Attack Speed:</span> {golem.attackSpeed}/h
</div>
<div className="text-gray-400">
<span className="text-gray-500">HP:</span> {golem.hp}
</div>
<div className="text-gray-400">
<span className="text-gray-500">AP:</span> {Math.round(golem.armorPierce * 100)}%
<span className="text-gray-500">Armor Pierce:</span> {Math.round(golem.armorPierce * 100)}%
</div>
{golem.isAoe && (
<div className="col-span-2 text-gray-400">
@@ -137,6 +137,18 @@ const GolemCard: React.FC<GolemCardProps> = React.memo(({
)}
</div>
{/* Special Abilities */}
{golem.specialAbilities && golem.specialAbilities.length > 0 && (
<div className="text-xs space-y-0.5">
<span className="text-gray-500">Special:</span>
{golem.specialAbilities.map((ability, i) => (
<div key={i} className="text-gray-400 pl-2">
{ability.name}: {ability.description}
</div>
))}
</div>
)}
{/* Costs */}
<div className="text-xs space-y-0.5">
<div className="text-gray-400">
@@ -67,5 +67,8 @@ export const ELEMENTAL_GOLEMS: Record<string, GolemDef> = {
manaType: 'sand',
},
tier: 2,
specialAbilities: [
{ name: 'Sandstorm', description: 'Hits multiple enemies (AoE)' },
],
},
};
+18
View File
@@ -25,6 +25,9 @@ export const HYBRID_GOLEMS: Record<string, GolemDef> = {
levels: [5, 5],
},
tier: 3,
specialAbilities: [
{ name: 'Burn', description: 'Burns enemies over time (DoT)' },
],
},
// Galvanic Golem - Metal + Lightning fusion
@@ -47,6 +50,9 @@ export const HYBRID_GOLEMS: Record<string, GolemDef> = {
levels: [5, 5],
},
tier: 3,
specialAbilities: [
{ name: 'Lightning Speed', description: 'Extremely fast attacks bonus' },
],
},
// Obsidian Golem - Dark + Earth fusion
@@ -69,6 +75,9 @@ export const HYBRID_GOLEMS: Record<string, GolemDef> = {
levels: [5, 5],
},
tier: 4,
specialAbilities: [
{ name: 'Devastating Strike', description: 'Devastating single-target damage' },
],
},
// Prism Golem - Light + Crystal fusion
@@ -91,6 +100,9 @@ export const HYBRID_GOLEMS: Record<string, GolemDef> = {
levels: [5, 5],
},
tier: 4,
specialAbilities: [
{ name: 'Piercing Beams', description: 'Channels light into piercing beams' },
],
},
// Quicksilver Golem - Water + Metal fusion
@@ -113,6 +125,9 @@ export const HYBRID_GOLEMS: Record<string, GolemDef> = {
levels: [5, 5],
},
tier: 3,
specialAbilities: [
{ name: 'Flow', description: 'Flows around defenses, fast & hard to dodge' },
],
},
// Voidstone Golem - Void + Earth fusion (ultimate)
@@ -135,5 +150,8 @@ export const HYBRID_GOLEMS: Record<string, GolemDef> = {
levels: [5, 5],
},
tier: 4,
specialAbilities: [
{ name: 'Void Infusion', description: 'Earth infused with void energy' },
],
},
};
+1
View File
@@ -39,4 +39,5 @@ export interface GolemDef {
levels?: number[];
};
tier: number; // Power tier (1-4)
specialAbilities?: { name: string; description: string }[]; // Special abilities
}