aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2013_02_04_07_world_achievement_criteria_data.sql20
-rw-r--r--src/server/scripts/World/achievement_scripts.cpp25
2 files changed, 45 insertions, 0 deletions
diff --git a/sql/updates/world/2013_02_04_07_world_achievement_criteria_data.sql b/sql/updates/world/2013_02_04_07_world_achievement_criteria_data.sql
new file mode 100644
index 00000000000..dc873a02dfd
--- /dev/null
+++ b/sql/updates/world/2013_02_04_07_world_achievement_criteria_data.sql
@@ -0,0 +1,20 @@
+DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (3931,12859,4227,3929);
+INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) VALUES
+-- aliance
+-- Kissed Sraaz
+(3931,1,9099,0,''),
+(3931,11,0,0,'achievement_flirt_with_disaster_perf_check'),
+(3931,15,3,0,''),
+-- Handful of Rose Petals on Sraaz
+(12859,1,9099,0,''),
+(12859,11,0,0,'achievement_flirt_with_disaster_perf_check'),
+(12859,15,3,0,''),
+-- horde
+-- Kissed Jeremiah Payson
+(3929,1,8403,0,''),
+(3929,11,0,0,'achievement_flirt_with_disaster_perf_check'),
+(3929,15,3,0,''),
+-- Handful of Rose Petals on Jeremiah Payson
+(4227,1,8403,0,''),
+(4227,11,0,0,'achievement_flirt_with_disaster_perf_check'),
+(4227,15,3,0,'');
diff --git a/src/server/scripts/World/achievement_scripts.cpp b/src/server/scripts/World/achievement_scripts.cpp
index 41a32185620..d0ffe5214db 100644
--- a/src/server/scripts/World/achievement_scripts.cpp
+++ b/src/server/scripts/World/achievement_scripts.cpp
@@ -315,6 +315,30 @@ class achievement_not_even_a_scratch : public AchievementCriteriaScript
}
};
+enum FlirtWithDisaster
+{
+ AURA_PERFUME_FOREVER = 70235,
+ AURA_PERFUME_ENCHANTRESS = 70234,
+ AURA_PERFUME_VICTORY = 70233,
+};
+
+class achievement_flirt_with_disaster_perf_check : public AchievementCriteriaScript
+{
+ public:
+ achievement_flirt_with_disaster_perf_check() : AchievementCriteriaScript("achievement_flirt_with_disaster_perf_check") { }
+
+ bool OnCheck(Player* player, Unit* /*target*/)
+ {
+ if (!player)
+ return false;
+
+ if (player->HasAura(AURA_PERFUME_FOREVER) || player->HasAura(AURA_PERFUME_ENCHANTRESS) || player->HasAura(AURA_PERFUME_VICTORY))
+ return true;
+
+ return false;
+ }
+};
+
void AddSC_achievement_scripts()
{
new achievement_resilient_victory();
@@ -333,4 +357,5 @@ void AddSC_achievement_scripts()
new achievement_bg_sa_defense_of_ancients();
new achievement_tilted();
new achievement_not_even_a_scratch();
+ new achievement_flirt_with_disaster_perf_check();
}