Exemplo n.º 1
0
 public MobThemeTypingSeeded(EvoFlag allowance, RandRange amount) : base(allowance, amount)
 {
 }
Exemplo n.º 2
0
        private Dictionary <int, FormFeatureSummary> computeSummary(string dataPath, int num, MonsterData data)
        {
            Dictionary <int, FormFeatureSummary> formFeatureData = new Dictionary <int, FormFeatureSummary>();
            int         family = num;
            MonsterData preEvo = data;

            while (preEvo.PromoteFrom > -1)
            {
                family = preEvo.PromoteFrom;
                string preDir = PathMod.ModPath(dataPath + family + DataManager.DATA_EXT);
                preEvo = DataManager.LoadData <MonsterData>(preDir);
            }
            EvoFlag stage       = EvoFlag.NoEvo;
            bool    evolvedFrom = (data.PromoteFrom > -1);
            bool    evolves     = (data.Promotions.Count > 0);

            if (evolvedFrom && evolves)
            {
                stage = EvoFlag.MidEvo;
            }
            else if (evolvedFrom)
            {
                stage = EvoFlag.FinalEvo;
            }
            else if (evolves)
            {
                stage = EvoFlag.FirstEvo;
            }

            for (int ii = 0; ii < data.Forms.Count; ii++)
            {
                FormFeatureSummary summary = new FormFeatureSummary();
                summary.Family = family;
                summary.Stage  = stage;

                MonsterFormData formData = data.Forms[ii] as MonsterFormData;
                summary.Element1 = formData.Element1;
                summary.Element2 = formData.Element2;

                Stat bestStat  = Stat.HP;
                Stat worstStat = Stat.HP;

                for (int nn = 0; nn < (int)Stat.HitRate; nn++)
                {
                    if (bestStat != Stat.None)
                    {
                        if (formData.GetBaseStat((Stat)nn) > formData.GetBaseStat(bestStat))
                        {
                            bestStat = (Stat)nn;
                        }
                        else if (formData.GetBaseStat((Stat)nn) == formData.GetBaseStat(bestStat))
                        {
                            bestStat = Stat.None;
                        }
                    }
                    if (worstStat != Stat.None)
                    {
                        if (formData.GetBaseStat((Stat)nn) < formData.GetBaseStat(worstStat))
                        {
                            worstStat = (Stat)nn;
                        }
                        else if (formData.GetBaseStat((Stat)nn) == formData.GetBaseStat(worstStat))
                        {
                            worstStat = Stat.None;
                        }
                    }
                }
                summary.BestStat  = bestStat;
                summary.WorstStat = worstStat;

                formFeatureData[ii] = summary;
            }
            return(formFeatureData);
        }
Exemplo n.º 3
0
 public MobThemeTypingChosen(EvoFlag allowance, RandRange amount, params int[] types) : base(allowance, amount)
 {
     Types = types;
 }