mod-paragon: default HasActivePowers on for rage from white hits

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>
This commit is contained in:
Docker Build
2026-05-09 15:54:39 -04:00
parent 3a2ae82593
commit 7298d89c9a
2 changed files with 7 additions and 2 deletions
@@ -12,6 +12,11 @@ Paragon.StickyComboPoints = 1
# in addition to runes/runic power. Required for the patch-enUS-5.MPQ player # 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 # frame to populate Mana/Rage/Energy bars - otherwise the server treats those
# powers as inactive and never sends max values, leaving the bars empty. # 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 Paragon.MultiResource.HasActivePowers = 1
# Ability / Talent Essence (AE/TE) — Ascension-inspired currency # Ability / Talent Essence (AE/TE) — Ascension-inspired currency
+2 -2
View File
@@ -37,7 +37,7 @@ public:
{ {
LOG_INFO("module", "[paragon] Paragon_PlayerScript registered " LOG_INFO("module", "[paragon] Paragon_PlayerScript registered "
"(MultiResource.HasActivePowers={})", "(MultiResource.HasActivePowers={})",
sConfigMgr->GetOption<bool>("Paragon.MultiResource.HasActivePowers", false)); sConfigMgr->GetOption<bool>("Paragon.MultiResource.HasActivePowers", true));
} }
[[nodiscard]] Optional<bool> OnPlayerIsClass(Player const* player, Classes unitClass, ClassContext context) override [[nodiscard]] Optional<bool> OnPlayerIsClass(Player const* player, Classes unitClass, ClassContext context) override
@@ -77,7 +77,7 @@ public:
if (power == POWER_RUNIC_POWER || power == POWER_RUNE) if (power == POWER_RUNIC_POWER || power == POWER_RUNE)
return true; return true;
if (sConfigMgr->GetOption<bool>("Paragon.MultiResource.HasActivePowers", false)) if (sConfigMgr->GetOption<bool>("Paragon.MultiResource.HasActivePowers", true))
{ {
switch (power) switch (power)
{ {