diff options
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.cpp')
-rwxr-xr-x | src/server/game/Conditions/ConditionMgr.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index 7d05c8afade..a6626ca62b2 100755 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -176,6 +176,11 @@ bool Condition::Meets(Player * player, Unit* invoker) } break; } + case CONDITION_DRUNKENSTATE: + { + condMeets = (uint32)Player::GetDrunkenstateByValue(player->GetDrunkValue()) >= mConditionValue1; + break; + } default: condMeets = false; refId = 0; @@ -1270,6 +1275,15 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond) } break; } + case CONDITION_DRUNKENSTATE: + { + if (cond->mConditionValue1 > DRUNKEN_SMASHED) + { + sLog.outErrorDb("DrunkState condition has invalid state (%u), skipped", cond->mConditionValue1); + return false; + } + break; + } case CONDITION_AREAID: case CONDITION_INSTANCE_DATA: break; |