diff --git a/Source/Game/AI/SmartScripts/SmartAIManager.cs b/Source/Game/AI/SmartScripts/SmartAIManager.cs index 546b2ccc6..1124488da 100644 --- a/Source/Game/AI/SmartScripts/SmartAIManager.cs +++ b/Source/Game/AI/SmartScripts/SmartAIManager.cs @@ -689,6 +689,9 @@ namespace Game.AI case SmartEvents.RewardQuest: if (e.Event.quest.questId != 0 && !IsQuestValid(e, e.Event.quest.questId)) return false; + + if (!IsMinMaxValid(e, e.Event.quest.cooldownMin, e.Event.quest.cooldownMax)) + return false; break; case SmartEvents.ReceiveEmote: { @@ -2097,6 +2100,8 @@ namespace Game.AI public struct Quest { public uint questId; + public uint cooldownMin; + public uint cooldownMax; } public struct QuestObjective { diff --git a/Source/Game/AI/SmartScripts/SmartScript.cs b/Source/Game/AI/SmartScripts/SmartScript.cs index 7d2a146f0..d44802023 100644 --- a/Source/Game/AI/SmartScripts/SmartScript.cs +++ b/Source/Game/AI/SmartScripts/SmartScript.cs @@ -3478,6 +3478,7 @@ namespace Game.AI { if (e.Event.quest.questId != 0 && var0 != e.Event.quest.questId) return; + RecalcTimer(e, e.Event.quest.cooldownMin, e.Event.quest.cooldownMax); ProcessAction(e, unit, var0); break; }