summaryrefslogtreecommitdiff
path: root/src/game-server/being.cpp
diff options
context:
space:
mode:
authorPhilipp Sehmisch <crush@themanaworld.org>2009-12-28 00:01:43 +0100
committerPhilipp Sehmisch <crush@themanaworld.org>2009-12-28 00:01:43 +0100
commitfb40a49b93fce0a6f25d04c651383adda80c7fd7 (patch)
tree15ebaed6ca89f7adcfa09bcd4f4be27f58f8f25f /src/game-server/being.cpp
parent71112c8d1bc6d7f0e46868683110088e914c2fe9 (diff)
downloadmanaserv-fb40a49b93fce0a6f25d04c651383adda80c7fd7.tar.gz
manaserv-fb40a49b93fce0a6f25d04c651383adda80c7fd7.tar.bz2
manaserv-fb40a49b93fce0a6f25d04c651383adda80c7fd7.tar.xz
manaserv-fb40a49b93fce0a6f25d04c651383adda80c7fd7.zip
Nerfed HP regeneration by disabling it while in combat.
Diffstat (limited to 'src/game-server/being.cpp')
-rw-r--r--src/game-server/being.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/game-server/being.cpp b/src/game-server/being.cpp
index 40ef25ef..4cdbe820 100644
--- a/src/game-server/being.cpp
+++ b/src/game-server/being.cpp
@@ -85,13 +85,17 @@ int Being::damage(Actor *, const Damage &damage)
break;
}
- if (HPloss < 0) HPloss = 0;
-
- mHitsTaken.push_back(HPloss);
- Attribute &HP = mAttributes[BASE_ATTR_HP];
- LOG_DEBUG("Being " << getPublicID() << " suffered "<<HPloss<<" damage. HP: "<<HP.base + HP.mod<<"/"<<HP.base);
- HP.mod -= HPloss;
- if (HPloss != 0) modifiedAttribute(BASE_ATTR_HP);
+ if (HPloss > 0)
+ {
+ mHitsTaken.push_back(HPloss);
+ Attribute &HP = mAttributes[BASE_ATTR_HP];
+ LOG_DEBUG("Being " << getPublicID() << " suffered "<<HPloss<<" damage. HP: "<<HP.base + HP.mod<<"/"<<HP.base);
+ HP.mod -= HPloss;
+ modifiedAttribute(BASE_ATTR_HP);
+ setTimerSoft(T_B_HP_REGEN, 50); // no HP regen for 5 seconds after being hit
+ } else {
+ HPloss = 0;
+ }
return HPloss;
}