aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts')
-rwxr-xr-xsrc/server/scripts/World/achievement_scripts.cpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/server/scripts/World/achievement_scripts.cpp b/src/server/scripts/World/achievement_scripts.cpp
index 59053315f72..76aa0b862f5 100755
--- a/src/server/scripts/World/achievement_scripts.cpp
+++ b/src/server/scripts/World/achievement_scripts.cpp
@@ -19,6 +19,7 @@
#include "BattlegroundAB.h"
#include "BattlegroundWS.h"
#include "BattlegroundIC.h"
+#include "BattlegroundSA.h"
class achievement_school_of_hard_knocks : public AchievementCriteriaScript
{
@@ -165,6 +166,62 @@ class achievement_bg_ic_mowed_down : public AchievementCriteriaScript
}
};
+class achievement_bg_sa_artillery_veteran : public AchievementCriteriaScript
+{
+ public:
+ achievement_bg_sa_artillery_veteran() : AchievementCriteriaScript("achievement_bg_sa_artillery_veteran") { }
+
+ bool OnCheck(Player* source, Unit* target)
+ {
+ if (Creature* vehicle = source->GetVehicleCreatureBase())
+ {
+ if (vehicle->GetEntry() == NPC_ANTI_PERSONNAL_CANNON)
+ return true;
+ }
+
+ return false;
+ }
+};
+
+class achievement_bg_sa_artillery_expert : public AchievementCriteriaScript
+{
+ public:
+ achievement_bg_sa_artillery_expert() : AchievementCriteriaScript("achievement_bg_sa_artillery_expert") { }
+
+ bool OnCheck(Player* source, Unit* target)
+ {
+ if (Creature* vehicle = source->GetVehicleCreatureBase())
+ {
+ if (vehicle->GetEntry() != NPC_ANTI_PERSONNAL_CANNON)
+ return false;
+
+ BattlegroundSA* SA = static_cast<BattlegroundSA*>(source->GetBattleground());
+ return SA->GetPlayerDemolisherScore(source);
+ }
+
+ return false;
+ }
+};
+
+class achievement_bg_sa_drop_it : public AchievementCriteriaScript
+{
+ public:
+ achievement_bg_sa_drop_it() : AchievementCriteriaScript("achievement_bg_sa_drop_it") { }
+
+ enum AchievementData
+ {
+ SPELL_CARRYING_SEAFORIUM = 52418,
+ };
+
+ bool OnCheck(Player* /*source*/, Unit* target)
+ {
+ if (target->HasAura(SPELL_CARRYING_SEAFORIUM))
+ return true;
+
+ return false;
+ }
+};
+
void AddSC_achievement_scripts()
{
new achievement_school_of_hard_knocks();
@@ -175,4 +232,7 @@ void AddSC_achievement_scripts()
new achievement_bg_ic_resource_glut();
new achievement_bg_ic_glaive_grave();
new achievement_bg_ic_mowed_down();
+ new achievement_bg_sa_artillery_veteran();
+ new achievement_bg_sa_artillery_expert();
+ new achievement_bg_sa_drop_it();
}