diff --git a/sql_mr/mr01894_mangos_achievements_fixes.sql b/sql_mr/mr01902_mangos_achievements_fixes.sql similarity index 98% rename from sql_mr/mr01894_mangos_achievements_fixes.sql rename to sql_mr/mr01902_mangos_achievements_fixes.sql index 93ba582ae37..a3774a6f521 100644 --- a/sql_mr/mr01894_mangos_achievements_fixes.sql +++ b/sql_mr/mr01902_mangos_achievements_fixes.sql @@ -123,3 +123,7 @@ INSERT INTO `achievement_criteria_requirement` VALUES (12182,6,4710,0); INSERT INTO `achievement_criteria_requirement` VALUES (13254,0,0,0); INSERT INTO `achievement_criteria_requirement` VALUES (13255,6,4710,0); + +-- Friend or Fowl +DELETE FROM `achievement_criteria_requirement` WHERE criteria_id=3821; +INSERT INTO `achievement_criteria_requirement` VALUES (3821,0,0,0); diff --git a/sql_mr/mr01902_mangos_creature_ai_scripts.sql b/sql_mr/mr01902_mangos_creature_ai_scripts.sql new file mode 100644 index 00000000000..f14ed5f8840 --- /dev/null +++ b/sql_mr/mr01902_mangos_creature_ai_scripts.sql @@ -0,0 +1,10 @@ +-- Friend of Fowl achieve +DELETE FROM creature_ai_scripts WHERE creature_id IN(23801,24746); +INSERT INTO `creature_ai_scripts` VALUES +('2380101', '23801', '6', '0', '100', '0', '0', '0', '0', '0', '11', '25281', '6', '3', '0', '0', '0', '0', '0', '0', '0', '0', 'ytdb'); +INSERT INTO `creature_ai_scripts` VALUES +('2474601', '24746', '6', '0', '100', '0', '0', '0', '0', '0', '11', '25281', '6', '3', '0', '0', '0', '0', '0', '0', '0', '0', 'ytdb'); + +UPDATE `creature_template` SET `AIName` = 'EventAI' WHERE `entry` = '23801'; +UPDATE `creature_template` SET `AIName` = 'EventAI' WHERE `entry` = '24746'; +UPDATE creature_template SET type=1 WHERE entry in(23801,24746); diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index d946a90ea97..8559a3570ce 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -6222,6 +6222,15 @@ void Aura::HandleAuraPeriodicDummy(bool apply, bool Real) { switch(spell->Id) { + case 25281: // Turkey Marker + { + if (target && target->GetTypeId() != TYPEID_PLAYER) + break; + if (Aura* aura = target->GetAura(25281, EFFECT_INDEX_0)) + if (aura->GetStackAmount() == 15) + target->CastSpell(target, 25285, true); // Friend or Fowl criteria + break; + } case 49555: // Corpse Explode (Trollgore - Drak'Tharon Keep Normal) if (!apply) { @@ -10906,6 +10915,10 @@ void SpellAuraHolder::SetStackAmount(uint32 stackAmount) } } } + // Turkey Marker + // Hack for not changing duration of timed achievement + if (m_spellProto->Id == 25281) + refresh = false; if (refresh) // Stack increased refresh duration diff --git a/src/shared/revision_R2.h b/src/shared/revision_R2.h index e591c58677d..eaaa25a349a 100644 --- a/src/shared/revision_R2.h +++ b/src/shared/revision_R2.h @@ -1,4 +1,4 @@ #ifndef __REVISION_R2_H__ #define __REVISION_R2_H__ - #define REVISION_R2 "1901" + #define REVISION_R2 "1902" #endif // __REVISION_R2_H__