monster, will now always restore a minimum of 1 HP.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9434 c06c8d41-db1a-0410-9941-cceddc491573
CXYBEFBYW6CN3LSMEFZH3WOM2WB2BFBNGGM6XZAEP2ZQ47D6JGGQC
COHDB6NTJBP6XS4R653AXJ3OG6QZ5QEBUF4ADEAMVIGK4LYQZWZAC
KNPYFBNK3GESOQDGE2HH2EMUBQQIHUFYL6RQW2EFHCN2O2UGWDKAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
int inflicted = 3 + random2avg(9, 2) + random2(pow) / 7;
int hp_gain = 3 + random2avg(9, 2) + random2(pow) / 7;
inflicted = std::min(monster->hit_points, inflicted); inflicted = std::min(you.hp_max - you.hp, inflicted);
inflicted = std::min(monster->hit_points, inflicted);
inflicted = std::min(you.hp_max - you.hp, inflicted);
hp_gain = std::min(monster->hit_points, hp_gain); hp_gain = std::min(you.hp_max - you.hp, hp_gain);
hp_gain = std::min(monster->hit_points, hp_gain);
hp_gain = std::min(you.hp_max - you.hp, hp_gain);
if (inflicted == 0)
if (hp_gain == 0)
mprf("You feel life coursing from %s into your body!", monster->name(DESC_NOCAP_THE).c_str());
mprf("You feel life coursing from %s into your body!",
monster->name(DESC_NOCAP_THE).c_str());
monster->hurt(&you, inflicted);
monster->hurt(&you, hp_gain);
hp_gain /= 2;
inc_hp(inflicted / 2, false);
if (hp_gain) { mprf("You feel life coursing from %s into your body!", monster->name(DESC_NOCAP_THE).c_str()); inc_hp(hp_gain, false); }
if (hp_gain)
{
inc_hp(hp_gain, false);
}