aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/World/achievement_scripts.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/server/scripts/World/achievement_scripts.cpp b/src/server/scripts/World/achievement_scripts.cpp
index 62a7621db79..30364ac5fe6 100644
--- a/src/server/scripts/World/achievement_scripts.cpp
+++ b/src/server/scripts/World/achievement_scripts.cpp
@@ -18,8 +18,10 @@
#include "ScriptMgr.h"
#include "BattlegroundSA.h"
#include "BattlegroundIC.h"
+#include "BattlePetMgr.h"
#include "Creature.h"
#include "Player.h"
+#include "WorldSession.h"
class achievement_resilient_victory : public AchievementCriteriaScript
{
@@ -289,6 +291,31 @@ class achievement_killed_exp_or_honor_target : public AchievementCriteriaScript
}
};
+// 7433 - Newbie
+class achievement_newbie : public AchievementScript
+{
+public:
+ achievement_newbie() : AchievementScript("achievement_newbie") { }
+
+ void OnCompleted(Player* player, AchievementEntry const* /*achievement*/) override
+ {
+ player->GetSession()->GetBattlePetMgr()->UnlockSlot(BattlePets::BattlePetSlot::Slot1);
+ // TODO: Unlock trap
+ }
+};
+
+// 6566 - Just a Pup
+class achievement_just_a_pup : public AchievementScript
+{
+public:
+ achievement_just_a_pup() : AchievementScript("achievement_just_a_pup") { }
+
+ void OnCompleted(Player* player, AchievementEntry const* /*achievement*/) override
+ {
+ player->GetSession()->GetBattlePetMgr()->UnlockSlot(BattlePets::BattlePetSlot::Slot2);
+ }
+};
+
void AddSC_achievement_scripts()
{
new achievement_resilient_victory();
@@ -309,4 +336,6 @@ void AddSC_achievement_scripts()
new achievement_not_even_a_scratch();
new achievement_flirt_with_disaster_perf_check();
new achievement_killed_exp_or_honor_target();
+ new achievement_newbie();
+ new achievement_just_a_pup();
}