git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7603 c06c8d41-db1a-0410-9941-cceddc491573
77TCDR7AO42VYBIYZYWRWFSX34MPZCNW6SLBREFZZZ5NBPXEKDFAC
BX4EENDIQAQSQLXXB7TUMZ7JJD5VP36FXRBOF5RCYCRTDLY56VGAC
24OJDQDWNWG7MSWMLHBRSJ7LESJQLAQTUTNWBDRLFK7O3WXGKQPQC
6CWMT6I76TMTHT7BVOVZJ7ATDMZ3VBKKICIRRZBOSGLHJMDS2DWQC
LCTIDY66EQSGW7G7O5PSN74SLTFT5JD4YIC5GPGYXUYI7MPBKSQAC
UISCFODQTHZG4576DDR4QCFOGGOIT4BQI7DTVBSMLKHANTE7D3IAC
3ZWALZFSTSIVYXY4BAY6ANGINTDACZC6RSSJTEMQSTSUIE66YOBQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC
QCBXSBZWASF2IGRWPE45IGR3MJQRK3RBQZYI336M76DO653TKE7QC
CMNLYUECIMEZSOYG4KOSINOPER5OM7PPCGIHCM7LQVWEO77XFUYQC
S34LKQDIQJLIWVIPASOJBBZ6ZCXDHP5KPS7TRBZJSCDRVNCLK6UAC
FIH3YBK7R2WLHKEHJCU3WSRAS5IHQJ3LL5QD5T3A326H3YW765WAC
GEELBQH44QMV53JU7NT6XZOCRD2CYFRC5T4L3S3GO2CDS7DE4IXAC
IIFSJJPQOWU4HBDPD2KQZ2Z6OU5NZY74ORPWCIFTDBVXN7SSTZMQC
W52PCSHX72WAMWKG6L4BPUBVMO6E72KYYBNKAA7554KNOTY6V7WQC
YCL3W2PFE6ILTGBFODCSXNPDIA46KVSZP2TI7HDMYAOEJT65RIEAC
L7LNOGIPMKCFARJWTLEGFFWX6W2KSXVPRPZ7V42XTGADYCJRLRCAC
else if (you.mutation[mutat] >= 3
&& mutat != MUT_STRONG && mutat != MUT_CLEVER
&& mutat != MUT_AGILE && mutat != MUT_WEAK
&& mutat != MUT_DOPEY && mutat != MUT_CLUMSY)
{
// Mutation level greater than allowed.
return (false);
}
// Mutation level greater than allowed for stat mutations.
if (you.mutation[mutat] >= 14 && !force_mutation)
return (false);
// breathe poison replaces spit poison (so it takes the slot)
for (int i = 0; i < 52; i++)
if (you.ability_letter_table[i] == ABIL_SPIT_POISON)
you.ability_letter_table[i] = ABIL_BREATHE_POISON;
// breathe poison replaces spit poison (so it takes the slot)
for (int i = 0; i < 52; ++i)
{
if (you.ability_letter_table[i] == ABIL_SPIT_POISON)
you.ability_letter_table[i] = ABIL_BREATHE_POISON;
int how_mutated(bool all, bool levels)
{
int j = 0;
for (int i = 0; i < NUM_MUTATIONS; i++)
{
if (you.mutation[i])
{
if (!all && you.demon_pow[i] >= you.mutation[i])
continue;
if (levels)
{
// These allow for 14 levels.
if (i == MUT_STRONG || i == MUT_CLEVER || i == MUT_AGILE
|| i == MUT_WEAK || i == MUT_DOPEY || i == MUT_CLUMSY)
{
j += (you.mutation[i] / 5 + 1);
}
else
j += you.mutation[i];
}
else
j++;
}
}
#if DEBUG_DIAGNOSTICS
mprf(MSGCH_DIAGNOSTICS, "how_mutated(): all = %u, levels = %u, j = %d",
all, levels, j);
#endif
return (j);
} // end how_mutated()
}
int how_mutated(bool all, bool levels)
{
int j = 0;
for (int i = 0; i < NUM_MUTATIONS; ++i)
{
if (you.mutation[i])
{
if (!all && you.demon_pow[i] >= you.mutation[i])
continue;
if (levels)
{
// These allow for 14 levels.
if (i == MUT_STRONG || i == MUT_CLEVER || i == MUT_AGILE
|| i == MUT_WEAK || i == MUT_DOPEY || i == MUT_CLUMSY)
{
j += (you.mutation[i] / 5 + 1);
}
else
j += you.mutation[i];
}
else
j++;
}
}
#if DEBUG_DIAGNOSTICS
mprf(MSGCH_DIAGNOSTICS, "how_mutated(): all = %u, levels = %u, j = %d",
all, levels, j);
#endif
return (j);