rendered paste bodyIndex: src/server/progressionmanager.cpp===================================================================--- src/server/progressionmanager.cpp (revision 5645)+++ src/server/progressionmanager.cpp (working copy)@@ -174,11 +174,10 @@ // Special check for DoT adjustments if the target died before the DoT expired if (history->damageRate != 0) {- csTicks duration = -int(history->damage/history->damageRate);+ csTicks duration = int(history->damage/history->damageRate); if (duration > timeOfDeath - history->timestamp) {- // Since damageRate should always be negative:- history->damage = -(history->damageRate * (timeOfDeath - history->timestamp));+ history->damage = (history->damageRate * (timeOfDeath - history->timestamp)); } } Index: src/server/gem.cpp===================================================================--- src/server/gem.cpp (revision 5645)+++ src/server/gem.cpp (working copy)@@ -2451,10 +2451,10 @@ DamageHistory* dmg = new DamageHistory(); dmg->attacker_ref = attacker; dmg->timestamp = csGetTicks();- dmg->damageRate = -hpRate;+ dmg->damageRate = hpRate; // Store the max theoretical DoT damage; AllocateKillDamage uses this // information to recover the duration and compute the actual damage.- dmg->damage = (-hpRate/1000) * duration;+ dmg->damage = (hpRate/1000) * duration; dmgHistory.Push(dmg); }