Exemplo n.º 1
0
 /// <summary>
 /// 受到伤害
 /// </summary>
 /// <param name="damage">受到的伤害</param>
 public virtual void TakeDamages(Damage damage)
 {
     BaseNoArmorComponent armor = GetComponent<BaseNoArmorComponent>();
     Damage newDamage = armor.CalculateDamage(damage);
     this.hpComponent.LosePoint(newDamage.source, newDamage.realTotalDamage);
 }
Exemplo n.º 2
0
 /// <summary>
 /// 获取伤害数据结果
 /// </summary>
 /// <param name="source">源</param>
 /// <param name="target">目标</param>
 /// <returns></returns>
 public Damage GetAttackDamage(Character source, Character target)
 {
     Damage damage = new Damage(attacks.GetAttacks(), null, source, target);
     return damage;
 }
Exemplo n.º 3
0
 /// <summary>
 /// 计算护甲抵挡后的伤害,override
 /// </summary>
 /// <param name="damage">抵挡前的伤害</param>
 /// <returns>抵挡后的伤害</returns>
 public override Damage CalculateDamage(Damage damage)
 {
     for (int i = 0; i < damage.realDamages.Length; i++)
     {
         damage.realDamages[i] *= (damageModifiedValue) / (damageModifiedValue + Mathf.Max(Mathf.Min(armorList[i], maxArmor), minArmor));
     }
     return damage;
 }
Exemplo n.º 4
0
 /// <summary>
 /// 计算护甲抵挡后的伤害,override
 /// </summary>
 /// <param name="damage">抵挡前的伤害</param>
 /// <returns>抵挡后的伤害</returns>
 public override Damage CalculateDamage(Damage damage)
 {
     for (int i = 0; i < damage.realDamages.Length; i++)
     {
         damage.realDamages[i] -= Mathf.Max(Mathf.Min(armorList[i], maxArmor), minArmor);
     }
     return damage;
 }
Exemplo n.º 5
0
 /// <summary>
 /// 计算护甲抵挡后的伤害,virtual
 /// </summary>
 /// <param name="damage">抵挡前的伤害</param>
 /// <returns>抵挡后的伤害</returns>
 public virtual Damage CalculateDamage(Damage damage)
 {
     return damage;
 }