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
committerGitHub <noreply@github.com>2024-03-24 17:27:13 +0100
commit6a80bebcb533eb5780e5d98be84d813b5732992a (patch)
tree93c5a5246b431e521f4fc88c3b38504b6e0190ba /src/server/game/Entities/Object
parent94b78ebc8b0eb09409d0db36bebfde85a1644fe8 (diff)
Core/GameObjects: Added dynamic highlight for GAMEOBJECT_TYPE_SPELL_FOCUS (#29825)
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);