From 337772c433a4a031af152958d8d7b50944339459 Mon Sep 17 00:00:00 2001 From: megamage Date: Tue, 9 Jun 2009 17:20:19 -0500 Subject: [7981] Implement ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM required for 310 Author: VladimirMangos [7982] Add lost by me check lines in [7980] :( --HG-- branch : trunk --- src/game/AchievementMgr.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/game/AchievementMgr.cpp') diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp index 75588c7094a..7080c5dcd0b 100644 --- a/src/game/AchievementMgr.cpp +++ b/src/game/AchievementMgr.cpp @@ -205,6 +205,14 @@ bool AchievementCriteriaData::IsValid(AchievementCriteriaEntry const* criteria) return false; } return true; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM: + if(team.team != ALLIANCE && team.team != HORDE) + { + sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM (%u) have unknown team in value1 (%u), ignore.", + criteria->ID, criteria->requiredType,dataType,gender.gender); + return false; + } + return true; default: sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) have data for not supported data type (%u), ignore.", criteria->ID, criteria->requiredType,dataType); return false; @@ -265,6 +273,10 @@ bool AchievementCriteriaData::Meets(Player const* source, Unit const* target, ui return source->GetMap()->GetSpawnMode()==difficalty.difficalty; case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT: return source->GetMap()->GetPlayersCountExceptGMs() <= map_players.maxcount; + case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM: + if (!target || target->GetTypeId() != TYPEID_PLAYER) + return false; + return ((Player*)target)->GetTeam() == team.team; } return false; } -- cgit v1.2.3