From d82a018b5b72adeea95483aedfa774381c5668e9 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 19 Jul 2024 19:21:03 +0200 Subject: Core/Auras: Defined and implemented new aura state --- src/server/game/Entities/Unit/Unit.cpp | 1 + src/server/game/Miscellaneous/SharedDefines.h | 3 ++- src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp | 5 ++++- 3 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 05ac26601ce..cc2d0f96875 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -476,6 +476,7 @@ void Unit::Update(uint32 p_time) ModifyAuraState(AURA_STATE_WOUND_HEALTH_20_80, HealthBelowPct(20) || HealthAbovePct(80)); ModifyAuraState(AURA_STATE_HEALTHY_75_PERCENT, HealthAbovePct(75)); ModifyAuraState(AURA_STATE_WOUND_HEALTH_35_80, HealthBelowPct(35) || HealthAbovePct(80)); + ModifyAuraState(AURA_STATE_WOUNDED_50_PERCENT, HealthBelowPct(50)); } UpdateSplineMovement(p_time); diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index cbabbb7fe9c..01af7e0bfb1 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -2565,7 +2565,8 @@ enum AuraStateType AURA_STATE_WOUND_HEALTH_20_80 = 21, // T | AURA_STATE_RAID_ENCOUNTER = 22, // CcTt| AURA_STATE_HEALTHY_75_PERCENT = 23, // C | - AURA_STATE_WOUND_HEALTH_35_80 = 24 // T | + AURA_STATE_WOUND_HEALTH_35_80 = 24, // T | + AURA_STATE_WOUNDED_50_PERCENT = 25 // C T | }; #define PER_CASTER_AURA_STATE_MASK (\ diff --git a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp index 011e8e1849a..54147ad8575 100644 --- a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp +++ b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp @@ -3233,12 +3233,13 @@ TC_API_EXPORT EnumText EnumUtils::ToString(AuraStateType value) case AURA_STATE_RAID_ENCOUNTER: return { "AURA_STATE_RAID_ENCOUNTER", "AURA_STATE_RAID_ENCOUNTER", "CcTt|" }; case AURA_STATE_HEALTHY_75_PERCENT: return { "AURA_STATE_HEALTHY_75_PERCENT", "AURA_STATE_HEALTHY_75_PERCENT", "C |" }; case AURA_STATE_WOUND_HEALTH_35_80: return { "AURA_STATE_WOUND_HEALTH_35_80", "AURA_STATE_WOUND_HEALTH_35_80", "T |" }; + case AURA_STATE_WOUNDED_50_PERCENT: return { "AURA_STATE_WOUNDED_50_PERCENT", "AURA_STATE_WOUNDED_50_PERCENT", "C T |" }; default: throw std::out_of_range("value"); } } template <> -TC_API_EXPORT size_t EnumUtils::Count() { return 25; } +TC_API_EXPORT size_t EnumUtils::Count() { return 26; } template <> TC_API_EXPORT AuraStateType EnumUtils::FromIndex(size_t index) @@ -3270,6 +3271,7 @@ TC_API_EXPORT AuraStateType EnumUtils::FromIndex(size_t index) case 22: return AURA_STATE_RAID_ENCOUNTER; case 23: return AURA_STATE_HEALTHY_75_PERCENT; case 24: return AURA_STATE_WOUND_HEALTH_35_80; + case 25: return AURA_STATE_WOUNDED_50_PERCENT; default: throw std::out_of_range("index"); } } @@ -3304,6 +3306,7 @@ TC_API_EXPORT size_t EnumUtils::ToIndex(AuraStateType value) case AURA_STATE_RAID_ENCOUNTER: return 22; case AURA_STATE_HEALTHY_75_PERCENT: return 23; case AURA_STATE_WOUND_HEALTH_35_80: return 24; + case AURA_STATE_WOUNDED_50_PERCENT: return 25; default: throw std::out_of_range("value"); } } -- cgit v1.2.3