diff options
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.h')
-rw-r--r--[-rwxr-xr-x] | src/server/game/Conditions/ConditionMgr.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.h b/src/server/game/Conditions/ConditionMgr.h index 7b0dc1f20bf..807b75c4ee6 100755..100644 --- a/src/server/game/Conditions/ConditionMgr.h +++ b/src/server/game/Conditions/ConditionMgr.h @@ -53,7 +53,7 @@ enum ConditionTypes CONDITION_ACHIEVEMENT = 17, // achievement_id 0 0 true if achievement is complete CONDITION_TITLE = 18, // title id 0 0 true if player has title CONDITION_SPAWNMASK = 19, // spawnMask 0 0 true if in spawnMask - CONDITION_UNUSED_20 = 20, // + CONDITION_GENDER = 20, // gender 0 0 true if player's gender is equal to gender CONDITION_UNUSED_21 = 21, // CONDITION_MAPID = 22, // map_id 0 0 true if in map_id CONDITION_AREAID = 23, // area_id 0 0 true if in area_id @@ -127,7 +127,8 @@ enum ConditionSourceType CONDITION_SOURCE_TYPE_QUEST_SHOW_MARK = 20, CONDITION_SOURCE_TYPE_VEHICLE_SPELL = 21, CONDITION_SOURCE_TYPE_SMART_EVENT = 22, - CONDITION_SOURCE_TYPE_MAX = 23 //MAX + CONDITION_SOURCE_TYPE_NPC_VENDOR = 23, + CONDITION_SOURCE_TYPE_MAX = 24 // MAX }; enum ComparisionType @@ -180,6 +181,7 @@ struct Condition uint32 ConditionValue1; uint32 ConditionValue2; uint32 ConditionValue3; + uint32 ErrorType; uint32 ErrorTextId; uint32 ReferenceId; uint32 ScriptId; @@ -198,6 +200,7 @@ struct Condition ConditionValue2 = 0; ConditionValue3 = 0; ReferenceId = 0; + ErrorType = 0; ErrorTextId = 0; ScriptId = 0; NegativeCondition = false; @@ -213,6 +216,7 @@ typedef std::list<Condition*> ConditionList; typedef std::map<uint32, ConditionList> ConditionTypeContainer; typedef std::map<ConditionSourceType, ConditionTypeContainer> ConditionContainer; typedef std::map<uint32, ConditionTypeContainer> CreatureSpellConditionContainer; +typedef std::map<uint32, ConditionTypeContainer> NpcVendorConditionContainer; typedef std::map<std::pair<int32, uint32 /*SAI source_type*/>, ConditionTypeContainer> SmartEventConditionContainer; typedef std::map<uint32, ConditionList> ConditionReferenceContainer;//only used for references @@ -240,6 +244,7 @@ class ConditionMgr ConditionList GetConditionsForSpellClickEvent(uint32 creatureId, uint32 spellId); ConditionList GetConditionsForSmartEvent(int32 entryOrGuid, uint32 eventId, uint32 sourceType); ConditionList GetConditionsForVehicleSpell(uint32 creatureId, uint32 spellId); + ConditionList GetConditionsForNpcVendorEvent(uint32 creatureId, uint32 itemId); private: bool isSourceTypeValid(Condition* cond); @@ -256,6 +261,7 @@ class ConditionMgr ConditionReferenceContainer ConditionReferenceStore; CreatureSpellConditionContainer VehicleSpellConditionStore; CreatureSpellConditionContainer SpellClickEventConditionStore; + NpcVendorConditionContainer NpcVendorConditionContainerStore; SmartEventConditionContainer SmartEventConditionStore; }; |