Allow him to randomly summon angels or daevas (on the grounds that they're misguided, curious, exiled from their usual god, etc.), with the same rarity as greater demons. Add appropriate introductory messages for this (from both me and dploog).
Remove "Xom the Psychopath" from his list of titles, and replace it with the older "Xom the Begetter of Discontinuities" for now.
Remove "Call Imp" from his list of spells that he can randomly make you cast, as he seems to summon enough minor demons through other means, which makes it an overlap (as the Summon Guardian and Summon Daeva "spells" would also be).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3696 c06c8d41-db1a-0410-9941-cceddc491573
QEPTJOPJFKTXH27KOHY7DMQSMTXWAM57OPL3Y7WYE4X2OFMZE5IAC
XDJGQNFELURGXMUAOOVALQMSLAJVHMG63KPKVA33HTJFVZROGZ4AC
IE3INS4WUXZOBVXB5VWRBYPVPXADD2U2W5H3TBTOYNWJ3EGRSGQQC
VO5CYD7Z4FYFDT6DGVBX6RT3PHLRSUJA6TWV3GPYVE7QCSJ3JEAAC
KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC
TO3JMTZO6ETZWBXPA75JLCFD7ML546WXBRLWHPKL44ZIQ2H5HW6QC
22YVHM74WBJNJE4PA5CBEUTDWM6FAGGGILI26A4LXAURX55TNRKAC
45CWQUPQHKUFUJ4MVL5K3KCVCCKLY2Z7RZWZ53UT723RV5STPSRAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
SPELL_CALL_IMP, SPELL_SUMMON_SCORPIONS, SPELL_FLY, SPELL_SPIDER_FORM,
SPELL_STATUE_FORM, SPELL_ICE_FORM, SPELL_DRAGON_FORM, SPELL_SWARM,
SPELL_SUMMON_WRAITHS, SPELL_SHADOW_CREATURES, SPELL_SUMMON_ELEMENTAL,
SPELL_SUMMON_SCORPIONS, SPELL_FLY, SPELL_SPIDER_FORM, SPELL_STATUE_FORM,
SPELL_ICE_FORM, SPELL_DRAGON_FORM, SPELL_SWARM, SPELL_SUMMON_WRAITHS,
SPELL_SHADOW_CREATURES, SPELL_SUMMON_ELEMENTAL,
};
static const char *xom_single_summons[] =
{
"\"Serve the mortal, my child!\"",
"\"Serve the toy, my child!\"",
"Xom opens a gate."
};
static const char *xom_single_diff_summons[] =
{
"\"Serve the mortal, my confused child!\"",
"\"Serve the toy, my child of exile!\"",
"Xom calls in a curious servant of another god.",
"Xom lures something onto this plane.",
"\"A toy for the toy!\"",
"\"I wonder which toy lasts longer.\"",
"Xom opens a gate."
};
static const char *xom_multiple_summons[] =
{
"\"Serve the mortal, my children!\"",
"Xom grants you some temporary aid.",
"Xom momentarily opens a gate."
};
static const char *xom_multiple_some_diff_summons[] =
{
"Xom calls in some mixed company.",
"\"Serve the toy, my motley children!\"",
"Xom sends help from the ranks of the outcast.",
"\"Oh, what a happy playground.\"",
"Xom manages to trick several beings into existence.",
"Xom snickers at the variety.",
"Xom momentarily opens several gates."
};
static const char *xom_multiple_all_diff_summons[] =
{
"Xom stirs up dislodged servants of other gods.",
"Xom summons wayward servants of other gods.",
"Xom tricks other gods for their servants.",
"\"Different god, different toy.\"",
"Xom momentarily opens a gate."
create_monster(xom_random_demon(sever), 3, BEH_GOD_GIFT,
you.x_pos, you.y_pos, you.pet_target,
MONS_PROGRAM_BUG);
monster_type mon = xom_random_demon(sever);
// If it's not a demon, Xom got it someplace else, so we use
// different messages below.
if (!mons_is_demon(mon))
numdifferent++;
create_monster(mon, 3, BEH_GOD_GIFT, you.x_pos, you.y_pos,
you.pet_target, MONS_PROGRAM_BUG);
if (create_monster(xom_random_demon(sever), 6, BEH_GOD_GIFT,
you.x_pos, you.y_pos, you.pet_target,
MONS_PROGRAM_BUG) != -1)
bool different = false;
monster_type mon = xom_random_demon(sever);
// If it's not a demon, Xom got it someplace else, so we use
// different messages below.
if (!mons_is_demon(mon))
different = true;
if (create_monster(mon, 6, BEH_GOD_GIFT, you.x_pos, you.y_pos,
you.pet_target, MONS_PROGRAM_BUG) != -1)
god_speaks(GOD_XOM, random_choose_string(
"\"Serve the mortal, my child!\"",
"\"Serve the toy, my child!\"",
"Xom opens a gate.", NULL));
if (different)
god_speaks(GOD_XOM, RANDOM_ELEMENT(xom_single_diff_summons));
else
god_speaks(GOD_XOM, RANDOM_ELEMENT(xom_single_summons));
"Xom the Psychotic", "Xom the Psychopath",
"Xom of Gnomic Intent", "Xom the Fickle",
"Xom of Unknown Intention", "The Xom-Meister",
"Xom the Begetter of Turbulence"
"Xom the Psychotic", "Xom of Gnomic Intent",
"Xom the Fickle", "Xom of Unknown Intention",
"The Xom-Meister", "Xom the Begetter of Turbulence",
"Xom the Begetter of Discontinuities"