Exemplo n.º 1
0
        public double GetPlayerAttackDamageByLevel(int iLevel)
        {
            double num    = (double)iLevel * Math.Pow(1.05, (double)iLevel);
            double num3   = (num + (scene.Bonuses[BonusType.PlayerDamageDPS] * scene.totalDPS)) * (1.0 + scene.Bonuses[BonusType.PlayerDamage]) * (1.0 + scene.GetBonusArtifactDamage()) * (1.0 + scene.Bonuses[BonusType.AllDamage]);
            double isCrit = scene.random.NextDouble();

            //Console.WriteLine(scene.GetBonusArtifactDamage());
            if (this.critChance + scene.Bonuses[BonusType.CriticalChance] > isCrit)
            {
                num3 = num3 * ((1 + scene.Bonuses[BonusType.CriticalDamage]) * this.critMagnitude);
                Console.WriteLine((this.critChance + scene.Bonuses[BonusType.CriticalChance]) + " " + (isCrit));
            }
            if (scene.activeSkillList[4].activated)
            {
                num3 = num3 * (1 + (scene.activeSkillList[4].magnitude / 100));
            }
            //Console.WriteLine((this.critChance + critChance) + " " + (isCrit) + " " + num3);
            return(num3);
        }
Exemplo n.º 2
0
        public double GetDPSByLevel(int iLevel)
        {
            double num2;

            if (this.IsEvolved())
            {
                num2 = (double)Math.Pow((double)0.904f, (double)(iLevel - 1001)) * (double)Math.Pow((double)(1f - 0.019f * 15f), (double)(this.heroID + 33));
            }
            else
            {
                num2 = (double)Math.Pow((double)0.904f, (double)(iLevel - 1)) * (double)Math.Pow((double)(1f - 0.019f * Math.Min((double)this.heroID, 15f)), (double)this.heroID);
            }
            double num3;

            if (this.IsEvolved())
            {
                num3 = num2 * 0.1f * this.GetBaseUpgradeCostByLevel(iLevel - 1) * (double)(Math.Pow((double)1.075f, (double)(iLevel - (1001 - 1))) - 1.0) / (1.075f - 1f);
            }
            else
            {
                num3 = num2 * 0.1f * this.GetBaseUpgradeCostByLevel(iLevel - 1) * (double)(Math.Pow((double)1.075f, (double)iLevel) - 1.0) / (1.075f - 1f);
            }

            return(num3 * (1.0f + scene.GetHeroAdditionlDamage(this.heroID)) * (1.0f + scene.Bonuses[BonusType.AllDamage]) * (1.0f + scene.GetBonusArtifactDamage()));
        }