aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/scripts/world_scripts_full.sql1
-rw-r--r--sql/updates/world/2011_07_01_03_world_achievement_criteria_data.sql4
-rw-r--r--sql/updates/world/2011_07_01_03_world_disables.sql1
-rwxr-xr-xsrc/server/scripts/World/achievement_scripts.cpp19
4 files changed, 25 insertions, 0 deletions
diff --git a/sql/scripts/world_scripts_full.sql b/sql/scripts/world_scripts_full.sql
index 90a0522bef4..140105371ee 100644
--- a/sql/scripts/world_scripts_full.sql
+++ b/sql/scripts/world_scripts_full.sql
@@ -1844,6 +1844,7 @@ INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,
(1239,11,0,0, 'achievement_bg_control_all_nodes'),
(5605,11,0,0, 'achievement_save_the_day'),
(5606,11,0,0, 'achievement_save_the_day'),
+(6800,11,0,0, 'achievement_sickly_gazelle'),
(12993,11,0,0, 'achievement_doesnt_go_to_eleven'),
(12778,11,0,0, 'achievement_ive_gone_and_made_a_mess'),
(13036,11,0,0, 'achievement_ive_gone_and_made_a_mess'),
diff --git a/sql/updates/world/2011_07_01_03_world_achievement_criteria_data.sql b/sql/updates/world/2011_07_01_03_world_achievement_criteria_data.sql
new file mode 100644
index 00000000000..c5a71295a8f
--- /dev/null
+++ b/sql/updates/world/2011_07_01_03_world_achievement_criteria_data.sql
@@ -0,0 +1,4 @@
+DELETE FROM `achievement_criteria_data` WHERE `criteria_id` = 6800;
+INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`, `ScriptName`) VALUES
+(6800, 6, 3057, 0, ''),
+(6800, 11, 0, 0, 'achievement_sickly_gazelle');
diff --git a/sql/updates/world/2011_07_01_03_world_disables.sql b/sql/updates/world/2011_07_01_03_world_disables.sql
new file mode 100644
index 00000000000..d3572f54cd4
--- /dev/null
+++ b/sql/updates/world/2011_07_01_03_world_disables.sql
@@ -0,0 +1 @@
+DELETE FROM `disables` WHERE `sourceType` = 4 AND `entry` = 6800;
diff --git a/src/server/scripts/World/achievement_scripts.cpp b/src/server/scripts/World/achievement_scripts.cpp
index f26b34e6308..339d54d5450 100755
--- a/src/server/scripts/World/achievement_scripts.cpp
+++ b/src/server/scripts/World/achievement_scripts.cpp
@@ -188,6 +188,24 @@ class achievement_arena_kills : public AchievementCriteriaScript
uint8 const _arenaType;
};
+class achievement_sickly_gazelle : public AchievementCriteriaScript
+{
+public:
+ achievement_sickly_gazelle() : AchievementCriteriaScript("achievement_sickly_gazelle") { }
+
+ bool OnCheck(Player* /*source*/, Unit* target)
+ {
+ if (!target)
+ return false;
+
+ if (Player* victim = target->ToPlayer())
+ if (victim->IsMounted())
+ return true;
+
+ return false;
+ }
+};
+
void AddSC_achievement_scripts()
{
new achievement_storm_glory();
@@ -198,6 +216,7 @@ void AddSC_achievement_scripts()
new achievement_bg_ic_glaive_grave();
new achievement_bg_ic_mowed_down();
new achievement_bg_sa_artillery();
+ new achievement_sickly_gazelle();
new achievement_arena_kills("achievement_arena_2v2_kills", ARENA_TYPE_2v2);
new achievement_arena_kills("achievement_arena_3v3_kills", ARENA_TYPE_3v3);
new achievement_arena_kills("achievement_arena_5v5_kills", ARENA_TYPE_5v5);