aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Conditions/ConditionMgr.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-10-25 13:20:28 +0100
committerShauren <shauren.trinity@gmail.com>2015-10-25 13:20:28 +0100
commitb09e63e9debfab49e635a591339294dd96b09d95 (patch)
tree5450c7996291b9f544f3830f06c50ef358a3af65 /src/server/game/Conditions/ConditionMgr.h
parent2cce998e905bed0873fbf0b3da981857c139e5d5 (diff)
Core/Conditions: Optimizations part 3 removed copying condition containers all over the place
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.h')
-rw-r--r--src/server/game/Conditions/ConditionMgr.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.h b/src/server/game/Conditions/ConditionMgr.h
index b58b3f4c2e9..312faacbc50 100644
--- a/src/server/game/Conditions/ConditionMgr.h
+++ b/src/server/game/Conditions/ConditionMgr.h
@@ -21,6 +21,7 @@
#include "Common.h"
+class Creature;
class Player;
class Unit;
class WorldObject;
@@ -256,19 +257,22 @@ class ConditionMgr
}
void LoadConditions(bool isReload = false);
- bool isConditionTypeValid(Condition* cond);
+ bool isConditionTypeValid(Condition* cond) const;
- uint32 GetSearcherTypeMaskForConditionList(ConditionContainer const& conditions);
+ uint32 GetSearcherTypeMaskForConditionList(ConditionContainer const& conditions) const;
bool IsObjectMeetToConditions(WorldObject* object, ConditionContainer const& conditions) const;
bool IsObjectMeetToConditions(WorldObject* object1, WorldObject* object2, ConditionContainer const& conditions) const;
bool IsObjectMeetToConditions(ConditionSourceInfo& sourceInfo, ConditionContainer const& conditions) const;
static bool CanHaveSourceGroupSet(ConditionSourceType sourceType);
static bool CanHaveSourceIdSet(ConditionSourceType sourceType);
- ConditionContainer GetConditionsForNotGroupedEntry(ConditionSourceType sourceType, uint32 entry) const;
- ConditionContainer GetConditionsForSpellClickEvent(uint32 creatureId, uint32 spellId) const;
- ConditionContainer GetConditionsForSmartEvent(int64 entryOrGuid, uint32 eventId, uint32 sourceType) const;
- ConditionContainer GetConditionsForVehicleSpell(uint32 creatureId, uint32 spellId) const;
- ConditionContainer GetConditionsForNpcVendorEvent(uint32 creatureId, uint32 itemId) const;
+ bool IsObjectMeetingNotGroupedConditions(ConditionSourceType sourceType, uint32 entry, ConditionSourceInfo& sourceInfo) const;
+ bool IsObjectMeetingNotGroupedConditions(ConditionSourceType sourceType, uint32 entry, WorldObject* target0, WorldObject* target1 = nullptr, WorldObject* target2 = nullptr) const;
+ bool HasConditionsForNotGroupedEntry(ConditionSourceType sourceType, uint32 entry) const;
+ bool IsObjectMeetingSpellClickConditions(uint32 creatureId, uint32 spellId, WorldObject* clicker, WorldObject* target) const;
+ ConditionContainer const* GetConditionsForSpellClickEvent(uint32 creatureId, uint32 spellId) const;
+ bool IsObjectMeetingVehicleSpellConditions(uint32 creatureId, uint32 spellId, Player* player, Unit* vehicle) const;
+ bool IsObjectMeetingSmartEventConditions(int64 entryOrGuid, uint32 eventId, uint32 sourceType, Unit* unit, WorldObject* baseObject) const;
+ bool IsObjectMeetingVendorItemConditions(uint32 creatureId, uint32 itemId, Player* player, Creature* vendor) const;
struct ConditionTypeInfo
{