From 3f25a70934f6729578923a6201983b8ad5f22e8b Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Sun, 12 Mar 2023 19:56:23 +0100 Subject: [PATCH] =?UTF-8?q?fix(Scripts/Achievement):=20Fixed=20Flirt=20Wit?= =?UTF-8?q?h=20Disaster=20achievement.=20Sourc=E2=80=A6=20(#15352)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rev_1678624060512397500.sql | 21 ++++++++++++++++ .../scripts/World/achievement_scripts.cpp | 25 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1678624060512397500.sql diff --git a/data/sql/updates/pending_db_world/rev_1678624060512397500.sql b/data/sql/updates/pending_db_world/rev_1678624060512397500.sql new file mode 100644 index 000000000..6612661f9 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1678624060512397500.sql @@ -0,0 +1,21 @@ +-- +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 ff5cf3cdf..30ccb2223 100644 --- a/src/server/scripts/World/achievement_scripts.cpp +++ b/src/server/scripts/World/achievement_scripts.cpp @@ -251,6 +251,30 @@ public: } }; +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*/, uint32 /*criteria_id*/) override + { + 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(); @@ -270,4 +294,5 @@ void AddSC_achievement_scripts() new achievement_tilted(); new achievement_not_even_a_scratch(); new achievement_killed_exp_or_honor_target(); + new achievement_flirt_with_disaster_perf_check(); }