aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRat <none@none>2010-10-11 23:35:55 +0200
committerRat <none@none>2010-10-11 23:35:55 +0200
commit5ee2c838359fde07b0caf04a37dc6d6b739c44f8 (patch)
treeceeb16fb2b8241f446097b67295ca334870c1154 /src
parentadf0abc90c7ca13f037784525a236e1f6f453716 (diff)
Code/ConditionMgr: added CONDITION_DRUNKENSTATE, true if player is drunk enough. sober(0), tipsy(1), drunk(2), smashed(3)
--HG-- branch : trunk
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Conditions/ConditionMgr.cpp14
-rwxr-xr-xsrc/server/game/Conditions/ConditionMgr.h2
2 files changed, 15 insertions, 1 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;
diff --git a/src/server/game/Conditions/ConditionMgr.h b/src/server/game/Conditions/ConditionMgr.h
index 871fa4db868..939739c7f21 100755
--- a/src/server/game/Conditions/ConditionMgr.h
+++ b/src/server/game/Conditions/ConditionMgr.h
@@ -37,7 +37,7 @@ enum ConditionType
CONDITION_SKILL = 7, // skill_id skill_value +referenceID true if has skill_value for skill_id
CONDITION_QUESTREWARDED = 8, // quest_id 0 +referenceID true if quest_id was rewarded before
CONDITION_QUESTTAKEN = 9, // quest_id 0, +referenceID true while quest active
- CONDITION_UNUSED_1 = 10, // currently unused
+ CONDITION_DRUNKENSTATE = 10, // DrunkenState 0, +referenceID true if player is drunk enough
CONDITION_NO_AURA = 11, // spell_id effindex +referenceID true if does not have aura of spell_id with effect effindex
CONDITION_ACTIVE_EVENT = 12, // event_id 0 +referenceID true if event is active
CONDITION_INSTANCE_DATA = 13, // entry data +referenceID true if data is set in current instance