aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/server/game/Entities/Unit/StatSystem.cpp22
1 files changed, 7 insertions, 15 deletions
diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cpp
index b6ce94cd39b..c77ea187eb3 100755
--- a/src/server/game/Entities/Unit/StatSystem.cpp
+++ b/src/server/game/Entities/Unit/StatSystem.cpp
@@ -932,17 +932,8 @@ bool Guardian::UpdateStats(Stats stat)
}
else if (stat == STAT_STAMINA)
{
- if (owner->getClass() == CLASS_WARLOCK && isPet())
- {
- ownersBonus = CalculatePctN(owner->GetStat(STAT_STAMINA), 75);
- value += ownersBonus;
- }
- else
- {
- mod = 0.45f;
- ownersBonus = float(owner->GetStat(stat)) * mod;
- value += ownersBonus;
- }
+ ownersBonus = CalculatePctN(owner->GetStat(STAT_STAMINA), 30);
+ value += ownersBonus;
}
//warlock's and mage's pets gain 30% of owner's intellect
else if (stat == STAT_INTELLECT)
@@ -1015,13 +1006,14 @@ void Guardian::UpdateArmor()
float bonus_armor = 0.0f;
UnitMods unitMod = UNIT_MOD_ARMOR;
- // hunter and warlock pets gain 35% of owner's armor value
- if (isPet())
- bonus_armor = float(CalculatePctN(m_owner->GetArmor(), 35));
+ // hunter pets gain 35% of owner's armor value, warlock pets gain 100% of owner's armor
+ if (isHunterPet())
+ bonus_armor = float(CalculatePctN(m_owner->GetArmor(), 70);
+ else if (isPet())
+ bonus_armor = m_owner->GetArmor();
value = GetModifierValue(unitMod, BASE_VALUE);
value *= GetModifierValue(unitMod, BASE_PCT);
- value += GetStat(STAT_AGILITY) * 2.0f;
value += GetModifierValue(unitMod, TOTAL_VALUE) + bonus_armor;
value *= GetModifierValue(unitMod, TOTAL_PCT);