aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Creature
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-12-02 15:29:02 +0100
committerShauren <shauren.trinity@gmail.com>2024-12-02 15:29:02 +0100
commit1fb4acc25ae89360e71d33a8f7cba99bcc028b32 (patch)
tree6a12714df0e1bd8a96b1f5452fbc4efcb83f7200 /src/server/game/Entities/Creature
parent49699bc966e4543044da7f1fd75d57fbebfac4e4 (diff)
Core/Quests: Implemented QUEST_OBJECTIVE_KILL_WITH_LABEL
Diffstat (limited to 'src/server/game/Entities/Creature')
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp10
-rw-r--r--src/server/game/Entities/Creature/Creature.h3
2 files changed, 13 insertions, 0 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 0b8a3483b1f..0a5c0c88612 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -3320,6 +3320,16 @@ std::string Creature::GetNameForLocaleIdx(LocaleConstant locale) const
return GetName();
}
+bool Creature::HasLabel(int32 cretureLabel) const
+{
+ return advstd::ranges::contains(GetLabels(), cretureLabel);
+}
+
+std::span<int32 const> Creature::GetLabels() const
+{
+ return sDB2Manager.GetCreatureLabels(GetCreatureDifficulty()->CreatureDifficultyID);
+}
+
uint8 Creature::GetPetAutoSpellSize() const
{
return MAX_SPELL_CHARM;
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h
index 02dbef80715..a7f6113aab6 100644
--- a/src/server/game/Entities/Creature/Creature.h
+++ b/src/server/game/Entities/Creature/Creature.h
@@ -279,6 +279,9 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma
// override WorldObject function for proper name localization
std::string GetNameForLocaleIdx(LocaleConstant locale) const override;
+ bool HasLabel(int32 cretureLabel) const;
+ std::span<int32 const> GetLabels() const;
+
void setDeathState(DeathState s) override; // override virtual Unit::setDeathState
bool LoadFromDB(ObjectGuid::LowType spawnId, Map* map, bool addToMap, bool allowDuplicate);