Pelf

Pelf druid attackpower 1

May 16th, 2012
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.96 KB | None | 0 0
  1. diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cpp
  2. index 48162e4..77d38b9 100755
  3. --- a/src/server/game/Entities/Unit/StatSystem.cpp
  4. +++ b/src/server/game/Entities/Unit/StatSystem.cpp
  5. @@ -377,14 +377,14 @@ void Player::UpdateAttackPowerAndDamage(bool ranged)
  6.                  switch (GetShapeshiftForm())
  7.                  {
  8.                      case FORM_CAT:
  9. -                        val2 = getLevel() * 2.0f + GetStat(STAT_STRENGTH) * 2.0f + GetStat(STAT_AGILITY) * 2.0f - 20.0f + m_baseFeralAP;
  10. +                        val2 = getLevel() * 2.0f + GetStat(STAT_STRENGTH) * 2.0f + GetStat(STAT_AGILITY) * 2.0f - 20.0f;
  11.                          break;
  12.                      case FORM_BEAR:
  13.                      case FORM_DIREBEAR:
  14. -                        val2 = getLevel() * 3.0f + GetStat(STAT_STRENGTH) * 2.0f + GetStat(STAT_AGILITY) * 2.0f - 20.0f + m_baseFeralAP;
  15. +                        val2 = getLevel() * 3.0f + GetStat(STAT_STRENGTH) * 2.0f + GetStat(STAT_AGILITY) * 2.0f - 20.0f;
  16.                          break;
  17.                      case FORM_MOONKIN:
  18. -                        val2 = getLevel() * 1.5f + GetStat(STAT_STRENGTH) * 2.0f - 20.0f + m_baseFeralAP;
  19. +                        val2 = getLevel() * 1.5f + GetStat(STAT_STRENGTH) * 2.0f - 20.0f;
  20.                          break;
  21.                      default:
  22.                          val2 = GetStat(STAT_STRENGTH) * 2.0f - 20.0f;
  23. @@ -486,26 +486,18 @@ void Player::UpdateShieldBlockValue()
  24.  void Player::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bool addTotalPct, float& min_damage, float& max_damage)
  25.  {
  26.      UnitMods unitMod;
  27. -    UnitMods attPower_pos;
  28. -    UnitMods attPower_neg;
  29.  
  30.      switch(attType)
  31.      {
  32.          case BASE_ATTACK:
  33.          default:
  34.              unitMod = UNIT_MOD_DAMAGE_MAINHAND;
  35. -            attPower_pos = UNIT_MOD_ATTACK_POWER_POS;
  36. -            attPower_neg = UNIT_MOD_ATTACK_POWER_NEG;
  37.              break;
  38.          case OFF_ATTACK:
  39.              unitMod = UNIT_MOD_DAMAGE_OFFHAND;
  40. -            attPower_pos = UNIT_MOD_ATTACK_POWER_POS;
  41. -            attPower_neg = UNIT_MOD_ATTACK_POWER_NEG;
  42.              break;
  43.          case RANGED_ATTACK:
  44.              unitMod = UNIT_MOD_DAMAGE_RANGED;
  45. -            attPower_pos = UNIT_MOD_ATTACK_POWER_RANGED_POS;
  46. -            attPower_neg = UNIT_MOD_ATTACK_POWER_RANGED_NEG;
  47.              break;
  48.      }
  49.  
  50. @@ -521,12 +513,16 @@ void Player::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bo
  51.  
  52.      if (IsInFeralForm())                                    //check if player is druid and in cat or bear forms
  53.      {
  54. -        uint8 lvl = getLevel();
  55. -        if (lvl > 60)
  56. -            lvl = 60;
  57. -
  58. -        weapon_mindamage = lvl*0.85f*att_speed;
  59. -        weapon_maxdamage = lvl*1.25f*att_speed;
  60. +       if (GetShapeshiftForm() == FORM_CAT)
  61. +       {
  62. +           weapon_mindamage = weapon_mindamage / GetAPMultiplier(attType, true) * 1.0f;
  63. +           weapon_maxdamage = weapon_maxdamage / GetAPMultiplier(attType, true) * 1.0f;
  64. +       }
  65. +       else if (GetShapeshiftForm() == FORM_BEAR)
  66. +       {
  67. +           weapon_mindamage = weapon_mindamage / GetAPMultiplier(attType, true) * 2.5f;
  68. +           weapon_maxdamage = weapon_maxdamage / GetAPMultiplier(attType, true) * 2.5f;
  69. +       }        
  70.      }
  71.      else if (!CanUseAttackType(attType))      //check if player not in form but still can't use (disarm case)
  72.      {
  73. @@ -540,11 +536,6 @@ void Player::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bo
  74.          weapon_mindamage = BASE_MINDAMAGE;
  75.          weapon_maxdamage = BASE_MAXDAMAGE;
  76.      }
  77. -    else if (attType == RANGED_ATTACK)                       //add ammo DPS to ranged damage
  78. -    {
  79. -        weapon_mindamage += GetAmmoDPS() * att_speed;
  80. -        weapon_maxdamage += GetAmmoDPS() * att_speed;
  81. -    }
  82.  
  83.      min_damage = ((base_value + weapon_mindamage) * base_pct + total_value) * total_pct;
  84.      max_damage = ((base_value + weapon_maxdamage) * base_pct + total_value) * total_pct;
Advertisement
Add Comment
Please, Sign In to add comment