コード例 #1
0
        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");
            }
        }
コード例 #2
0
ファイル: Job.cs プロジェクト: Mixi59/Stump
        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));
        }
コード例 #3
0
ファイル: JobManager.cs プロジェクト: Mixi59/Stump
        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))));
        }
コード例 #4
0
ファイル: InteractiveManager.cs プロジェクト: Mixi59/Stump
 public InteractiveSkillTemplate GetDefaultSkillTemplate()
 => m_defaultSkillTemplate ?? (m_defaultSkillTemplate = GetSkillTemplate(DEFAULT_SKILL_TEMPLATE));
コード例 #5
0
ファイル: SkillDecraftItem.cs プロジェクト: Mixi59/Stump
 public SkillDecraftItem(int id, InteractiveSkillTemplate record, InteractiveObject interactiveObject)
     : base(id, record, interactiveObject)
 {
 }
コード例 #6
0
 public SkillCraft(int id, InteractiveSkillTemplate skillTemplate, InteractiveObject interactiveObject) : base(id, skillTemplate, interactiveObject)
 {
 }
コード例 #7
0
ファイル: Skill.cs プロジェクト: Mixi59/Stump
 protected Skill(int id, InteractiveSkillTemplate skillTemplate, InteractiveObject interactiveObject)
 {
     Id                = id;
     SkillTemplate     = skillTemplate;
     InteractiveObject = interactiveObject;
 }
コード例 #8
0
ファイル: SkillZaapTeleport.cs プロジェクト: Mixi59/Stump
 public SkillZaapTeleport(int id, InteractiveSkillTemplate record, InteractiveObject interactiveObject)
     : base(id, record, interactiveObject)
 {
 }
コード例 #9
0
 public static void SendExchangeStartOkMulticraftCustomerMessage(IPacketReceiver client, InteractiveSkillTemplate skillTemplate, Job job)
 {
     client.Send(new ExchangeStartOkMulticraftCustomerMessage(skillTemplate.Id, (byte)job.Level));
 }
コード例 #10
0
 public static void SendExchangeStartOkMulticraftCrafterMessage(IPacketReceiver client, InteractiveSkillTemplate skillTemplate)
 {
     client.Send(new ExchangeStartOkMulticraftCrafterMessage(skillTemplate.Id));
 }