* Added CONDITION_CLASS / CONDITION_RACE / CONDITION_ACHIEVEMENT for

* gossip / loot conditions

--HG--
branch : trunk
This commit is contained in:
Brian
2010-03-14 11:45:34 -06:00
parent 8d51d23cc5
commit 8ba7885cc8
2 changed files with 13 additions and 1 deletions

View File

@@ -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:

View File

@@ -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
{