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:
@@ -1011,8 +1011,8 @@ public:
|
||||
void AddExtraAttacks(uint32 count);
|
||||
|
||||
// Combot points system
|
||||
[[nodiscard]] uint8 GetComboPoints(Unit const* who = nullptr) const { return (who && m_comboTarget != who) ? 0 : m_comboPoints; }
|
||||
[[nodiscard]] uint8 GetComboPoints(ObjectGuid const& guid) const { return (m_comboTarget && m_comboTarget->GetGUID() == guid) ? m_comboPoints : 0; }
|
||||
[[nodiscard]] uint8 GetComboPoints(Unit const* who = nullptr) const;
|
||||
[[nodiscard]] uint8 GetComboPoints(ObjectGuid const& guid) const;
|
||||
[[nodiscard]] Unit* GetComboTarget() const { return m_comboTarget; }
|
||||
[[nodiscard]] ObjectGuid const GetComboTargetGUID() const { return m_comboTarget ? m_comboTarget->GetGUID() : ObjectGuid::Empty; }
|
||||
|
||||
@@ -1020,6 +1020,18 @@ public:
|
||||
void AddComboPoints(int8 count) { AddComboPoints(nullptr, count); }
|
||||
void ClearComboPoints();
|
||||
|
||||
// mod-paragon: re-anchor an existing combo-point pool to a different
|
||||
// target without changing the count, then push SMSG_UPDATE_COMBO_POINTS.
|
||||
// Used by Player::SetSelection so sticky combo points keep displaying on
|
||||
// the new target frame after a target swap.
|
||||
void RebindComboTarget(Unit* newTarget);
|
||||
|
||||
// mod-paragon: sticky-CP holder cleanup when the *target* dies / despawns.
|
||||
// Detaches m_comboTarget (and removes self from the dying unit's holder
|
||||
// set) but intentionally leaves m_comboPoints intact, so the next
|
||||
// RebindComboTarget on a fresh target still has a pool to anchor.
|
||||
void DetachComboTarget();
|
||||
|
||||
void AddComboPointHolder(Unit* unit) { m_ComboPointHolders.insert(unit); }
|
||||
void RemoveComboPointHolder(Unit* unit) { m_ComboPointHolders.erase(unit); }
|
||||
void ClearComboPointHolders();
|
||||
|
||||
Reference in New Issue
Block a user