Scripts/Achievements: add multiple achievement scripts for Strand Of The Ancients.
add kill counter reset related to Battleground achievements.
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user