/// <summary> /// 受傷 /// </summary> /// <param name="damage">傷害</param> public void Hit(float damage) { int dmg = (int)damage; hp -= dmg; hpMpManager.UpdateHpBar(hp, data.hpMax); StartCoroutine(hpMpManager.ShowValue(dmg, "-", Vector3.one, Color.white)); if (hp <= 0) { Dead(); } }
/// <summary> /// 受傷 /// </summary> /// <param name="damage"></param> public void Hit(float damage) { float dmg = damage * (1 - data.armor); // 減傷後的傷害 int dmgValue = (int)dmg; // 把浮點樹轉整數(無條件捨去) hp -= dmgValue; StartCoroutine(hpMpManager.ShowValue(dmgValue, "-", Vector3.one, Color.white)); if (hp <= 0) { Dead(); } }
/// <summary> /// 受傷 /// </summary> /// <param name="damage">傷害</param> public void Hit(float damage) { if (property == "fire" && Player.property == "water" | property == "water" && Player.property == "wood" | property == "wood" && Player.property == "fire" | property == "light" && Player.property == "dark" | property == "dark" && Player.property == "light" ) { value = damage * 1.25f; } else if (property == "fire" && Player.property == "wood" | property == "wood" && Player.property == "water" | property == "water" && Player.property == "fire" | property == "dark" && Player.property == "light" | property == "light" && Player.property == "dark" ) { value = damage * 0.75f; } else { value = damage; } int dmg = (int)value; hp -= dmg; hpMpManager.UpdateHpBar(hp, data.hpMax); StartCoroutine(hpMpManager.ShowValue(dmg, "-", Vector3.one, Color.white)); if (hp <= 0) { Dead(); } }