Core/GameObjects: Added dynamic highlight for GAMEOBJECT_TYPE_SPELL_FOCUS (#29825)

(cherry picked from commit 6a80bebcb5)
This commit is contained in:
Meji
2024-03-24 17:27:13 +01:00
committed by funjoker
parent 18b7199a47
commit 56f9e134fb
6 changed files with 59 additions and 19 deletions
@@ -2223,6 +2223,17 @@ void GameObject::Respawn()
}
}
bool GameObject::CanActivateForPlayer(Player const* target) const
{
if (!MeetsInteractCondition(target))
return false;
if (sObjectMgr->IsGameObjectForQuests(GetEntry()) && !ActivateToQuest(target))
return false;
return true;
}
bool GameObject::ActivateToQuest(Player const* target) const
{
if (target->HasQuestForGO(GetEntry()))
@@ -2265,6 +2276,12 @@ bool GameObject::ActivateToQuest(Player const* target) const
return true;
break;
}
case GAMEOBJECT_TYPE_SPELL_FOCUS:
{
if (target->GetQuestStatus(GetGOInfo()->spellFocus.questID) == QUEST_STATUS_INCOMPLETE)
return true;
break;
}
case GAMEOBJECT_TYPE_GOOBER:
{
if (target->GetQuestStatus(GetGOInfo()->goober.questID) == QUEST_STATUS_INCOMPLETE)