コード例 #1
0
 public void UpdateAsda2Spirit()
 {
     Asda2Spirit = UnitUpdates.GetMultiMod(FloatMods[(int)StatModifierFloat.Spirit], IntMods[(int)StatModifierInt.Spirit] + Asda2BaseSpirit);
     UpdateAsda2MagicDefence();
     UpdateMaxPower();
     this.UpdatePowerRegen();
 }
コード例 #2
0
 public void UpdateAsda2Strength()
 {
     Asda2Strength = UnitUpdates.GetMultiMod(FloatMods[(int)StatModifierFloat.Strength], IntMods[(int)StatModifierInt.Strength] + Asda2BaseStrength);
     this.UpdateMainDamage();
     UpdateCritDamageBonus();
     UpdateMaxHealth();
 }
コード例 #3
0
 //todo asda2 complete refenrece stat updates
 public void UpdateAsda2Luck()
 {
     Asda2Luck = UnitUpdates.GetMultiMod(FloatMods[(int)StatModifierFloat.Luck], IntMods[(int)StatModifierInt.Luck] + Asda2BaseLuck);
     this.UpdateCritChance();
     UpdateAsda2DropChance();
     UpdateAsda2GoldAmount();
     UpdateCritDamageBonus();
 }
コード例 #4
0
 public void UpdateAsda2Agility()
 {
     Asda2Agility = UnitUpdates.GetMultiMod(FloatMods[(int)StatModifierFloat.Agility], IntMods[(int)StatModifierInt.Agility] + Asda2BaseAgility);
     this.UpdateCritChance();
     this.UpdateAllAttackTimes();
     this.UpdateDodgeChance();
     UpdateSpeedFactor();
     UpdateAsda2Defence();
     UpdateCritDamageBonus();
     this.UpdateMainDamage();
 }
コード例 #5
0
        protected internal virtual void UpdateMaxHealth()
        {
            /*var stamina = Stamina;
             * var uncontributed = StaminaWithoutHealthContribution;
             * var stamBonus = Math.Max(stamina, uncontributed) + (Math.Max(0, stamina - uncontributed) * HealthPerStamina);
             *
             * var value = BaseHealth + stamBonus + MaxHealthModFlat;
             * value += (int)(value * MaxHealthModScalar + 0.5f);*/

            MaxHealth = (int)UnitUpdates.GetMultiMod(FloatMods[(int)StatModifierFloat.Health], IntMods[(int)StatModifierInt.Health] + BaseHealth + CharacterFormulas.CalculateHealthBonus(Level, Asda2Strength, Asda2Stamina, Class));

            this.UpdateHealthRegen();
        }
コード例 #6
0
        public void UpdateSpeedFactor()
        {
            var bns = CharacterFormulas.CalcSpeedBonus(Level, Class, Asda2Agility);

            if (bns > 1)
            {
                bns = 1;
            }
            SpeedFactor = UnitUpdates.GetMultiMod(FloatMods[(int)StatModifierFloat.Speed] + bns, DefaultSpeedFactor);
            var chr = this as Character;

            if (chr != null)
            {
                GlobalHandler.SendSpeedChangedResponse(chr.Client);
            }
        }
コード例 #7
0
 protected override void Apply()
 {
     m_aura.Auras.Owner.MountSpeedMod = UnitUpdates.GetMultiMod(val = EffectValue / 100f, m_aura.Auras.Owner.MountSpeedMod);
 }
コード例 #8
0
 protected override void Apply()
 {
     this.m_aura.Auras.Owner.SwimSpeedFactor =
         UnitUpdates.GetMultiMod(this.val    = (float)this.EffectValue / 100f,
                                 this.m_aura.Auras.Owner.SwimSpeedFactor);
 }
コード例 #9
0
 public void UpdateAsda2Defence()
 {
     Asda2Defence = UnitUpdates.GetMultiMod(FloatMods[(int)StatModifierFloat.Asda2Defence], IntMods[(int)StatModifierInt.Asda2Defence] + CharacterFormulas.ClaculateDefenceBonus(Level, Class, Asda2Agility));
 }
コード例 #10
0
 protected override void Remove(bool cancelled)
 {
     this.m_aura.Auras.Owner.MountSpeedMod =
         UnitUpdates.GetMultiMod(-this.val, this.m_aura.Auras.Owner.MountSpeedMod);
 }
コード例 #11
0
 public void UpdateAsda2ExpAmount()
 {
     Asda2ExpAmountBoost = UnitUpdates.GetMultiMod(FloatMods[(int)StatModifierFloat.Asda2ExpAmount], 1f);
 }
コード例 #12
0
 public void UpdateAsda2GoldAmount()
 {
     Asda2GoldAmountBoost = UnitUpdates.GetMultiMod(FloatMods[(int)StatModifierFloat.Asda2GoldAmount] + CharacterFormulas.CalculateGoldAmountDropBoost(Level, Class, Asda2Luck), 1f);
 }
コード例 #13
0
 public void UpdateAsda2DropChance()
 {
     Asda2DropChance = UnitUpdates.GetMultiMod(FloatMods[(int)StatModifierFloat.Asda2DropChance] + CharacterFormulas.CalculateDropChanceBoost(Asda2Luck), 1f);
 }
コード例 #14
0
 public void UpdateAsda2MagicDefence()
 {
     Asda2MagicDefence = UnitUpdates.GetMultiMod(FloatMods[(int)StatModifierFloat.Asda2MagicDefence], IntMods[(int)StatModifierInt.Asda2MagicDefence] + CharacterFormulas.CalculateMagicDefencePointsBonus(Level, Class, Asda2Spirit));
 }
コード例 #15
0
 protected override void Remove(bool cancelled)
 {
     m_aura.Auras.Owner.SwimSpeedFactor =
         UnitUpdates.GetMultiMod(-val, m_aura.Auras.Owner.SwimSpeedFactor);
 }
コード例 #16
0
 protected override void Apply()
 {
     m_aura.Auras.Owner.SwimSpeedFactor =
         UnitUpdates.GetMultiMod(val    = EffectValue / 100f,
                                 m_aura.Auras.Owner.SwimSpeedFactor);
 }
コード例 #17
0
 public void UpdateAsda2Intellect()
 {
     Asda2Intellect = UnitUpdates.GetMultiMod(FloatMods[(int)StatModifierFloat.Intelect], IntMods[(int)StatModifierInt.Intellect] + Asda2BaseIntellect);
     this.UpdateMainDamage();
     UpdateCritDamageBonus();
 }
コード例 #18
0
 protected override void Apply()
 {
     this.m_aura.Auras.Owner.MountSpeedMod = UnitUpdates.GetMultiMod(this.val = (float)this.EffectValue / 100f,
                                                                     this.m_aura.Auras.Owner.MountSpeedMod);
 }
コード例 #19
0
 public void UpdateAsda2Stamina()
 {
     Asda2Stamina = UnitUpdates.GetMultiMod(FloatMods[(int)StatModifierFloat.Stamina], IntMods[(int)StatModifierInt.Stamina] + Asda2BaseStamina);
     UpdateMaxHealth();
 }