Fractured: Paragon core hooks, mod-paragon, mod-ale, Docker build cap

- Track mod-paragon and mod-ale (un-ignore modules in .gitignore).
- Ship docker-compose.override.yml with CMAKE_EXTRA_OPTIONS for LuaJIT (mod-ale).
- Dockerfile: CBUILD_PARALLEL default to limit OOM under Docker/WSL2.
- Core: CLASS_PARAGON sticky combo points (DetachComboTarget), selection rebind,
  Spell::CheckPower rune path for multi-resource Paragon.
- spell_dk_death_rune: IsClass(CLASS_DEATH_KNIGHT, CLASS_CONTEXT_ABILITY) for
  Blood of the North / Reaping / DRM on Paragon.
- Remove temporary Paragon CheckPower logging.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Docker Build
2026-05-08 00:03:09 -04:00
parent f9f2bc5e0c
commit 8e4c8f57e4
163 changed files with 54817 additions and 10 deletions
+7 -6
View File
@@ -2643,7 +2643,12 @@ class spell_dk_death_rune : public AuraScript
bool Load() override
{
return GetUnitOwner()->IsPlayer() && GetUnitOwner()->ToPlayer()->getClass() == CLASS_DEATH_KNIGHT;
// mod-paragon: Paragon claims CLASS_DEATH_KNIGHT for CLASS_CONTEXT_ABILITY
// (Player::IsClass hook) so DK rune state + talents apply; raw getClass()
// would skip this script and Blood of the North / Reaping / Death Rune
// Mastery would never convert runes server-side.
Player* player = GetUnitOwner()->ToPlayer();
return player && player->IsClass(CLASS_DEATH_KNIGHT, CLASS_CONTEXT_ABILITY);
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -2652,11 +2657,7 @@ class spell_dk_death_rune : public AuraScript
if (!caster || !caster->IsPlayer())
return false;
Player* player = caster->ToPlayer();
if (player->getClass() != CLASS_DEATH_KNIGHT)
return false;
return true;
return caster->ToPlayer()->IsClass(CLASS_DEATH_KNIGHT, CLASS_CONTEXT_ABILITY);
}
void HandleProc(ProcEventInfo& eventInfo)