mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 18:15:31 +01:00
Scripts/Achievements: Move some achievement scripts to database.
Add database support for Ancient Protector and Ancient Courtyard Protector.
This commit is contained in:
@@ -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
|
||||
|
||||
9
sql/updates/world/2011_04_21_00_world_achievement.sql
Normal file
9
sql/updates/world/2011_04_21_00_world_achievement.sql
Normal 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');
|
||||
@@ -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)
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user