aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Conditions/ConditionMgr.h
diff options
context:
space:
mode:
authorNaios <naios-dev@live.de>2012-09-26 17:46:00 +0200
committerNaios <naios-dev@live.de>2012-10-15 20:31:41 +0200
commit61dce1a02e0092f4ad57dbe05ec74d6dd89df14a (patch)
tree31e510e6b6b2bad4ad03a805dd03b11224e0ffe4 /src/server/game/Conditions/ConditionMgr.h
parentc757f811f265752f2e4dfe1921ace9d7aaf80983 (diff)
Core/PhaseMgr: Implemented Phase Definitions, Terrainswap and multiphasing
* fixes cataclysm aura effect SPELL_AURA_PHASE without phasemasks defined in miscValueA * implements CONDITION_SOURCE_TYPE_PHASE_DEFINITION Thanks to: - Cyberbrest: For the hard research work about multiphasing. - Venugh: He helped me with a lot of strange compile Errors. - Shauren: For the 4.3.4 phaseshift packet. - Booksize: He showed me how terrainswap works Signed-off-by: Naios <naios-dev@live.de>
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.h')
-rwxr-xr-xsrc/server/game/Conditions/ConditionMgr.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.h b/src/server/game/Conditions/ConditionMgr.h
index 57af0562dcd..fe7f6a18af8 100755
--- a/src/server/game/Conditions/ConditionMgr.h
+++ b/src/server/game/Conditions/ConditionMgr.h
@@ -124,7 +124,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_PHASE_DEFINITION = 23,
+ CONDITION_SOURCE_TYPE_MAX = 24 //MAX
};
enum ComparisionType
@@ -211,6 +212,7 @@ typedef std::map<uint32, ConditionList> ConditionTypeContainer;
typedef std::map<ConditionSourceType, ConditionTypeContainer> ConditionContainer;
typedef std::map<uint32, ConditionTypeContainer> CreatureSpellConditionContainer;
typedef std::map<std::pair<int32, uint32 /*SAI source_type*/>, ConditionTypeContainer> SmartEventConditionContainer;
+typedef std::map<int32 /*zoneId*/, ConditionTypeContainer> PhaseDefinitionConditionContainer;
typedef std::map<uint32, ConditionList> ConditionReferenceContainer;//only used for references
@@ -237,6 +239,7 @@ class ConditionMgr
ConditionList GetConditionsForSpellClickEvent(uint32 creatureId, uint32 spellId);
ConditionList GetConditionsForSmartEvent(int32 entryOrGuid, uint32 eventId, uint32 sourceType);
ConditionList GetConditionsForVehicleSpell(uint32 creatureId, uint32 spellId);
+ ConditionList GetConditionsForPhaseDefinition(uint32 zone, uint32 entry);
private:
bool isSourceTypeValid(Condition* cond);
@@ -254,6 +257,7 @@ class ConditionMgr
CreatureSpellConditionContainer VehicleSpellConditionStore;
CreatureSpellConditionContainer SpellClickEventConditionStore;
SmartEventConditionContainer SmartEventConditionStore;
+ PhaseDefinitionConditionContainer PhaseDefinitionsConditionStore;
};
template <class T> bool CompareValues(ComparisionType type, T val1, T val2)