hunger level affect their stat recovery rate similarly to how it affects their healing rate.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9206 c06c8d41-db1a-0410-9941-cceddc491573
XK4CDODDJ53YHEU3AHCVSLKSDWACNMM347IIANAGW66YTTCWIWKQC
YIAIPVL7L3SWNSJIOO2MYLJ5HONKP6EDPW2GDJWQIG34DQBIJA5AC
P2ZCF3BBG523ZEOD6XQA4X5YEHBTWH3IM33YVHXP2SQ5POXZIH4QC
6PNVX6Q45HH733TZDXYBA6BYPJKDMND5BA4N2MP6HA3QVNCEPN2QC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
HQ5FYPDFIQNNDMKDSGWAAXYIVIRK42B4OBA2LESP2OA5SPKSTLVQC
S6ADNAPM545WP3FRHCU6UWKX5VEMY5TPSIZYSZ3XE76VCBTVIN5QC
BPZF2HJ53ACONE2EUFZO7QT3OLOOCCIHOBS47CGAHZA3XRC47MIQC
F7Q7QRZACTDPP6KH3AB5J6B6B5PRVV4FURTOIGXHRHWNVSQT3TVAC
QHAYBZTRPVJMK55WXT3F63CNRSAEVN3CQAAG42GCJTONLXQLNNNQC
HIRKGUMNJPWKSVTR6TVBPD3MWNA63CEHCLCIPWEMGDFHVB3NPLDQC
break;
case HS_NEAR_STARVING:
case HS_VERY_HUNGRY:
case HS_HUNGRY:
// Halved if hungry.
else if (you.hunger_state == HS_ENGORGED)
// More bonus regeneration for engorged vampires.
rr += 20;
else if (you.hunger_state <= HS_HUNGRY)
// Halved regeneration for hungry vampires.
break;
case HS_SATIATED:
// No effect at standard hunger.
break;
case HS_FULL:
case HS_VERY_FULL:
// Bonus for being full.
else if (you.hunger_state >= HS_FULL)
// Bonus regeneration for full vampires.
break;
case HS_ENGORGED:
// Bigger bonus for being engorged.
rr += 20;
break;
}
// With slow healing 3, you have no stat recovery.
if (x_chance_in_y(3 - player_mutation_level(MUT_SLOW_HEALING), 3))
bool recovery = true;
// The better-fed you are, the faster your stat recovery.
if (you.species == SP_VAMPIRE)
{
if (you.hunger_state == HS_STARVING)
// No stat recovery for starving vampires.
recovery = false;
else if (you.hunger_state <= HS_HUNGRY)
// Halved stat recovery for hungry vampires.
recovery = coinflip();
}
// Slow heal mutation. Applied last.
// Each level reduces your stat recovery by one third.
if (recovery)
{
recovery =
x_chance_in_y(3 - player_mutation_level(MUT_SLOW_HEALING), 3);
}
if (recovery)