diff options
author | treeston <treeston.mmoc@gmail.com> | 2016-08-06 17:08:52 +0200 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-02-11 22:36:54 +0100 |
commit | 12b58eae40d8fff432a28993e10da84551d3cc6a (patch) | |
tree | 10b9aa1e822b66c19746737685ae823dd560be69 /src/server/game/Conditions/ConditionMgr.cpp | |
parent | af6041740cd3fc3fe4120155377d523bdc5d2b75 (diff) |
Core/Conditions: Add new CONDITION_CHARMED (44). Does what it says on the tin.
(cherry picked from commit 97855469678bce6101a927c3d0666267c7e4acc2)
# Conflicts:
# src/server/game/Conditions/ConditionMgr.cpp
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.cpp')
-rw-r--r-- | src/server/game/Conditions/ConditionMgr.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index c16321470a4..5a232b6add1 100644 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -105,7 +105,8 @@ ConditionMgr::ConditionTypeInfo const ConditionMgr::StaticConditionTypeData[COND { "In Water", false, false, false }, { "Terrain Swap", true, false, false }, { "Sit/stand state", true, true, false }, - { "Daily Quest Completed",true, false, false } + { "Daily Quest Completed",true, false, false }, + { "Charmed", false, false, false } }; // Checks if object meets the condition @@ -461,6 +462,12 @@ bool Condition::Meets(ConditionSourceInfo& sourceInfo) const condMeets = player->IsDailyQuestDone(ConditionValue1); break; } + case CONDITION_CHARMED: + { + if (Unit* unit = object->ToUnit()) + condMeets = unit->IsCharmed(); + break; + } default: condMeets = false; break; @@ -645,6 +652,9 @@ uint32 Condition::GetSearcherTypeMaskForCondition() const case CONDITION_DAILY_QUEST_DONE: mask |= GRID_MAP_TYPE_MASK_PLAYER; break; + case CONDITION_CHARMED: + mask |= GRID_MAP_TYPE_MASK_CREATURE | GRID_MAP_TYPE_MASK_PLAYER; + break; default: ASSERT(false && "Condition::GetSearcherTypeMaskForCondition - missing condition handling!"); break; @@ -2234,8 +2244,6 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond) const } break; } - case CONDITION_IN_WATER: - break; case CONDITION_STAND_STATE: { bool valid = false; @@ -2258,6 +2266,8 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond) const } break; } + case CONDITION_IN_WATER: + case CONDITION_CHARMED: default: break; } |