diff options
author | ModoX <moardox@gmail.com> | 2022-01-12 21:54:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-12 21:54:03 +0100 |
commit | b987a8968b45b8d5c86ab7e66d3910d2ecfe0963 (patch) | |
tree | 0d6a7abd5f06ff5a79775540793c55248c796704 /src/server/game/Conditions/ConditionMgr.h | |
parent | 80014010e7523db33aa561e71e5b483b732160fb (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.h | 5 |
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() |