aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrian <runningnak3d@gmail.com>2010-03-14 11:45:34 -0600
committerBrian <runningnak3d@gmail.com>2010-03-14 11:45:34 -0600
commit8ba7885cc8967f807ecc00ea06017cce176a85f3 (patch)
tree9986fdef239bf36b2b7f1e4cbe5a82f739288da6 /src
parent8d51d23cc5f1001b8c5c650d62ca200e596a4eb9 (diff)
* Added CONDITION_CLASS / CONDITION_RACE / CONDITION_ACHIEVEMENT for
* gossip / loot conditions --HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/ObjectMgr.cpp9
-rw-r--r--src/game/ObjectMgr.h5
2 files changed, 13 insertions, 1 deletions
diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp
index c6cccc7f45e..e8967ef2f3e 100644
--- a/src/game/ObjectMgr.cpp
+++ b/src/game/ObjectMgr.cpp
@@ -7725,8 +7725,17 @@ bool PlayerCondition::Meets(Player const * player) const
FactionEntry const* faction = sFactionStore.LookupEntry(value1);
return faction && uint32(player->GetReputationMgr().GetRank(faction)) >= int32(value2);
}
+ case CONDITION_ACHIEVEMENT:
+ {
+ AchievementEntry const* achievement = GetAchievementStore()->LookupEntry(value1);
+ return (achievement,1);
+ }
case CONDITION_TEAM:
return player->GetTeam() == value1;
+ case CONDITION_CLASS:
+ return player->getClass() == value1;
+ case CONDITION_RACE:
+ return player->getRace() == value1;
case CONDITION_SKILL:
return player->HasSkill(value1) && player->GetBaseSkillValue(value1) >= value2;
case CONDITION_QUESTREWARDED:
diff --git a/src/game/ObjectMgr.h b/src/game/ObjectMgr.h
index 6193eaa2257..5df66a923f1 100644
--- a/src/game/ObjectMgr.h
+++ b/src/game/ObjectMgr.h
@@ -313,9 +313,12 @@ enum ConditionType
CONDITION_ACTIVE_EVENT = 12, // event_id
CONDITION_INSTANCE_DATA = 13, // entry data
CONDITION_QUEST_NONE = 14, // quest_id 0
+ CONDITION_CLASS = 15, // class 0
+ CONDITION_RACE = 16, // race 0
+ CONDITION_ACHIEVEMENT = 17 // achievement_id 0
};
-#define MAX_CONDITION 15 // maximum value in ConditionType enum
+#define MAX_CONDITION 18 // maximum value in ConditionType enum
struct PlayerCondition
{