diff options
| author | Meji <alvaro.megias@outlook.com> | 2024-03-24 17:27:13 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-24 17:27:13 +0100 |
| commit | 6a80bebcb533eb5780e5d98be84d813b5732992a (patch) | |
| tree | 93c5a5246b431e521f4fc88c3b38504b6e0190ba /src/server/game/Entities/Object | |
| parent | 94b78ebc8b0eb09409d0db36bebfde85a1644fe8 (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.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); |
