Files
abysmal-isle/Scripts/Services/Harvest/Core/HarvestTimer.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

33 lines
1.1 KiB
C#

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