コード例 #1
0
        private static float GetBaseAs(eMinMax range, bool ancient)
        {
            float min = 1.00f;
            float max = 1.09f;
            float hit = range == eMinMax.Min ? min : max;

            return(hit);
        }
コード例 #2
0
        private static float OnHPRate(int lv, eMinMax range)
        {
            int min = 5;
            int max = 25;
            int avg = (min + max) / 2;
            int hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;

            return(hit);
        }
コード例 #3
0
        private static float OnFindMagicItemRate(int lv, eMinMax range)
        {
            int min = 30;
            int max = 55;
            int avg = (min + max) / 2;
            int hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;

            return(hit);
        }
コード例 #4
0
        private static float OnRecovery(int lv, eMinMax range)
        {
            int min = 8;
            int max = 15;
            int avg = (min + max) / 2;
            int hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;

            return((int)Math.Round(hit * (lv + 9) * 0.1f));
        }
コード例 #5
0
        private static float OnASRate(int lv, eMinMax range)
        {
            int min = 320;
            int max = 500;
            int avg = (min + max) / 2;
            int hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;

            return((float)Math.Round(hit * 0.01f, 2));
        }
コード例 #6
0
        private static float OnAS(int lv, eMinMax range)
        {
            int min = 10;
            int max = 120;
            int avg = (min + max) / 2;
            int hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;

            return(hit * 0.0001f);
        }
コード例 #7
0
        private static float OnWD(int lv, eMinMax range)
        {
            int min = 12;
            int max = 40;
            int avg = (min + max) / 2;
            int hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;

            return((int)Math.Round((lv * hit * 0.1f) + 5));
        }
コード例 #8
0
        private static float OnBWDMax(int lv, eMinMax range)
        {
            int min = 1;
            int max = (int)Math.Round(1.2 * (1.55 + 0.05 * (lv + 60) + lv * lv * (lv - 1) * 0.0002));
            int avg = (min + max) / 2;
            int hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;

            return(hit);
        }
コード例 #9
0
        private static float OnResistNone(int lv, eMinMax range)
        {
            int min = 200;
            int max = 700;
            int avg = (min + max) / 2;
            int hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;

            return((int)Math.Round(hit * 0.01 * (lv + 1)));
        }
コード例 #10
0
        private static float OnCriDamageRate(int lv, eMinMax range)
        {
            int min = 80;
            int max = 200;
            int avg = (min + max) / 2;
            int hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;

            return((float)Math.Round(hit * 0.1f, 2));
        }
コード例 #11
0
        private static float OnPlusSetEffect(int lv, eMinMax range)
        {
            int min = 1;
            int max = 2;
            int avg = 1;
            int hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;

            return(hit);
        }
コード例 #12
0
        //private static float OnAcDEFRate(int lv, eMinMax range)
        //{
        //int min = 1;
        //int max = 20;
        //int avg = (min + max) / 2;
        //int hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;
        //    return hit;
        //}
        private static float OnAcRecoveryRate(int lv, eMinMax range)
        {
            int min = 1;
            int max = 40;
            int avg = (min + max) / 2;
            int hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;

            return(hit);
        }
コード例 #13
0
        private static float OnAcDMGToRareMon(int lv, eMinMax range)
        {
            int min = 1;
            int max = 50;
            int avg = (min + max) / 2;
            int hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;

            return(hit);
        }
コード例 #14
0
        private static float OnHP(int lv, eMinMax range)
        {
            int   min = 8500;
            int   max = 14500;
            int   avg = (min + max) / 2;
            int   hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;
            float get = (float)Math.Round(hit * 0.001 * (1.5 + 0.054 * (lv + 70) + lv * (lv - 1) * 0.01));

            return(get);
        }
コード例 #15
0
        private static float OnDEF(int lv, eMinMax range)
        {
            int   min = 110;
            int   max = 400;
            int   avg = (min + max) / 2;
            int   hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;
            float get = (float)Math.Round(hit * 0.01f * (lv + 1));

            return(get);
        }
コード例 #16
0
        private static int GetBaseBWDMin(int lv, eMinMax range, bool ancient)
        {
            int mb      = 12;
            int atkRate = (int)Math.Round(1.2 * (1.55 + 0.05 * (lv + 60) + lv * lv * (lv - 1) * 0.0002));

            int minBWD = (int)Math.Round(mb * 1.2 * (1.55 + 0.05 * (lv + 60) + lv * lv * (lv - 1) * 0.0002));

            int min = minBWD;
            int max = minBWD + atkRate * 3;
            int avg = (min + max) / 2;
            int hit = range == eMinMax.Min ? min : range == eMinMax.Max ? max : avg;

            return(hit);
        }
コード例 #17
0
        public static float GetBaseValue(int lv, eOption option, eMinMax range, bool ancient)
        {
            if (false == bLoad)
            {
                Load();
            }

            float value = 0f;

            if (option == eOption.BWDMin)
            {
                value = GetBaseBWDMin(lv, range, ancient);
            }
            else if (option == eOption.BWDMax)
            {
                value = GetBaseBWDMax(lv, range, ancient);
            }
            else if (option == eOption.AS)
            {
                value = GetBaseAs(range, ancient);
            }
            else if (option == eOption.HP)
            {
                value = GetValue(lv, option, range, ancient);
                value = (float)Math.Round(value * 3);
            }
            else if (option == eOption.DEF)
            {
                value = GetValue(lv, option, range, ancient);
                value = (float)Math.Round(value * 3);
            }
            else if (option == eOption.Element)
            {
                value = GetValue(lv, option, range, ancient);
            }
            else if (option == eOption.CriRate)
            {
                value = GetValue(lv, option, range, ancient);
                value = (float)Math.Round(value * 2);
            }
            else
            {
                value = GetValue(lv, option, range, ancient);
                value = (float)Math.Round(value * 4);
            }

            return(value);
        }
コード例 #18
0
        public static float GetValue(int lv, eOption opt, eMinMax range, bool ancient)
        {
            if (false == bLoad)
            {
                Load();
            }

            if (ancient)
            {
                return(m_valuesAncient[opt](lv, range));
            }
            else
            {
                return(m_values[opt](lv, range));
            }
        }
コード例 #19
0
 private static float OnAncientEDNature(int lv, eMinMax range)
 {
     return((float)Math.Round(OnEDNature(lv, range) * 1.2));
 }
コード例 #20
0
 private static float OnAncientResistNone(int lv, eMinMax range)
 {
     return((float)Math.Round(OnResistNone(lv, range) * 1.2));
 }
コード例 #21
0
 private static float OnAncientCriDamageRate(int lv, eMinMax range)
 {
     return((float)Math.Round(OnCriDamageRate(lv, range) * 1.2, 2));
 }
コード例 #22
0
 private static float OnSETNoneT3(int lv, eMinMax rang)
 {
     return(1);
 }
コード例 #23
0
 private static float OnSETFreeze(int lv, eMinMax rang)
 {
     return(1);
 }
コード例 #24
0
 private static float OnSETRecovery(int lv, eMinMax rang)
 {
     return(1);
 }
コード例 #25
0
 private static float OnSETExtraStone(int lv, eMinMax rang)
 {
     return(1);
 }
コード例 #26
0
 private static float OnSETPoison(int lv, eMinMax rang)
 {
     return(1);
 }
コード例 #27
0
 private static float OnSETNature(int lv, eMinMax rang)
 {
     return(1);
 }
コード例 #28
0
 private static float OnSETExpRate(int lv, eMinMax rang)
 {
     return(1);
 }
コード例 #29
0
 private static float OnSETFindMagicItemRate(int lv, eMinMax rang)
 {
     return(1);
 }
コード例 #30
0
 private static float OnSETLuck(int lv, eMinMax rang)
 {
     return(1);
 }