aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Conditions/ConditionMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.cpp')
-rwxr-xr-xsrc/server/game/Conditions/ConditionMgr.cpp14
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;