aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Object
diff options
context:
space:
mode:
authorMeji <alvaro.megias@outlook.com>2024-03-24 17:27:13 +0100
committerfunjoker <funjoker109@gmail.com>2024-03-28 20:23:28 +0100
commit56f9e134fba6becdbb44f959aedb4e5db93d9974 (patch)
treed9f53af948d3bf17a2c4420483af1f152a1ee9bf /src/server/game/Entities/Object
parent18b7199a47ee1ebc767c631f2c91c8e1f680d39c (diff)
Core/GameObjects: Added dynamic highlight for GAMEOBJECT_TYPE_SPELL_FOCUS (#29825)
(cherry picked from commit 6a80bebcb533eb5780e5d98be84d813b5732992a)
Diffstat (limited to 'src/server/game/Entities/Object')
-rw-r--r--src/server/game/Entities/Object/Updates/ViewerDependentValues.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/server/game/Entities/Object/Updates/ViewerDependentValues.h b/src/server/game/Entities/Object/Updates/ViewerDependentValues.h
index f6d7d1876b0..8c7c5c22580 100644
--- a/src/server/game/Entities/Object/Updates/ViewerDependentValues.h
+++ b/src/server/game/Entities/Object/Updates/ViewerDependentValues.h
@@ -100,6 +100,12 @@ public:
else if (receiver->IsGameMaster())
dynFlags |= GO_DYNFLAG_LO_ACTIVATE;
break;
+ case GAMEOBJECT_TYPE_GENERIC:
+ case GAMEOBJECT_TYPE_SPELL_FOCUS:
+ if (gameObject->GetGOInfo()->GetQuestID() || gameObject->GetGOInfo()->GetConditionID1())
+ if (gameObject->CanActivateForPlayer(receiver))
+ dynFlags |= GO_DYNFLAG_LO_SPARKLE | GO_DYNFLAG_LO_HIGHLIGHT;
+ break;
case GAMEOBJECT_TYPE_GOOBER:
if (gameObject->ActivateToQuest(receiver))
{
@@ -110,10 +116,6 @@ public:
else if (receiver->IsGameMaster())
dynFlags |= GO_DYNFLAG_LO_ACTIVATE;
break;
- case GAMEOBJECT_TYPE_GENERIC:
- if (gameObject->ActivateToQuest(receiver))
- dynFlags |= GO_DYNFLAG_LO_SPARKLE | GO_DYNFLAG_LO_HIGHLIGHT;
- break;
case GAMEOBJECT_TYPE_TRANSPORT:
case GAMEOBJECT_TYPE_MAP_OBJ_TRANSPORT:
{
@@ -137,7 +139,7 @@ public:
break;
}
- if (!gameObject->MeetsInteractCondition(receiver))
+ if (!receiver->IsGameMaster() && !gameObject->MeetsInteractCondition(receiver))
dynFlags |= GO_DYNFLAG_LO_NO_INTERACT;
dynamicFlags = (uint32(pathProgress) << 16) | uint32(dynFlags);