Core/Achievements: Implemented ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS

This commit is contained in:
Shauren
2011-05-14 12:26:49 +02:00
parent b71b2896b6
commit 24a8cc24da
7 changed files with 198 additions and 91 deletions

View File

@@ -167,6 +167,27 @@ class achievement_bg_sa_artillery : public AchievementCriteriaScript
}
};
class achievement_arena_kills : public AchievementCriteriaScript
{
public:
achievement_arena_kills(char const* name, uint8 arenaType) : AchievementCriteriaScript(name),
_arenaType(arenaType)
{
}
bool OnCheck(Player* source, Unit* /*target*/)
{
// this checks GetBattleground() for NULL already
if (!source->InArena())
return false;
return source->GetBattleground()->GetArenaType() == _arenaType;
}
private:
uint8 const _arenaType;
};
void AddSC_achievement_scripts()
{
new achievement_storm_glory();
@@ -177,4 +198,7 @@ void AddSC_achievement_scripts()
new achievement_bg_ic_glaive_grave();
new achievement_bg_ic_mowed_down();
new achievement_bg_sa_artillery();
new achievement_arena_kills("achievement_arena_2v2_kills", ARENA_TYPE_2v2);
new achievement_arena_kills("achievement_arena_3v3_kills", ARENA_TYPE_3v3);
new achievement_arena_kills("achievement_arena_5v5_kills", ARENA_TYPE_5v5);
}