diff options
| author | Shauren <shauren.trinity@gmail.com> | 2011-05-14 12:26:49 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2011-05-14 12:26:49 +0200 |
| commit | 24a8cc24da62e2a5712fbfc2da48ca036cfb0707 (patch) | |
| tree | 95badc3431b4fb00478b175820baad02785458af /src/server/scripts/World | |
| parent | b71b2896b6dde4a3a2690675b5afab3f54f1a294 (diff) | |
Core/Achievements: Implemented ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS
Diffstat (limited to 'src/server/scripts/World')
| -rwxr-xr-x | src/server/scripts/World/achievement_scripts.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/server/scripts/World/achievement_scripts.cpp b/src/server/scripts/World/achievement_scripts.cpp index ed4f404d9be..f26b34e6308 100755 --- a/src/server/scripts/World/achievement_scripts.cpp +++ b/src/server/scripts/World/achievement_scripts.cpp @@ -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); } |
