diff options
| author | Shauren <shauren.trinity@gmail.com> | 2024-05-19 00:55:24 +0200 |
|---|---|---|
| committer | Ovahlord <dreadkiller@gmx.de> | 2024-05-28 17:03:51 +0200 |
| commit | ae687002d1680e5d1bfe6a0eb74ffe5b279b0199 (patch) | |
| tree | 608d51016d526e8e0e5ea7693c84cca65515f6f7 /src/server/game/Entities | |
| parent | bfd8e907d9c95623760051b8bacc1f720c3fc0fc (diff) | |
Core/Spells: Implemented SummonPropertiesFlags::UseDemonTimeout
Closes #29930
(cherry picked from commit c15c8609f0b950804ce798369bd7c3f54b5ab221)
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/Creature/TemporarySummon.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/server/game/Entities/Creature/TemporarySummon.cpp b/src/server/game/Entities/Creature/TemporarySummon.cpp index f3a6f35770d..95a7f9c19ff 100644 --- a/src/server/game/Entities/Creature/TemporarySummon.cpp +++ b/src/server/game/Entities/Creature/TemporarySummon.cpp @@ -193,7 +193,14 @@ void TempSummon::InitStats(WorldObject* summoner, Milliseconds duration) m_lifetime = duration; if (m_type == TEMPSUMMON_MANUAL_DESPAWN) - m_type = (duration <= 0ms) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_DESPAWN; + { + if (duration <= 0s) + m_type = TEMPSUMMON_DEAD_DESPAWN; + else if (m_Properties && m_Properties->GetFlags().HasFlag(SummonPropertiesFlags::UseDemonTimeout)) + m_type = TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT; + else + m_type = TEMPSUMMON_TIMED_DESPAWN; + } if (summoner && summoner->IsPlayer()) { |
