Fixes damage calculation,

This commit is contained in:
Deukhoofd 2020-08-17 18:23:13 +02:00
parent 3baabe6d79
commit f3721ad2a5
Signed by: Deukhoofd
GPG Key ID: F63E044490819F6F
1 changed files with 2 additions and 2 deletions

View File

@ -8,7 +8,7 @@ using HitData = const CreatureLib::Battling::ExecutingAttack::HitData;
uint32_t PkmnLib::Battling::DamageLibrary::GetDamage(CreatureLib::Battling::ExecutingAttack* attack,
CreatureLib::Battling::Creature* target, uint8_t hitIndex,
const HitData& hitData) const {
auto levelMod = static_cast<float>(2 * attack->GetUser()->GetLevel());
auto levelMod = static_cast<float>(2 * attack->GetUser()->GetLevel()) / 5;
auto bp = hitData.GetBasePower();
auto statMod = GetStatModifier(attack, target, hitIndex, hitData);
auto damageMod = GetDamageModifier(attack, target, hitIndex, hitData);
@ -18,7 +18,7 @@ uint32_t PkmnLib::Battling::DamageLibrary::GetDamage(CreatureLib::Battling::Exec
uint32_t damage;
if (floatDamage < 0) {
damage = 0;
} else if (floatDamage > (float)UINT32_MAX) {
} else if (floatDamage >= (float)UINT32_MAX) {
damage = UINT32_MAX;
} else { // TODO: C++ 20 - add [[likely]] attribute when supported by both gcc and Clang
damage = static_cast<uint32_t>(floatDamage);