Beispiel #1
0
        private void SetupStatGerenrator(IEnumerable <ItemStatsInfo> templs, ItemStatGenerator statGen)
        {
            foreach (ItemStatsInfo templ in templs)
            {
                if (this.Template.Quality >= templ.ReqiredQuality)
                {
                    int num1 = (int)(((double)templ.BaseValue +
                                      (double)this.RequiredLevel * (double)templ.PerLevelInc) *
                                     (double)this.QualityBonus);
                    float num2 = (float)templ.SpreadingPrc / 100f;
                    if ((double)num2 < 0.0 || (double)num2 > 0.699999988079071)
                    {
                        num2 = 0.5f;
                    }
                    statGen.PosibleBonuses.Add(new ItemStatBonus()
                    {
                        Chance   = templ.Chance,
                        MaxValue = (short)((double)num1 * (1.0 + (double)num2)),
                        MinValue = (short)num1,
                        Type     = templ.StatType
                    });
                }
            }

            statGen.AlignChances();
        }
Beispiel #2
0
 private void SetupStatGerenrator(IEnumerable <ItemStatsInfo> templs, ItemStatGenerator statGen)
 {
     foreach (var itemStatsInfo in templs)
     {
         if (Template.Quality < itemStatsInfo.ReqiredQuality)
         {
             continue;
         }
         var val          = (int)((itemStatsInfo.BaseValue + RequiredLevel * itemStatsInfo.PerLevelInc) * QualityBonus);
         var spreadingVal = (float)itemStatsInfo.SpreadingPrc / 100;
         if (spreadingVal < 0 || spreadingVal > 0.7f)
         {
             spreadingVal = 0.5f;
         }
         statGen.PosibleBonuses.Add(new ItemStatBonus
         {
             Chance   = itemStatsInfo.Chance,
             MaxValue = (short)(val * (1 + spreadingVal)),
             MinValue = (short)(val),
             Type     = itemStatsInfo.StatType
         });
     }
     statGen.AlignChances();
 }