aboutsummaryrefslogtreecommitdiff
path: root/src/game/AchievementMgr.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-06-09 17:20:19 -0500
committermegamage <none@none>2009-06-09 17:20:19 -0500
commit337772c433a4a031af152958d8d7b50944339459 (patch)
tree6e45457ee286e3869cae8494309a1c95ee9d26e8 /src/game/AchievementMgr.cpp
parent7201bb7aeb16b12e1c6d91adf05252778bde66ad (diff)
[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
Diffstat (limited to 'src/game/AchievementMgr.cpp')
-rw-r--r--src/game/AchievementMgr.cpp12
1 files changed, 12 insertions, 0 deletions
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;
}