/// <summary> /// Loads the specified skills of the desired class name from AdvancedSkills.txt. /// </summary> /// <param name="className">Name of the class to use</param> /// <param name="autoEquip">Whether to equip the class, useful if you want to use multiple skill sets for 1 class.</param> /// <param name="useMode">Some classes can have different use modes: <br></br> /// <see cref="ClassUseMode.Base"/> - Default combo; <br></br> /// <see cref="ClassUseMode.Atk"/> - Full damage combo; <br></br> /// <see cref="ClassUseMode.Def"/> - Defensive combo; <br></br> /// <see cref="ClassUseMode.Farm"/> - Farming combo; <br></br> /// <see cref="ClassUseMode.Solo"/> - Soloing combo; <br></br> /// <see cref="ClassUseMode.Supp"/> - Support combo; </param> /// <remarks>If skills from the desired class doesn't exist, generic skills will be used instead.</remarks> public void LoadAdvanced(string className, bool autoEquip, ClassUseMode useMode = ClassUseMode.Base) { OverrideProvider = new AdvancedSkillProvider(); if (autoEquip) { Bot.Player.EquipItem(className); } List <AdvancedSkill> skills = Forms.AdvancedSkills.LoadedSkills?.Where(s => s.ClassName.ToLower() == className.ToLower()).ToList(); if (skills == null || skills.Count == 0) { OverrideProvider.Load("1 | 2 | 3 | 4 | Mode Optimistic"); SkillTimeout = -1; } else { AdvancedSkill skill = skills.Find(s => s.UseMode == useMode) ?? skills.FirstOrDefault(); OverrideProvider.Load(skill.Skills); SkillTimeout = skill.SkillTimeout; } }
/// <summary> /// Loads the specified skill sequence. /// </summary> /// <param name="skills">String of the skills (Use the Skills > Advanced and convert the desired skill sequence)</param> /// <param name="skillTimeout">The timeout in multiples of SkillTimer milliseconds before skipping the current unavailable skill when using SkillMode.Wait.</param> public void LoadAdvanced(string skills, int skillTimeout = -1) { OverrideProvider = new AdvancedSkillProvider(); SkillTimeout = skillTimeout; OverrideProvider.Load(skills); }