refactor: Redesign Invoker disciplines for pact bonuses and guardian boons
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m21s
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m21s
- Replace generic spell-casting/void-manipulation with pact-focused disciplines - Add Pact Attunement (light): reduces pact signing time, boosts pact affinity - Add Guardian's Boon (dark): amplifies all guardian unique perks - Add pactAffinityBonus and guardianBoonMultiplier stat keys to effect system - Apply pactAffinityBonus in pact signing time calculation (gameStore) - Scale guardian boon values by guardianBoonMultiplier (combat-utils) - Guard Invoker discipline activation behind signedPacts.length > 0 - Add 'Signed guardian pact' prerequisite display in discipline-math
This commit is contained in:
@@ -73,6 +73,18 @@ export interface UnifiedEffects extends ComputedEffects {
|
||||
disciplineBonuses: Record<string, number>;
|
||||
disciplineMultipliers: Record<string, number>;
|
||||
disciplineSpecials: Set<string>;
|
||||
/**
|
||||
* Total pact affinity bonus from disciplines and prestige upgrades.
|
||||
* Reduces pact signing time: effectiveTime = baseTime * (1 - pactAffinityBonus).
|
||||
* Capped at 0.9 to prevent zero/negative times.
|
||||
*/
|
||||
pactAffinityBonus: number;
|
||||
/**
|
||||
* Total guardian boon multiplier from disciplines.
|
||||
* Scales the effectiveness of all guardian unique perks.
|
||||
* 1.0 = base, 1.15 = +15%, etc.
|
||||
*/
|
||||
guardianBoonMultiplier: number;
|
||||
}
|
||||
|
||||
export function computeAllEffects(
|
||||
@@ -128,6 +140,8 @@ export function computeAllEffects(
|
||||
disciplineBonuses: disciplineEffects.bonuses,
|
||||
disciplineMultipliers: disciplineEffects.multipliers,
|
||||
disciplineSpecials: disciplineEffects.specials,
|
||||
pactAffinityBonus: Math.min(0.9, disciplineEffects.bonuses.pactAffinityBonus || 0),
|
||||
guardianBoonMultiplier: 1 + (disciplineEffects.bonuses.guardianBoonMultiplier || 0),
|
||||
};
|
||||
|
||||
if (equipmentEffects.bonuses.critChance) {
|
||||
|
||||
Reference in New Issue
Block a user