Scripts/Achievements: Move some achievement scripts to database.

Add database support for Ancient Protector and Ancient Courtyard Protector.
This commit is contained in:
Supabad
2011-04-21 23:38:15 +02:00
parent 97f482cd82
commit 3b99e173f0
5 changed files with 17 additions and 60 deletions

View File

@@ -1839,9 +1839,8 @@ INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,
(10051,11,0,0, 'achievement_three_car_garage_demolisher'),
(10062,11,0,0, 'achievement_quick_shave'),
(10063,11,0,0, 'achievement_quick_shave'),
(6446,11,0,0, 'achievement_bg_sa_drop_it'),
(7625,11,0,0, 'achievement_bg_sa_artillery_veteran'),
(7628,11,0,0, 'achievement_bg_sa_artillery_expert');
(7625,11,0,0, 'achievement_bg_sa_artillery'),
(7628,11,0,0, 'achievement_bg_sa_artillery');
/* SPELLS */
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
-- generic

View File

@@ -0,0 +1,9 @@
DELETE FROM `disables`WHERE `entry` IN(7631,7630,7629,6446,7625,7628,7626);
DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN(7631,7630,7629,6446,7625,7628,7626);
INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`, `ScriptName`) VALUES
(7631,6,4609,0, ''),
(7630,6,4609,0, ''),
(7629,7,52418,0, ''),
(6446,7,52418,0, ''),
(7625,11,0,0, 'achievement_bg_sa_artillery'),
(7628,11,0,0, 'achievement_bg_sa_artillery');

View File

@@ -490,15 +490,6 @@ void BattlegroundSA::UpdatePlayerScore(Player* Source, uint32 type, uint32 value
Battleground::UpdatePlayerScore(Source,type,value, doAddHonor);
}
uint32 BattlegroundSA::GetPlayerDemolisherScore(Player* source)
{
BattlegroundScoreMap::iterator itr = m_PlayerScores.find(source->GetGUID());
if (itr == m_PlayerScores.end()) // player not found...
return 0;
else
return ((BattlegroundSAScore*)itr->second)->demolishers_destroyed;
}
void BattlegroundSA::TeleportPlayers()
{
for (BattlegroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr)

View File

@@ -486,8 +486,6 @@ class BattlegroundSA : public Battleground
/* Scorekeeping */
/// Update score board
uint32 GetPlayerDemolisherScore(Player* /*source*/);
void UpdatePlayerScore(Player *Source, uint32 type, uint32 value, bool doAddHonor = true);
private:

View File

@@ -15,7 +15,8 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "ScriptPCH.h"
#include "ScriptMgr.h"
#include "BattlegroundAB.h"
#include "BattlegroundWS.h"
#include "BattlegroundIC.h"
@@ -166,12 +167,12 @@ class achievement_bg_ic_mowed_down : public AchievementCriteriaScript
}
};
class achievement_bg_sa_artillery_veteran : public AchievementCriteriaScript
class achievement_bg_sa_artillery : public AchievementCriteriaScript
{
public:
achievement_bg_sa_artillery_veteran() : AchievementCriteriaScript("achievement_bg_sa_artillery_veteran") { }
achievement_bg_sa_artillery() : AchievementCriteriaScript("achievement_bg_sa_artillery") { }
bool OnCheck(Player* source, Unit* target)
bool OnCheck(Player* source, Unit* /*target*/)
{
if (Creature* vehicle = source->GetVehicleCreatureBase())
{
@@ -183,45 +184,6 @@ class achievement_bg_sa_artillery_veteran : public AchievementCriteriaScript
}
};
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();
@@ -232,7 +194,5 @@ 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();
new achievement_bg_sa_artillery();
}