aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Player/Player.cpp2
-rwxr-xr-xsrc/server/game/Entities/Unit/StatSystem.cpp8
2 files changed, 5 insertions, 5 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 1915e2094a7..ffa15d665be 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -8167,7 +8167,7 @@ void Player::_ApplyWeaponDamage(uint8 slot, ItemTemplate const* proto, ScalingSt
SetBaseWeaponDamage(attType, MAXDAMAGE, damage);
}
- if (proto->Delay)
+ if (proto->Delay && !IsInFeralForm())
{
if (slot == EQUIPMENT_SLOT_RANGED)
SetAttackTime(RANGED_ATTACK, apply ? proto->Delay: BASE_ATTACK_TIME);
diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cpp
index 33e78851c71..48aebc7d17e 100755
--- a/src/server/game/Entities/Unit/StatSystem.cpp
+++ b/src/server/game/Entities/Unit/StatSystem.cpp
@@ -428,13 +428,13 @@ void Player::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bo
{
if (GetShapeshiftForm() == FORM_CAT)
{
- weapon_mindamage = weapon_mindamage / att_speed;
- weapon_maxdamage = weapon_maxdamage / att_speed;
+ weapon_mindamage = weapon_mindamage / GetWeaponForAttack(BASE_ATTACK, true)->GetTemplate()->Delay / 1000;
+ weapon_maxdamage = weapon_maxdamage / GetWeaponForAttack(BASE_ATTACK, true)->GetTemplate()->Delay / 1000;
}
else if (GetShapeshiftForm() == FORM_BEAR)
{
- weapon_mindamage = weapon_mindamage / att_speed * 2.5f;
- weapon_maxdamage = weapon_maxdamage / att_speed * 2.5f;
+ weapon_mindamage = weapon_mindamage / GetWeaponForAttack(BASE_ATTACK, true)->GetTemplate()->Delay / 1000 + weapon_mindamage / 2.5;
+ weapon_maxdamage = weapon_mindamage / GetWeaponForAttack(BASE_ATTACK, true)->GetTemplate()->Delay / 1000 + weapon_maxdamage / 2.5;
}
}
else if (!CanUseAttackType(attType)) //check if player not in form but still can't use (disarm case)