docs: reconcile spec inconsistencies across all documentation
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m20s
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m20s
- Fix incursion start day: 5→20 in GAME_BRIEFING.md (matches code constant) - Fix fabricator discipline count: 2→5 in AGENTS.md - Fix discipline counts: elemental.ts 22→21, advanced-regen.ts 14→15 - Fix equipment count: 50→43, remove shields, fix catalysts count - Fix prestige upgrade count: add missing manaWell, manaFlow, pactBinding, pactInterferenceMitigation - Remove x3 victory multiplier (no victory condition defined yet) - Update pact persistence: pacts do NOT persist through prestige - Update elemental matchup tables to match ultimate truth - Update room type frequencies to match spire-climbing-spec - Update guardian data tables to use formulas - Update Tier 3 guardian elements to match guardian-data.ts code - Add pactBinding + pactInterferenceMitigation to PRESTIGE_DEF constants - Wire pactInterferenceMitigation into useGameDerived.ts - Update spire-combat-spec.md Known Gaps table (DoT implemented, melee bypass bug) - Update invoker-spec.md known issues (all resolved) - Update golemancy-spec.md status (undergoing redesign) - Update PrestigeTab test to expect 15 upgrades - Create Gitea issues #285 (melee defense bypass), #286 (DoT verified), #287 (mana conversion gap)
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
import type { PrestigeDef } from '../types';
|
||||
|
||||
export const PRESTIGE_DEF: Record<string, PrestigeDef> = {
|
||||
manaWell: { name: "Mana Well", desc: "+500 starting max mana", max: 5, cost: 500 },
|
||||
manaFlow: { name: "Mana Flow", desc: "+0.5 regen/sec permanently", max: 10, cost: 750 },
|
||||
insightAmp: { name: "Insight Amp", desc: "+25% insight gain", max: 4, cost: 1500 },
|
||||
spireKey: { name: "Spire Key", desc: "Start at floor +2", max: 5, cost: 4000 },
|
||||
temporalEcho: { name: "Temporal Echo", desc: "+10% mana generation", max: 5, cost: 3000 },
|
||||
@@ -13,4 +15,6 @@ export const PRESTIGE_DEF: Record<string, PrestigeDef> = {
|
||||
quickStart: { name: "Quick Start", desc: "Start with 100 raw mana", max: 3, cost: 400 },
|
||||
elemStart: { name: "Elem. Start", desc: "Start with 5 of each unlocked element", max: 3, cost: 800 },
|
||||
unlockedManaTypeCapacity: { name: "Mana Type Capacity", desc: "+10 capacity for selected mana type", max: 5, cost: 1000 },
|
||||
pactBinding: { name: "Pact Binding", desc: "+1 pact slot per level", max: 5, cost: 2000 },
|
||||
pactInterferenceMitigation: { name: "Pact Interference Mitigation", desc: "Reduces pact interference penalty", max: 10, cost: 1500 },
|
||||
};
|
||||
|
||||
@@ -143,14 +143,16 @@ export function useCombatStats() {
|
||||
[activeSpell]
|
||||
);
|
||||
|
||||
const pactInterferenceMitigation = usePrestigeStore((s) => s.prestigeUpgrades.pactInterferenceMitigation || 0);
|
||||
|
||||
const pactMultiplier = useMemo(
|
||||
() => computePactMultiplier({ signedPacts }),
|
||||
[signedPacts]
|
||||
() => computePactMultiplier({ signedPacts, pactInterferenceMitigation }),
|
||||
[signedPacts, pactInterferenceMitigation]
|
||||
);
|
||||
|
||||
const pactInsightMultiplier = useMemo(
|
||||
() => computePactInsightMultiplier({ signedPacts }),
|
||||
[signedPacts]
|
||||
() => computePactInsightMultiplier({ signedPacts, pactInterferenceMitigation }),
|
||||
[signedPacts, pactInterferenceMitigation]
|
||||
);
|
||||
|
||||
// DPS calculation
|
||||
|
||||
Reference in New Issue
Block a user