/// <summary> /// /// </summary> /// <param name="character"></param> /// <param name="skill"></param> private void Harvest(CharacterEntity character, SkillIdEnum skill) { if (!character.CanGameAction(GameActionTypeEnum.SKILL_HARVEST)) { character.Dispatch(WorldMessage.IM_ERROR_MESSAGE(InformationEnum.ERROR_YOU_ARE_AWAY)); return; } if (!IsActive) { return; } m_currentJob = character.CharacterJobs.GetJob(skill); if (m_currentJob == null) { return; } var duration = m_currentJob.HarvestDuration; m_quantityFarmed = Util.Next(m_currentJob.HarvestMinQuantity, m_currentJob.HarvestMaxQuantity); character.HarvestStart(this, duration); m_currentHarvester = character; Deactivate(); m_harvestTimer = base.AddTimer(duration, StopHarvest, true); }
/// <summary> /// /// </summary> /// <param name="skill"></param> /// <param name="obtainLevel"></param> /// <param name="tools"></param> public CraftSkill(SkillIdEnum skill, int obtainLevel, int[] craftables, params int[] tools) : base(skill, obtainLevel, tools) { Craftables = new List <ItemTemplateDAO>(); foreach (var craftableItem in craftables) { var template = ItemTemplateRepository.Instance.GetById(craftableItem); if (template != null) { Craftables.Add(template); } } }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <returns></returns> public bool HasSkill(SkillIdEnum id) { return HasSkill((int)id); }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <returns></returns> public bool HasSkill(CharacterEntity character, SkillIdEnum id, int level) { return HasSkill(character, (int)id, level); }
/// <summary> /// /// </summary> /// <param name="skillId"></param> public JobSkill(SkillIdEnum id, int requiredLevel = 1, params int[] tools) { Id = id; RequiredLevel = requiredLevel; Tools = new List <int>(tools); }
/// <summary> /// /// </summary> /// <param name="skillId"></param> public HarvestSkill(SkillIdEnum skillId, int obtainLevel, params int[] tools) : base(skillId, obtainLevel, tools) { }
/// <summary> /// /// </summary> /// <param name="skillId"></param> public BasicSkill(SkillIdEnum skillId) : base(skillId) { }
/// <summary> /// /// </summary> /// <param name="skillId"></param> /// <returns></returns> public CharacterJobDAO GetJob(SkillIdEnum skill) { return(Jobs.Find(job => job.HasSkill(m_character, (int)skill))); }
/// <summary> /// /// </summary> /// <param name="skillId"></param> /// <returns></returns> public bool HasSkill(SkillIdEnum id) { return(HasSkill((int)id)); }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <returns></returns> public bool HasSkill(CharacterEntity character, SkillIdEnum id, int level) { return(HasSkill(character, (int)id, level)); }
/// <summary> /// /// </summary> /// <param name="skillId"></param> public JobSkill(SkillIdEnum id, int requiredLevel = 1, params int[] tools) { Id = id; RequiredLevel = requiredLevel; Tools = new List<int>(tools); }
/// <summary> /// /// </summary> /// <param name="skillId"></param> /// <returns></returns> public CharacterJobDAO GetJob(SkillIdEnum skill) { return Jobs.Find(job => job.HasSkill(m_character, (int)skill)); }
/// <summary> /// /// </summary> /// <param name="character"></param> /// <param name="skill"></param> private void Harvest(CharacterEntity character, SkillIdEnum skill) { if(!character.CanGameAction(GameActionTypeEnum.SKILL_HARVEST)) { character.Dispatch(WorldMessage.IM_ERROR_MESSAGE(InformationEnum.ERROR_YOU_ARE_AWAY)); return; } if (!IsActive) return; m_currentJob = character.CharacterJobs.GetJob(skill); if (m_currentJob == null) return; var duration = m_currentJob.HarvestDuration; m_quantityFarmed = Util.Next(m_currentJob.HarvestMinQuantity, m_currentJob.HarvestMaxQuantity); character.HarvestStart(this, duration); m_currentHarvester = character; Deactivate(); m_harvestTimer = base.AddTimer(duration, StopHarvest, true); }