public void DrawSkill() { for (int i = 0; i < CraftItem.Skills.Count; i++) { var skill = CraftItem.Skills[i]; double minSkill = skill.MinSkill, maxSkill = skill.MaxSkill; if (minSkill < 0) { minSkill = 0; } AddHtmlLocalized(170, 132 + i * 20, 200, 18, 1044060 + (int)skill.SkillToMake, LabelColor, false, false); AddLabel(430, 132 + i * 20, LabelHue, $"{minSkill:F1}"); } var res = CraftItem.UseSubRes2 ? CraftSystem.CraftSubRes2 : CraftSystem.CraftSubRes; var resIndex = -1; var context = CraftSystem.GetContext(From); if (context != null) { resIndex = CraftItem.UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex; } var allRequiredSkills = true; var chance = CraftItem.GetSuccessChance(From, resIndex > -1 ? res.GetAt(resIndex).ItemType : null, CraftSystem, false, ref allRequiredSkills); var craftSkillRequired = CraftItem.GetCraftSkillRequired(From, resIndex > -1 ? res.GetAt(resIndex).ItemType : null, CraftSystem); var excepChance = CraftItem.GetExceptionalChance(From, CraftSystem, ref craftSkillRequired); AddHtmlLocalized(170, 80, 250, 18, 1044057, LabelColor, false, false); // Success Chance: AddLabel(430, 80, LabelHue, $"{chance * 100:F1}%"); if (m_ShowExceptionalChance) { AddHtmlLocalized(170, 100, 250, 18, 1044058, 32767, false, false); // Exceptional Chance: AddLabel(430, 100, LabelHue, $"{excepChance:F1}%"); } }