fix(Core/Creatures): Implemented `SUMMON_PROP_FLAG_ONLY_VISIBLE_TO_SU… (#14054)

* fix(Core/Creatures): Implemented `SUMMON_PROP_FLAG_ONLY_VISIBLE_TO_SUMMONER` summon flag.

Fixes #6674

* Update.
This commit is contained in:
UltraNix
2023-01-06 00:52:05 +01:00
committed by GitHub
parent 0e1e8f27de
commit 14f3b444ae
12 changed files with 96 additions and 44 deletions
@@ -25,7 +25,7 @@
TempSummon::TempSummon(SummonPropertiesEntry const* properties, ObjectGuid owner, bool isWorldObject) :
Creature(isWorldObject), m_Properties(properties), m_type(TEMPSUMMON_MANUAL_DESPAWN),
m_timer(0), m_lifetime(0)
m_timer(0), m_lifetime(0), _visibleBySummonerOnly(false)
{
if (owner)
{
@@ -57,14 +57,19 @@ public:
uint32 GetTimer() { return m_timer; }
void SetTimer(uint32 t) { m_timer = t; }
void SetVisibleBySummonerOnly(bool visibleBySummonerOnly) { _visibleBySummonerOnly = visibleBySummonerOnly; }
[[nodiscard]] bool IsVisibleBySummonerOnly() const { return _visibleBySummonerOnly; }
const SummonPropertiesEntry* const m_Properties;
std::string GetDebugInfo() const override;
private:
TempSummonType m_type;
uint32 m_timer;
uint32 m_lifetime;
ObjectGuid m_summonerGUID;
bool _visibleBySummonerOnly;
};
class Minion : public TempSummon