git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5546 c06c8d41-db1a-0410-9941-cceddc491573
SO6OPFUUGKUK24KOXKAPNXR334J7NG76F3Y7ZGC6H3XYSGWTWXWAC
NFJKJYTT6CBLOKLGT6HIVIDEPWXMGXJV5AAL37SBZTG2HSFMJMKQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
77G2A767EQKROYP7WEHAITU4T6V6PU6QO33CRSA3QWDYFD45SNSAC
KLCR26P7MSX4ZWIHQHRK7BZH7M2QGCITN46FCFVHNX7U7WQWYDAQC
VBQODM6G5B35WWYGNT36EQDJFVTHMZB6CJWAFP3UQVD6NRUSKJAQC
Q4S2HEQNQZUN6Q2LIX36URDANVAYBMRWUTEDANKXFICOBGMCEGDAC
CA6ZG6P2CE5EPAOQSB3P7NBDKTNFFHQP4CPOUFZL32ON6N32GSSQC
3XL4DKV7PSWAU3ZBJSKZFJ2VUYABC47I7KKWGIRCJYXULQD453MQC
U3KGUJJQWQORJIIFH3ADVNIEEX5HOX6KEOXO7DJSL7L3Z6GG3PAQC
5T56ZXHVBN4LBEOHZPRV65UNS2HJ7RX6AMU7GHNAJRAQ7QKECP5AC
6EMXRBTQJU5JJP77EBZMYM5Z2CTCW22YRESUTVBQ2HJAS36QDVTQC
4Z7USHJ5ISQRNQ2W7T32UXN4VAZL5JLOXHXTNINOGN5ARKNVZBKAC
AXXNIOGCVSQEUEZE4U6ADPGCGLF2OLHY3VC3YH2NNGCITXWWOP7QC
Q72IOCEGVWNC34LLHA4SEVNMCVKWHEIY5HA4FYGFFNC3WNRQDQ2QC
LEGFIEUGVU2LZELGQH4TZTIJGKEVUHFTRGQ4Y2KGLSK7KNDI7BFQC
// last updated 24may2000 {dlb}
/* ***********************************************************************
* called from: ability - religion - spell
* *********************************************************************** */
bool cast_summon_swarm(int pow, bool god_gift = false,
bool force_hostile = false, bool quiet = false);
// last updated 24may2000 {dlb}
/* ***********************************************************************
* called from: ability - spell
* *********************************************************************** */
bool cast_call_imp(int pow, bool god_gift = false);
// last updated 24may2000 {dlb}
/* ***********************************************************************
* called from: ability - religion - spell
* *********************************************************************** */
bool summon_swarm(int pow, bool god_gift = false, bool force_hostile = false,
bool quiet = false);
if (!god_gift && !quiet && !success)
if (!quiet && !success)
canned_msg(MSG_NOTHING_HAPPENS);
return (success);
}
bool cast_call_imp(int pow, bool god_gift)
{
bool success = false;
monster_type mon = (one_chance_in(3)) ? MONS_WHITE_IMP :
(one_chance_in(7)) ? MONS_SHADOW_IMP
: MONS_IMP;
const int dur = std::min(2 + (random2(pow) / 4), 6);
if (create_monster(
mgen_data(mon, BEH_FRIENDLY, dur, you.pos(),
you.pet_target,
god_gift ? MF_GOD_GIFT : 0)) != -1)
{
success = true;
mpr((mon == MONS_WHITE_IMP) ? "A beastly little devil appears in a puff of frigid air." :
(mon == MONS_SHADOW_IMP) ? "A shadowy apparition takes form in the air."
: "A beastly little devil appears in a puff of flame.");
}
if (!success)
case MONS_BUTTERFLY:
msg = "A butterfly appears.";
break;
case MONS_SCORPION:
msg = "A scorpion appears.";
break;
case MONS_IMP:
msg = "A beastly little devil appears in a puff of flame.";
break;
case MONS_WHITE_IMP:
msg = "A beastly little devil appears in a puff of frigid air.";
break;
case MONS_SHADOW_IMP:
msg = "A shadowy apparition takes form in the air.";
break;