aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/GameObject
diff options
context:
space:
mode:
authorMeji <alvaro.megias@outlook.com>2024-03-27 21:38:08 +0100
committerGitHub <noreply@github.com>2024-03-27 21:38:08 +0100
commit4913d027bf3b8231b925be3f203feac590bb3607 (patch)
tree830f91b8f86fe9fa653ff6d41be256f850140dbf /src/server/game/Entities/GameObject
parent1f855ef56336c6a7fd74898e9c9beba77828c69b (diff)
Core/Conditions: Added CONDITION_SOURCE_TYPE_PLAYER_CONDITION (#29832)
Diffstat (limited to 'src/server/game/Entities/GameObject')
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index a901f637072..eea97e2c367 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -2230,7 +2230,7 @@ bool GameObject::CanActivateForPlayer(Player const* target) const
if (!MeetsInteractCondition(target))
return false;
- if (sObjectMgr->IsGameObjectForQuests(GetEntry()) && !ActivateToQuest(target))
+ if (!ActivateToQuest(target))
return false;
return true;
@@ -2242,7 +2242,7 @@ bool GameObject::ActivateToQuest(Player const* target) const
return true;
if (!sObjectMgr->IsGameObjectForQuests(GetEntry()))
- return false;
+ return true;
switch (GetGoType())
{
@@ -3323,9 +3323,9 @@ void GameObject::Use(Unit* user)
return;
Player* player = user->ToPlayer();
- if (PlayerConditionEntry const* playerCondition = sPlayerConditionStore.LookupEntry(info->itemForge.conditionID1))
- if (!sConditionMgr->IsPlayerMeetingCondition(player, playerCondition))
- return;
+
+ if (!MeetsInteractCondition(player))
+ return;
switch (info->itemForge.ForgeType)
{
@@ -4445,14 +4445,7 @@ GuidUnorderedSet const* GameObject::GetInsidePlayers() const
bool GameObject::MeetsInteractCondition(Player const* user) const
{
- if (!m_goInfo->GetConditionID1())
- return true;
-
- if (PlayerConditionEntry const* playerCondition = sPlayerConditionStore.LookupEntry(m_goInfo->GetConditionID1()))
- if (!ConditionMgr::IsPlayerMeetingCondition(user, playerCondition))
- return false;
-
- return true;
+ return ConditionMgr::IsPlayerMeetingCondition(user, m_goInfo->GetConditionID1());
}
std::unordered_map<ObjectGuid, GameObject::PerPlayerState>& GameObject::GetOrCreatePerPlayerStates()