Example #1
0
        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);
        }
Example #2
0
 public static bool GetYotogiSkill(Status status, out YotogiSkillSystem skillData)
 {
     skillData = null;
     if (!EnableYotogiSkills || GameMainHooks.IsDeserializing)
     {
         return(false);
     }
     skillData = CreateDummySkillSystem(status);
     return(true);
 }
        public static void OnYotogiSkillRemove(YotogiSkillSystem skillSystem, int id)
        {
            if (skillSystem.status == null || skillSystem.status.maid == null)
            {
                return;
            }

            SkillInfoChanged?.Invoke(null, new YotogiSkillEventArgs {
                Maid = skillSystem.status.maid, Event = "remove", SkillId = id
            });
        }
        public static void OnYotogiSkillOldAdd(YotogiSkillSystem skillSystem, Skill.Old.Data data)
        {
            if (skillSystem.status == null || skillSystem.status.maid == null)
            {
                return;
            }

            SkillInfoChanged?.Invoke(null, new YotogiSkillEventArgs {
                Maid = skillSystem.status.maid, Event = "add", SkillId = data.id
            });
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }