aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorxinef1 <w.szyszko2@gmail.com>2017-03-27 06:41:53 +0200
committerfunjoker <funjoker109@gmail.com>2020-04-24 17:18:50 +0200
commit70d5775d3f679e77c2b00418375f180f6209484d (patch)
treed3cff64abfb1242a6f04f110f4167d905ce100c9 /src/server/game
parent5348db220051ac1be497c3eb2d405bb4a39305ed (diff)
Added new creature extra flag which makes npc visible only to dead units
closes #19333 * Rename 9999_99_99_99_world.sql to 2017_99_99_99_world_335.sql - file affects creature removed in patch 4.0.3a * Update Creature.cpp (cherry picked from commit e72b380b9374c92e5688002bf3a15065419a2ea0)
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp3
-rw-r--r--src/server/game/Entities/Creature/CreatureData.h1
2 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 49bf0c34aea..42311dcbc41 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -1043,8 +1043,7 @@ bool Creature::Create(ObjectGuid::LowType guidlow, Map* map, uint32 entry, float
LastUsedScriptID = GetScriptId();
- /// @todo Replace with spell, handle from DB
- if (IsSpiritHealer() || IsSpiritGuide())
+ if (IsSpiritHealer() || IsSpiritGuide() || (GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_GHOST_VISIBILITY))
{
m_serverSideVisibility.SetValue(SERVERSIDE_VISIBILITY_GHOST, GHOST_VISIBILITY_GHOST);
m_serverSideVisibilityDetect.SetValue(SERVERSIDE_VISIBILITY_GHOST, GHOST_VISIBILITY_GHOST);
diff --git a/src/server/game/Entities/Creature/CreatureData.h b/src/server/game/Entities/Creature/CreatureData.h
index f94e8dbe22a..84bf27beb37 100644
--- a/src/server/game/Entities/Creature/CreatureData.h
+++ b/src/server/game/Entities/Creature/CreatureData.h
@@ -267,6 +267,7 @@ enum CreatureFlagsExtra
CREATURE_FLAG_EXTRA_TRIGGER = 0x00000080, // trigger creature
CREATURE_FLAG_EXTRA_NO_TAUNT = 0x00000100, // creature is immune to taunt auras and effect attack me
CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE = 0x00000200, // creature won't update movement flags
+ CREATURE_FLAG_EXTRA_GHOST_VISIBILITY = 0x00000400, // creature will be only visible for dead players
CREATURE_FLAG_EXTRA_WORLDEVENT = 0x00004000, // custom flag for world event creatures (left room for merging)
CREATURE_FLAG_EXTRA_GUARD = 0x00008000, // Creature is guard
CREATURE_FLAG_EXTRA_NO_CRIT = 0x00020000, // creature can't do critical strikes