and make sure the step counter is reset properly when falling through.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4732 c06c8d41-db1a-0410-9941-cceddc491573
35NWNQBNLDOHPPHMYA2722IIFGAA57LUN5NOZPRUFZBD5EVCSYCAC
CQD3RU44235F3CYFDZBC3JRT2H3AE7PXJNVBBMCRF65Q5LPA3EHQC
ZXYVKEDP7QYG66XFUCXXCKZXT7Z5OOEJWHICWOYAUZQ4SSLHIA4AC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
HXAKQLE5VFM3TREGGSFH362HVJPZ2NE5JCQUTMKD5YBZCS4JTU4AC
IDVXDTVLNXRKZ32SEMIDKW5OM2C2SI2XNQWHLRZN33GOOSGYQ5WQC
LC2XZTUD56PLARIGBTDXDPJIYJNMJU446GFDGLRIFD2I4F66L6TAC
DK362IHKSDADMUPD35NOTKM4WESQM37KG2PNOJRV2FGELDWULYPQC
// Remove negative afflictions.
switch (step)
{
// Remove confusion.
case 0:
if (you.duration[DUR_CONF])
{
success = true;
you.duration[DUR_CONF] = 0;
break;
}
step = 1;
// Deliberate fall through.
// Remove poisoning.
case 1:
if (you.duration[DUR_POISONING])
{
success = true;
you.duration[DUR_POISONING] = 0;
break;
}
step = 2;
// Deliberate fall through.
// Remove sickness.
case 2:
if (you.disease)
{
success = true;
you.disease = 0;
break;
}
step = 3;
// Deliberate fall through.
// Remove rotting.
case 3:
if (you.rotting)
{
success = true;
you.rotting = 0;
break;
}
step = 4;
// Deliberate fall through.
// Restore rotted HP.
case 4:
case 5:
if (player_rotted())
{
success = true;
unrot_hp(1 + random2(3));
break;
}
step++;
// Deliberate fall through.
default:
break;
}
if (success)
break;
type = 1;
// Deliberate fall through.
case 1: