aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Object
diff options
context:
space:
mode:
authorModoX <moardox@gmail.com>2024-12-22 12:59:57 +0100
committerGitHub <noreply@github.com>2024-12-22 12:59:57 +0100
commit92efc2523b75e4ca01be7d0894ed8bc979cb3049 (patch)
treecec60a0781e985bb9c968b26ad7e723b17c77fb0 /src/server/game/Entities/Object
parent76d16440dc36baa8bd92a1d1ccb771e97a44201f (diff)
Core/Objects: Allow more specific checks to include or exclude feign death units in CreatureWithOptionsInObjectRangeCheck::IsAlive check (#30361)
* this also extends SMART_TARGET_CLOSEST_CREATURE dead param
Diffstat (limited to 'src/server/game/Entities/Object')
-rw-r--r--src/server/game/Entities/Object/Object.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h
index 4b553171706..5297de5fef4 100644
--- a/src/server/game/Entities/Object/Object.h
+++ b/src/server/game/Entities/Object/Object.h
@@ -563,12 +563,22 @@ class FlaggedValuesArray32
T_FLAGS m_flags;
};
+enum class FindCreatureAliveState : uint8
+{
+ Alive = 0, // includes feign death
+ Dead = 1, // excludes feign death
+ EffectivelyAlive = 2, // excludes feign death
+ EffectivelyDead = 3, // includes feign death
+
+ Max
+};
+
struct FindCreatureOptions
{
Optional<uint32> CreatureId;
Optional<std::string_view> StringId;
- Optional<bool> IsAlive;
+ Optional<FindCreatureAliveState> IsAlive;
Optional<bool> IsInCombat;
Optional<bool> IsSummon;