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:
@@ -1,59 +1,82 @@
|
||||
// ─── Invoker Discipline Files ─────────────────────────────────────────────────
|
||||
// Attunement-focused disciplines for Invoker role
|
||||
// The Invoker forms pacts with guardians and channels their elemental boons.
|
||||
|
||||
import { DisciplinesAttunementType } from '../../types/disciplines';
|
||||
import type { DisciplineDefinition } from '../../types/disciplines';
|
||||
|
||||
export const invokerDisciplines: DisciplineDefinition[] = [
|
||||
{
|
||||
id: 'spell-casting',
|
||||
name: 'Spell Casting',
|
||||
id: 'pact-attunement',
|
||||
name: 'Pact Attunement',
|
||||
attunement: DisciplinesAttunementType.INVOKER,
|
||||
manaType: 'light',
|
||||
baseCost: 10,
|
||||
description: 'Improve spell power and effectiveness.',
|
||||
statBonus: { stat: 'baseDamageBonus', baseValue: 6, label: 'Base Damage' },
|
||||
difficultyFactor: 130,
|
||||
scalingFactor: 65,
|
||||
drainBase: 3,
|
||||
baseCost: 12,
|
||||
description:
|
||||
'Deepen your bond with guardian spirits. Reduces pact signing time and amplifies pact power.',
|
||||
statBonus: { stat: 'pactAffinityBonus', baseValue: 0.05, label: 'Pact Affinity' },
|
||||
difficultyFactor: 150,
|
||||
scalingFactor: 80,
|
||||
drainBase: 4,
|
||||
requires: ['signed_pact'],
|
||||
perks: [
|
||||
{
|
||||
id: 'spell-1',
|
||||
id: 'pact-affinity-scaling',
|
||||
type: 'once',
|
||||
threshold: 200,
|
||||
threshold: 100,
|
||||
value: 0,
|
||||
description: '+10 Base Damage',
|
||||
bonus: { stat: 'baseDamageBonus', amount: 10 },
|
||||
description: 'Unlock pact affinity scaling — pact bonuses grow with XP.',
|
||||
},
|
||||
{
|
||||
id: 'spell-2',
|
||||
id: 'pact-affinity-infinite',
|
||||
type: 'infinite',
|
||||
threshold: 400,
|
||||
value: 30,
|
||||
description: 'Every 300 XP: +5 Base Damage',
|
||||
bonus: { stat: 'baseDamageBonus', amount: 5 },
|
||||
threshold: 200,
|
||||
value: 100,
|
||||
description: 'Every 100 XP: +5% pact affinity',
|
||||
bonus: { stat: 'pactAffinityBonus', amount: 0.05 },
|
||||
},
|
||||
{
|
||||
id: 'pact-power-boost',
|
||||
type: 'capped',
|
||||
threshold: 500,
|
||||
value: 200,
|
||||
maxTier: 5,
|
||||
description: 'Every 200 XP: +3% guardian pact boon strength (max +15%)',
|
||||
bonus: { stat: 'guardianBoonMultiplier', amount: 0.03 },
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'void-manipulation',
|
||||
name: 'Void Manipulation',
|
||||
id: 'guardians-boon',
|
||||
name: "Guardian's Boon",
|
||||
attunement: DisciplinesAttunementType.INVOKER,
|
||||
manaType: 'void',
|
||||
baseCost: 15,
|
||||
description: 'Master the exotic void mana for devastating effects.',
|
||||
statBonus: { stat: 'baseDamageMultiplier', baseValue: 0.15, label: 'Base Damage Multiplier' },
|
||||
manaType: 'dark',
|
||||
baseCost: 18,
|
||||
description:
|
||||
'Channel the unique blessings of every guardian you have bonded with. Amplifies all guardian unique perks.',
|
||||
statBonus: { stat: 'guardianBoonMultiplier', baseValue: 0.10, label: 'Guardian Boon Power' },
|
||||
difficultyFactor: 200,
|
||||
scalingFactor: 100,
|
||||
drainBase: 7,
|
||||
drainBase: 6,
|
||||
requires: ['signed_pact'],
|
||||
perks: [
|
||||
{
|
||||
id: 'void-1',
|
||||
id: 'boon-1',
|
||||
type: 'once',
|
||||
threshold: 300,
|
||||
threshold: 100,
|
||||
value: 0,
|
||||
description: 'Unlock void damage multiplier',
|
||||
description: 'Active guardian boons gain +10% effectiveness',
|
||||
bonus: { stat: 'guardianBoonMultiplier', amount: 0.10 },
|
||||
},
|
||||
{
|
||||
id: 'boon-2',
|
||||
type: 'capped',
|
||||
threshold: 200,
|
||||
value: 350,
|
||||
maxTier: 5,
|
||||
description: 'Every 350 XP: +5% guardian boon effectiveness (max +25%)',
|
||||
bonus: { stat: 'guardianBoonMultiplier', amount: 0.05 },
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user