aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Conditions/ConditionMgr.h
diff options
context:
space:
mode:
authorModoX <moardox@gmail.com>2022-01-12 21:54:03 +0100
committerGitHub <noreply@github.com>2022-01-12 21:54:03 +0100
commitb987a8968b45b8d5c86ab7e66d3910d2ecfe0963 (patch)
tree0d6a7abd5f06ff5a79775540793c55248c796704 /src/server/game/Conditions/ConditionMgr.h
parent80014010e7523db33aa561e71e5b483b732160fb (diff)
Core/Conditions: Added conditions for object visibility (#27565)
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.h')
-rw-r--r--src/server/game/Conditions/ConditionMgr.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.h b/src/server/game/Conditions/ConditionMgr.h
index 82ecbc98c52..b2783cfc5f8 100644
--- a/src/server/game/Conditions/ConditionMgr.h
+++ b/src/server/game/Conditions/ConditionMgr.h
@@ -174,7 +174,8 @@ enum ConditionSourceType
CONDITION_SOURCE_TYPE_CONVERSATION_LINE = 29,
CONDITION_SOURCE_TYPE_AREATRIGGER_CLIENT_TRIGGERED = 30,
CONDITION_SOURCE_TYPE_TRAINER_SPELL = 31,
- CONDITION_SOURCE_TYPE_MAX = 32 // MAX
+ CONDITION_SOURCE_TYPE_OBJECT_ID_VISIBILITY = 32,
+ CONDITION_SOURCE_TYPE_MAX = 33 // MAX
};
enum RelationType
@@ -298,6 +299,7 @@ class TC_GAME_API ConditionMgr
ConditionContainer const* GetConditionsForAreaTrigger(uint32 areaTriggerId, bool isServerSide) const;
bool IsObjectMeetingTrainerSpellConditions(uint32 trainerId, uint32 spellId, Player* player) const;
+ bool IsObjectMeetingVisibilityByObjectIdConditions(uint32 objectType, uint32 entry, WorldObject* seer) const;
static uint32 GetPlayerConditionLfgValue(Player const* player, PlayerConditionLfgStatus status);
static bool IsPlayerMeetingCondition(Player const* player, PlayerConditionEntry const* condition);
@@ -337,6 +339,7 @@ class TC_GAME_API ConditionMgr
std::unordered_set<uint32> SpellsUsedInSpellClickConditions;
ConditionEntriesByAreaTriggerIdMap AreaTriggerConditionContainerStore;
ConditionEntriesByCreatureIdMap TrainerSpellConditionContainerStore;
+ std::unordered_map<std::pair<uint32 /*object type*/, uint32 /*object id*/>, ConditionContainer> ObjectVisibilityConditionStore;
};
#define sConditionMgr ConditionMgr::instance()