diff --git a/data/sql/updates/pending_db_world/rev_1766072417278780600.sql b/data/sql/updates/pending_db_world/rev_1766072417278780600.sql new file mode 100644 index 000000000..c4130bf0e --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1766072417278780600.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` = 3938; +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`, `ScriptName`) VALUES +(3938, 11, 0, 0, 'achievement_fa_la_la_la_ogrila'); diff --git a/src/server/scripts/World/achievement_scripts.cpp b/src/server/scripts/World/achievement_scripts.cpp index eebd7cac8..2d7eed6cd 100644 --- a/src/server/scripts/World/achievement_scripts.cpp +++ b/src/server/scripts/World/achievement_scripts.cpp @@ -265,6 +265,23 @@ class achievement_flirt_with_disaster_perf_check : public AchievementCriteriaScr } }; +enum FaLaLaLaOgrila +{ + SPELL_FRESH_HOLLY = 44824, + SPELL_PRESERVED_HOLLY = 62061, +}; + +class achievement_fa_la_la_la_ogrila : public AchievementCriteriaScript +{ +public: + achievement_fa_la_la_la_ogrila() : AchievementCriteriaScript("achievement_fa_la_la_la_ogrila") {} + + bool OnCheck(Player* player, Unit* /*target*/, uint32 /*criteria_id*/) override + { + return player->HasAura(SPELL_FRESH_HOLLY) || player->HasAura(SPELL_PRESERVED_HOLLY); + } +}; + void AddSC_achievement_scripts() { new achievement_resilient_victory(); @@ -285,4 +302,5 @@ void AddSC_achievement_scripts() new achievement_not_even_a_scratch(); new achievement_killed_exp_or_honor_target(); new achievement_flirt_with_disaster_perf_check(); + new achievement_fa_la_la_la_ogrila(); }