diff options
| author | Meji <alvaro.megias@outlook.com> | 2024-03-27 21:38:08 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-27 21:38:08 +0100 |
| commit | 4913d027bf3b8231b925be3f203feac590bb3607 (patch) | |
| tree | 830f91b8f86fe9fa653ff6d41be256f850140dbf /src/server/game/Entities/GameObject | |
| parent | 1f855ef56336c6a7fd74898e9c9beba77828c69b (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.cpp | 19 |
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() |
