aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-03-03 00:51:51 +0100
committerShauren <shauren.trinity@gmail.com>2024-03-03 00:51:51 +0100
commitc2e36dea6c6af6139bf60454e9299447ec7d9897 (patch)
tree0699ab0196a47eb78b7c08149cc8d34008a3f1da /src/server/game/Globals/ObjectMgr.cpp
parent97d7ccd180f96a414f205396261907e1e87d491a (diff)
Core/Creatures: Implemented serverside checks for UNIT_FLAG2_INTERACT_WHILE_HOSTILE and UNIT_FLAG3_ALLOW_INTERACTION_WHILE_IN_COMBAT
* Also stop sending npc flags for hostile creatures
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 53ea653ca73..b73b2977a69 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -1646,10 +1646,17 @@ void ObjectMgr::ChooseCreatureFlags(CreatureTemplate const* cInfo, uint64* npcFl
*unitFlags2 = ChooseCreatureFlagSource(unit_flags2);
if (staticFlags.HasFlag(CREATURE_STATIC_FLAG_3_CANNOT_TURN))
*unitFlags2 |= UNIT_FLAG2_CANNOT_TURN;
+
+ if (staticFlags.HasFlag(CREATURE_STATIC_FLAG_5_INTERACT_WHILE_HOSTILE))
+ *unitFlags2 |= UNIT_FLAG2_INTERACT_WHILE_HOSTILE;
}
if (unitFlags3)
+ {
*unitFlags3 = ChooseCreatureFlagSource(unit_flags3);
+ if (staticFlags.HasFlag(CREATURE_STATIC_FLAG_3_ALLOW_INTERACTION_WHILE_IN_COMBAT))
+ *unitFlags3 |= UNIT_FLAG3_ALLOW_INTERACTION_WHILE_IN_COMBAT;
+ }
#undef ChooseCreatureFlagSource
}