diff options
-rw-r--r-- | sql/updates/world/2013_02_04_07_world_achievement_criteria_data.sql | 20 | ||||
-rw-r--r-- | src/server/scripts/World/achievement_scripts.cpp | 25 |
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(); } |