git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2632 c06c8d41-db1a-0410-9941-cceddc491573
TO3JMTZO6ETZWBXPA75JLCFD7ML546WXBRLWHPKL44ZIQ2H5HW6QC
int demontype;
const int roll = random2(1000 - (27 - you.experience_level) * 10);
#ifdef DEBUG_DIAGNOSTICS
mprf(MSGCH_DIAGNOSTICS, "xom_random_demon: sever = %d, roll: %d",
sever, roll);
#endif
const demon_class_type dct =
roll >= 850 ? DEMON_GREATER :
roll >= 340 ? DEMON_COMMON :
DEMON_LESSER;
const monster_type demontype =
summon_any_demon(
use_greater_demons || dct != DEMON_GREATER? dct : DEMON_COMMON);
return (demontype);
}
{
// XXX Change the 20 if we add/remove demons!
// XXX Maybe we should use summon_any_demon() instead?
demontype = MONS_WHITE_IMP +
std::min(random2(random2(random2(sever))), 20);
// Don't make Green Deaths for non-poison-resistant characters.
} while ( demontype == MONS_GREEN_DEATH && !player_res_poison());
return demontype;
demon = xom_random_demon(sever);
while ((demon == MONS_HELLION
&& you.experience_level < 12
&& !one_chance_in(3 + (12 - you.experience_level) / 2)));
return (demon);
create_monster(MONS_WHITE_IMP + random2(random2(random2(std::min(sever,22)))),
4, BEH_HOSTILE, you.x_pos, you.y_pos,
MHITNOT, 250);
create_monster(
xom_random_punishment_demon(sever),
4, BEH_HOSTILE, you.x_pos, you.y_pos,
MHITNOT, 250);