Pelf

Pelf feral

Apr 26th, 2012
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.32 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 76f80b4..2a3975c 100644
  3. --- a/src/server/game/Entities/Unit/StatSystem.cpp
  4. +++ b/src/server/game/Entities/Unit/StatSystem.cpp
  5. @@ -375,57 +375,17 @@ void Player::UpdateAttackPowerAndDamage(bool ranged)
  6.                  break;
  7.              case CLASS_DRUID:
  8.              {
  9. -                // Check if Predatory Strikes is skilled
  10. -                float mLevelMult = 0.0f;
  11. -                float weapon_bonus = 0.0f;
  12. -                if (IsInFeralForm())
  13. -                {
  14. -                    Unit::AuraEffectList const& mDummy = GetAuraEffectsByType(SPELL_AURA_DUMMY);
  15. -                    for (Unit::AuraEffectList::const_iterator itr = mDummy.begin(); itr != mDummy.end(); ++itr)
  16. -                    {
  17. -                        AuraEffect* aurEff = *itr;
  18. -                        if (aurEff->GetSpellProto()->SpellIconID == 1563)
  19. -                        {
  20. -                            switch (aurEff->GetEffIndex())
  21. -                            {
  22. -                                case 0: // Predatory Strikes (effect 0)
  23. -                                    mLevelMult = CalculatePctN(1.0f, aurEff->GetAmount());
  24. -                                    break;
  25. -                                case 1: // Predatory Strikes (effect 1)
  26. -                                    if (Item* mainHand = m_items[EQUIPMENT_SLOT_MAINHAND])
  27. -                                    {
  28. -                                        // also gains % attack power from equipped weapon
  29. -                                        ItemPrototype const *proto = mainHand->GetProto();
  30. -                                        if (!proto)
  31. -                                            continue;
  32. -
  33. -                                        weapon_bonus = CalculatePctN(float(proto->getFeralBonus()), aurEff->GetAmount());
  34. -                                    }
  35. -                                    break;
  36. -                                default:
  37. -                                    break;
  38. -                            }
  39. -                        }
  40. -                    }
  41. -                }
  42. -
  43.                  switch (GetShapeshiftForm())
  44. -                {
  45. -                    case FORM_CAT:
  46. -                        val2 = getLevel() * (mLevelMult + 2.0f) + GetStat(STAT_STRENGTH) * 2.0f + GetStat(STAT_AGILITY) - 20.0f + weapon_bonus + m_baseFeralAP;
  47. -                        break;
  48. -                    case FORM_BEAR:
  49. -                    case FORM_DIREBEAR:
  50. -                        val2 = getLevel() * (mLevelMult + 3.0f) + GetStat(STAT_STRENGTH) * 2.0f - 20.0f + weapon_bonus + m_baseFeralAP;
  51. -                        break;
  52. -                    case FORM_MOONKIN:
  53. -                        val2 = getLevel() * (mLevelMult + 1.5f) + GetStat(STAT_STRENGTH) * 2.0f - 20.0f + m_baseFeralAP;
  54. -                        break;
  55. -                    default:
  56. -                        val2 = GetStat(STAT_STRENGTH) * 2.0f - 20.0f;
  57. -                        break;
  58. -                }
  59. -                break;
  60. +               {
  61. +                   case FORM_CAT:
  62. +                   case FORM_BEAR:
  63. +                       val2 = (level * 3.0f) + (GetStat(STAT_STRENGTH) * 2.0f - 20.0f) + (GetStat(STAT_AGILITY) * 2.0f - 20.0f);
  64. +                       break;
  65. +                   default:
  66. +                       val2 = (level * 3.0f) + (GetStat(STAT_STRENGTH) * 2.0f - 20.0f);
  67. +                       break;
  68. +               }
  69. +               break;
  70.              }
  71.              case CLASS_MAGE:
  72.                  val2 =  GetStat(STAT_STRENGTH) - 10.0f;
  73. @@ -522,30 +481,22 @@ void Player::UpdateShieldBlockValue()
  74.  void Player::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bool addTotalPct, float& min_damage, float& max_damage)
  75.  {
  76.      UnitMods unitMod;
  77. -    UnitMods attPower_pos;
  78. -    UnitMods attPower_neg;
  79.  
  80.      switch(attType)
  81.      {
  82.          case BASE_ATTACK:
  83.          default:
  84.              unitMod = UNIT_MOD_DAMAGE_MAINHAND;
  85. -            attPower_pos = UNIT_MOD_ATTACK_POWER_POS;
  86. -            attPower_neg = UNIT_MOD_ATTACK_POWER_NEG;
  87.              break;
  88.          case OFF_ATTACK:
  89.              unitMod = UNIT_MOD_DAMAGE_OFFHAND;
  90. -            attPower_pos = UNIT_MOD_ATTACK_POWER_POS;
  91. -            attPower_neg = UNIT_MOD_ATTACK_POWER_NEG;
  92.              break;
  93.          case RANGED_ATTACK:
  94.              unitMod = UNIT_MOD_DAMAGE_RANGED;
  95. -            attPower_pos = UNIT_MOD_ATTACK_POWER_RANGED_POS;
  96. -            attPower_neg = UNIT_MOD_ATTACK_POWER_RANGED_NEG;
  97.              break;
  98.      }
  99.  
  100. -    float att_speed = GetAPMultiplier(attType,normalized);
  101. +    float att_speed = GetAPMultiplier(attType,normalized);
  102.  
  103.      float base_value  = GetModifierValue(unitMod, BASE_VALUE) + GetTotalAttackPowerValue(attType)/ 14.0f * att_speed;
  104.      float base_pct    = GetModifierValue(unitMod, BASE_PCT);
  105. @@ -576,11 +518,6 @@ void Player::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bo
  106.          weapon_mindamage = BASE_MINDAMAGE;
  107.          weapon_maxdamage = BASE_MAXDAMAGE;
  108.      }
  109. -    else if (attType == RANGED_ATTACK)                       //add ammo DPS to ranged damage
  110. -    {
  111. -        weapon_mindamage += GetAmmoDPS() * att_speed;
  112. -        weapon_maxdamage += GetAmmoDPS() * att_speed;
  113. -    }
  114.  
  115.      min_damage = ((base_value + weapon_mindamage) * base_pct + total_value) * total_pct;
  116.      max_damage = ((base_value + weapon_maxdamage) * base_pct + total_value) * total_pct;
Advertisement
Add Comment
Please, Sign In to add comment