private static YotogiSkillSystem CreateDummySkillSystem(Status status) { DummySkillTreeCreationStart?.Invoke(null, EventArgs.Empty); YotogiSkillSystem enabledSkillSystem = new YotogiSkillSystem(status); foreach (var skills in Skill.skill_data_list) { foreach (var skillDataPair in skills) { if (!skillDataPair.Value.IsExecPersonal(status.personal)) { continue; } YotogiSkillData data = enabledSkillSystem.Get(skillDataPair.Value.id) ?? enabledSkillSystem.Add(skillDataPair.Value); data.expSystem.SetLevel(data.expSystem.GetMaxLevel()); data.playCount = 9999; } } foreach (var skills in Skill.Old.skill_data_list) { foreach (var skillDataPair in skills) { YotogiSkillData data = enabledSkillSystem.Get(skillDataPair.Value.id) ?? enabledSkillSystem.Add(skillDataPair.Value); data.expSystem.SetLevel(data.expSystem.GetMaxLevel()); data.playCount = 9999; } } DummySkillTreeCreationEnd?.Invoke(null, EventArgs.Empty); return(enabledSkillSystem); }
public static bool PrefixCreateDatas(out Dictionary <int, YotogiSkillListManager.Data> result, Status status, bool specialConditionCheck, Skill.Data.SpecialConditionType type) { result = new Dictionary <int, YotogiSkillListManager.Data>(); if (!EnableYotogiSkills) { return(false); } YotogiSkillSystem skillSystem = CreateDummySkillSystem(status); foreach (var skillDatas in Skill.skill_data_list) { foreach (var idSkillPair in skillDatas) { Skill.Data skill = idSkillPair.Value; if (!skill.IsExecPersonal(status.personal) || specialConditionCheck && skill.specialConditionType != type) { continue; } YotogiSkillData skillData = skillSystem.Get(skill.id); if (skillData == null) { skillData = new YotogiSkillData { data = skill, oldData = skill.oldData }; skillData.expSystem.SetExreienceList(new List <int>(skill.skill_exp_table)); } var data = new YotogiSkillListManager.Data { skillData = skill, conditionDatas = new KeyValuePair <string[], bool> [0], maidStatusSkillData = skillData }; result.Add(skill.id, data); } } return(true); }
public static bool PrefixCreateDatasOld(out Dictionary <int, YotogiSkillListManager.Data> result, Status status) { result = new Dictionary <int, YotogiSkillListManager.Data>(); if (!EnableYotogiSkills) { return(false); } YotogiSkillSystem skillSystem = CreateDummySkillSystem(status); foreach (var skillDatas in Skill.Old.skill_data_list) { foreach (var idSkillPair in skillDatas) { Skill.Old.Data skill = idSkillPair.Value; YotogiSkillData skillData = skillSystem.Get(skill.id); if (skillData == null) { skillData = new YotogiSkillData { oldData = skill }; skillData.expSystem.SetExreienceList(new List <int>(skill.skill_exp_table)); } var data = new YotogiSkillListManager.Data { skillDataOld = skill, conditionDatas = new KeyValuePair <string[], bool> [0], maidStatusSkillData = skillData }; result.Add(skill.id, data); } } return(true); }