diff options
author | Philipp Sehmisch <crush@themanaworld.org> | 2009-12-28 00:01:43 +0100 |
---|---|---|
committer | Philipp Sehmisch <crush@themanaworld.org> | 2009-12-28 00:01:43 +0100 |
commit | fb40a49b93fce0a6f25d04c651383adda80c7fd7 (patch) | |
tree | 15ebaed6ca89f7adcfa09bcd4f4be27f58f8f25f /src | |
parent | 71112c8d1bc6d7f0e46868683110088e914c2fe9 (diff) | |
download | manaserv-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')
-rw-r--r-- | src/game-server/being.cpp | 18 |
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; } |