summaryrefslogtreecommitdiffstats
path: root/src/object
diff options
context:
space:
mode:
Diffstat (limited to 'src/object')
-rw-r--r--src/object/task/taskrecover.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/object/task/taskrecover.cpp b/src/object/task/taskrecover.cpp
index af84099..d8bbafd 100644
--- a/src/object/task/taskrecover.cpp
+++ b/src/object/task/taskrecover.cpp
@@ -105,9 +105,11 @@ bool CTaskRecover::EventProcess(const Event &event)
if ( power != 0 )
{
energy = power->GetEnergy();
- power->SetEnergy(energy-ENERGY_RECOVER*event.rTime*m_speed);
+ energy -= event.rTime * ENERGY_RECOVER / power->GetCapacity() * m_speed;
+ power->SetEnergy(energy);
}
+
speed.x = (Math::Rand()-0.5f)*0.1f*m_progress;
speed.y = (Math::Rand()-0.5f)*0.1f*m_progress;
speed.z = (Math::Rand()-0.5f)*0.1f*m_progress;