git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6064 c06c8d41-db1a-0410-9941-cceddc491573
7RDIBNLUIBTAYOJXJ5Q3DOW3MKKYXBAA3Q4G4QE74KJL23NW6C7AC
4LYEUWWWOR7IEPIZZKPE6RGDRNVRRPOSJDUUAUYFJEN4B65MNTZAC
XB3J2T3DIINYWEBKVIFE426FQ3VOCE7BQDDFPAPLJFLXEKHKSAZQC
A4A2EM75B3AIPYFLGZGTGKJEM72UBMOJK4STS47YARXIJMEC6G7AC
QEPTJOPJFKTXH27KOHY7DMQSMTXWAM57OPL3Y7WYE4X2OFMZE5IAC
KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC
GN333G64BJJSMYTTXVADZ6IPA3CC3ALVZ6TFGBFYYTED5HYM2MFQC
XKWPTINAGPP4MXVIIYFOGQZPK53KSDZ4VZHVORJBOXC7XB3WUCLQC
QNQHEILZ3S365ZANMX6PDT3IDMMSXHXRDVWI4HEBA5AMSOIRMQIAC
WPWQO7BWPJHMAWU7FUJE5VZDZV66365DLBLLK64T557E7NDEMKXQC
MDSFNRPBJ2SXDV22NZDCO7B3X2H3IOG6WMBTKDKV7BKBGTEIDTSQC
GPEJOT73KMACP33IPAKFR5ROGHCOIP22VXZMQNYTGLEA2OSZUM2AC
UWHZCQPPWGEJXWES63STKGH4L65LTS35RQUXUL7CCCROQBLHHNZQC
MKI4RE5PG2PMI5XJ4QQNCKMX67E3XL3LTNPRMSCBP4RZFJTBO74QC
NIJDQAJEWQIYKPDWIXYCCT4JIWVE6CWJ3J3K4N5PPGHWENGNZZXQC
4SWAT5KCKQV527NKELAXFQ5XA4Q5HONQXD4VBXMUZNPVPQKPCPNAC
OJKUO2UJ2O2MUITGVQNF3BQITGVYE3XK6QTG7XW6OYPJ4YFWCFQQC
73URNFZM2NNHOTIYX6RAUXJ27LYPA6K3XA3OOSHGNGAR4KPQJSTAC
X4F566X6Y4CWBMYPU547QSHGEOGUH6QDPNRBJVQ4CRJFFICJNCYAC
3XL4DKV7PSWAU3ZBJSKZFJ2VUYABC47I7KKWGIRCJYXULQD453MQC
22YVHM74WBJNJE4PA5CBEUTDWM6FAGGGILI26A4LXAURX55TNRKAC
OTNE6MGPNEJRKXEC36SEFYFZOHD3GPOQZGZC7DBYFG6W5JQ345KQC
NMZFCCM6O3KO2GJWKOSULN27B3QIZKWPBOB62PAILXMRQD4JMIMAC
K64KYSPAKMNST3HQU25PF5BLVBC2I556MLBWUL7H7GHWKBGAUJIAC
TS7AQYZVJ5KEACP4MZPD6CTASY27O75U6KL3BYXYDEQZXFGQIJSQC
monster_type *monster = new monster_type[numdemons];
bool *is_demonic = new bool[numdemons];
for (int i = 0; i < numdemons; ++i)
{
monster[i] = xom_random_demon(sever);
is_demonic[i] = (mons_class_holiness(monster[i]) == MH_DEMONIC);
// If it's not a demon, Xom got it someplace else, so use
// different messages and give it a chance of being hostile
// below.
if (!is_demonic[i])
numdifferent++;
}
monster_type mon = xom_random_demon(sever);
const bool is_demonic = (mons_class_holiness(mon) == MH_DEMONIC);
// If it's not a demon, Xom got it someplace else, so use
// different messages below.
if (!is_demonic)
numdifferent++;
summons[i] =
create_monster(
mgen_data(mon, BEH_FRIENDLY, 3,
you.pos(), you.pet_target, MG_FORCE_BEH, GOD_XOM));
if (summons[i] != -1)
if (create_monster(
mgen_data(monster[i], BEH_FRIENDLY, 3,
you.pos(), you.pet_target, 0, GOD_XOM)) != -1)
{
if (success)
{
if (numdifferent == numdemons)
god_speaks(GOD_XOM, _get_xom_speech("multiple holy summons"));
else if (numdifferent > 0)
god_speaks(GOD_XOM, _get_xom_speech("multiple mixed summons"));
else
god_speaks(GOD_XOM, _get_xom_speech("multiple summons"));
for (int i = 0; i < numdemons; ++i)
{
if (summons[i] != -1 && hostiletype != 0
&& numdifferent != numdemons && numdifferent > 0)
if (hostiletype != 0 && numdifferent != numdemons
&& numdifferent > 0)
if (different)
god_speaks(GOD_XOM, _get_xom_speech("single holy summon"));
else
god_speaks(GOD_XOM, _get_xom_speech("single summon"));
canned_msg(MSG_NOTHING_HAPPENS);
}
player_angers_monster(&menv[summons]);
done = true;
}
done = true;
if (!is_demonic)
different = true;
bool different = !is_demonic;
if (different)
god_speaks(GOD_XOM, _get_xom_speech("single major holy summon"));
else
god_speaks(GOD_XOM, _get_xom_speech("single demon summon"));
if (different)
god_speaks(GOD_XOM, _get_xom_speech("single major holy summon"));
else
god_speaks(GOD_XOM, _get_xom_speech("single demon summon"));
canned_msg(MSG_NOTHING_HAPPENS);
}