public SkillHarvest(int id, InteractiveSkillTemplate skillTemplate, InteractiveObject interactiveObject) : base(id, skillTemplate, interactiveObject) { m_harvestedItem = ItemManager.Instance.TryGetTemplate(SkillTemplate.GatheredRessourceItem); CreationDate = DateTime.Now; if (m_harvestedItem == null) { throw new Exception($"Harvested item {SkillTemplate.GatheredRessourceItem} doesn't exist"); } }
private SkillActionDescription GetSkillActionDescription(InteractiveSkillTemplate skill) { if (skill.GatheredRessourceItem > 0) { var minMax = JobManager.Instance.GetHarvestItemMinMax(Template, Level, skill); return(new SkillActionDescriptionCollect((short)skill.Id, 0, (short)minMax.First, (short)minMax.Second)); } else if (skill.CraftableItemIds.Length > 0) { return(new SkillActionDescriptionCraft((short)skill.Id, 0)); } return(new SkillActionDescription((short)skill.Id)); }
public Pair <int, int> GetHarvestItemMinMax(JobTemplate job, int jobLevel, InteractiveSkillTemplate skillTemplate) { if (skillTemplate.LevelMin > jobLevel) { return(new Pair <int, int>(0, 0)); } if (skillTemplate.LevelMin == 200 || job.HarvestedCountMax == 0) { return(new Pair <int, int>(1, 1)); } return(new Pair <int, int>(Math.Max(1, jobLevel / 20), (int)(job.HarvestedCountMax + ((jobLevel - skillTemplate.LevelMin) / 10)))); }
public InteractiveSkillTemplate GetDefaultSkillTemplate() => m_defaultSkillTemplate ?? (m_defaultSkillTemplate = GetSkillTemplate(DEFAULT_SKILL_TEMPLATE));
public SkillDecraftItem(int id, InteractiveSkillTemplate record, InteractiveObject interactiveObject) : base(id, record, interactiveObject) { }
public SkillCraft(int id, InteractiveSkillTemplate skillTemplate, InteractiveObject interactiveObject) : base(id, skillTemplate, interactiveObject) { }
protected Skill(int id, InteractiveSkillTemplate skillTemplate, InteractiveObject interactiveObject) { Id = id; SkillTemplate = skillTemplate; InteractiveObject = interactiveObject; }
public SkillZaapTeleport(int id, InteractiveSkillTemplate record, InteractiveObject interactiveObject) : base(id, record, interactiveObject) { }
public static void SendExchangeStartOkMulticraftCustomerMessage(IPacketReceiver client, InteractiveSkillTemplate skillTemplate, Job job) { client.Send(new ExchangeStartOkMulticraftCustomerMessage(skillTemplate.Id, (byte)job.Level)); }
public static void SendExchangeStartOkMulticraftCrafterMessage(IPacketReceiver client, InteractiveSkillTemplate skillTemplate) { client.Send(new ExchangeStartOkMulticraftCrafterMessage(skillTemplate.Id)); }