Server.Engines.Craft.CraftItem.CheckSkills C# (CSharp) 메소드

CheckSkills() 공개 메소드

public CheckSkills ( Server.Mobile from, CraftSystem craftSystem, int &quality, bool &allRequiredSkills ) : bool
from Server.Mobile
craftSystem CraftSystem
quality int
allRequiredSkills bool
리턴 bool
        public bool CheckSkills(Mobile from, CraftSystem craftSystem, ref int quality, ref bool allRequiredSkills)
        {
            return CheckSkills(from, craftSystem, ref quality, ref allRequiredSkills, true);
        }

Same methods

CraftItem::CheckSkills ( Server.Mobile from, CraftSystem craftSystem, int &quality, bool &allRequiredSkills, bool gainSkills ) : bool

Usage Example

예제 #1
0
            private void CheckGain()
            {
                int  quality           = 0;
                bool allRequiredSkills = true;

                double minMainSkill = 0.0;
                double maxMainSkill = 0.0;
                double valMainSkill = 0.0;

                m_CraftItem.CheckSkills(m_From, m_TypeRes, m_CraftSystem, ref quality, ref allRequiredSkills);
                CraftSkillCol m_arCraftSkill = m_CraftItem.Skills;

                for (int i = 0; i < m_arCraftSkill.Count; i++)
                {
                    CraftSkill craftSkill = m_arCraftSkill.GetAt(i);

                    double minSkill = craftSkill.MinSkill;
                    double maxSkill = craftSkill.MaxSkill;
                    double valSkill = m_From.Skills[craftSkill.SkillToMake].Value;

                    if (valSkill < minSkill)
                    {
                        allRequiredSkills = false;
                    }

                    if (craftSkill.SkillToMake == m_CraftSystem.MainSkill)
                    {
                        minMainSkill = minSkill;
                        maxMainSkill = maxSkill;
                        valMainSkill = valSkill;
                    }
                    Skill skill = m_From.Skills[craftSkill.SkillToMake];

                    double chance  = (valSkill - minSkill) / (maxSkill - minSkill);
                    bool   success = (chance >= Utility.RandomDouble());
                    if (success)
                    {
                        double ComputedSkillMod = (((1.0 - chance) / 2) * 1.0);

                        if (ComputedSkillMod >= Utility.RandomDouble())
                        {
                            Server.Misc.SkillCheck.Gain(m_From, skill);
                        }
                    }
                }
            }
All Usage Examples Of Server.Engines.Craft.CraftItem::CheckSkills