aboutsummaryrefslogtreecommitdiff
path: root/src/game/Pet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Pet.cpp')
-rw-r--r--src/game/Pet.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/game/Pet.cpp b/src/game/Pet.cpp
index e33fe6b7178..a2d0c3ddd32 100644
--- a/src/game/Pet.cpp
+++ b/src/game/Pet.cpp
@@ -537,17 +537,19 @@ void Pet::Update(uint32 diff)
{
case POWER_FOCUS:
Regenerate(POWER_FOCUS);
- m_regenTimer = 4000;
+ m_regenTimer += 4000 - diff;
+ if(!m_regenTimer) ++m_regenTimer;
break;
case POWER_ENERGY:
Regenerate(POWER_ENERGY);
- m_regenTimer = 2000;
+ m_regenTimer += 2000 - diff;
+ if(!m_regenTimer) ++m_regenTimer;
break;
default:
m_regenTimer = 0;
break;
}
- }
+ }
}
if(getPetType() != HUNTER_PET)
@@ -569,7 +571,7 @@ void Pet::Update(uint32 diff)
Creature::Update(diff);
}
-void Pet::Regenerate(Powers power)
+void Creature::Regenerate(Powers power)
{
uint32 curValue = GetPower(power);
uint32 maxValue = GetMaxPower(power);