6#ifndef SKYFIRE_CONDITIONMGR_H
7#define SKYFIRE_CONDITIONMGR_H
260#define sConditionMgr Skyfire::Singleton<ConditionMgr, Skyfire::NullMutex>::instance()
std::map< uint32, ConditionTypeContainer > NpcVendorConditionContainer
std::map< uint32, ConditionTypeContainer > CreatureSpellConditionContainer
std::map< uint32, ConditionList > ConditionReferenceContainer
@ CONDITION_SOURCE_TYPE_MAX
@ CONDITION_SOURCE_TYPE_VEHICLE_SPELL
@ CONDITION_SOURCE_TYPE_DISENCHANT_LOOT_TEMPLATE
@ CONDITION_SOURCE_TYPE_QUEST_ACCEPT
@ CONDITION_SOURCE_TYPE_REFERENCE_LOOT_TEMPLATE
@ CONDITION_SOURCE_TYPE_TERRAIN_SWAP
@ CONDITION_SOURCE_TYPE_NPC_VENDOR
@ CONDITION_SOURCE_TYPE_GOSSIP_MENU_OPTION
@ CONDITION_SOURCE_TYPE_SPELL_CLICK_EVENT
@ CONDITION_SOURCE_TYPE_MAIL_LOOT_TEMPLATE
@ CONDITION_SOURCE_TYPE_QUEST_SHOW_MARK
@ CONDITION_SOURCE_TYPE_PHASE
@ CONDITION_SOURCE_TYPE_SPELL_LOOT_TEMPLATE
@ CONDITION_SOURCE_TYPE_SMART_EVENT
@ CONDITION_SOURCE_TYPE_PICKPOCKETING_LOOT_TEMPLATE
@ CONDITION_SOURCE_TYPE_PROSPECTING_LOOT_TEMPLATE
@ CONDITION_SOURCE_TYPE_SPELL
@ CONDITION_SOURCE_TYPE_FISHING_LOOT_TEMPLATE
@ CONDITION_SOURCE_TYPE_GOSSIP_MENU
@ CONDITION_SOURCE_TYPE_CREATURE_TEMPLATE_VEHICLE
@ CONDITION_SOURCE_TYPE_ITEM_LOOT_TEMPLATE
@ CONDITION_SOURCE_TYPE_SPELL_IMPLICIT_TARGET
@ CONDITION_SOURCE_TYPE_SKINNING_LOOT_TEMPLATE
@ CONDITION_SOURCE_TYPE_CREATURE_LOOT_TEMPLATE
@ CONDITION_SOURCE_TYPE_GAMEOBJECT_LOOT_TEMPLATE
@ CONDITION_SOURCE_TYPE_MILLING_LOOT_TEMPLATE
@ CONDITION_SOURCE_TYPE_SPELL_PROC
@ CONDITION_SOURCE_TYPE_NONE
@ INSTANCE_INFO_BOSS_STATE
@ CONDITION_NEAR_GAMEOBJECT
@ CONDITION_QUESTREWARDED
@ CONDITION_INSTANCE_INFO
@ CONDITION_REPUTATION_RANK
@ CONDITION_QUEST_COMPLETE
@ CONDITION_ITEM_EQUIPPED
@ CONDITION_NEAR_CREATURE
@ CONDITION_CREATURE_TYPE
std::map< std::pair< int32, uint32 >, ConditionTypeContainer > SmartEventConditionContainer
std::map< ConditionSourceType, ConditionTypeContainer > ConditionContainer
std::list< Condition * > ConditionList
std::map< uint32, ConditionList > ConditionTypeContainer
@ RELATION_IN_RAID_OR_PARTY
uint32 GetSearcherTypeMaskForConditionList(ConditionList const &conditions)
bool IsObjectMeetToConditionList(ConditionSourceInfo &sourceInfo, ConditionList const &conditions)
bool isConditionTypeValid(Condition *cond)
bool CanHaveSourceGroupSet(ConditionSourceType sourceType) const
bool addToSpellImplicitTargetConditions(Condition *cond)
bool addToGossipMenus(Condition *cond)
SmartEventConditionContainer SmartEventConditionStore
bool addToGossipMenuItems(Condition *cond)
ConditionList GetConditionsForNotGroupedEntry(ConditionSourceType sourceType, uint32 entry)
bool addToLootTemplate(Condition *cond, LootTemplate *loot)
CreatureSpellConditionContainer SpellClickEventConditionStore
ConditionList GetConditionsForNpcVendorEvent(uint32 creatureId, uint32 itemId)
CreatureSpellConditionContainer VehicleSpellConditionStore
ConditionList GetConditionsForSpellClickEvent(uint32 creatureId, uint32 spellId)
bool isSourceTypeValid(Condition *cond)
bool addToPhases(Condition *cond)
bool addToTerrainSwaps(Condition *cond)
NpcVendorConditionContainer NpcVendorConditionContainerStore
bool CanHaveSourceIdSet(ConditionSourceType sourceType) const
ConditionContainer ConditionStore
ConditionList GetConditionsForSmartEvent(int32 entryOrGuid, uint32 eventId, uint32 sourceType)
ConditionReferenceContainer ConditionReferenceStore
std::list< Condition * > AllocatedMemoryStore
ConditionList GetConditionReferences(uint32 refId)
bool IsObjectMeetToConditions(WorldObject *object, ConditionList const &conditions)
ConditionList GetConditionsForVehicleSpell(uint32 creatureId, uint32 spellId)
void LoadConditions(bool isReload=false)
uint32 GetSearcherTypeMaskForCondition()
ConditionTypes ConditionType
bool Meets(ConditionSourceInfo &sourceInfo)
ConditionSourceType SourceType
SpellCastResult ErrorType
uint32 GetMaxAvailableConditionTargets()
Condition * mLastFailedCondition
WorldObject * mConditionTargets[MAX_CONDITION_TARGETS]
ConditionSourceInfo(WorldObject *target0, WorldObject *target1=NULL, WorldObject *target2=NULL)