fix: update Steady Hand prestige upgrade with real enchantment power effect
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m23s
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m23s
This commit is contained in:
@@ -5,7 +5,7 @@ export const PRESTIGE_DEF: Record<string, PrestigeDef> = {
|
||||
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 },
|
||||
steadyHand: { name: "Steady Hand", desc: "-15% durability loss", max: 5, cost: 1200 },
|
||||
steadyHand: { name: "Steady Hand", desc: "+15% enchantment power", max: 5, cost: 1200 },
|
||||
ancientKnowledge: { name: "Ancient Knowledge", desc: "Start with blueprint discovered", max: 5, cost: 2000 },
|
||||
elementalAttune: { name: "Elemental Attunement", desc: "+25 elemental mana cap", max: 10, cost: 600 },
|
||||
spellMemory: { name: "Spell Memory", desc: "Start with random spell learned", max: 3, cost: 2500 },
|
||||
|
||||
@@ -90,9 +90,12 @@ export interface UnifiedEffects extends ComputedEffects {
|
||||
export function computeAllEffects(
|
||||
equipmentInstances: Record<string, EquipmentInstance>,
|
||||
equippedInstances: Record<string, string | null>,
|
||||
prestigeUpgrades?: Record<string, number>,
|
||||
): UnifiedEffects {
|
||||
const upgradeEffects = computeEffects();
|
||||
const equipmentEffects = computeEquipmentEffects(equipmentInstances, equippedInstances, upgradeEffects.enchantmentPowerMultiplier);
|
||||
const steadyHandLevel = (prestigeUpgrades?.steadyHand || 0);
|
||||
const enchantmentPowerMultiplier = upgradeEffects.enchantmentPowerMultiplier * (1 + steadyHandLevel * 0.15);
|
||||
const equipmentEffects = computeEquipmentEffects(equipmentInstances, equippedInstances, enchantmentPowerMultiplier);
|
||||
const disciplineEffects = computeDisciplineEffects();
|
||||
|
||||
const perElementCapBonus: Record<string, number> = { ...upgradeEffects.perElementCapBonus };
|
||||
@@ -158,10 +161,12 @@ export function computeAllEffects(
|
||||
export function getUnifiedEffects(state: {
|
||||
equipmentInstances?: Record<string, EquipmentInstance>;
|
||||
equippedInstances?: Record<string, string | null>;
|
||||
prestigeUpgrades?: Record<string, number>;
|
||||
}): UnifiedEffects {
|
||||
return computeAllEffects(
|
||||
state.equipmentInstances || {},
|
||||
state.equippedInstances || {},
|
||||
state.prestigeUpgrades,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,12 +29,14 @@ export function useGameLoop() {
|
||||
export function useUnifiedEffects() {
|
||||
const equippedInstances = useCraftingStore((s) => s.equippedInstances);
|
||||
const equipmentInstances = useCraftingStore((s) => s.equipmentInstances);
|
||||
const prestigeUpgrades = usePrestigeStore((s) => s.prestigeUpgrades);
|
||||
const disciplineEffects = computeDisciplineEffects();
|
||||
|
||||
return {
|
||||
...getUnifiedEffects({
|
||||
equippedInstances,
|
||||
equipmentInstances,
|
||||
prestigeUpgrades,
|
||||
}),
|
||||
disciplineEffects,
|
||||
};
|
||||
@@ -55,6 +57,7 @@ export function useManaStats() {
|
||||
const upgradeEffects = getUnifiedEffects({
|
||||
equippedInstances,
|
||||
equipmentInstances,
|
||||
prestigeUpgrades,
|
||||
});
|
||||
|
||||
const maxMana = computeMaxMana(
|
||||
@@ -105,12 +108,14 @@ export function useManaStats() {
|
||||
*/
|
||||
export function useCombatStats() {
|
||||
const signedPacts = usePrestigeStore((s) => s.signedPacts);
|
||||
const prestigeUpgrades = usePrestigeStore((s) => s.prestigeUpgrades);
|
||||
const equippedInstances = useCraftingStore((s) => s.equippedInstances);
|
||||
const equipmentInstances = useCraftingStore((s) => s.equipmentInstances);
|
||||
|
||||
const upgradeEffects = getUnifiedEffects({
|
||||
equippedInstances,
|
||||
equipmentInstances,
|
||||
prestigeUpgrades,
|
||||
});
|
||||
|
||||
return {
|
||||
|
||||
@@ -95,9 +95,12 @@ export const useGameStore = create<GameCoordinatorStore>()(
|
||||
const addLog = (msg: string) => writes.logs.push(msg);
|
||||
|
||||
// Compute equipment and discipline effects
|
||||
const steadyHandLevel = ctx.prestige.prestigeUpgrades.steadyHand || 0;
|
||||
const enchantmentPowerMultiplier = 1 + steadyHandLevel * 0.15;
|
||||
const equipmentEffects = computeEquipmentEffects(
|
||||
ctx.crafting.equipmentInstances || {},
|
||||
ctx.crafting.equippedInstances || {}
|
||||
ctx.crafting.equippedInstances || {},
|
||||
enchantmentPowerMultiplier,
|
||||
);
|
||||
const disciplineEffects = computeDisciplineEffects();
|
||||
const allSpecials = new Set<string>([
|
||||
|
||||
Reference in New Issue
Block a user