with the other unholy spells.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5600 c06c8d41-db1a-0410-9941-cceddc491573
RA7RDZC5P4OYMR4MKTBO463YCREXENESV2VTMWKIT4G4SBJHFGLQC
7KBQYZSNXBMQGEEOAZI6YU34XZ5ECFGTJA32QIJDZP2NYS3SF3IQC
Q2RIQRI7RB5G6EZNEMD2MLF4QUL4DS7J6TJQ7ZBICWAL2LDWHN6QC
EY6KXNVGJ5OWJQWBE3W5E4T625XZXUNJMXIEQLCZUAJASUK4KHMQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
GP7DDCLYNLI6SDXJJ7MH6XHXS5FGFM4SNL2J7J5DGE2EJOETJPHAC
SO6OPFUUGKUK24KOXKAPNXR334J7NG76F3Y7ZGC6H3XYSGWTWXWAC
ARUYZ6FYS52BELXCRNAU3EREQHTFTIGZWHZPL4OLKQRL6MFNMCHAC
MED2SJP7F7BIPCRUXOJRTELR3EOKRN5PFOO2LLMQOEIJLID3LTOAC
M3CHZA76JC34OROJ2A3HD5KBAFYMU3D7HYZPXT6UOD5DUNIDWT7QC
L5J2VB34AN7QGOSP5SVJ5FTXDVYCY34VHN3M6VLRGPBMPUHBNZQQC
QFHC4VZHHDG5PKLY7A263OJFT2OQ3MF2HX423AKINPRNR5UUT7LQC
WVIVA3M3ABBQTBYTCFE2W53IE4IZ223FBSQ6P7BACWKIJPYA66ZQC
RQIADBIESWPIW3Y6T7PQ7UH6PBH32ECSM65SM2DFVUEJME6P524AC
N3NXT75G2JYKVON7ZTE3TG34BBWITCL2HHVQ6H7QREYCDTVQFSGAC
VIDWXDHI4PJJ7EMJIYWZBNFKGEJTJLFFZBY5ER4M2ZJXLVWMV4BQC
UW6UG6U4J27IFH2472MBAU6BT7AUKO5YW7YOTYZ5KX4JRHUNORUAC
4TQTAIRCCA3BRVOUIQUIX3QIAXT3ZDAEQ7QV3SYOY76XINSSNWYAC
I67F2U3V27EIFFIEOTQN3G3NFT7PW2J7EHUMDEUC4BVNBMSJAPUQC
SZJGHYGJ5AAZDOAQ53LXGP2WKEMIZABCVVGDJMOOMHA7M5ZDT3YQC
5T56ZXHVBN4LBEOHZPRV65UNS2HJ7RX6AMU7GHNAJRAQ7QKECP5AC
PACHJJO52BZM5BCXAWPQGJKLIRFSKAY6SIXZQFTHJ2HQWFQS2MCAC
VBQODM6G5B35WWYGNT36EQDJFVTHMZB6CJWAFP3UQVD6NRUSKJAQC
KLCR26P7MSX4ZWIHQHRK7BZH7M2QGCITN46FCFVHNX7U7WQWYDAQC
3XL4DKV7PSWAU3ZBJSKZFJ2VUYABC47I7KKWGIRCJYXULQD453MQC
GPEJOT73KMACP33IPAKFR5ROGHCOIP22VXZMQNYTGLEA2OSZUM2AC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
// updated 24may2000 {dlb}
/* ***********************************************************************
* called from: spell - spells1
* *********************************************************************** */
bool summon_horrible_things(int pow, bool god_gift = false);
return (false);
}
bool summon_horrible_things(int pow, bool god_gift)
{
if (one_chance_in(3)
&& !lose_stat(STAT_INTELLIGENCE, 1, true, "summoning horrible things"))
{
mpr("Your call goes unanswered.");
return (false);
}
int how_many_small =
stepdown_value(2 + (random2(pow) / 10) + (random2(pow) / 10),
2, 2, 6, -1);
int how_many_big = 0;
// No more than 2 tentacled monstrosities.
while (how_many_small > 2 && how_many_big < 2 && one_chance_in(3))
{
how_many_small -= 2;
how_many_big++;
}
// No more than 8 summons.
how_many_small = std::min(8, how_many_small);
how_many_big = std::min(8, how_many_big);
int count = 0;
while (how_many_big > 0)
{
if (create_monster(
mgen_data(MONS_TENTACLED_MONSTROSITY, BEH_FRIENDLY, 6,
you.pos(), you.pet_target,
god_gift ? MF_GOD_GIFT : 0)) != -1)
{
count++;
}
how_many_big--;
}
while (how_many_small > 0)
{
if (create_monster(
mgen_data(MONS_ABOMINATION_LARGE, BEH_FRIENDLY, 6,
you.pos(), you.pet_target,
god_gift ? MF_GOD_GIFT : 0)) != -1)
{
count++;
}
how_many_small--;
}
if (count > 0)
{
mprf("Some Thing%s answered your call!",
(count > 1) ? "s" : "");
return (true);
}
mpr("Your call goes unanswered.");
}
bool summon_horrible_things(int pow, bool god_gift)
{
if (one_chance_in(3)
&& !lose_stat(STAT_INTELLIGENCE, 1, true, "summoning horrible things"))
{
mpr("Your call goes unanswered.");
return (false);
}
int how_many_small =
stepdown_value(2 + (random2(pow) / 10) + (random2(pow) / 10),
2, 2, 6, -1);
int how_many_big = 0;
// No more than 2 tentacled monstrosities.
while (how_many_small > 2 && how_many_big < 2 && one_chance_in(3))
{
how_many_small -= 2;
how_many_big++;
}
// No more than 8 summons.
how_many_small = std::min(8, how_many_small);
how_many_big = std::min(8, how_many_big);
int count = 0;
while (how_many_big > 0)
{
if (create_monster(
mgen_data(MONS_TENTACLED_MONSTROSITY, BEH_FRIENDLY, 6,
you.pos(), you.pet_target,
god_gift ? MF_GOD_GIFT : 0)) != -1)
{
count++;
}
how_many_big--;
}
while (how_many_small > 0)
{
if (create_monster(
mgen_data(MONS_ABOMINATION_LARGE, BEH_FRIENDLY, 6,
you.pos(), you.pet_target,
god_gift ? MF_GOD_GIFT : 0)) != -1)
{
count++;
}
how_many_small--;
}
if (count > 0)
{
mprf("Some Thing%s answered your call!",
(count > 1) ? "s" : "");
return (true);
}
mpr("Your call goes unanswered.");
return (false);