fix(Core/Spells): Steady Shot now deals the correct damage when using Heirloom Weapons.

This commit is contained in:
IntelligentQuantum
2021-12-07 04:24:52 +03:30
committed by GitHub
parent 1b5c4d82db
commit 1f645099b6

View File

@@ -617,17 +617,17 @@ void Spell::EffectSchoolDMG(SpellEffIndex effIndex)
if (Player* caster = m_caster->ToPlayer())
{
// Add Ammo and Weapon damage plus RAP * 0.1
if (Item* item = caster->GetWeaponForAttack(RANGED_ATTACK))
float dmg_min = caster->GetWeaponDamageRange(RANGED_ATTACK, MINDAMAGE);
float dmg_max = caster->GetWeaponDamageRange(RANGED_ATTACK, MAXDAMAGE);
if (dmg_max == 0.0f && dmg_min > dmg_max)
{
ItemTemplate const* weaponTemplate = item->GetTemplate();
float dmg_min = weaponTemplate->Damage[0].DamageMin;
float dmg_max = weaponTemplate->Damage[0].DamageMax;
if (dmg_max == 0.0f && dmg_min > dmg_max)
damage += int32(dmg_min);
else
damage += irand(int32(dmg_min), int32(dmg_max));
damage += int32(caster->GetAmmoDPS() * weaponTemplate->Delay * 0.001f);
damage += int32(dmg_min);
}
else
{
damage += irand(int32(dmg_min), int32(dmg_max));
}
damage += int32(caster->GetAmmoDPS() * caster->GetAttackTime(RANGED_ATTACK) * 0.001f);
}
}
break;