7298d89c9a
Paragon OnPlayerHasActivePowerType only reported POWER_RAGE when Paragon.MultiResource.HasActivePowers was true. Core melee rage uses Unit::DealDamage -> HasActivePowerType(POWER_RAGE) before RewardRage; missing module config (common on fresh clones / Docker without merged mod_paragon.conf) fell through to GetOption(..., false) and white swings never generated rage. Match mod_paragon.conf.dist and default the C++ fallback to true so Paragon behaves correctly out of the box. Set Paragon.MultiResource.HasActivePowers = 0 only for intentional test builds. Co-authored-by: Cursor <cursoragent@cursor.com>
55 lines
2.8 KiB
Plaintext
55 lines
2.8 KiB
Plaintext
# mod-paragon — Paragon (class 12) server options
|
|
#
|
|
# Copy to mod_paragon.conf in the same directory to override defaults.
|
|
|
|
[worldserver]
|
|
|
|
# Sticky combo points (server-side): CP pool is per-player; switching targets
|
|
# does not reset points. Implemented in core Unit::AddComboPoints / GetComboPoints.
|
|
Paragon.StickyComboPoints = 1
|
|
|
|
# When enabled, Paragon answers HasActivePowerType() for mana/rage/energy/focus
|
|
# in addition to runes/runic power. Required for the patch-enUS-5.MPQ player
|
|
# frame to populate Mana/Rage/Energy bars - otherwise the server treats those
|
|
# powers as inactive and never sends max values, leaving the bars empty.
|
|
# Also required for core rage generation: Unit::DealDamage only calls
|
|
# RewardRage() when the attacker HasActivePowerType(POWER_RAGE); if this is off,
|
|
# Paragon white swings never grant rage (users without this line in any loaded
|
|
# config used to hit the C++ fallback default of false). Default is on; set 0
|
|
# only if you intentionally want a stripped-down Paragon test build.
|
|
Paragon.MultiResource.HasActivePowers = 1
|
|
|
|
# Ability / Talent Essence (AE/TE) — Ascension-inspired currency
|
|
Paragon.Currency.Enabled = 1
|
|
Paragon.Currency.AE.Start = 9
|
|
Paragon.Currency.TE.Start = 0
|
|
# From this character level onward, each level-up grants both essences once.
|
|
Paragon.Currency.GrantLevelMin = 10
|
|
Paragon.Currency.AE.PerLevel = 1
|
|
Paragon.Currency.TE.PerLevel = 1
|
|
# Flat TE cost per successful talent rank learn (hook runs once per LearnTalent).
|
|
# Applies to passive / aura-only talents (addToSpellBook == 0).
|
|
Paragon.Currency.TE.TalentLearnCost = 1
|
|
# AE cost per rank for addToSpellBook talents (Starfall, Bladestorm, …).
|
|
# Those talents also charge TE.TalentLearnCost per rank — each rank costs
|
|
# both essences at the configured amounts.
|
|
Paragon.Currency.AE.TalentLearnCost = 1
|
|
# Default AE cost when spell is not listed in world.paragon_spell_ae_cost.
|
|
# (Phase 3a: every learnable spell baked into the Character Advancement panel
|
|
# has an explicit row of value 1 in that table, so this default only kicks in
|
|
# for spells learned via .paragon learn that aren't in the panel's bake.)
|
|
Paragon.Currency.AE.DefaultSpellCost = 1
|
|
|
|
# Diagnostics ----------------------------------------------------------------
|
|
# When enabled, dumps every Paragon's rune cooldown state to the server log
|
|
# every 5 seconds (channel "module"). Use with `.paragon runes` for in-game
|
|
# verification. Leave at 0 in production — it's noisy.
|
|
Paragon.Diag.RuneTrace = 0
|
|
|
|
# When enabled, traces every PanelLearnSpellChain commit: chain ids, before/
|
|
# after spell-map sizes for each rank learn, and the classification of every
|
|
# auto-granted side spell (chain rank / passive dep / active dep revoked).
|
|
# Use to diagnose "spell X reappears in spellbook on relog" style bugs.
|
|
# Leave at 0 in production.
|
|
Paragon.Diag.PanelLearn = 0
|