Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cpp
- index 48162e4..77d38b9 100755
- --- a/src/server/game/Entities/Unit/StatSystem.cpp
- +++ b/src/server/game/Entities/Unit/StatSystem.cpp
- @@ -377,14 +377,14 @@ void Player::UpdateAttackPowerAndDamage(bool ranged)
- switch (GetShapeshiftForm())
- {
- case FORM_CAT:
- - val2 = getLevel() * 2.0f + GetStat(STAT_STRENGTH) * 2.0f + GetStat(STAT_AGILITY) * 2.0f - 20.0f + m_baseFeralAP;
- + val2 = getLevel() * 2.0f + GetStat(STAT_STRENGTH) * 2.0f + GetStat(STAT_AGILITY) * 2.0f - 20.0f;
- break;
- case FORM_BEAR:
- case FORM_DIREBEAR:
- - val2 = getLevel() * 3.0f + GetStat(STAT_STRENGTH) * 2.0f + GetStat(STAT_AGILITY) * 2.0f - 20.0f + m_baseFeralAP;
- + val2 = getLevel() * 3.0f + GetStat(STAT_STRENGTH) * 2.0f + GetStat(STAT_AGILITY) * 2.0f - 20.0f;
- break;
- case FORM_MOONKIN:
- - val2 = getLevel() * 1.5f + GetStat(STAT_STRENGTH) * 2.0f - 20.0f + m_baseFeralAP;
- + val2 = getLevel() * 1.5f + GetStat(STAT_STRENGTH) * 2.0f - 20.0f;
- break;
- default:
- val2 = GetStat(STAT_STRENGTH) * 2.0f - 20.0f;
- @@ -486,26 +486,18 @@ void Player::UpdateShieldBlockValue()
- void Player::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bool addTotalPct, float& min_damage, float& max_damage)
- {
- UnitMods unitMod;
- - UnitMods attPower_pos;
- - UnitMods attPower_neg;
- switch(attType)
- {
- case BASE_ATTACK:
- default:
- unitMod = UNIT_MOD_DAMAGE_MAINHAND;
- - attPower_pos = UNIT_MOD_ATTACK_POWER_POS;
- - attPower_neg = UNIT_MOD_ATTACK_POWER_NEG;
- break;
- case OFF_ATTACK:
- unitMod = UNIT_MOD_DAMAGE_OFFHAND;
- - attPower_pos = UNIT_MOD_ATTACK_POWER_POS;
- - attPower_neg = UNIT_MOD_ATTACK_POWER_NEG;
- break;
- case RANGED_ATTACK:
- unitMod = UNIT_MOD_DAMAGE_RANGED;
- - attPower_pos = UNIT_MOD_ATTACK_POWER_RANGED_POS;
- - attPower_neg = UNIT_MOD_ATTACK_POWER_RANGED_NEG;
- break;
- }
- @@ -521,12 +513,16 @@ void Player::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bo
- if (IsInFeralForm()) //check if player is druid and in cat or bear forms
- {
- - uint8 lvl = getLevel();
- - if (lvl > 60)
- - lvl = 60;
- -
- - weapon_mindamage = lvl*0.85f*att_speed;
- - weapon_maxdamage = lvl*1.25f*att_speed;
- + if (GetShapeshiftForm() == FORM_CAT)
- + {
- + weapon_mindamage = weapon_mindamage / GetAPMultiplier(attType, true) * 1.0f;
- + weapon_maxdamage = weapon_maxdamage / GetAPMultiplier(attType, true) * 1.0f;
- + }
- + else if (GetShapeshiftForm() == FORM_BEAR)
- + {
- + weapon_mindamage = weapon_mindamage / GetAPMultiplier(attType, true) * 2.5f;
- + weapon_maxdamage = weapon_maxdamage / GetAPMultiplier(attType, true) * 2.5f;
- + }
- }
- else if (!CanUseAttackType(attType)) //check if player not in form but still can't use (disarm case)
- {
- @@ -540,11 +536,6 @@ void Player::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bo
- weapon_mindamage = BASE_MINDAMAGE;
- weapon_maxdamage = BASE_MAXDAMAGE;
- }
- - else if (attType == RANGED_ATTACK) //add ammo DPS to ranged damage
- - {
- - weapon_mindamage += GetAmmoDPS() * att_speed;
- - weapon_maxdamage += GetAmmoDPS() * att_speed;
- - }
- min_damage = ((base_value + weapon_mindamage) * base_pct + total_value) * total_pct;
- max_damage = ((base_value + weapon_maxdamage) * base_pct + total_value) * total_pct;
Advertisement
Add Comment
Please, Sign In to add comment