feat: add prestige system and skill upgrades with comprehensive documentation
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 5m57s

This commit is contained in:
Refactoring Agent
2026-05-01 15:18:09 +02:00
parent 3691aa4acc
commit 03815f27ee
52 changed files with 4056 additions and 873 deletions
+94
View File
@@ -0,0 +1,94 @@
// ─── Special Effect IDs ────────────────────────────────────────────────────────
// These are the IDs used in the 'specialId' field of special effects
import type { ComputedEffects } from './upgrade-effects.types';
export const SPECIAL_EFFECTS = {
// Mana Flow special effects
MANA_CASCADE: 'manaCascade',
STEADY_STREAM: 'steadyStream',
MANA_TORRENT: 'manaTorrent',
FLOW_SURGE: 'flowSurge',
MANA_OVERFLOW: 'manaOverflow',
MANA_WATERFALL: 'manaWaterfall',
ETERNAL_FLOW: 'eternalFlow',
// Mana Well special effects
DESPAIR_WELLS: 'despairWells',
DESPERATE_WELLS: 'desperateWells',
MANA_ECHO: 'manaEcho',
EMERGENCY_RESERVE: 'emergencyReserve',
MANA_THRESHOLD: 'manaThreshold',
MANA_CONVERSION: 'manaConversion',
PANIC_RESERVE: 'panicReserve',
MANA_CONDENSE: 'manaCondense',
DEEP_RESERVE: 'deepReserve',
MANA_TIDE: 'manaTide',
VOID_STORAGE: 'voidStorage',
MANA_CORE: 'manaCore',
MANA_HEART: 'manaHeart',
MANA_GENESIS: 'manaGenesis',
// Mana Overflow special effects
CLICK_SURGE: 'clickSurge',
MANA_FLOOD: 'manaFlood',
// Combat special effects
FIRST_STRIKE: 'firstStrike',
OVERPOWER: 'overpower',
BERSERKER: 'berserker',
EXECUTIONER: 'executioner',
COMBO_MASTER: 'comboMaster',
ADRENALINE_RUSH: 'adrenalineRush',
// Study special effects
QUICK_GRASP: 'quickGrasp',
DEEP_CONCENTRATION: 'deepConcentration',
QUICK_MASTERY: 'quickMastery',
PARALLEL_STUDY: 'parallelStudy',
STUDY_MOMENTUM: 'studyMomentum',
KNOWLEDGE_ECHO: 'knowledgeEcho',
KNOWLEDGE_TRANSFER: 'knowledgeTransfer',
MENTAL_CLARITY: 'mentalClarity',
STUDY_REFUND: 'studyRefund',
DEEP_UNDERSTANDING: 'deepUnderstanding',
STUDY_RUSH: 'studyRush',
CHAIN_STUDY: 'chainStudy',
// Element special effects
ELEMENTAL_AFFINITY: 'elementalAffinity',
EXOTIC_MASTERY: 'exoticMastery',
ELEMENTAL_RESONANCE: 'elementalResonance',
MANA_CONDUIT: 'manaConduit',
// Enchanting special effects
ENCHANT_MASTERY: 'enchantMastery',
ENCHANT_PRESERVATION: 'enchantPreservation',
THRIFTY_ENCHANTER: 'thriftyEnchanter',
OPTIMIZED_ENCHANTING: 'optimizedEnchanting',
HASTY_ENCHANTER: 'hastyEnchanter',
INSTANT_DESIGNS: 'instantDesigns',
PURE_ESSENCE: 'pureEssence',
// Crafting special effects
BATCH_CRAFTING: 'batchCrafting',
MASS_PRODUCTION: 'massProduction',
SCAVENGE: 'scavenge',
RECLAIM: 'reclaim',
// Golemancy special effects
GOLEM_FURY: 'golemFury',
GOLEM_RESONANCE: 'golemResonance',
RAPID_STRIKES: 'rapidStrikes',
BLITZ_ATTACK: 'blitzAttack',
// Ascension special effects
INSIGHT_BOUNTY: 'insightBounty',
} as const;
/**
* Check if a special effect is active
*/
export function hasSpecial(effects: ComputedEffects, specialId: string): boolean {
return effects?.specials?.has(specialId) ?? false;
}