diff options
| author | Shauren <shauren.trinity@gmail.com> | 2023-08-06 20:21:34 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2023-08-07 00:05:36 +0200 |
| commit | 98007f859b7318570c0c923a00aa32fc485c8ec8 (patch) | |
| tree | ef8405fa2d3740b6531a510673a0124dd0c2c957 /src/server/game/AI/PlayerAI | |
| parent | d2784d4c65ec987fe587718d96b2feb885905e13 (diff) | |
Core/Misc: Turn ChrSpecialization into enum class
Diffstat (limited to 'src/server/game/AI/PlayerAI')
| -rw-r--r-- | src/server/game/AI/PlayerAI/PlayerAI.cpp | 10 | ||||
| -rw-r--r-- | src/server/game/AI/PlayerAI/PlayerAI.h | 5 |
2 files changed, 8 insertions, 7 deletions
diff --git a/src/server/game/AI/PlayerAI/PlayerAI.cpp b/src/server/game/AI/PlayerAI/PlayerAI.cpp index d61f084431d..2f104c40eac 100644 --- a/src/server/game/AI/PlayerAI/PlayerAI.cpp +++ b/src/server/game/AI/PlayerAI/PlayerAI.cpp @@ -406,7 +406,7 @@ Creature* PlayerAI::GetCharmer() const return nullptr; } -uint32 PlayerAI::GetSpec(Player const* who /*= nullptr*/) const +ChrSpecialization PlayerAI::GetSpec(Player const* who /*= nullptr*/) const { return (!who || who == me) ? _selfSpec : who->GetPrimarySpecialization(); } @@ -416,8 +416,8 @@ bool PlayerAI::IsPlayerHealer(Player const* who) if (!who) return false; - return who->GetPrimarySpecialization() - && sChrSpecializationStore.AssertEntry(who->GetPrimarySpecialization())->GetRole() == ChrSpecializationRole::Healer; + ChrSpecializationEntry const* chrSpec = who->GetPrimarySpecializationEntry(); + return chrSpec && chrSpec->GetRole() == ChrSpecializationRole::Healer; } bool PlayerAI::IsPlayerRangedAttacker(Player const* who) @@ -425,8 +425,8 @@ bool PlayerAI::IsPlayerRangedAttacker(Player const* who) if (!who) return false; - return who->GetPrimarySpecialization() - && sChrSpecializationStore.AssertEntry(who->GetPrimarySpecialization())->GetFlags().HasFlag(ChrSpecializationFlag::Ranged); + ChrSpecializationEntry const* chrSpec = who->GetPrimarySpecializationEntry(); + return chrSpec && chrSpec->GetFlags().HasFlag(ChrSpecializationFlag::Ranged); } PlayerAI::TargetedSpell PlayerAI::VerifySpellCast(uint32 spellId, Unit* target) diff --git a/src/server/game/AI/PlayerAI/PlayerAI.h b/src/server/game/AI/PlayerAI/PlayerAI.h index a6c429b6308..39d53727303 100644 --- a/src/server/game/AI/PlayerAI/PlayerAI.h +++ b/src/server/game/AI/PlayerAI/PlayerAI.h @@ -22,6 +22,7 @@ class Creature; class Spell; +enum class ChrSpecialization : uint32; class TC_GAME_API PlayerAI : public UnitAI { @@ -31,7 +32,7 @@ class TC_GAME_API PlayerAI : public UnitAI Creature* GetCharmer() const; // helper functions to determine player info - uint32 GetSpec(Player const* who = nullptr) const; + ChrSpecialization GetSpec(Player const* who = nullptr) const; static bool IsPlayerHealer(Player const* who); bool IsHealer(Player const* who = nullptr) const { return (!who || who == me) ? _isSelfHealer : IsPlayerHealer(who); } static bool IsPlayerRangedAttacker(Player const* who); @@ -85,7 +86,7 @@ class TC_GAME_API PlayerAI : public UnitAI void CancelAllShapeshifts(); private: - uint32 const _selfSpec; + ChrSpecialization const _selfSpec; bool const _isSelfHealer; bool _isSelfRangedAttacker; }; |
