git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5548 c06c8d41-db1a-0410-9941-cceddc491573
M3CHZA76JC34OROJ2A3HD5KBAFYMU3D7HYZPXT6UOD5DUNIDWT7QC SO6OPFUUGKUK24KOXKAPNXR334J7NG76F3Y7ZGC6H3XYSGWTWXWAC NFJKJYTT6CBLOKLGT6HIVIDEPWXMGXJV5AAL37SBZTG2HSFMJMKQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC QZUSP5WXCHQKOZ6TO574PITHBAJHPDBSVJJ6YUGFMJNGVN6A427AC Q72IOCEGVWNC34LLHA4SEVNMCVKWHEIY5HA4FYGFFNC3WNRQDQ2QC HHKRUVC6WMVKQRUQRYB5VAEDXUS6TMAKO7BSTBGVVL2AUOEBFUJAC SZJGHYGJ5AAZDOAQ53LXGP2WKEMIZABCVVGDJMOOMHA7M5ZDT3YQC AXXNIOGCVSQEUEZE4U6ADPGCGLF2OLHY3VC3YH2NNGCITXWWOP7QC 4Z7USHJ5ISQRNQ2W7T32UXN4VAZL5JLOXHXTNINOGN5ARKNVZBKAC VBQODM6G5B35WWYGNT36EQDJFVTHMZB6CJWAFP3UQVD6NRUSKJAQC bool cast_call_canine_familiar(int pow, bool god_gift){bool success = false;monster_type mon = MONS_PROGRAM_BUG;const int dur = std::min(2 + (random2(pow) / 4), 6);const int chance = random2(pow);if (chance < 10)mon = MONS_JACKAL;else if (chance < 15)mon = MONS_HOUND;else{switch (chance % 7){case 0:if (one_chance_in(you.species == SP_HILL_ORC ? 3 : 6))mon = MONS_WARG;elsemon = MONS_WOLF;break;case 1:case 2:mon = MONS_WAR_DOG;break;case 3:case 4:mon = MONS_HOUND;break;
default:mon = MONS_JACKAL;break;}}bool friendly = (random2(pow) > 3);if (create_monster(mgen_data(mon,friendly ? BEH_FRIENDLY : BEH_HOSTILE,dur, you.pos(),friendly ? you.pet_target : MHITYOU,god_gift ? MF_GOD_GIFT : 0)) != -1){success = true;mprf("A canine appears!%s",friendly ? "" : " It doesn't look very happy.");}if (!success)canned_msg(MSG_NOTHING_HAPPENS);return (success);}
case SPELL_CALL_CANINE_FAMILIAR:{const int chance = random2(pow);if (chance < 10)mon = MONS_JACKAL;else if (chance < 15)mon = MONS_HOUND;else{switch (chance % 7){case 0:if (one_chance_in(you.species == SP_HILL_ORC ? 3 : 6))mon = MONS_WARG;elsemon = MONS_WOLF;break;case 1:case 2:mon = MONS_WAR_DOG;break;case 3:case 4:mon = MONS_HOUND;break;default:mon = MONS_JACKAL;break;}}}