lethargic.")
Allow selection of "good random" choices for secondary choices, as well. Some of the main combinations might still have to be modified (Kenku Gladiator? really?) Apart from that, we're all set…
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6174 c06c8d41-db1a-0410-9941-cceddc491573
JPGW2YFZDRPAWPG4VAKOOB5SCJA2QSSLR5JJP7ULRBX3LLGI7PUAC
PO3IATZV4JX3I3522UAGF53ZLZ4FW7C2J32Z23PEWQVHGGEUO7SAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
S34LKQDIQJLIWVIPASOJBBZ6ZCXDHP5KPS7TRBZJSCDRVNCLK6UAC
77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC
GUXTGUEMZYBRGV5QUAQSJHG3AOIQDWWCDIMOX4LASFJAZVGL2WQAC
JJULXW764V5C2HJKZNWQAEWB6QM5YZADD7ZCE35LYTBFEM6PMYCAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
WTBQLBYFLQCF3NRAMB4Z2YA4MHYVFYI5YS7FXXBPICY2KCBA63AQC
VXSORUQOM2VZA4CAZDC6KPAY373NQIN3UT7CXQXTRCYXO2WM62DAC
3FRPKD2JSN7RA2HKWAO3XV7MMKCIAMWIMU6JNJ452VZEUSXM6PWQC
G5CA5STLILMQZO2ICHZTVTW76V6RMC7KWP4ELU7ANZBNXYSTWV7AC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
C2PRXJYHDRF2642VDAUY76HJKCPQFGWDI6AM3SMCMYCHGWYDQXQQC
JDM5R3HYGXKQKZWY35QZ2KOB24TFZ3FW2PCNXCRCMWG72AZC5ZXQC
if (Options.random_pick || keyin == '*')
keyin = random2(numbooks) + 'a';
if (Options.random_pick || keyin == '*' || keyin == '+')
{
int good_choices = 0;
if (keyin == '+' || Options.random_pick && Options.good_random)
{
for (int i = 0; i < numbooks; i++)
{
if (_book_restriction(i, summons_too) == CC_UNRESTRICTED
&& one_chance_in(++good_choices))
{
keyin = i;
}
}
}
if (!good_choices)
keyin = random2(numbooks) + 'a';
}
keyin = random2(num_choices);
int x = effective_stat_bonus(startwep[keyin]);
if (x > -2)
break;
for (int i = 0; i < num_choices; i++)
{
if (_weapon_restriction(startwep[keyin]) == CC_UNRESTRICTED
&& one_chance_in(++good_choices))
{
keyin = i;
}
}
keyin += 'a';
ng_weapon = WPN_RANDOM;
if (!good_choices)
{
// Still try to choose a decent weapon.
for (int times = 0; times < 50; times++)
{
keyin = random2(num_choices);
int x = effective_stat_bonus(startwep[keyin]);
if (x > -2)
break;
}
keyin += 'a';
}
choice = (coinflip() ? DK_NECROMANCY : DK_YREDELEMNUL);
ng_dk = DK_RANDOM;
ng_dk = DK_RANDOM;
if (Options.good_random && !_has_good_necromancy_apts())
choice = DK_YREDELEMNUL;
else
choice = (coinflip() ? DK_NECROMANCY : DK_YREDELEMNUL);
switch (you.species)
{
case SP_HUMAN:
case SP_DEEP_ELF:
case SP_SLUDGE_ELF:
case SP_KOBOLD:
case SP_NAGA:
case SP_OGRE_MAGE:
case SP_KENKU:
case SP_DEMONSPAWN:
case SP_MUMMY:
case SP_GHOUL:
case SP_VAMPIRE:
if (_has_good_necromancy_apts())