Exemple #1
0
        /// <summary>
        /// 実数値から努力値を逆算する
        /// </summary>
        /// <param name="level"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public ParameterData <int> CalcEv(int level, ParameterData <int> value)
        {
            var result = new ParameterData <int>();

            result.Hp = StatusCalculator.CalcHitPointEv(Bv.Hp, Iv.Hp, value.Hp, level);

            // HP以外の計算式は同じなのでループで計算する
            foreach (var i in Enumerable.Range(1, 5))
            {
                var bv     = Bv.GetByIndex(i);          // 種族値
                var iv     = Iv.GetByIndex(i);          // 個体値
                var p      = value.GetByIndex(i);
                var person = Personality.GetByIndex(i); // 性格補正
                var param  = StatusCalculator.CalcEv(bv, iv, p, person, level);
                result.SetByIndex(i, param);
            }
            return(result);
        }
Exemple #2
0
 /// <summary>
 /// 個体値を設定する
 /// </summary>
 /// <param name="data"></param>
 public void SetIv(ParameterData <int> data)
 {
     Iv.CopyFrom(ref data);
 }