diff options
| author | Meji <alvaro.megias@outlook.com> | 2024-03-24 17:27:13 +0100 |
|---|---|---|
| committer | funjoker <funjoker109@gmail.com> | 2024-03-28 20:23:28 +0100 |
| commit | 56f9e134fba6becdbb44f959aedb4e5db93d9974 (patch) | |
| tree | d9f53af948d3bf17a2c4420483af1f152a1ee9bf /src/server/game/Entities/Object | |
| parent | 18b7199a47ee1ebc767c631f2c91c8e1f680d39c (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.h | 12 |
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); |
