using System; namespace Server.Engines.Harvest { public class HarvestTimer : Timer { private HarvestDefinition m_Definition; private Mobile m_From; private int m_Index, m_Count; private HarvestSystem m_System; private object m_ToHarvest, m_Locked; private Item m_Tool; public HarvestTimer(Mobile from, Item tool, HarvestSystem system, HarvestDefinition def, object toHarvest, object locked) : base(TimeSpan.Zero, def.EffectDelay) { m_From = from; m_Tool = tool; m_System = system; m_Definition = def; m_ToHarvest = toHarvest; m_Locked = locked; m_Count = Utility.RandomList(def.EffectCounts); } protected override void OnTick() { if (!m_System.OnHarvesting(m_From, m_Tool, m_Definition, m_ToHarvest, m_Locked, ++m_Index == m_Count)) Stop(); } } }